diff
This commit is contained in:
@@ -669,11 +669,11 @@ namespace FasdDesktopUi
|
||||
{
|
||||
userInfo = cFasdCockpitCommunicationBase.CockpitUserInfo;
|
||||
}
|
||||
if (!string.IsNullOrEmpty(cCockpitConfiguration.Instance?.m42ServerConfiguration?.Server))
|
||||
if (userInfo?.possibleLogons != null)
|
||||
{
|
||||
if (userInfo.possibleLogons.Contains(enumAdditionalAuthentication.M42WinLogon))
|
||||
{
|
||||
if (cFasdCockpitConfig.Instance.HasM42Configuration())
|
||||
if (userInfo?.possibleLogons != null)
|
||||
{
|
||||
if (userInfo.possibleLogons.Contains(enumAdditionalAuthentication.M42WinLogon))
|
||||
{
|
||||
if (App.M42OptionMenuItem != null)
|
||||
{
|
||||
App.M42OptionMenuItem.Visible = true;
|
||||
|
||||
@@ -110,6 +110,9 @@ namespace FasdDesktopUi.Basics.Services.SupportCase.Controllers
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_focusedRelation == relation)
|
||||
return;
|
||||
|
||||
_selectedHealthcard = _supportCaseProcessor.GetHealthcardFor(relation);
|
||||
HashSet<string> requiredTables = cHealthCard.GetRequiredTables(_selectedHealthcard);
|
||||
_ = Task.Run(async () => await _supportCaseProcessor.LoadSupportCaseDataAsync(relation, requiredTables));
|
||||
|
||||
@@ -16,6 +16,8 @@ namespace FasdDesktopUi.Basics.Services.SupportCase
|
||||
private readonly Dictionary<string, Dictionary<cF4sdApiSearchResultRelation, cF4SDHealthCardRawData.cHealthCardTable>> _supportCaseDataCache = new Dictionary<string, Dictionary<cF4sdApiSearchResultRelation, cF4SDHealthCardRawData.cHealthCardTable>>();
|
||||
private readonly Dictionary<cF4sdApiSearchResultRelation, cF4SDHealthCardRawData> _rawDataCache = new Dictionary<cF4sdApiSearchResultRelation, cF4SDHealthCardRawData>(); // todo remove, currently only used for SupportCaseDataProviderArtifact
|
||||
|
||||
private readonly ICollection<cF4sdApiSearchResultRelation> _relationsCurrentlyLoadingData = new HashSet<cF4sdApiSearchResultRelation>();
|
||||
|
||||
internal readonly Guid Id;
|
||||
private readonly IRelationService _relationService;
|
||||
public cSupportCaseDataProvider SupportCaseDataProviderArtifact { get; }
|
||||
@@ -65,19 +67,18 @@ namespace FasdDesktopUi.Basics.Services.SupportCase
|
||||
if (relations is null)
|
||||
return;
|
||||
|
||||
foreach (var relationType in relations)
|
||||
{
|
||||
//TODO Max fragen obs passt! Bug: in den Ticketrelations (Header Ticketauswahl) sind nur zwei Tickets sichtbar anstatt 5 oder mehr..
|
||||
if (_caseRelations.TryGetValue(relationType.Key, out var caseRelation))
|
||||
_caseRelations[relationType.Key] = caseRelation.Union(relationType).ToList();
|
||||
else
|
||||
_caseRelations.Add(relationType.Key, relationType.ToList());
|
||||
|
||||
if (SupportCaseDataProviderArtifact?.CaseRelations?.TryGetValue(relationType.Key, out var caseRelations) ?? false)
|
||||
SupportCaseDataProviderArtifact.CaseRelations[relationType.Key] = caseRelations.Union(relationType).ToList();
|
||||
else
|
||||
SupportCaseDataProviderArtifact?.CaseRelations?.Add(relationType.Key, relationType.ToList());
|
||||
}
|
||||
foreach (var relationType in relations)
|
||||
{
|
||||
if (_caseRelations.TryGetValue(relationType.Key, out var caseRelation))
|
||||
caseRelation = caseRelation.Union(relationType).ToList();
|
||||
else
|
||||
_caseRelations.Add(relationType.Key, relationType.ToList());
|
||||
|
||||
if (SupportCaseDataProviderArtifact?.CaseRelations?.TryGetValue(relationType.Key, out var caseRelations) ?? false)
|
||||
caseRelations = caseRelations.Union(relationType).ToList();
|
||||
else
|
||||
SupportCaseDataProviderArtifact?.CaseRelations?.Add(relationType.Key, relationType.ToList());
|
||||
}
|
||||
|
||||
CaseRelationsAdded?.Invoke(this, new RelationEventArgs() { Relations = relations });
|
||||
}
|
||||
@@ -91,6 +92,11 @@ namespace FasdDesktopUi.Basics.Services.SupportCase
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_relationsCurrentlyLoadingData.Contains(relation))
|
||||
return;
|
||||
|
||||
_relationsCurrentlyLoadingData.Add(relation);
|
||||
|
||||
cF4SDHealthCardRawData rawData = null;
|
||||
|
||||
// todo this is only a temporary fix. Currently the tablesToLoad contain also detail tables
|
||||
@@ -131,11 +137,17 @@ namespace FasdDesktopUi.Basics.Services.SupportCase
|
||||
.Where(table => table.Key.StartsWith("Computation_") == false)
|
||||
.All(table => !table.Value.IsIncomplete && !table.Value.Columns.Values.Any(c => c.IsIncomplete)) ?? false;
|
||||
}
|
||||
|
||||
SupportCaseDataProviderArtifact.HealthCardDataHelper.LoadingHelper.LastDataRequest = DateTime.Now;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogException(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
_relationsCurrentlyLoadingData.Remove(relation);
|
||||
}
|
||||
|
||||
bool IsRawDataCacheComplete()
|
||||
{
|
||||
@@ -236,12 +248,12 @@ namespace FasdDesktopUi.Basics.Services.SupportCase
|
||||
|
||||
table.IsIncomplete = true;
|
||||
|
||||
foreach (var column in table.Columns.Values)
|
||||
{
|
||||
if (column.Values != null && column.Values.Count > 0)
|
||||
column.Values[0] = null;
|
||||
column.IsIncomplete = true;
|
||||
}
|
||||
foreach (var column in table.Columns.Values)
|
||||
{
|
||||
if (column.Values != null && column.Values.Count > 0)
|
||||
column.Values[0] = null;
|
||||
column.IsIncomplete = true;
|
||||
}
|
||||
|
||||
invalidatedTables.Add(table);
|
||||
}
|
||||
@@ -253,12 +265,12 @@ namespace FasdDesktopUi.Basics.Services.SupportCase
|
||||
{
|
||||
table.IsIncomplete = true;
|
||||
|
||||
foreach (var column in table.Columns.Values)
|
||||
{
|
||||
if (column.Values != null && column.Values.Count > 0)
|
||||
column.Values[0] = null;
|
||||
column.IsIncomplete = true;
|
||||
}
|
||||
foreach (var column in table.Columns.Values)
|
||||
{
|
||||
if (column.Values != null && column.Values.Count > 0)
|
||||
column.Values[0] = null;
|
||||
column.IsIncomplete = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
@@ -140,6 +140,9 @@ namespace FasdDesktopUi.Basics.Services.SupportCase
|
||||
{
|
||||
var status = enumActualizeStatus.unknown;
|
||||
|
||||
if (!agentUserId.HasValue && !agentDeviceId.HasValue)
|
||||
return status;
|
||||
|
||||
try
|
||||
{
|
||||
TimeSpan refreshDelay = TimeSpan.FromMilliseconds(500);
|
||||
|
||||
@@ -6,8 +6,7 @@ using System.Windows;
|
||||
using System.Windows.Documents;
|
||||
using System.Linq;
|
||||
using System.Windows.Input;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Threading;
|
||||
using System.Diagnostics;
|
||||
|
||||
using C4IT.FASD.Base;
|
||||
using C4IT.Logging;
|
||||
@@ -103,19 +102,19 @@ namespace FasdDesktopUi.Basics
|
||||
QuickActionProtocollHelper = new cQuickActionProtocollHelper(this);
|
||||
}
|
||||
|
||||
public static async Task<cSupportCaseDataProvider> GetDataProviderForAsync(cF4sdApiSearchResultRelation selectedRelation, IRelationService relationService)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (selectedRelation == null)
|
||||
{
|
||||
Debug.Assert(true, "The selected relation must not be null here!");
|
||||
LogEntry("The selected relation must not be null here!", LogLevels.Error);
|
||||
return null;
|
||||
}
|
||||
|
||||
// get the identities of the selected relation
|
||||
var Identities = selectedRelation.Identities.Clone();
|
||||
public static async Task<cSupportCaseDataProvider> GetDataProviderForAsync(cF4sdApiSearchResultRelation selectedRelation, IRelationService relationService)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (selectedRelation == null)
|
||||
{
|
||||
Debug.Assert(true, "The selected relation must not be null here!");
|
||||
LogEntry("The selected relation must not be null here!", LogLevels.Error);
|
||||
return null;
|
||||
}
|
||||
|
||||
// get the identities of the selected relation
|
||||
var Identities = selectedRelation.Identities.Clone();
|
||||
|
||||
// get the main indentities from all identites (normally this is the user, in a special case, where a computer was searched and found without any user activities, it could be the computer)
|
||||
var MainIdentity = Identities.FirstOrDefault(identity => identity.Class == enumFasdInformationClass.User);
|
||||
@@ -150,17 +149,15 @@ namespace FasdDesktopUi.Basics
|
||||
cSupportCaseDataProvider.CurrentProvider = null;
|
||||
}
|
||||
|
||||
if (!DataProviders.TryGetValue(MainIdentity.Id, out var _result))
|
||||
{
|
||||
_result = new cSupportCaseDataProvider();
|
||||
DataProviders.Add(MainIdentity.Id, _result);
|
||||
}
|
||||
|
||||
//await EnsureSupportCasePagesAsync();
|
||||
|
||||
_result.NamedParameterEntries = new cNamedParameterList(_result);
|
||||
|
||||
_result.StartCase(MainIdentity.Id);
|
||||
if (!DataProviders.TryGetValue(MainIdentity.Id, out var _result))
|
||||
{
|
||||
_result = new cSupportCaseDataProvider();
|
||||
DataProviders.Add(MainIdentity.Id, _result);
|
||||
}
|
||||
|
||||
_result.NamedParameterEntries = new cNamedParameterList(_result);
|
||||
|
||||
_result.StartCase(MainIdentity.Id);
|
||||
|
||||
var supportCase = SupportCaseFactory.Get(MainIdentity, relationService, _result);
|
||||
var supportCaseProcessor = SupportCaseProcessorFactory.Get(MainIdentity.Id);
|
||||
@@ -169,14 +166,8 @@ namespace FasdDesktopUi.Basics
|
||||
supportCaseProcessor.SetSupportCase(supportCase);
|
||||
supportCaseController.SetSupportCaseProcessor(supportCaseProcessor, Identities);
|
||||
|
||||
if (cSupportCaseDataProvider.detailsPage == null || cSupportCaseDataProvider.slimPage == null)
|
||||
{
|
||||
LogEntry("Support case pages are not initialized; aborting case start.", LogLevels.Error);
|
||||
return null;
|
||||
}
|
||||
|
||||
cSupportCaseDataProvider.detailsPage.SetSupportCaseController(supportCaseController);
|
||||
cSupportCaseDataProvider.slimPage.SetSupportCaseController(supportCaseController);
|
||||
cSupportCaseDataProvider.detailsPage.SetSupportCaseController(supportCaseController);
|
||||
cSupportCaseDataProvider.slimPage.SetSupportCaseController(supportCaseController);
|
||||
|
||||
var Status = await _result.SetViewDataAsync(requiredInformationClasses, Identities, true);
|
||||
|
||||
@@ -204,7 +195,7 @@ namespace FasdDesktopUi.Basics
|
||||
{
|
||||
cSupportCaseDataProvider.slimPage.Show();
|
||||
cSupportCaseDataProvider.detailsPage?.Hide();
|
||||
}
|
||||
}
|
||||
|
||||
return _result;
|
||||
}
|
||||
@@ -239,11 +230,11 @@ namespace FasdDesktopUi.Basics
|
||||
return selectedRelation;
|
||||
}
|
||||
|
||||
public void StartCase(Guid userId)
|
||||
{
|
||||
var CM = MethodBase.GetCurrentMethod();
|
||||
LogMethodBegin(CM);
|
||||
try
|
||||
public void StartCase(Guid userId)
|
||||
{
|
||||
var CM = MethodBase.GetCurrentMethod();
|
||||
LogMethodBegin(CM);
|
||||
try
|
||||
{
|
||||
lock (caseIdLockObject)
|
||||
{
|
||||
@@ -283,28 +274,11 @@ namespace FasdDesktopUi.Basics
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
finally
|
||||
{
|
||||
LogMethodEnd(CM);
|
||||
}
|
||||
}
|
||||
|
||||
private static async Task EnsureSupportCasePagesAsync()
|
||||
{
|
||||
if (detailsPage != null && slimPage != null)
|
||||
return;
|
||||
|
||||
if (Application.Current == null)
|
||||
return;
|
||||
|
||||
await Application.Current.Dispatcher.InvokeAsync(() =>
|
||||
{
|
||||
if (slimPage == null)
|
||||
slimPage = new Pages.SlimPage.SlimPageView();
|
||||
if (detailsPage == null)
|
||||
detailsPage = new Pages.DetailsPage.DetailsPageView();
|
||||
}, DispatcherPriority.Normal);
|
||||
}
|
||||
finally
|
||||
{
|
||||
LogMethodEnd(CM);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task CloseCaseAsync()
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
d:DesignWidth="40"
|
||||
x:Name="BadgeControl">
|
||||
|
||||
<Border Background="{DynamicResource Color.F4SD}"
|
||||
<Border Background="{DynamicResource Color.SoftContrast}"
|
||||
CornerRadius="5">
|
||||
|
||||
<StackPanel HorizontalAlignment="Center"
|
||||
@@ -19,7 +19,7 @@
|
||||
Margin="7.5 2.5">
|
||||
<TextBlock FontSize="12"
|
||||
FontWeight="Bold"
|
||||
Foreground="White"
|
||||
Foreground="{DynamicResource FontColor.DetailsPage.DataHistory.Value}"
|
||||
Text="{Binding ElementName=BadgeControl, Path=Text}" />
|
||||
</StackPanel>
|
||||
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
using F4SD_AdaptableIcon;
|
||||
using FasdDesktopUi.Basics.Helper;
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using static C4IT.Logging.cLogManager;
|
||||
|
||||
namespace FasdDesktopUi.Basics.UserControls
|
||||
{
|
||||
|
||||
@@ -390,6 +390,7 @@ namespace FasdDesktopUi.Pages.DetailsPage
|
||||
BlurInvoker.BlurInvokerVisibilityChanged += (obj, e) => UpdateBlurStatus(obj);
|
||||
|
||||
NavigationHeadingUc.HeadingIconClickedEvent += NavigationHeadingUc_HeadingIconClickedEvent;
|
||||
NavigationHeadingUc.EmptySpaceClicked += (obj, e) => BlurBorder_Click();
|
||||
|
||||
RefreshControl.RefreshButtonClicked += RefreshButtonClickedEvent;
|
||||
|
||||
|
||||
@@ -23,6 +23,15 @@
|
||||
Handler="HeadingIcon_TouchDown" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="DetailsPage.TitleSection.Border.NotSelected"
|
||||
TargetType="Border"
|
||||
BasedOn="{StaticResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<EventSetter Event="MouseLeftButtonUp"
|
||||
Handler="HeadingIcon_MouseLeftButtonUp" />
|
||||
<EventSetter Event="TouchDown"
|
||||
Handler="HeadingIcon_TouchDown" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="SwapIconStyleBase"
|
||||
x:Name="SwapIconStyleBase"
|
||||
TargetType="ico:AdaptableIcon"
|
||||
@@ -35,6 +44,18 @@
|
||||
Value="{x:Null}" />
|
||||
<Setter Property="SelectedInternIcon"
|
||||
Value="misc_chevron_down" />
|
||||
<Setter Property="IconWidth"
|
||||
Value="40" />
|
||||
<Setter Property="IconHeight"
|
||||
Value="42" />
|
||||
<Setter Property="BorderPadding"
|
||||
Value="10 0 10 0" />
|
||||
<Setter Property="BorderThickness"
|
||||
Value="3 0 0 0" />
|
||||
<Setter Property="Margin"
|
||||
Value="0" />
|
||||
<Setter Property="IconCornerRadius"
|
||||
Value="10" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorLevel=1, AncestorType=Border}, Path=IsMouseOver}"
|
||||
Value="True">
|
||||
@@ -87,274 +108,269 @@
|
||||
|
||||
</UserControl.Resources>
|
||||
|
||||
<ScrollViewer x:Name="HeadingScroller"
|
||||
x:FieldModifier="private"
|
||||
HorizontalScrollBarVisibility="Auto"
|
||||
VerticalScrollBarVisibility="Hidden"
|
||||
Padding="0 7.5">
|
||||
<Grid>
|
||||
<Border x:Name="HeadingBorder"
|
||||
MouseLeftButtonUp="HeadingBorder_Clicked"
|
||||
TouchDown="HeadingBorder_Clicked">
|
||||
<ScrollViewer x:Name="HeadingScroller"
|
||||
x:FieldModifier="private"
|
||||
HorizontalScrollBarVisibility="Auto"
|
||||
VerticalScrollBarVisibility="Hidden"
|
||||
Padding="0 7.5">
|
||||
<Grid>
|
||||
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="42" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="42" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Border Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="0 0 10 0"
|
||||
Background="#01000000"
|
||||
Padding="5 0">
|
||||
<StackPanel x:Name="UserStack"
|
||||
Orientation="Horizontal">
|
||||
<Border Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="0 0 10 0"
|
||||
Background="#01000000"
|
||||
Padding="5 0">
|
||||
<StackPanel x:Name="UserStack"
|
||||
Orientation="Horizontal">
|
||||
|
||||
<Border x:Name="UserStackHighlightBorder"
|
||||
Style="{DynamicResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ico:AdaptableIcon x:Name="UserIcon"
|
||||
SelectedInternIcon="misc_user" />
|
||||
<TextBlock x:Name="UserTextBlock" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border x:Name="UserStackHighlightBorder"
|
||||
Style="{DynamicResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ico:AdaptableIcon x:Name="UserIcon"
|
||||
SelectedInternIcon="misc_user" />
|
||||
<TextBlock x:Name="UserTextBlock" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<ico:AdaptableIcon x:Name="UserCopyIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
MouseLeftButtonUp="CopyIcon_MouseLeftButtonUp"
|
||||
TouchDown="CopyIcon_TouchDown"
|
||||
SelectedInternIcon="menuBar_copy" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<ico:AdaptableIcon x:Name="UserCopyIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
MouseLeftButtonUp="CopyIcon_MouseLeftButtonUp"
|
||||
TouchDown="CopyIcon_TouchDown"
|
||||
SelectedInternIcon="menuBar_copy" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<Border Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Margin="10 0"
|
||||
Background="#01000000"
|
||||
Padding="5 0">
|
||||
<StackPanel x:Name="ComputerStack"
|
||||
Orientation="Horizontal">
|
||||
<Border x:Name="ComputerStackHighlightBorder"
|
||||
Style="{DynamicResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ico:AdaptableIcon x:Name="ComputerIcon"
|
||||
SecondaryIconColor="{DynamicResource Color.FunctionMarker}"
|
||||
SelectedInternIcon="misc_computer"
|
||||
Margin="10 0 7.5 0" />
|
||||
<TextBlock x:Name="ComputerTextBlock" />
|
||||
<Border Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Margin="10 0"
|
||||
Background="#01000000"
|
||||
Padding="5 0">
|
||||
<StackPanel x:Name="ComputerStack"
|
||||
Orientation="Horizontal">
|
||||
<Border x:Name="ComputerStackHighlightBorder"
|
||||
Style="{DynamicResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ico:AdaptableIcon x:Name="ComputerIcon"
|
||||
SecondaryIconColor="{DynamicResource Color.FunctionMarker}"
|
||||
SelectedInternIcon="misc_computer"
|
||||
Margin="10 0 7.5 0" />
|
||||
<TextBlock x:Name="ComputerTextBlock" />
|
||||
|
||||
<ico:AdaptableIcon x:Name="ComputerSwapIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
Visibility="Visible"
|
||||
BorderBrush="{DynamicResource Color.SoftContrast}"
|
||||
BorderThickness="2 0 0 0"
|
||||
Padding="5 0 0 0" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<ico:AdaptableIcon x:Name="ComputerSwapIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
Visibility="Visible"
|
||||
BorderBrush="{DynamicResource Color.SoftContrast}" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<ico:AdaptableIcon x:Name="ComputerCopyIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
MouseLeftButtonUp="CopyIcon_MouseLeftButtonUp"
|
||||
TouchDown="CopyIcon_TouchDown"
|
||||
SelectedInternIcon="menuBar_copy" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Background="{DynamicResource BackgroundColor.Menu.Categories}"
|
||||
Padding="10"
|
||||
Margin="10"
|
||||
CornerRadius="10"
|
||||
Visibility="{Binding ElementName=ComputerSelector, Path=MenuDataList, Converter={StaticResource NullToVisibility}}"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="999"
|
||||
MaxWidth="325"
|
||||
HorizontalAlignment="Left">
|
||||
<buc:CustomMenu x:Name="ComputerSelector"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="999"
|
||||
HorizontalAlignment="Left"
|
||||
MaxWidth="325" />
|
||||
</Border>
|
||||
<ico:AdaptableIcon x:Name="ComputerCopyIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
MouseLeftButtonUp="CopyIcon_MouseLeftButtonUp"
|
||||
TouchDown="CopyIcon_TouchDown"
|
||||
SelectedInternIcon="menuBar_copy" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Background="{DynamicResource BackgroundColor.Menu.Categories}"
|
||||
Padding="10"
|
||||
Margin="10"
|
||||
CornerRadius="10"
|
||||
Visibility="{Binding ElementName=ComputerSelector, Path=MenuDataList, Converter={StaticResource NullToVisibility}}"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="999"
|
||||
MaxWidth="325"
|
||||
HorizontalAlignment="Left">
|
||||
<buc:CustomMenu x:Name="ComputerSelector"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="999"
|
||||
HorizontalAlignment="Left"
|
||||
MaxWidth="325" />
|
||||
</Border>
|
||||
|
||||
<Border Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
Margin="10 0"
|
||||
Background="#01000000"
|
||||
Padding="5 0">
|
||||
<StackPanel x:Name="VirtualSessionStack"
|
||||
Orientation="Horizontal">
|
||||
<Border x:Name="VirtualSessionStackHighlightBorder"
|
||||
Style="{DynamicResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ico:AdaptableIcon x:Name="VirtualSessionIcon"
|
||||
SecondaryIconColor="{DynamicResource Color.FunctionMarker}"
|
||||
SelectedInternIcon="misc_computer"
|
||||
Margin="10 0 7.5 0" />
|
||||
<TextBlock x:Name="VirtualSessionTextBlock" />
|
||||
<Border Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
Margin="10 0"
|
||||
Background="#01000000"
|
||||
Padding="5 0">
|
||||
<StackPanel x:Name="VirtualSessionStack"
|
||||
Orientation="Horizontal">
|
||||
<Border x:Name="VirtualSessionStackHighlightBorder"
|
||||
Style="{DynamicResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ico:AdaptableIcon x:Name="VirtualSessionIcon"
|
||||
SecondaryIconColor="{DynamicResource Color.FunctionMarker}"
|
||||
SelectedInternIcon="misc_computer"
|
||||
Margin="10 0 7.5 0" />
|
||||
<TextBlock x:Name="VirtualSessionTextBlock" />
|
||||
|
||||
<ico:AdaptableIcon x:Name="VirtualSessionSwapIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
Visibility="Visible"
|
||||
BorderBrush="{DynamicResource Color.SoftContrast}"
|
||||
BorderThickness="2 0 0 0"
|
||||
Padding="5 0 0 0" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<ico:AdaptableIcon x:Name="VirtualSessionSwapIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
Visibility="Visible"
|
||||
BorderBrush="{DynamicResource Color.SoftContrast}" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<ico:AdaptableIcon x:Name="VirtualSessionCopyIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
MouseLeftButtonUp="CopyIcon_MouseLeftButtonUp"
|
||||
TouchDown="CopyIcon_TouchDown"
|
||||
SelectedInternIcon="menuBar_copy" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Background="{DynamicResource BackgroundColor.Menu.Categories}"
|
||||
Padding="10"
|
||||
Margin="10"
|
||||
CornerRadius="10"
|
||||
Visibility="{Binding ElementName=VirtualSessionSelector, Path=MenuDataList, Converter={StaticResource NullToVisibility}}"
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Grid.ColumnSpan="999"
|
||||
MaxWidth="325"
|
||||
HorizontalAlignment="Left">
|
||||
<buc:CustomMenu x:Name="VirtualSessionSelector"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="999"
|
||||
HorizontalAlignment="Left"
|
||||
MaxWidth="325" />
|
||||
</Border>
|
||||
<ico:AdaptableIcon x:Name="VirtualSessionCopyIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
MouseLeftButtonUp="CopyIcon_MouseLeftButtonUp"
|
||||
TouchDown="CopyIcon_TouchDown"
|
||||
SelectedInternIcon="menuBar_copy" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Background="{DynamicResource BackgroundColor.Menu.Categories}"
|
||||
Padding="10"
|
||||
Margin="10"
|
||||
CornerRadius="10"
|
||||
Visibility="{Binding ElementName=VirtualSessionSelector, Path=MenuDataList, Converter={StaticResource NullToVisibility}}"
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Grid.ColumnSpan="999"
|
||||
MaxWidth="325"
|
||||
HorizontalAlignment="Left">
|
||||
<buc:CustomMenu x:Name="VirtualSessionSelector"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="999"
|
||||
HorizontalAlignment="Left"
|
||||
MaxWidth="325" />
|
||||
</Border>
|
||||
|
||||
<Border Grid.Row="0"
|
||||
Grid.Column="3"
|
||||
Margin="10 0"
|
||||
Background="#01000000"
|
||||
Padding="5 0">
|
||||
<StackPanel x:Name="MobileDeviceStack"
|
||||
Orientation="Horizontal">
|
||||
<Border x:Name="MobileDeviceStackHighlightBorder"
|
||||
Style="{DynamicResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ico:AdaptableIcon x:Name="MobileDeviceIcon"
|
||||
SecondaryIconColor="{DynamicResource Color.FunctionMarker}"
|
||||
SelectedMaterialIcon="ic_smartphone"
|
||||
Margin="10 0 7.5 0" />
|
||||
<TextBlock x:Name="MobileDeviceTextBlock" />
|
||||
<Border Grid.Row="0"
|
||||
Grid.Column="3"
|
||||
Margin="10 0"
|
||||
Background="#01000000"
|
||||
Padding="5 0">
|
||||
<StackPanel x:Name="MobileDeviceStack"
|
||||
Orientation="Horizontal">
|
||||
<Border x:Name="MobileDeviceStackHighlightBorder"
|
||||
Style="{DynamicResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ico:AdaptableIcon x:Name="MobileDeviceIcon"
|
||||
SecondaryIconColor="{DynamicResource Color.FunctionMarker}"
|
||||
SelectedMaterialIcon="ic_smartphone"
|
||||
Margin="10 0 7.5 0" />
|
||||
<TextBlock x:Name="MobileDeviceTextBlock" />
|
||||
|
||||
<ico:AdaptableIcon x:Name="MobileDeviceSwapIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
Visibility="Visible"
|
||||
BorderBrush="{DynamicResource Color.SoftContrast}"
|
||||
BorderThickness="2 0 0 0"
|
||||
Padding="5 0 0 0" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<ico:AdaptableIcon x:Name="MobileDeviceSwapIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
Visibility="Visible"
|
||||
BorderBrush="{DynamicResource Color.SoftContrast}" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<ico:AdaptableIcon x:Name="MobileDeviceCopyIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
MouseLeftButtonUp="CopyIcon_MouseLeftButtonUp"
|
||||
TouchDown="CopyIcon_TouchDown"
|
||||
SelectedInternIcon="menuBar_copy" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Background="{DynamicResource BackgroundColor.Menu.Categories}"
|
||||
Padding="10"
|
||||
Margin="10"
|
||||
CornerRadius="10"
|
||||
Visibility="{Binding ElementName=MobileDeviceSelector, Path=MenuDataList, Converter={StaticResource NullToVisibility}}"
|
||||
Grid.Row="1"
|
||||
Grid.Column="3"
|
||||
Grid.ColumnSpan="999"
|
||||
MaxWidth="325"
|
||||
HorizontalAlignment="Left">
|
||||
<buc:CustomMenu x:Name="MobileDeviceSelector"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="999"
|
||||
HorizontalAlignment="Left"
|
||||
MaxWidth="325" />
|
||||
</Border>
|
||||
<Border Grid.Row="0"
|
||||
Grid.Column="4"
|
||||
Margin="10 0"
|
||||
Background="#01000000"
|
||||
Padding="5 0">
|
||||
<StackPanel x:Name="TicketStack"
|
||||
Orientation="Horizontal">
|
||||
<Border x:Name="TicketStackHighlightBorder"
|
||||
Style="{DynamicResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ico:AdaptableIcon x:Name="TicketIcon"
|
||||
IconHeight="25"
|
||||
IconWidth="25"
|
||||
SelectedMaterialIcon="ic_mail"
|
||||
Margin="10 0 7.5 0" />
|
||||
<TextBlock x:Name="TicketTextBlock" />
|
||||
<ico:AdaptableIcon x:Name="MobileDeviceCopyIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
MouseLeftButtonUp="CopyIcon_MouseLeftButtonUp"
|
||||
TouchDown="CopyIcon_TouchDown"
|
||||
SelectedInternIcon="menuBar_copy" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Background="{DynamicResource BackgroundColor.Menu.Categories}"
|
||||
Padding="10"
|
||||
Margin="10"
|
||||
CornerRadius="10"
|
||||
Visibility="{Binding ElementName=MobileDeviceSelector, Path=MenuDataList, Converter={StaticResource NullToVisibility}}"
|
||||
Grid.Row="1"
|
||||
Grid.Column="3"
|
||||
Grid.ColumnSpan="999"
|
||||
MaxWidth="325"
|
||||
HorizontalAlignment="Left">
|
||||
<buc:CustomMenu x:Name="MobileDeviceSelector"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="999"
|
||||
HorizontalAlignment="Left"
|
||||
MaxWidth="325" />
|
||||
</Border>
|
||||
<Border Grid.Row="0"
|
||||
Grid.Column="4"
|
||||
Margin="10 0"
|
||||
Background="#01000000"
|
||||
Padding="5 0">
|
||||
<StackPanel x:Name="TicketStack"
|
||||
Orientation="Horizontal">
|
||||
<Border x:Name="TicketStackHighlightBorder"
|
||||
Style="{DynamicResource DetailsPage.TitleSection.Border.NotSelected}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ico:AdaptableIcon x:Name="TicketIcon"
|
||||
IconHeight="25"
|
||||
IconWidth="25"
|
||||
SelectedMaterialIcon="ic_mail"
|
||||
Margin="10 0 7.5 0" />
|
||||
<TextBlock x:Name="TicketTextBlock" />
|
||||
|
||||
<ico:AdaptableIcon x:Name="TicketSwapIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
Visibility="Visible"
|
||||
BorderBrush="{DynamicResource Color.SoftContrast}"
|
||||
BorderThickness="2 0 0 0"
|
||||
Padding="5 0 0 0" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<ico:AdaptableIcon x:Name="TicketSwapIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
Visibility="Visible"
|
||||
BorderBrush="{DynamicResource Color.SoftContrast}" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<ico:AdaptableIcon x:Name="TicketCopyIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
MouseLeftButtonUp="CopyIcon_MouseLeftButtonUp"
|
||||
TouchDown="CopyIcon_TouchDown"
|
||||
SelectedInternIcon="menuBar_copy" />
|
||||
<ico:AdaptableIcon x:Name="TicketCopyIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
MouseLeftButtonUp="CopyIcon_MouseLeftButtonUp"
|
||||
TouchDown="CopyIcon_TouchDown"
|
||||
SelectedInternIcon="menuBar_copy" />
|
||||
|
||||
<ico:AdaptableIcon x:Name="EditTicketIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
SelectedMaterialIcon="ic_edit"
|
||||
MouseLeftButtonUp="EditTicketIcon_MouseLeftButtonUp"
|
||||
TouchDown="EditTicketIcon_TouchDown" />
|
||||
<ico:AdaptableIcon x:Name="EditTicketIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
SelectedMaterialIcon="ic_edit"
|
||||
MouseLeftButtonUp="EditTicketIcon_MouseLeftButtonUp"
|
||||
TouchDown="EditTicketIcon_TouchDown" />
|
||||
|
||||
<ico:AdaptableIcon x:Name="SaveTicketIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
SelectedMaterialIcon="ic_save"
|
||||
Visibility="Collapsed"
|
||||
MouseLeftButtonUp="SaveTicketIcon_MouseLeftButtonUp"
|
||||
TouchDown="SaveTicketIcon_TouchDown" />
|
||||
<ico:AdaptableIcon x:Name="SaveTicketIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
SelectedMaterialIcon="ic_save"
|
||||
Visibility="Collapsed"
|
||||
MouseLeftButtonUp="SaveTicketIcon_MouseLeftButtonUp"
|
||||
TouchDown="SaveTicketIcon_TouchDown" />
|
||||
|
||||
<ico:AdaptableIcon x:Name="UndoTicketIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
SelectedMaterialIcon="ic_undo"
|
||||
Visibility="Collapsed"
|
||||
MouseLeftButtonUp="UndoTicketIcon_MouseLeftButtonUp"
|
||||
TouchDown="UndoTicketIcon_TouchDown" />
|
||||
<ico:AdaptableIcon x:Name="UndoTicketIcon"
|
||||
Style="{DynamicResource SwapIconStyle}"
|
||||
SelectedMaterialIcon="ic_undo"
|
||||
Visibility="Collapsed"
|
||||
MouseLeftButtonUp="UndoTicketIcon_MouseLeftButtonUp"
|
||||
TouchDown="UndoTicketIcon_TouchDown" />
|
||||
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Background="{DynamicResource BackgroundColor.Menu.Categories}"
|
||||
Padding="10"
|
||||
Margin="10"
|
||||
CornerRadius="10"
|
||||
Visibility="{Binding ElementName=TicketSelector, Path=MenuDataList, Converter={StaticResource NullToVisibility}}"
|
||||
Grid.Row="1"
|
||||
Grid.Column="4"
|
||||
Grid.ColumnSpan="999"
|
||||
MaxWidth="325"
|
||||
HorizontalAlignment="Left">
|
||||
<buc:CustomMenu x:Name="TicketSelector"
|
||||
x:FieldModifier="private"
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Grid.ColumnSpan="999"
|
||||
HorizontalAlignment="Left"
|
||||
MaxWidth="325" />
|
||||
</Border>
|
||||
|
||||
</Grid>
|
||||
</ScrollViewer>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Background="{DynamicResource BackgroundColor.Menu.Categories}"
|
||||
Padding="10"
|
||||
Margin="10"
|
||||
CornerRadius="10"
|
||||
Visibility="{Binding ElementName=TicketSelector, Path=MenuDataList, Converter={StaticResource NullToVisibility}}"
|
||||
Grid.Row="1"
|
||||
Grid.Column="4"
|
||||
Grid.ColumnSpan="999"
|
||||
MaxWidth="325"
|
||||
HorizontalAlignment="Left">
|
||||
<buc:CustomMenu x:Name="TicketSelector"
|
||||
x:FieldModifier="private"
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Grid.ColumnSpan="999"
|
||||
HorizontalAlignment="Left"
|
||||
MaxWidth="325" />
|
||||
</Border>
|
||||
|
||||
</Grid>
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
</UserControl>
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
if (value != null)
|
||||
{
|
||||
UpdateHeaderHighlights();
|
||||
SetTicketHeadingVisibility();
|
||||
SetHeadingVisibility();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -100,11 +100,9 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
else if (DataProvider.HealthCardDataHelper.SelectedHealthCard.InformationClasses.Any(identity => identity is enumFasdInformationClass.User))
|
||||
highlightedBorder = UserStackHighlightBorder;
|
||||
|
||||
if (highlightedBorder != null)
|
||||
highlightedBorder.SetResourceReference(BackgroundProperty, "BackgroundColor.Menu.MainCategory");
|
||||
highlightedBorder?.SetResourceReference(BackgroundProperty, "BackgroundColor.Menu.MainCategory");
|
||||
|
||||
if (swapIcon != null)
|
||||
swapIcon.SetResourceReference(AdaptableIcon.IconBackgroundColorProperty, "BackgroundColor.Menu.MainCategory");
|
||||
swapIcon?.SetResourceReference(AdaptableIcon.IconBackgroundColorProperty, "BackgroundColor.Menu.MainCategory");
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
@@ -112,16 +110,20 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
}
|
||||
}
|
||||
|
||||
private void SetTicketHeadingVisibility()
|
||||
private async Task SetHeadingVisibility()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (DataProvider is null)
|
||||
return;
|
||||
cCollectorStatusInfo modules = await cFasdCockpitConfig.Instance.CheckCollectorStatusAsync();
|
||||
if (modules != null)
|
||||
{
|
||||
TicketStack.Visibility = modules.HasM42Config ? Visibility.Visible : Visibility.Collapsed;
|
||||
MobileDeviceStack.Visibility = modules.HasMobileDeviceConfig ? Visibility.Visible : Visibility.Collapsed;
|
||||
VirtualSessionStack.Visibility = modules.HasCitrixConfig ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
|
||||
//bool isTicketIntegrationActive = cFasdCockpitCommunicationBase.CockpitUserInfo?.Roles?.Any(role => string.Equals(role, "Cockpit.TicketAgent", StringComparison.OrdinalIgnoreCase)) ?? false;
|
||||
bool isTicketIntegrationActive = cF4SDCockpitXmlConfig.Instance.HealthCardConfig.HealthCards.Values.Any(_e => _e.InformationClasses.Contains(enumFasdInformationClass.Ticket));
|
||||
TicketStack.Visibility = isTicketIntegrationActive ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
@@ -144,7 +146,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
return;
|
||||
|
||||
_me.ResetControl();
|
||||
_me.SetTicketHeadingVisibility();
|
||||
//_me.SetTicketHeadingVisibility();
|
||||
_me.InitializeHeadings();
|
||||
_me.UpdateHeaderHighlights();
|
||||
}
|
||||
@@ -260,10 +262,11 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
VirtualSessionSwapIcon.Tag = virtualSessionDataEmpty;
|
||||
MobileDeviceSwapIcon.Tag = mobileDeviceDataEmpty;
|
||||
|
||||
ComputerStackHighlightBorder.Tag = computerDataEmpty;
|
||||
TicketStackHighlightBorder.Tag = ticketDataEmpty;
|
||||
VirtualSessionStackHighlightBorder.Tag = virtualSessionDataEmpty;
|
||||
MobileDeviceStackHighlightBorder.Tag = mobileDeviceDataEmpty;
|
||||
UserStackHighlightBorder.Tag = userDataEmpty.InformationClass;
|
||||
ComputerStackHighlightBorder.Tag = computerDataEmpty.InformationClass;
|
||||
TicketStackHighlightBorder.Tag = ticketDataEmpty.InformationClass;
|
||||
VirtualSessionStackHighlightBorder.Tag = virtualSessionDataEmpty.InformationClass;
|
||||
MobileDeviceStackHighlightBorder.Tag = mobileDeviceDataEmpty.InformationClass;
|
||||
|
||||
ComputerSwapIcon.Style = (Style)FindResource("SwapIconStyle");
|
||||
TicketSwapIcon.Style = (Style)FindResource("SwapIconStyle");
|
||||
@@ -300,16 +303,6 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
MobileDeviceStackHighlightBorder.ClearValue(OpacityProperty);
|
||||
|
||||
SetEditMode(false);
|
||||
|
||||
if (!cFasdCockpitCommunicationBase.Instance.IsDemo())
|
||||
{
|
||||
if (MobileDeviceStack.Parent is UIElement mobileParent)
|
||||
mobileParent.Visibility = Visibility.Collapsed;
|
||||
|
||||
//if (VirtualSessionStack.Parent is UIElement virtualParent)
|
||||
// virtualParent.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
ResetSelectors();
|
||||
}
|
||||
catch (Exception E)
|
||||
@@ -424,6 +417,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
headingIcon = UserIcon;
|
||||
headingTextBlock = UserTextBlock;
|
||||
copyIcon = UserCopyIcon;
|
||||
highlightBoder = UserStackHighlightBorder;
|
||||
hasValue = heading.HeadingText != cMultiLanguageSupport.GetItem("Header.Select.User");
|
||||
|
||||
if (!hasValue)
|
||||
@@ -482,7 +476,10 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
|
||||
if (highlightBoder != null)
|
||||
{
|
||||
highlightBoder.Tag = new cSwapCaseInfo() { SelectedCaseInformationClass = heading.InformationClass, HeadingDatas = HeadingData };
|
||||
if (hasValue)
|
||||
highlightBoder.Tag = heading.Realtion;
|
||||
else
|
||||
highlightBoder.Tag = new cSwapCaseInfo() { SelectedCaseInformationClass = heading.InformationClass, HeadingDatas = HeadingData };
|
||||
}
|
||||
|
||||
if (copyIcon != null)
|
||||
@@ -603,7 +600,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
|
||||
#region SwapIcon Click
|
||||
|
||||
private void SwapIcon_Click(object sender)
|
||||
private void SwapIcon_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
try
|
||||
@@ -639,7 +636,7 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
ShowsRelations = true;
|
||||
cUiActionBase.RaiseEvent(new cShowHeadingSelectionMenuAction(), this, sender);
|
||||
DoShowRelations(swapCaseData, location, SupportCaseController);
|
||||
//Dispatcher.Invoke(async () => await action.RunUiActionAsync(sender, location, false, DataProvider));
|
||||
e.Handled = true;
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
@@ -710,12 +707,12 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
|
||||
private void SwapIcon_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
SwapIcon_Click(sender);
|
||||
SwapIcon_Click(sender, e);
|
||||
}
|
||||
|
||||
private void SwapIcon_TouchDown(object sender, TouchEventArgs e)
|
||||
{
|
||||
SwapIcon_Click(sender);
|
||||
SwapIcon_Click(sender, e);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -826,10 +823,17 @@ namespace FasdDesktopUi.Pages.DetailsPage.UserControls
|
||||
UndoTicketIcon_Click();
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
// todo hacky solution to toggle blurr border. Think about better solution
|
||||
public event EventHandler EmptySpaceClicked;
|
||||
|
||||
private void HeadingBorder_Clicked(object sender, EventArgs e)
|
||||
{
|
||||
EmptySpaceClicked?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -811,7 +811,8 @@ namespace FasdDesktopUi.Pages.SearchPage
|
||||
return true;
|
||||
|
||||
return cFasdCockpitConfig.Instance?.Global?.TicketConfiguration?.ShowOverview == true
|
||||
&& IsTicketIntegrationActive();
|
||||
&& IsTicketIntegrationActive()
|
||||
&& cFasdCockpitConfig.Instance.HasM42Configuration();
|
||||
}
|
||||
|
||||
private bool IsTicketIntegrationActive()
|
||||
|
||||
@@ -210,9 +210,10 @@
|
||||
<ico:AdaptableIcon x:Name="ShouldSkipSlimViewPolicy"
|
||||
SelectedInternIcon="lock_closed"
|
||||
PrimaryIconColor="{DynamicResource Color.Menu.Icon}"
|
||||
Margin="-25,-5,0,0"
|
||||
IconWidth="23"
|
||||
IconHeight="23"
|
||||
BorderPadding="0"
|
||||
Margin="-20 0 0 0"
|
||||
IconWidth="12"
|
||||
IconHeight="12"
|
||||
Visibility="Collapsed" />
|
||||
</StackPanel>
|
||||
|
||||
@@ -229,9 +230,10 @@
|
||||
<ico:AdaptableIcon x:Name="PositionOfSmallViewsPolicy"
|
||||
SelectedInternIcon="lock_closed"
|
||||
PrimaryIconColor="{DynamicResource Color.Menu.Icon}"
|
||||
Margin="-25,-5,0,0"
|
||||
IconWidth="23"
|
||||
IconHeight="23"
|
||||
BorderPadding="0"
|
||||
Margin="-20 0 0 0"
|
||||
IconWidth="12"
|
||||
IconHeight="12"
|
||||
Visibility="Collapsed" />
|
||||
</StackPanel>
|
||||
|
||||
@@ -290,9 +292,10 @@
|
||||
<ico:AdaptableIcon x:Name="PositionOfFavouriteBarPolicy"
|
||||
SelectedInternIcon="lock_closed"
|
||||
PrimaryIconColor="{DynamicResource Color.Menu.Icon}"
|
||||
Margin="-25,-5,0,0"
|
||||
IconWidth="23"
|
||||
IconHeight="23"
|
||||
BorderPadding="0"
|
||||
Margin="-20 0 0 0"
|
||||
IconWidth="12"
|
||||
IconHeight="12"
|
||||
Visibility="Collapsed" />
|
||||
</StackPanel>
|
||||
|
||||
|
||||
@@ -315,10 +315,40 @@ namespace FasdDesktopUi
|
||||
return false;
|
||||
}
|
||||
|
||||
public async Task InstantiateAnalyticsAsync(Guid SessionId)
|
||||
{
|
||||
try
|
||||
public async Task<cCollectorStatusInfo> CheckCollectorStatusAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
var _res = await cFasdCockpitCommunicationBase.Instance.CheckCollectorStatusAsync();
|
||||
if(_res != null)
|
||||
return _res;
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public bool HasM42Configuration()
|
||||
{
|
||||
try
|
||||
{
|
||||
return !string.IsNullOrWhiteSpace(cCockpitConfiguration.Instance?.m42ServerConfiguration?.Server);
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public async Task InstantiateAnalyticsAsync(Guid SessionId)
|
||||
{
|
||||
try
|
||||
{
|
||||
IsAnalyticsActive = await cFasdCockpitCommunicationBase.Instance.IsAnalyticsModuleActive();
|
||||
if (IsAnalyticsActive)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user