feat: expand cockpit integrations and support workflows
Add Phoenix remote desktop, action connector, documentation engine, and gamification support. Refactor support-case processing and search/action UI, and update installer assets and dependencies.
This commit is contained in:
@@ -28,15 +28,15 @@
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<buc:SearchBar x:Name="SearchBarUc"
|
||||
x:FieldModifier="private"
|
||||
Grid.Row="0"
|
||||
FontSize="20"
|
||||
HorizontalAlignment="Center"
|
||||
Width="450"
|
||||
Margin="0 200 0 0"
|
||||
SearchButtonSize="30"
|
||||
CloseButtonSize="30" />
|
||||
<buc:InformationClassSearchBar x:Name="SearchBarUc"
|
||||
x:FieldModifier="private"
|
||||
Grid.Row="0"
|
||||
FontSize="20"
|
||||
HorizontalAlignment="Center"
|
||||
Width="450"
|
||||
Margin="0 200 0 0"
|
||||
SearchButtonSize="30"
|
||||
CloseButtonSize="30" />
|
||||
|
||||
<buc:SearchFilterBar x:Name="SearchFilterBar"
|
||||
x:FieldModifier="private"
|
||||
|
||||
@@ -24,7 +24,7 @@ using System.Windows.Threading;
|
||||
using FasdDesktopUi.Basics.Services.SupportCaseSearchService;
|
||||
using FasdDesktopUi.Basics.Services.RelationService;
|
||||
using static C4IT.Logging.cLogManager;
|
||||
using static FasdDesktopUi.Basics.UserControls.SearchBar;
|
||||
using static FasdDesktopUi.Basics.UserControls.InformationClassSearchBar;
|
||||
|
||||
|
||||
namespace FasdDesktopUi.Pages.AdvancedSearchPage
|
||||
@@ -39,7 +39,7 @@ namespace FasdDesktopUi.Pages.AdvancedSearchPage
|
||||
// 3. When F4SD Tray-Icon is clicked, open the new advanced search page
|
||||
|
||||
|
||||
SearchBar.ChangedSearchValueDelegate ChangedSearchValue { get; set; }
|
||||
InformationClassSearchBar.ChangedSearchValueDelegate ChangedSearchValue { get; set; }
|
||||
private cF4sdApiSearchResultRelation preSelectedRelation = null;
|
||||
|
||||
private static readonly object _currentSearchTaskLock = new object();
|
||||
|
||||
@@ -194,16 +194,16 @@ namespace FasdDesktopUi.Pages.CustomMessageBox
|
||||
return null;
|
||||
}
|
||||
|
||||
public static int Show(string Message, List<string> MultiButtonText, string Caption = null, enumHealthCardStateLevel Level = enumHealthCardStateLevel.None, Window Owner = null, bool TopMost = false, bool CenterScreen = false, int MaxWidth = -1)
|
||||
{
|
||||
var messageBox = InitializeMessageBox(Message, Caption, Level, Owner, false, false, MultiButtonText, TopMost, CenterScreen);
|
||||
if (messageBox == null)
|
||||
return -1;
|
||||
if (MaxWidth > 0)
|
||||
messageBox.MaxWidth = MaxWidth;
|
||||
messageBox.ShowDialog();
|
||||
return messageBox.ResultIndex;
|
||||
}
|
||||
public static int Show(string Message, List<string> MultiButtonText, string Caption = null, enumHealthCardStateLevel Level = enumHealthCardStateLevel.None, Window Owner = null, bool TopMost = false, bool CenterScreen = false, int MaxWidth = -1)
|
||||
{
|
||||
var messageBox = InitializeMessageBox(Message, Caption, Level, Owner, false, false, MultiButtonText, TopMost, CenterScreen);
|
||||
if (messageBox == null)
|
||||
return -1;
|
||||
if (MaxWidth > 0)
|
||||
messageBox.MaxWidth = MaxWidth;
|
||||
messageBox.ShowDialog();
|
||||
return messageBox.ResultIndex;
|
||||
}
|
||||
|
||||
public static bool? Show(string Message, string Caption = null, enumHealthCardStateLevel Level = enumHealthCardStateLevel.None, Window Owner = null, bool HasYesNoButtons = false, bool HasYesNoText = false, bool TopMost = false, bool CenterScreen = false)
|
||||
{
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
xmlns:ico="clr-namespace:FasdDesktopUi.Basics.UserControls.AdaptableIcon;assembly=F4SD-AdaptableIcon"
|
||||
xmlns:uc="clr-namespace:FasdDesktopUi.Pages.DetailsPage.UserControls"
|
||||
xmlns:buc="clr-namespace:FasdDesktopUi.Basics.UserControls"
|
||||
xmlns:bucg="clr-namespace:FasdDesktopUi.Basics.UserControls.Gamification"
|
||||
xmlns:quc="clr-namespace:FasdDesktopUi.Basics.UserControls.QuickTip"
|
||||
xmlns:vm="clr-namespace:FasdDesktopUi.Pages.DetailsPage.ViewModels"
|
||||
xmlns:vc="clr-namespace:FasdDesktopUi.Basics.Converter"
|
||||
@@ -84,93 +85,99 @@
|
||||
Grid.Row="0"
|
||||
Panel.ZIndex="2"
|
||||
PreviewMouseLeftButtonDown="Header_PreviewMouseLeftButtonDown">
|
||||
<DockPanel LastChildFill="False"
|
||||
Margin="0,-7,0,0">
|
||||
<Grid>
|
||||
<DockPanel LastChildFill="False"
|
||||
Margin="0,-7,0,0">
|
||||
|
||||
<Border x:Name="DialogCloseElement"
|
||||
x:FieldModifier="private"
|
||||
DockPanel.Dock="Bottom"
|
||||
HorizontalAlignment="Right"
|
||||
Cursor="Hand"
|
||||
CornerRadius="5"
|
||||
Margin="0 2.5 7.5 -30"
|
||||
Padding="10 2.5"
|
||||
Background="{DynamicResource BackgroundColor.DetailsPage.Widget.Value}"
|
||||
MouseLeftButtonUp="CloseCaseWithTicketIcon_MouseLeftButtonUp"
|
||||
TouchDown="CloseCaseWithTicketIcon_TouchDown">
|
||||
<StackPanel Orientation="Horizontal"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center">
|
||||
<ico:AdaptableIcon x:Name="CloseCaseWithTicketIcon"
|
||||
x:FieldModifier="private"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0 0 5 0"
|
||||
Panel.ZIndex="2"
|
||||
BorderPadding="0"
|
||||
IconHeight="25"
|
||||
IconWidth="25"
|
||||
SelectedMaterialIcon="ic_mail">
|
||||
<ico:AdaptableIcon.Resources>
|
||||
<Style TargetType="ico:AdaptableIcon">
|
||||
<Setter Property="PrimaryIconColor"
|
||||
Value="{DynamicResource FontColor.Menu.Categories}" />
|
||||
<Border x:Name="DialogCloseElement"
|
||||
x:FieldModifier="private"
|
||||
DockPanel.Dock="Bottom"
|
||||
HorizontalAlignment="Right"
|
||||
Cursor="Hand"
|
||||
CornerRadius="5"
|
||||
Margin="0 2.5 7.5 -30"
|
||||
Padding="10 2.5"
|
||||
Background="{DynamicResource BackgroundColor.DetailsPage.Widget.Value}"
|
||||
MouseLeftButtonUp="CloseCaseWithTicketIcon_MouseLeftButtonUp"
|
||||
TouchDown="CloseCaseWithTicketIcon_TouchDown">
|
||||
<StackPanel Orientation="Horizontal"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center">
|
||||
<ico:AdaptableIcon x:Name="CloseCaseWithTicketIcon"
|
||||
x:FieldModifier="private"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0 0 5 0"
|
||||
Panel.ZIndex="2"
|
||||
BorderPadding="0"
|
||||
IconHeight="25"
|
||||
IconWidth="25"
|
||||
SelectedMaterialIcon="ic_mail">
|
||||
<ico:AdaptableIcon.Resources>
|
||||
<Style TargetType="ico:AdaptableIcon">
|
||||
<Setter Property="PrimaryIconColor"
|
||||
Value="{DynamicResource FontColor.Menu.Categories}" />
|
||||
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorLevel=1, AncestorType=Border}, Path=IsMouseOver}"
|
||||
Value="True">
|
||||
<Setter Property="PrimaryIconColor"
|
||||
Value="{DynamicResource FontColor.Menu.Categories.Hover}" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ico:AdaptableIcon.Resources>
|
||||
</ico:AdaptableIcon>
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorLevel=1, AncestorType=Border}, Path=IsMouseOver}"
|
||||
Value="True">
|
||||
<Setter Property="PrimaryIconColor"
|
||||
Value="{DynamicResource FontColor.Menu.Categories.Hover}" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ico:AdaptableIcon.Resources>
|
||||
</ico:AdaptableIcon>
|
||||
|
||||
<TextBlock Text="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Dialog.CloseCase}">
|
||||
<TextBlock.Resources>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="VerticalAlignment"
|
||||
Value="Center" />
|
||||
<Setter Property="FontSize"
|
||||
Value="16" />
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource FontColor.Menu.Categories}" />
|
||||
<TextBlock Text="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Dialog.CloseCase}">
|
||||
<TextBlock.Resources>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="VerticalAlignment"
|
||||
Value="Center" />
|
||||
<Setter Property="FontSize"
|
||||
Value="16" />
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource FontColor.Menu.Categories}" />
|
||||
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorLevel=1, AncestorType=Border}, Path=IsMouseOver}"
|
||||
Value="True">
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource FontColor.Menu.Categories.Hover}" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</TextBlock.Resources>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<StackPanel DockPanel.Dock="Right"
|
||||
Orientation="Horizontal"
|
||||
HorizontalAlignment="Right">
|
||||
|
||||
<Border x:Name="ZoomValueBorder"
|
||||
Grid.Row="1"
|
||||
Margin="0 10 10 0"
|
||||
Opacity="0"
|
||||
CornerRadius="7.5"
|
||||
Padding="10 5"
|
||||
Background="{DynamicResource Color.SoftContrast}">
|
||||
<TextBlock x:Name="ZoomValueTextBlock"
|
||||
Foreground="{DynamicResource FontColor.DetailsPage.DataHistory.Value}"
|
||||
FontWeight="Bold"
|
||||
FontSize="20" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorLevel=1, AncestorType=Border}, Path=IsMouseOver}"
|
||||
Value="True">
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource FontColor.Menu.Categories.Hover}" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</TextBlock.Resources>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<uc:DetailsPageWindowStateBar x:Name="WindowStateBarUserControl" />
|
||||
</StackPanel>
|
||||
<StackPanel DockPanel.Dock="Right"
|
||||
Orientation="Horizontal"
|
||||
HorizontalAlignment="Right">
|
||||
|
||||
</DockPanel>
|
||||
<Border x:Name="ZoomValueBorder"
|
||||
Grid.Row="1"
|
||||
Margin="0 10 10 0"
|
||||
Opacity="0"
|
||||
CornerRadius="7.5"
|
||||
Padding="10 5"
|
||||
Background="{DynamicResource Color.SoftContrast}">
|
||||
<TextBlock x:Name="ZoomValueTextBlock"
|
||||
Foreground="{DynamicResource FontColor.DetailsPage.DataHistory.Value}"
|
||||
FontWeight="Bold"
|
||||
FontSize="20" />
|
||||
</Border>
|
||||
|
||||
<uc:DetailsPageWindowStateBar x:Name="WindowStateBarUserControl" />
|
||||
</StackPanel>
|
||||
</DockPanel>
|
||||
|
||||
<bucg:LevelTracker x:Name="LevelTrackerUc"
|
||||
DockPanel.Dock="Top"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Bottom" />
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<Border x:Name="Body"
|
||||
@@ -214,7 +221,7 @@
|
||||
VerticalAlignment="Top"
|
||||
HorizontalAlignment="Left"
|
||||
Grid.RowSpan="3"
|
||||
Panel.ZIndex="1"/>
|
||||
Panel.ZIndex="1" />
|
||||
|
||||
<uc:DetailsPageWidgetCollection x:Name="WidgetCollection"
|
||||
Grid.Row="1"
|
||||
@@ -235,7 +242,8 @@
|
||||
MaxWidth="300"
|
||||
MinWidth="280"
|
||||
VerticalAlignment="Top"
|
||||
IsVisibleChanged="DynamicElement_IsVisibleChanged" />
|
||||
IsVisibleChanged="DynamicElement_IsVisibleChanged"
|
||||
SearchValueChanged="QuickActionSelectorUc_SearchValueChanged" />
|
||||
|
||||
<DockPanel LastChildFill="True">
|
||||
|
||||
@@ -246,13 +254,6 @@
|
||||
Visibility="Collapsed"
|
||||
IsVisibleChanged="DynamicElement_IsVisibleChanged" />
|
||||
|
||||
<Decorator x:Name="NotepadDecorator"
|
||||
DockPanel.Dock="Right"
|
||||
MaxWidth="400"
|
||||
Margin="19 27.5 0 0"
|
||||
Visibility="Visible"
|
||||
IsVisibleChanged="DynamicElement_IsVisibleChanged" />
|
||||
|
||||
<Decorator x:Name="QuickTipDecorator"
|
||||
DockPanel.Dock="Right"
|
||||
MaxWidth="400"
|
||||
@@ -265,6 +266,13 @@
|
||||
|
||||
</Decorator>
|
||||
|
||||
<Decorator x:Name="NotepadDecorator"
|
||||
DockPanel.Dock="Right"
|
||||
MaxWidth="400"
|
||||
Margin="19 27.5 0 0"
|
||||
Visibility="Visible"
|
||||
IsVisibleChanged="DynamicElement_IsVisibleChanged" />
|
||||
|
||||
<uc:DetailsPageDataHistoryCollection x:Name="DataHistoryCollectionUserControl"
|
||||
DockPanel.Dock="Left"
|
||||
HorizontalAlignment="Left"
|
||||
@@ -307,10 +315,16 @@
|
||||
<buc:MenuBar x:Name="MenuBarUserControl"
|
||||
x:FieldModifier="private"
|
||||
MenuBarItemData="{Binding MenuBarData}" />
|
||||
<buc:SearchBar x:Name="SearchBarUserControl"
|
||||
x:FieldModifier="private"
|
||||
Visibility="Collapsed"
|
||||
HorizontalAlignment="Right" />
|
||||
<buc:InformationClassSearchBar x:Name="SearchBarUserControl"
|
||||
x:FieldModifier="private"
|
||||
Visibility="Collapsed"
|
||||
HorizontalAlignment="Right" />
|
||||
|
||||
<buc:FooterButton x:Name="FooterBtn"
|
||||
x:FieldModifier="private"
|
||||
Visibility="Collapsed"
|
||||
VerticalAlignment="Bottom"
|
||||
HorizontalAlignment="Center" />
|
||||
|
||||
<StackPanel x:Name="IconTimerPanel"
|
||||
Orientation="Horizontal"
|
||||
@@ -327,7 +341,6 @@
|
||||
VerticalAlignment="Bottom"
|
||||
Margin="15 -2.5"
|
||||
OnPauseStarted="CaseTimer_OnPauseStarted" />
|
||||
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
@@ -1,37 +1,37 @@
|
||||
using System;
|
||||
using C4IT.FASD.Base;
|
||||
using C4IT.FASD.Cockpit.Communication;
|
||||
using C4IT.MultiLanguage;
|
||||
using FasdDesktopUi.Basics;
|
||||
using FasdDesktopUi.Basics.Converter;
|
||||
using FasdDesktopUi.Basics.CustomEvents;
|
||||
using FasdDesktopUi.Basics.Helper;
|
||||
using FasdDesktopUi.Basics.Models;
|
||||
using FasdDesktopUi.Basics.Services.SupportCase.Controllers;
|
||||
using FasdDesktopUi.Basics.UiActions;
|
||||
using FasdDesktopUi.Basics.UserControls;
|
||||
using FasdDesktopUi.Basics.UserControls.QuickTip;
|
||||
using FasdDesktopUi.Pages.DetailsPage.Models;
|
||||
using FasdDesktopUi.Pages.DetailsPage.UserControls;
|
||||
using FasdDesktopUi.Pages.DetailsPage.ViewModels;
|
||||
using FasdDesktopUi.Pages.SettingsPage;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Media.Effects;
|
||||
using System.Windows.Controls;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Threading;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Effects;
|
||||
using System.Windows.Shell;
|
||||
|
||||
using FasdDesktopUi.Basics;
|
||||
using FasdDesktopUi.Basics.UiActions;
|
||||
using FasdDesktopUi.Basics.UserControls;
|
||||
using FasdDesktopUi.Basics.Models;
|
||||
using FasdDesktopUi.Basics.Helper;
|
||||
using FasdDesktopUi.Pages.SettingsPage;
|
||||
using FasdDesktopUi.Pages.DetailsPage.Models;
|
||||
using FasdDesktopUi.Pages.DetailsPage.ViewModels;
|
||||
using FasdDesktopUi.Pages.DetailsPage.UserControls;
|
||||
|
||||
using C4IT.FASD.Base;
|
||||
using C4IT.MultiLanguage;
|
||||
|
||||
using System.Windows.Threading;
|
||||
using static C4IT.Logging.cLogManager;
|
||||
using F4SD_AdaptableIcon.Enums;
|
||||
using FasdDesktopUi.Basics.CustomEvents;
|
||||
using FasdDesktopUi.Basics.Converter;
|
||||
using FasdDesktopUi.Basics.Services.SupportCase.Controllers;
|
||||
using static System.Windows.Forms.AxHost;
|
||||
|
||||
namespace FasdDesktopUi.Pages.DetailsPage
|
||||
{
|
||||
@@ -107,7 +107,7 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
case SettingsPageBase _:
|
||||
case CustomMessageBox.CustomMessageBox _:
|
||||
case TicketCompletion.TicketCompletion _:
|
||||
case SearchBar _:
|
||||
case InformationClassSearchBar _:
|
||||
case SuccessPage.SuccessPage _:
|
||||
case BlurInvokerContainer _:
|
||||
return true;
|
||||
@@ -201,8 +201,8 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
}
|
||||
|
||||
private void HandleAvailableRelationsAdded(object sender, RelationEventArgs e)
|
||||
{
|
||||
}
|
||||
=> Dispatcher.Invoke(() => NavigationHeadingUc.HeadingData = _supportCaseController.GetHeadingData().ToList());
|
||||
|
||||
|
||||
private void HandleFocusedRelationsChanged(object sender, RelationEventArgs e)
|
||||
{
|
||||
@@ -234,15 +234,15 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
|
||||
isDataChangedEventRunning = true;
|
||||
|
||||
Dispatcher.Invoke(() =>
|
||||
Dispatcher.Invoke(async () =>
|
||||
{
|
||||
if (QuickActionDecorator.Child is DataCanvas dataCanvas)
|
||||
Dispatcher.Invoke(async () => await dataCanvas.UpdateDataAsync());
|
||||
_ = Dispatcher.Invoke(async () => await dataCanvas.UpdateDataAsync());
|
||||
|
||||
if (WidgetCollection.WidgetDataList is null || WidgetCollection.WidgetDataList.Count == 0)
|
||||
WidgetCollection.WidgetDataList = _supportCaseController?.GetWidgetData();
|
||||
WidgetCollection.WidgetDataList = _supportCaseController?.GetWidgetsData();
|
||||
|
||||
WidgetCollection.UpdateWidgetData(_supportCaseController?.GetWidgetData());
|
||||
WidgetCollection.UpdateWidgetData(_supportCaseController?.GetWidgetsData());
|
||||
|
||||
if (DataHistoryCollectionUserControl.HistoryDataList is null || DataHistoryCollectionUserControl.HistoryDataList.Count == 0)
|
||||
DataHistoryCollectionUserControl.HistoryDataList = _supportCaseController?.GetHistoryData();
|
||||
@@ -255,7 +255,9 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
CustomizableSectionUc.UpdateContainerCollection(_supportCaseController?.GetContainerData());
|
||||
|
||||
if (this.DataContext is DetailsPageViewModel viewModel)
|
||||
viewModel.MenuBarData = _supportCaseController?.GetMenuBarData();
|
||||
viewModel.MenuBarData = _supportCaseController?.GetMenuData().ToList();
|
||||
|
||||
UpdateQuickActionSelectorVisibility();
|
||||
|
||||
if (_lastDesiredHeightOfWidgetCollection != WidgetCollection.DesiredSize.Height)
|
||||
{
|
||||
@@ -263,6 +265,10 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
MainGrid.InvalidateMeasure();
|
||||
MainGrid.UpdateLayout();
|
||||
}
|
||||
|
||||
var footerMenuData = _supportCaseController.GetMenuData().FirstOrDefault(data => data.UiAction is UiNativeQuickAction);
|
||||
FooterBtn.QuickAction = footerMenuData?.UiAction as cUiQuickAction;
|
||||
FooterBtn.LabelText = footerMenuData?.MenuText;
|
||||
});
|
||||
|
||||
if (shouldReRunDataChangedEvent)
|
||||
@@ -275,6 +281,41 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateQuickActionSelectorVisibility()
|
||||
{
|
||||
try
|
||||
{
|
||||
cHealthCard selectedHealthcard = _supportCaseController.SupportCaseDataProviderArtifact.HealthCardDataHelper.SelectedHealthCard;
|
||||
bool showHistorySection = selectedHealthcard.CategoriesHistory?.StateCategories != null && selectedHealthcard.CategoriesHistory.StateCategories.Count > 0;
|
||||
|
||||
if (showHistorySection && cFasdCockpitConfig.Instance.IsHistoryQuickActionSelectorVisible)
|
||||
{
|
||||
QuickActionSelectorUc.IsLocked = cFasdCockpitConfig.Instance.IsHistoryQuickActionSelectorVisible;
|
||||
MoreButtonClickedAction();
|
||||
}
|
||||
else if (!showHistorySection && cFasdCockpitConfig.Instance.IsCustomizableQuickActionSelectorVisible)
|
||||
{
|
||||
var ticketMenuData = _supportCaseController.GetMenuData().FirstOrDefault(menuData => menuData.MenuText == "Ticket");
|
||||
|
||||
if (ticketMenuData != null)
|
||||
if (ticketMenuData is cMenuDataContainer containerMenuData)
|
||||
{
|
||||
QuickActionSelectorUc.QuickActionSelectorHeading = containerMenuData.MenuText;
|
||||
QuickActionSelectorUc.QuickActionList = containerMenuData.SubMenuData;
|
||||
}
|
||||
|
||||
QuickActionSelectorUc.IsLocked = cFasdCockpitConfig.Instance.IsCustomizableQuickActionSelectorVisible;
|
||||
|
||||
if (cFasdCockpitConfig.Instance.IsCustomizableQuickActionSelectorVisible)
|
||||
QuickActionSelectorUc.Visibility = Visibility.Visible;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the visibility of History and Customizable Section based on the currently selected Healthcard.
|
||||
/// </summary>
|
||||
@@ -597,6 +638,7 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
// define drawing area
|
||||
UIElement drawingArea = this;
|
||||
|
||||
|
||||
switch (e.UiAction)
|
||||
{
|
||||
case cChangeHealthCardAction _:
|
||||
@@ -604,6 +646,11 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
case UiShowRawHealthcardValues _:
|
||||
break;
|
||||
case cUiQuickAction _:
|
||||
if (!(e.OriginalSource is QuickTipStep) && QuickTipStatusMonitorUc.IsVisible && !QuickTipStatusMonitorUc.TryCancelQuickTip())
|
||||
return;
|
||||
drawingArea = QuickActionDecorator;
|
||||
ToggleHorizontalCollapse(true, true);
|
||||
break;
|
||||
case cShowRecommendationAction _:
|
||||
case cShowDetailedDataAction _:
|
||||
drawingArea = QuickActionDecorator;
|
||||
@@ -678,7 +725,7 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
{
|
||||
IconTimerPanel.HorizontalAlignment = HorizontalAlignment.Right;
|
||||
IconTimerPanel.Children.Remove(F4SDIcon);
|
||||
IconTimerPanel.Children.Insert(1, F4SDIcon);
|
||||
IconTimerPanel.Children.Insert(IconTimerPanel.Children.Count, F4SDIcon);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -687,6 +734,7 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
IconTimerPanel.Children.Insert(0, F4SDIcon);
|
||||
}
|
||||
|
||||
FooterBtn.HorizontalAlignment = cFasdCockpitConfig.Instance.Global.FavouriteBarAlignment == enumF4sdHorizontalAlignment.Center ? HorizontalAlignment.Right : HorizontalAlignment.Center;
|
||||
MenuBarUserControl.HorizontalAlignment = InternalEnumConverter.GetHorizontalAlignment(cFasdCockpitConfig.Instance.Global.FavouriteBarAlignment);
|
||||
}
|
||||
catch (Exception E)
|
||||
@@ -699,6 +747,7 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
{
|
||||
UpdateHistoryWidth();
|
||||
UpdateFooterPositions();
|
||||
LevelTrackerUc.Visibility = cFasdCockpitConfig.Instance.Global.UseGamification ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
|
||||
private void ApiConnectionStatusChanged(cConnectionStatusHelper.enumOnlineStatus? Status)
|
||||
@@ -923,13 +972,27 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
break;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Close Quick Action Section
|
||||
if (e.Key == Key.Escape && QuickActionSelectorUc.Visibility == Visibility.Visible)
|
||||
{
|
||||
CloseQuickActionSelector();
|
||||
return;
|
||||
}
|
||||
|
||||
if (FocusManager.GetFocusedElement(this) is TextBox)
|
||||
return;
|
||||
bool isTextInputFocused = FocusManager.GetFocusedElement(this) is TextBox || FocusManager.GetFocusedElement(this) is RichTextBox;
|
||||
|
||||
if (FocusManager.GetFocusedElement(this) is RichTextBox)
|
||||
// Open Quick Action Section
|
||||
if (e.Key == Key.Q && !isTextInputFocused)
|
||||
{
|
||||
MoreButtonClickedAction();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (isTextInputFocused)
|
||||
return;
|
||||
|
||||
List<DetailsPageDataHistorySection> unpinnedDataHistories = DataHistoryCollectionUserControl.HistorySectionControls.Where(x => !x.IsVerticalExpandLocked).ToList();
|
||||
@@ -970,9 +1033,6 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
if (Keyboard.Modifiers == ModifierKeys.Control)
|
||||
SearchButtonClickedAction();
|
||||
break;
|
||||
case Key.Q:
|
||||
MoreButtonClickedAction();
|
||||
break;
|
||||
case Key.NumPad0:
|
||||
case Key.D0:
|
||||
if (Keyboard.Modifiers != ModifierKeys.Control)
|
||||
@@ -1177,8 +1237,6 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
{
|
||||
tempSubMenuList.Add(new cMenuDataBase(copyTemplate.Value));
|
||||
}
|
||||
|
||||
tempMoreQuickActionList.Insert(0, new cMenuDataContainer() { MenuText = cMultiLanguageSupport.GetItem("QuickAction.CopyContent"), MenuIcon = new F4SD_AdaptableIcon.IconData(enumInternIcons.menuBar_copy), UiAction = new cSubMenuAction(true) { Name = cMultiLanguageSupport.GetItem("QuickAction.CopyContent"), SubMenuData = tempSubMenuList }, SubMenuData = tempSubMenuList });
|
||||
}
|
||||
|
||||
QuickActionSelectorUc.QuickActionList = tempMoreQuickActionList;
|
||||
@@ -1187,6 +1245,10 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
ToggleHorizontalCollapse(true);
|
||||
QuickActionSelectorUc.Visibility = Visibility.Visible;
|
||||
QuickActionSelectorUc.CloseButtonClickedAction = BlurBorder_Click;
|
||||
QuickActionSelectorUc.Search.ActivateManualSearch();
|
||||
QuickActionSelectorUc.Search.FocusInput();
|
||||
QuickActionSelectorUc.Search.Clear();
|
||||
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
@@ -1256,6 +1318,7 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
notepad.Visibility = Visibility.Collapsed;
|
||||
NotepadVisibility = false;
|
||||
|
||||
ResetWindowFocus();
|
||||
ChangeNotepadNotification();
|
||||
}
|
||||
else
|
||||
@@ -1451,6 +1514,29 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
ReinitializeNotepad();
|
||||
DataHistoryCollectionUserControl.ToggleVerticalCollapseDetails(true);
|
||||
UpdateHistoryWidth();
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
if (await cFasdCockpitCommunicationBase.Instance.RemoteDesktopManager.IsRemoteDesktopCommunicationAvailable())
|
||||
Dispatcher.Invoke(() => FooterBtn.Visibility = Visibility.Visible);
|
||||
});
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
}
|
||||
|
||||
private void ResetWindowFocus()
|
||||
{
|
||||
try
|
||||
{
|
||||
Window window = Window.GetWindow(this);
|
||||
if (window == null)
|
||||
return;
|
||||
|
||||
FocusManager.SetFocusedElement(window, window);
|
||||
Keyboard.Focus(window);
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
@@ -1701,5 +1787,30 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
QuickActionDecorator.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
private void QuickActionSelectorUc_SearchValueChanged(object sender, string e)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(e))
|
||||
{
|
||||
QuickActionSelectorUc.QuickActionList = _supportCaseController.GetMenuData().ToList();
|
||||
QuickActionSelectorUc.QuickActionSelectorHeading = "Quick Actions";
|
||||
return;
|
||||
}
|
||||
|
||||
QuickActionSelectorUc.QuickActionList = _supportCaseController.GetFilteredMenuData(new MenuDataFilter(e)).ToList();
|
||||
|
||||
}
|
||||
|
||||
private void CloseQuickActionSelector()
|
||||
{
|
||||
try
|
||||
{
|
||||
QuickActionSelectorUc.CloseButton_Click();
|
||||
QuickActionSelectorUc.Search.Clear();
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
var updatedColumnValues = (DetailsPageDataHistoryColumnModel)e.NewValue;
|
||||
|
||||
_me.UpdateColumnSize(updatedColumnValues.ColumnValues.Count - _me.MainGrid.RowDefinitions.Count);
|
||||
_me.RefreshColumnHeader(updatedColumnValues.Content);
|
||||
_me.ColumnHeaderTextBlock.Text = updatedColumnValues.Content;
|
||||
_me.RefreshColumnStatusIcon(updatedColumnValues.HighlightColor);
|
||||
_me.RefreshValueSection(updatedColumnValues);
|
||||
}
|
||||
@@ -155,7 +155,8 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
border.ClearValue(TagProperty);
|
||||
border.SetResourceReference(StyleProperty, "DetailsPage.DataHistory.ValueBorder");
|
||||
break;
|
||||
};
|
||||
}
|
||||
;
|
||||
|
||||
border.Tag = valueInfo?.ThresholdValues;
|
||||
}
|
||||
@@ -163,7 +164,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
#region Initialize Controls
|
||||
@@ -276,22 +277,6 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
|
||||
#region Refresh Values
|
||||
|
||||
private void RefreshColumnHeader(string columnHeader)
|
||||
{
|
||||
string headerContent;
|
||||
|
||||
if (int.TryParse(columnHeader, out int dayIndex))
|
||||
{
|
||||
CultureInfo culture = new CultureInfo(cMultiLanguageSupport.CurrentLanguage);
|
||||
string customDateFormat = cMultiLanguageSupport.GetItem("Global.Date.Format.ShortDateWithDay", "ddd. dd.MM.");
|
||||
headerContent = dayIndex == 0 ? cMultiLanguageSupport.GetItem("Global.Date.Today", DateTime.Now.ToString(customDateFormat, culture)) : DateTime.Today.AddDays(-dayIndex).ToString(customDateFormat, culture);
|
||||
}
|
||||
else
|
||||
headerContent = columnHeader;
|
||||
|
||||
ColumnHeaderTextBlock.Text = headerContent;
|
||||
}
|
||||
|
||||
private void RefreshColumnStatusIcon(enumHighlightColor? statusColor)
|
||||
{
|
||||
ColumnStatusIcon.IconWidth = 25;
|
||||
@@ -386,7 +371,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
default:
|
||||
valueRowTextBlock.SetResourceReference(ForegroundProperty, "FontColor.DetailsPage.DataHistory.Value");
|
||||
break;
|
||||
};
|
||||
}
|
||||
|
||||
valueRow.Visibility = Visibility.Visible;
|
||||
valueRow.Opacity = 1;
|
||||
|
||||
@@ -18,7 +18,6 @@ using C4IT.MultiLanguage;
|
||||
using C4IT.FASD.Base;
|
||||
|
||||
using static C4IT.Logging.cLogManager;
|
||||
using C4IT.FASD.Cockpit.Communication;
|
||||
using FasdDesktopUi.Basics.Services.SupportCase.Controllers;
|
||||
|
||||
namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
@@ -37,7 +36,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
if (value != null)
|
||||
{
|
||||
UpdateHeaderHighlights();
|
||||
SetHeadingVisibility();
|
||||
_ = SetHeadingVisibilityAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -110,7 +109,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
}
|
||||
}
|
||||
|
||||
private async Task SetHeadingVisibility()
|
||||
private async Task SetHeadingVisibilityAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -667,19 +666,17 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
|
||||
List<cMenuDataBase> quickActionList = new List<cMenuDataBase>();
|
||||
|
||||
if (dataProvider.CaseRelations != null && dataProvider.CaseRelations.TryGetValue(swapCaseData.SelectedCaseInformationClass, out var storedRelations))
|
||||
foreach (var storedRelation in SupportCaseController.GetRelationsOf(swapCaseData.SelectedCaseInformationClass))
|
||||
{
|
||||
foreach (var storedRelation in storedRelations)
|
||||
bool isMatchingRelation = IsMatchingRelation(storedRelation, swapCaseData.HeadingDatas);
|
||||
quickActionList.Add(new cMenuDataSearchRelation(storedRelation)
|
||||
{
|
||||
bool isMatchingRelation = IsMatchingRelation(storedRelation, swapCaseData.HeadingDatas);
|
||||
quickActionList.Add(new cMenuDataSearchRelation(storedRelation)
|
||||
{
|
||||
IsMatchingRelation = isMatchingRelation,
|
||||
IsUsedForCaseEnrichment = true,
|
||||
UiAction = new cChangeHealthCardAction(storedRelation, supportCaseController)
|
||||
});
|
||||
}
|
||||
IsMatchingRelation = isMatchingRelation,
|
||||
IsUsedForCaseEnrichment = true,
|
||||
UiAction = new cChangeHealthCardAction(storedRelation, supportCaseController)
|
||||
});
|
||||
}
|
||||
|
||||
if (quickActionList.Count > 0)
|
||||
customMenu.MenuDataList = quickActionList;
|
||||
}
|
||||
|
||||
@@ -414,7 +414,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
|
||||
if (Data.UiActionTitle is cShowDetailedDataAction)
|
||||
functionMarkerEntry.SelectedIcon = enumInternIcons.misc_dot;
|
||||
else if (Data.UiActionTitle is cUiQuickAction || Data.UiActionTitle is cSubMenuAction)
|
||||
else if (Data.UiActionTitle is cUiQuickAction || Data.UiActionTitle is cSubMenuAction || Data.UiActionTitle is cUiQuickTipAction)
|
||||
functionMarkerEntry.SelectedIcon = enumInternIcons.misc_functionBolt;
|
||||
}
|
||||
else
|
||||
|
||||
112
FasdDesktopUi/Pages/LevelUpPage/LevelUpPage.xaml
Normal file
112
FasdDesktopUi/Pages/LevelUpPage/LevelUpPage.xaml
Normal file
@@ -0,0 +1,112 @@
|
||||
<Window x:Class="FasdDesktopUi.Pages.LevelUpPage.LevelUpPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:FasdDesktopUi.Pages.LevelUpPage"
|
||||
xmlns:ico="clr-namespace:FasdDesktopUi.Basics.UserControls.AdaptableIcon;assembly=F4SD-AdaptableIcon"
|
||||
xmlns:vc="clr-namespace:FasdDesktopUi.Basics.Converter"
|
||||
mc:Ignorable="d"
|
||||
Title="LevelUpPage"
|
||||
Height="700"
|
||||
Width="600"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
ResizeMode="NoResize"
|
||||
WindowStyle="None"
|
||||
AllowsTransparency="True"
|
||||
x:Name="LevelUpWindow"
|
||||
IsVisibleChanged="HandleVisibilityChanged"
|
||||
Background="Transparent">
|
||||
|
||||
<Window.Resources>
|
||||
<vc:LanguageDefinitionsConverter x:Key="LanguageConverter" />
|
||||
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="Foreground"
|
||||
Value="{DynamicResource FontColor.DetailsPage.TitleSection.Header}" />
|
||||
<Setter Property="HorizontalAlignment"
|
||||
Value="Center" />
|
||||
<Setter Property="FontWeight"
|
||||
Value="Bold" />
|
||||
</Style>
|
||||
</Window.Resources>
|
||||
|
||||
<Border Padding="75"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Background="{DynamicResource Color.AppBackground}"
|
||||
CornerRadius="25">
|
||||
<Border.Effect>
|
||||
<DropShadowEffect Color="{DynamicResource BorderDarkColor}"
|
||||
Opacity="0.5"
|
||||
BlurRadius="25"/>
|
||||
</Border.Effect>
|
||||
<StackPanel>
|
||||
|
||||
<StackPanel Orientation="Horizontal"
|
||||
HorizontalAlignment="Center">
|
||||
<TextBlock FontSize="60"
|
||||
Margin="0 0 5 10"
|
||||
FontWeight="UltraBold">Level Up!</TextBlock>
|
||||
<ico:AdaptableIcon SelectedInternGif="partyPopper"
|
||||
IconHeight="130"
|
||||
IconWidth="130"
|
||||
Margin="0 -60 -45 0" />
|
||||
</StackPanel>
|
||||
|
||||
<Border Height="225"
|
||||
Width="225"
|
||||
CornerRadius="150"
|
||||
BorderBrush="{DynamicResource Color.FunctionMarker}"
|
||||
BorderThickness="35"
|
||||
Margin="0 0 0 10">
|
||||
<StackPanel>
|
||||
<TextBlock x:Name="LastLevelTextBlock"
|
||||
FontSize="110"
|
||||
VerticalAlignment="Top">
|
||||
<TextBlock.RenderTransform>
|
||||
<TranslateTransform x:Name="UpperTransform" />
|
||||
</TextBlock.RenderTransform>
|
||||
</TextBlock>
|
||||
|
||||
<TextBlock x:Name="NewLevelTextBlock"
|
||||
FontSize="110"
|
||||
VerticalAlignment="Top"
|
||||
Margin="0,40,0,0">
|
||||
<TextBlock.RenderTransform>
|
||||
<TranslateTransform x:Name="LowerTransform" />
|
||||
</TextBlock.RenderTransform>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<TextBlock Text="{Binding ElementName=LevelUpWindow, Path=LevelTitle}"
|
||||
FontSize="40"
|
||||
FontWeight="Bold" />
|
||||
|
||||
<Border HorizontalAlignment="Center"
|
||||
Padding="15 7.5"
|
||||
CornerRadius="5"
|
||||
Margin="0 15 0 0"
|
||||
Cursor="Hand"
|
||||
Background="{DynamicResource Color.FunctionMarker}"
|
||||
MouseLeftButtonUp="Continue_Click"
|
||||
TouchDown="Continue_Click">
|
||||
<Border.Resources>
|
||||
<Style TargetType="Border">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}"
|
||||
Value="True">
|
||||
<Setter Property="Opacity"
|
||||
Value="0.7" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Border.Resources>
|
||||
<TextBlock FontSize="17"
|
||||
Text="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Gamification.LevelUp.Continue}"
|
||||
Foreground="{DynamicResource Color.AppBackground}" />
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</Window>
|
||||
91
FasdDesktopUi/Pages/LevelUpPage/LevelUpPage.xaml.cs
Normal file
91
FasdDesktopUi/Pages/LevelUpPage/LevelUpPage.xaml.cs
Normal file
@@ -0,0 +1,91 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
|
||||
namespace FasdDesktopUi.Pages.LevelUpPage
|
||||
{
|
||||
public partial class LevelUpPage : Window
|
||||
{
|
||||
public int NewLevel
|
||||
{
|
||||
get { return (int)GetValue(NewLevelProperty); }
|
||||
set { SetValue(NewLevelProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty NewLevelProperty =
|
||||
DependencyProperty.Register(nameof(NewLevel), typeof(int), typeof(LevelUpPage), new PropertyMetadata(0, new PropertyChangedCallback(HandleLevelChanged)));
|
||||
|
||||
private static void HandleLevelChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (!(d is LevelUpPage levelupPage))
|
||||
return;
|
||||
|
||||
levelupPage.LastLevelTextBlock.Text = (levelupPage.NewLevel - 1).ToString();
|
||||
levelupPage.NewLevelTextBlock.Text = levelupPage.NewLevel.ToString();
|
||||
}
|
||||
|
||||
public string LevelTitle
|
||||
{
|
||||
get { return (string)GetValue(LevelTitleProperty); }
|
||||
set { SetValue(LevelTitleProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty LevelTitleProperty =
|
||||
DependencyProperty.Register(nameof(LevelTitle), typeof(string), typeof(LevelUpPage), new PropertyMetadata("string.Empty"));
|
||||
|
||||
|
||||
public LevelUpPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private async Task AnimateText()
|
||||
{
|
||||
await Task.Delay(900);
|
||||
|
||||
double animationDistance = NewLevelTextBlock.ActualHeight + NewLevelTextBlock.Margin.Top + NewLevelTextBlock.Margin.Bottom;
|
||||
|
||||
Duration duration = TimeSpan.FromMilliseconds(500);
|
||||
|
||||
DoubleAnimation lowerAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0,
|
||||
To = -animationDistance,
|
||||
Duration = duration,
|
||||
EasingFunction = new CubicEase
|
||||
{
|
||||
EasingMode = EasingMode.EaseInOut
|
||||
}
|
||||
};
|
||||
|
||||
DoubleAnimation upperAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0,
|
||||
To = -animationDistance,
|
||||
Duration = duration,
|
||||
EasingFunction = new CubicEase
|
||||
{
|
||||
EasingMode = EasingMode.EaseInOut
|
||||
}
|
||||
};
|
||||
|
||||
LowerTransform.BeginAnimation(TranslateTransform.YProperty, lowerAnimation);
|
||||
UpperTransform.BeginAnimation(TranslateTransform.YProperty, upperAnimation);
|
||||
}
|
||||
|
||||
private async void HandleVisibilityChanged(object sender, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (Visibility != Visibility.Visible)
|
||||
return;
|
||||
|
||||
await AnimateText();
|
||||
}
|
||||
|
||||
private void Continue_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -183,12 +183,12 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<buc:SearchBar x:Name="SearchBarUc"
|
||||
x:FieldModifier="private"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Bottom"
|
||||
Width="330" />
|
||||
<buc:InformationClassSearchBar x:Name="SearchBarUc"
|
||||
x:FieldModifier="private"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Bottom"
|
||||
Width="330" />
|
||||
</Grid>
|
||||
|
||||
</Grid>
|
||||
|
||||
@@ -197,8 +197,8 @@ namespace FasdDesktopUi.Pages.SearchPage
|
||||
cSearchManager.ResolveRelations(searchHistoryEntry.Relations);
|
||||
|
||||
ILookup<enumFasdInformationClass, cMenuDataBase> relationsLookup = searchHistoryEntry.Relations
|
||||
.OrderBy(r => r.UsingLevel)
|
||||
.ThenBy(r => r.LastUsed)
|
||||
.OrderBy(r => r.LastUsed)
|
||||
.ThenBy(r => r.UsingLevel)
|
||||
.ToLookup(GetInformationClass, r => GetMenuData(r, relationService));
|
||||
|
||||
Dispatcher.Invoke(() =>
|
||||
@@ -799,7 +799,7 @@ namespace FasdDesktopUi.Pages.SearchPage
|
||||
Dispatcher.Invoke(() =>
|
||||
{
|
||||
var first = e.RelatedTo.FirstOrDefault();
|
||||
var relationSearchResult = new cSearchHistorySearchResultEntry(first.DisplayName, first.DisplayName, e.RelatedTo.ToList(), e.StagedResultRelations.Relations.ToList(), this);
|
||||
var relationSearchResult = new cSearchHistorySearchResultEntry(first.DisplayName, first.Name, e.RelatedTo.ToList(), e.StagedResultRelations.Relations.ToList(), this, _relationService);
|
||||
ShowSearchRelations(relationSearchResult, e.RelationService, this);
|
||||
|
||||
UpdatePendingInformationClasses(e.StagedResultRelations.PendingInformationClasses);
|
||||
@@ -1033,7 +1033,7 @@ namespace FasdDesktopUi.Pages.SearchPage
|
||||
|
||||
private bool TryOpenTicketOverviewRelationExternally(cF4sdApiSearchResultRelation relation)
|
||||
{
|
||||
return TicketDeepLinkHelper.TryOpenTicketRelationExternally(relation);
|
||||
return TicketExternalLinkHelper.TryOpenTicketRelationExternally(relation);
|
||||
}
|
||||
|
||||
private Task RunTicketSearchAsync(string ticketName, Guid ticketId, string userName, string sids, bool suppressUi = false)
|
||||
@@ -1461,7 +1461,8 @@ namespace FasdDesktopUi.Pages.SearchPage
|
||||
header,
|
||||
new List<cFasdApiSearchResultEntry>(),
|
||||
relations,
|
||||
this
|
||||
this,
|
||||
_relationService
|
||||
)
|
||||
{ isSeen = true };
|
||||
_ticketOverviewHistoryEntries.Add(entry);
|
||||
@@ -1695,7 +1696,7 @@ namespace FasdDesktopUi.Pages.SearchPage
|
||||
if (filteredResults?.PreSelectedRelation != null)
|
||||
{
|
||||
List<cFasdApiSearchResultEntry> selectedResult = filteredResults.Results.Values.FirstOrDefault();
|
||||
var processSearchResult = new cUiProcessSearchResultAction(selectedResult.FirstOrDefault()?.DisplayName, this, selectedResult) { PreSelectedSearchRelation = filteredResults.PreSelectedRelation };
|
||||
var processSearchResult = new cUiProcessSearchResultAction(selectedResult.FirstOrDefault()?.Name, this, selectedResult) { PreSelectedSearchRelation = filteredResults.PreSelectedRelation };
|
||||
Dispatcher.Invoke(async () =>
|
||||
{
|
||||
bool isSearchOngoing = await processSearchResult.RunUiActionAsync(this, this, false, null);
|
||||
|
||||
@@ -103,13 +103,13 @@
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
@@ -604,7 +604,7 @@
|
||||
|
||||
<TextBlock Grid.Row="7" Grid.ColumnSpan="3"
|
||||
x:Name="txtAuthenticationError"
|
||||
Text="Sie konnten nicht angemeldet werden. Bitte ändern Sie ihre Angaben für eine gültige Anmeldung."
|
||||
Text="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=M42Settings.AutenticationError}"
|
||||
Grid.Column="0"
|
||||
Margin="10 3 0 3"
|
||||
Foreground="Red"
|
||||
|
||||
@@ -348,6 +348,26 @@
|
||||
|
||||
</Grid>
|
||||
|
||||
<StackPanel x:Name="UseGamificationLabel"
|
||||
Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Menu.UseGamification}" />
|
||||
<ico:AdaptableIcon x:Name="UseGamifictationPolicy"
|
||||
SelectedInternIcon="lock_closed"
|
||||
PrimaryIconColor="{DynamicResource Color.Menu.Icon}"
|
||||
BorderPadding="0"
|
||||
Margin="-20 0 0 0"
|
||||
IconWidth="12"
|
||||
IconHeight="12"
|
||||
Visibility="Collapsed" />
|
||||
</StackPanel>
|
||||
|
||||
<CheckBox x:Name="UseGamificationCheckBox"
|
||||
Style="{DynamicResource ToggleSwitch}"
|
||||
IsChecked="{Binding ElementName=SettingsWindow, Path=UseGamification}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="0,3,0,10">
|
||||
</CheckBox>
|
||||
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
|
||||
@@ -1,34 +1,19 @@
|
||||
using C4IT.MultiLanguage;
|
||||
using C4IT.Configuration;
|
||||
using C4IT.FASD.Base;
|
||||
using C4IT.MultiLanguage;
|
||||
using F4SD_AdaptableIcon.Enums;
|
||||
using FasdDesktopUi.Basics;
|
||||
using FasdDesktopUi.Basics.Enums;
|
||||
using FasdDesktopUi.Basics.Models;
|
||||
using FasdDesktopUi.Basics.UserControls.AdaptableIcon;
|
||||
using FasdDesktopUi.Pages.DetailsPage;
|
||||
using FasdDesktopUi.Pages.SlimPage;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
using static C4IT.Logging.cLogManager;
|
||||
using System.Reflection;
|
||||
using C4IT.Logging;
|
||||
using System.Windows.Navigation;
|
||||
using F4SD_AdaptableIcon.Enums;
|
||||
using FasdDesktopUi.Basics;
|
||||
using System.Diagnostics;
|
||||
using C4IT.Configuration;
|
||||
|
||||
namespace FasdDesktopUi.Pages.SettingsPage
|
||||
{
|
||||
@@ -36,11 +21,10 @@ namespace FasdDesktopUi.Pages.SettingsPage
|
||||
{
|
||||
#region Properties
|
||||
|
||||
private static SettingsPageView _Instance = null;
|
||||
public static SettingsPageView Instance { get
|
||||
{
|
||||
return _Instance ?? (_Instance = new SettingsPageView());
|
||||
}
|
||||
private static SettingsPageView _instance = null;
|
||||
public static SettingsPageView Instance
|
||||
{
|
||||
get { return _instance ?? (_instance = new SettingsPageView()); }
|
||||
}
|
||||
|
||||
private Dictionary<enumHighlightColor, bool> highlightColorActivationStatus;
|
||||
@@ -104,7 +88,8 @@ namespace FasdDesktopUi.Pages.SettingsPage
|
||||
|
||||
public int PositionOfSmallViews
|
||||
{
|
||||
get {
|
||||
get
|
||||
{
|
||||
return cF4sdGlobalConfig.ConvertHorizontalAlignmentToPosition(cFasdCockpitConfig.Instance.Global.SmallViewAlignment, 0);
|
||||
}
|
||||
set
|
||||
@@ -152,6 +137,18 @@ namespace FasdDesktopUi.Pages.SettingsPage
|
||||
}
|
||||
}
|
||||
|
||||
public bool UseGamification
|
||||
{
|
||||
get => cFasdCockpitConfig.Instance.Global.UseGamification;
|
||||
set
|
||||
{
|
||||
cFasdCockpitConfig.Instance.Global.UseGamification = value;
|
||||
cFasdCockpitConfig.Instance.Global.Save(nameof(cFasdCockpitConfig.Instance.Global.UseGamification));
|
||||
cFasdCockpitConfig.Instance.OnUiSettingsChanged();
|
||||
OnPropertyChanged(nameof(UseGamification));
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public static SettingsPageView Create()
|
||||
@@ -184,7 +181,7 @@ namespace FasdDesktopUi.Pages.SettingsPage
|
||||
FavouritePositionRightTextBlock.ClearValue(ForegroundProperty);
|
||||
FavouritePositionSlider.SetResourceReference(BackgroundProperty, "Color.FunctionMarker");
|
||||
break;
|
||||
case 2:
|
||||
case 2:
|
||||
FavouritePositionRightTextBlock.SetResourceReference(ForegroundProperty, "Color.FunctionMarker");
|
||||
FavouritePositionLeftTextBlock.ClearValue(ForegroundProperty);
|
||||
break;
|
||||
@@ -233,86 +230,30 @@ namespace FasdDesktopUi.Pages.SettingsPage
|
||||
ZoomDetailsPageInPecent = cFasdCockpitConfig.Instance.DetailsPageZoom;
|
||||
ZoomSlimPageInPercent = cFasdCockpitConfig.Instance.SlimPageZoom;
|
||||
|
||||
// hide or deactivate ShouldSkipSlimView options due to the policies
|
||||
var _policy = cFasdCockpitConfig.Instance.Global.GetPropertyPolicy("ShouldSkipSlimView");
|
||||
if (_policy == enumConfigPolicy.Hidden)
|
||||
{
|
||||
ShouldSkipSlimViewLabel.Visibility = Visibility.Collapsed;
|
||||
ShouldSkipSlimViewCheckBox.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
else
|
||||
{
|
||||
ShouldSkipSlimViewLabel.Visibility = Visibility.Visible;
|
||||
ShouldSkipSlimViewCheckBox.Visibility = Visibility.Visible;
|
||||
}
|
||||
if (_policy == enumConfigPolicy.Default)
|
||||
{
|
||||
ShouldSkipSlimViewCheckBox.IsEnabled = true;
|
||||
ShouldSkipSlimViewPolicy.Visibility = Visibility.Collapsed;
|
||||
ShouldSkipSlimViewCheckBox.ToolTip = null;
|
||||
ShouldSkipSlimViewPolicy.ToolTip = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
ShouldSkipSlimViewCheckBox.IsEnabled = false;
|
||||
ShouldSkipSlimViewPolicy.Visibility = Visibility.Visible;
|
||||
ShouldSkipSlimViewCheckBox.ToolTip = cMultiLanguageSupport.GetItem("Settings.Global.PolicyTooltip");
|
||||
ShouldSkipSlimViewPolicy.ToolTip = cMultiLanguageSupport.GetItem("Settings.Global.PolicyTooltip");
|
||||
}
|
||||
UpdatePolicyElements("ShouldSkipSlimView", ShouldSkipSlimViewLabel, ShouldSkipSlimViewCheckBox, ShouldSkipSlimViewPolicy);
|
||||
OnPropertyChanged(nameof(ShouldSkipSlimView));
|
||||
|
||||
// hide or deactivate SmallViewAlignment options due to the policies
|
||||
_policy = cFasdCockpitConfig.Instance.Global.GetPropertyPolicy("SmallViewAlignment");
|
||||
if (_policy == enumConfigPolicy.Hidden)
|
||||
{
|
||||
PositionOfSmallViewsLabel.Visibility = Visibility.Collapsed;
|
||||
PositionOfSmallViewsInput.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
else
|
||||
{
|
||||
PositionOfSmallViewsLabel.Visibility = Visibility.Visible;
|
||||
PositionOfSmallViewsInput.Visibility = Visibility.Visible;
|
||||
}
|
||||
if (_policy == enumConfigPolicy.Default)
|
||||
{
|
||||
PositionOfSmallViewsInput.IsEnabled = true;
|
||||
PositionOfSmallViewsPolicy.Visibility = Visibility.Collapsed;
|
||||
PositionOfSmallViewsPolicy.ToolTip = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
PositionOfSmallViewsInput.IsEnabled = false;
|
||||
PositionOfSmallViewsPolicy.Visibility = Visibility.Visible;
|
||||
PositionOfSmallViewsPolicy.ToolTip = cMultiLanguageSupport.GetItem("Settings.Global.PolicyTooltip");
|
||||
}
|
||||
UpdatePolicyElements("SmallViewAlignment", PositionOfSmallViewsLabel, PositionOfSmallViewsInput, PositionOfSmallViewsPolicy);
|
||||
OnPropertyChanged(nameof(PositionOfSmallViews));
|
||||
|
||||
// hide or deactivate FavouriteBarAlignment options due to the policies
|
||||
_policy = cFasdCockpitConfig.Instance.Global.GetPropertyPolicy("FavouriteBarAlignment");
|
||||
if (_policy == enumConfigPolicy.Hidden)
|
||||
{
|
||||
PositionOfFavouriteBarLabel.Visibility = Visibility.Collapsed;
|
||||
PositionOfFavouriteBarInput.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
else
|
||||
{
|
||||
PositionOfFavouriteBarLabel.Visibility = Visibility.Visible;
|
||||
PositionOfFavouriteBarInput.Visibility = Visibility.Visible;
|
||||
}
|
||||
if (_policy == enumConfigPolicy.Default)
|
||||
{
|
||||
PositionOfFavouriteBarInput.IsEnabled = true;
|
||||
PositionOfFavouriteBarPolicy.Visibility = Visibility.Collapsed;
|
||||
PositionOfFavouriteBarPolicy.ToolTip = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
PositionOfFavouriteBarInput.IsEnabled = false;
|
||||
PositionOfFavouriteBarPolicy.Visibility = Visibility.Visible;
|
||||
PositionOfFavouriteBarPolicy.ToolTip = cMultiLanguageSupport.GetItem("Settings.Global.PolicyTooltip");
|
||||
}
|
||||
UpdatePolicyElements("FavouriteBarAlignment", PositionOfFavouriteBarLabel, PositionOfFavouriteBarInput, PositionOfFavouriteBarPolicy);
|
||||
OnPropertyChanged(nameof(PositionOfFavouriteBar));
|
||||
|
||||
UpdatePolicyElements(nameof(cFasdCockpitConfig.Instance.Global.UseGamification), UseGamificationLabel, UseGamificationCheckBox, UseGamifictationPolicy);
|
||||
OnPropertyChanged(nameof(cFasdCockpitConfig.Instance.Global.UseGamification));
|
||||
|
||||
void UpdatePolicyElements(string policyName, FrameworkElement label, FrameworkElement control, FrameworkElement policyElement)
|
||||
{
|
||||
enumConfigPolicy policy = cFasdCockpitConfig.Instance.Global.GetPropertyPolicy(policyName);
|
||||
|
||||
label.Visibility = policy == enumConfigPolicy.Hidden ? Visibility.Collapsed : Visibility.Visible;
|
||||
control.Visibility = policy == enumConfigPolicy.Hidden ? Visibility.Collapsed : Visibility.Visible;
|
||||
control.IsEnabled = policy == enumConfigPolicy.Default;
|
||||
|
||||
|
||||
policyElement.Visibility = policy == enumConfigPolicy.Default ? Visibility.Collapsed : Visibility.Visible;
|
||||
policyElement.ToolTip = policy == enumConfigPolicy.Default ? null : cMultiLanguageSupport.GetItem("Settings.Global.PolicyTooltip");
|
||||
}
|
||||
}
|
||||
|
||||
public void SetUpSettingsControls()
|
||||
@@ -872,7 +813,7 @@ namespace FasdDesktopUi.Pages.SettingsPage
|
||||
{
|
||||
try
|
||||
{
|
||||
_Instance = null;
|
||||
_instance = null;
|
||||
if (cSupportCaseDataProvider.detailsPage?.Visibility == Visibility.Visible)
|
||||
await cSupportCaseDataProvider.detailsPage.AdjustWindowSizeAsync();
|
||||
}
|
||||
|
||||
@@ -101,9 +101,9 @@
|
||||
Padding="10">
|
||||
<Grid>
|
||||
<buc:MenuBar x:Name="MenuBarUc" x:FieldModifier="private" />
|
||||
<buc:SearchBar x:Name="SearchBarUserControl" x:FieldModifier="private"
|
||||
Visibility="Collapsed"
|
||||
/>
|
||||
<buc:InformationClassSearchBar x:Name="SearchBarUserControl"
|
||||
x:FieldModifier="private"
|
||||
Visibility="Collapsed" />
|
||||
</Grid>
|
||||
|
||||
</Border>
|
||||
|
||||
@@ -45,8 +45,8 @@ namespace FasdDesktopUi.Pages.SlimPage
|
||||
{
|
||||
switch (invoker)
|
||||
{
|
||||
case SearchBar searchBar:
|
||||
if (!searchBar.IsVisible || searchBar.SearchStatus != SearchBar.eSearchStatus.message)
|
||||
case InformationClassSearchBar searchBar:
|
||||
if (!searchBar.IsVisible || searchBar.SearchStatus != InformationClassSearchBar.eSearchStatus.message)
|
||||
return true;
|
||||
break;
|
||||
case QuickActionSelector _:
|
||||
@@ -256,7 +256,7 @@ namespace FasdDesktopUi.Pages.SlimPage
|
||||
tempSubMenuList.Add(new cMenuDataBase(copyTemplate.Value));
|
||||
}
|
||||
|
||||
tempMoreQuickActionList.Insert(0, new cMenuDataContainer() { MenuText = cMultiLanguageSupport.GetItem("QuickAction.CopyContent"), MenuIcon = new F4SD_AdaptableIcon.IconData(enumInternIcons.menuBar_copy), UiAction = new cSubMenuAction(true) { Name = cMultiLanguageSupport.GetItem("QuickAction.CopyContent"), SubMenuData = tempSubMenuList }, SubMenuData = tempSubMenuList });
|
||||
tempMoreQuickActionList.Insert(0, new cMenuDataContainer() { MenuText = cMultiLanguageSupport.GetItem("QuickAction.CopyContent"), MenuIcon = new cMenuDataBase.MenuIconInfo(new F4SD_AdaptableIcon.IconData(enumInternIcons.menuBar_copy)), UiAction = new cSubMenuAction(true) { Name = cMultiLanguageSupport.GetItem("QuickAction.CopyContent"), SubMenuData = tempSubMenuList }, SubMenuData = tempSubMenuList });
|
||||
}
|
||||
|
||||
var quickActionSelector = new QuickActionSelector()
|
||||
@@ -403,7 +403,7 @@ namespace FasdDesktopUi.Pages.SlimPage
|
||||
if (!(DataContext is SlimPageViewModel viewModel))
|
||||
return;
|
||||
|
||||
if (SearchBarUserControl.SearchStatus != SearchBar.eSearchStatus.message)
|
||||
if (SearchBarUserControl.SearchStatus != InformationClassSearchBar.eSearchStatus.message)
|
||||
{
|
||||
SearchBarUserControl.Visibility = Visibility.Collapsed;
|
||||
MenuBarUc.Visibility = Visibility.Visible;
|
||||
|
||||
@@ -15,6 +15,20 @@
|
||||
WindowStyle="None"
|
||||
IsVisibleChanged="Window_IsVisibleChanged">
|
||||
|
||||
<Window.Resources>
|
||||
<Style x:Key="IconHoverStyle"
|
||||
TargetType="ico:AdaptableIcon">
|
||||
<Setter Property="Opacity"
|
||||
Value="1" />
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver"
|
||||
Value="True">
|
||||
<Setter Property="Opacity"
|
||||
Value="0.6" />
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Window.Resources>
|
||||
<Border Padding="12.5 7.5"
|
||||
Background="#234B92">
|
||||
<Grid>
|
||||
@@ -30,31 +44,26 @@
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<ico:AdaptableIcon x:Name="MinimizeButton"
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
<StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2" HorizontalAlignment="Right">
|
||||
<ico:AdaptableIcon x:Name="MinimizeButton"
|
||||
PrimaryIconColor="White"
|
||||
HorizontalAlignment="Right"
|
||||
Cursor="Hand"
|
||||
Style="{StaticResource IconHoverStyle}"
|
||||
MouseLeftButtonUp="MinimizeButton_MouseLeftButtonUp"
|
||||
TouchDown="MinimizeButton_TouchDown">
|
||||
<ico:AdaptableIcon.Resources>
|
||||
<Style TargetType="ico:AdaptableIcon">
|
||||
<Setter Property="Opacity"
|
||||
Value="1" />
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver"
|
||||
Value="True">
|
||||
<Setter Property="Opacity"
|
||||
Value="0.6" />
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ico:AdaptableIcon.Resources>
|
||||
<ico:AdaptableIcon.SelectedInternIcon>
|
||||
window_minimize
|
||||
</ico:AdaptableIcon.SelectedInternIcon>
|
||||
</ico:AdaptableIcon>
|
||||
TouchDown="MinimizeButton_TouchDown"
|
||||
SelectedInternIcon="window_minimize"
|
||||
>
|
||||
</ico:AdaptableIcon>
|
||||
<ico:AdaptableIcon x:Name="MaximizeButton"
|
||||
PrimaryIconColor="White"
|
||||
HorizontalAlignment="Right"
|
||||
Cursor="Hand"
|
||||
Style="{StaticResource IconHoverStyle}"
|
||||
SelectedInternIcon="window_fullscreen"
|
||||
MouseLeftButtonUp="F4SDLogo_MouseLeftButtonDown" TouchDown="F4SDLogo_TouchDown"
|
||||
/>
|
||||
</StackPanel>
|
||||
|
||||
<ico:AdaptableIcon Grid.Row="0"
|
||||
Grid.RowSpan="3"
|
||||
@@ -66,7 +75,9 @@
|
||||
IconHeight="220"
|
||||
IconWidth="330"
|
||||
SelectedInternIcon="f4sd_product_logo"
|
||||
MouseLeftButtonDown="F4SDLogo_MouseLeftButtonDown"/>
|
||||
MouseLeftButtonDown="F4SDLogo_MouseLeftButtonDown"
|
||||
TouchDown="F4SDLogo_TouchDown"
|
||||
/>
|
||||
|
||||
<Image Source="pack://application:,,,/Resources/Consulting4ITWhite.png"
|
||||
Width="90"
|
||||
|
||||
@@ -108,7 +108,8 @@ namespace FasdDesktopUi.Pages.SplashScreenView
|
||||
|
||||
#endregion
|
||||
|
||||
private void F4SDLogo_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
|
||||
|
||||
private void StartIntro()
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -137,5 +138,16 @@ namespace FasdDesktopUi.Pages.SplashScreenView
|
||||
LogException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void F4SDLogo_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
|
||||
{
|
||||
StartIntro();
|
||||
}
|
||||
|
||||
private void F4SDLogo_TouchDown(object sender, System.Windows.Input.TouchEventArgs e)
|
||||
{
|
||||
StartIntro();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,16 +3,17 @@ using FasdDesktopUi.Basics;
|
||||
using FasdDesktopUi.Basics.Models;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Media;
|
||||
using WinForms = System.Windows.Forms;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Media;
|
||||
using WinForms = System.Windows.Forms;
|
||||
using static C4IT.Logging.cLogManager;
|
||||
using F4SD.Gamification.Services;
|
||||
|
||||
namespace FasdDesktopUi.Pages.TicketCompletion
|
||||
{
|
||||
@@ -304,15 +305,16 @@ namespace FasdDesktopUi.Pages.TicketCompletion
|
||||
|
||||
bool closedSuccessfull = await CloseCaseDialogUc.CloseCaseAsync(_dataProvider.Identities.FirstOrDefault(identity => identity.Class == enumFasdInformationClass.User).Id);
|
||||
|
||||
if (closedSuccessfull)
|
||||
{
|
||||
SuccessPage.SuccessPage successPage = new SuccessPage.SuccessPage();
|
||||
successPage.Show();
|
||||
await _dataProvider?.CloseCaseAsync();
|
||||
TrySetDialogResult(true);
|
||||
Close();
|
||||
}
|
||||
}
|
||||
if (closedSuccessfull)
|
||||
{
|
||||
SuccessPage.SuccessPage successPage = new SuccessPage.SuccessPage();
|
||||
successPage.Show();
|
||||
GamificationService.TrackAction(F4SD.Gamification.CockpitAction.CaseClosed);
|
||||
await _dataProvider?.CloseCaseAsync();
|
||||
TrySetDialogResult(true);
|
||||
Close();
|
||||
}
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
|
||||
Reference in New Issue
Block a user