aktueller Stand
This commit is contained in:
@@ -55,13 +55,27 @@ namespace FasdDesktopUi.Basics.Models
|
||||
set { if (_incidentCriticalSelected != value) { _incidentCriticalSelected = value; OnPropertyChanged(nameof(IncidentCriticalSelected)); } }
|
||||
}
|
||||
|
||||
private bool _incidentNewInfoSelected;
|
||||
public bool IncidentNewInfoSelected
|
||||
{
|
||||
get => _incidentNewInfoSelected;
|
||||
set { if (_incidentNewInfoSelected != value) { _incidentNewInfoSelected = value; OnPropertyChanged(nameof(IncidentNewInfoSelected)); } }
|
||||
}
|
||||
|
||||
private bool _incidentNewInfoSelected;
|
||||
public bool IncidentNewInfoSelected
|
||||
{
|
||||
get => _incidentNewInfoSelected;
|
||||
set { if (_incidentNewInfoSelected != value) { _incidentNewInfoSelected = value; OnPropertyChanged(nameof(IncidentNewInfoSelected)); } }
|
||||
}
|
||||
|
||||
private bool _unassignedTicketsSelected;
|
||||
public bool UnassignedTicketsSelected
|
||||
{
|
||||
get => _unassignedTicketsSelected;
|
||||
set { if (_unassignedTicketsSelected != value) { _unassignedTicketsSelected = value; OnPropertyChanged(nameof(UnassignedTicketsSelected)); } }
|
||||
}
|
||||
|
||||
private bool _unassignedTicketsCriticalSelected;
|
||||
public bool UnassignedTicketsCriticalSelected
|
||||
{
|
||||
get => _unassignedTicketsCriticalSelected;
|
||||
set { if (_unassignedTicketsCriticalSelected != value) { _unassignedTicketsCriticalSelected = value; OnPropertyChanged(nameof(UnassignedTicketsCriticalSelected)); } }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Highlight-Properties
|
||||
@@ -86,9 +100,15 @@ namespace FasdDesktopUi.Basics.Models
|
||||
private bool _incidentCriticalHighlighted;
|
||||
public bool IncidentCriticalHighlighted { get => _incidentCriticalHighlighted; set { if (_incidentCriticalHighlighted != value) { _incidentCriticalHighlighted = value; OnPropertyChanged(nameof(IncidentCriticalHighlighted)); } } }
|
||||
|
||||
private bool _incidentNewInfoHighlighted;
|
||||
public bool IncidentNewInfoHighlighted { get => _incidentNewInfoHighlighted; set { if (_incidentNewInfoHighlighted != value) { _incidentNewInfoHighlighted = value; OnPropertyChanged(nameof(IncidentNewInfoHighlighted)); } } }
|
||||
|
||||
private bool _incidentNewInfoHighlighted;
|
||||
public bool IncidentNewInfoHighlighted { get => _incidentNewInfoHighlighted; set { if (_incidentNewInfoHighlighted != value) { _incidentNewInfoHighlighted = value; OnPropertyChanged(nameof(IncidentNewInfoHighlighted)); } } }
|
||||
|
||||
private bool _unassignedTicketsHighlighted;
|
||||
public bool UnassignedTicketsHighlighted { get => _unassignedTicketsHighlighted; set { if (_unassignedTicketsHighlighted != value) { _unassignedTicketsHighlighted = value; OnPropertyChanged(nameof(UnassignedTicketsHighlighted)); } } }
|
||||
|
||||
private bool _unassignedTicketsCriticalHighlighted;
|
||||
public bool UnassignedTicketsCriticalHighlighted { get => _unassignedTicketsCriticalHighlighted; set { if (_unassignedTicketsCriticalHighlighted != value) { _unassignedTicketsCriticalHighlighted = value; OnPropertyChanged(nameof(UnassignedTicketsCriticalHighlighted)); } } }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Change Hint Properties
|
||||
@@ -113,9 +133,15 @@ namespace FasdDesktopUi.Basics.Models
|
||||
private string _incidentCriticalChangeHint;
|
||||
public string IncidentCriticalChangeHint { get => _incidentCriticalChangeHint; set { if (_incidentCriticalChangeHint != value) { _incidentCriticalChangeHint = value; OnPropertyChanged(nameof(IncidentCriticalChangeHint)); } } }
|
||||
|
||||
private string _incidentNewInfoChangeHint;
|
||||
public string IncidentNewInfoChangeHint { get => _incidentNewInfoChangeHint; set { if (_incidentNewInfoChangeHint != value) { _incidentNewInfoChangeHint = value; OnPropertyChanged(nameof(IncidentNewInfoChangeHint)); } } }
|
||||
|
||||
private string _incidentNewInfoChangeHint;
|
||||
public string IncidentNewInfoChangeHint { get => _incidentNewInfoChangeHint; set { if (_incidentNewInfoChangeHint != value) { _incidentNewInfoChangeHint = value; OnPropertyChanged(nameof(IncidentNewInfoChangeHint)); } } }
|
||||
|
||||
private string _unassignedTicketsChangeHint;
|
||||
public string UnassignedTicketsChangeHint { get => _unassignedTicketsChangeHint; set { if (_unassignedTicketsChangeHint != value) { _unassignedTicketsChangeHint = value; OnPropertyChanged(nameof(UnassignedTicketsChangeHint)); } } }
|
||||
|
||||
private string _unassignedTicketsCriticalChangeHint;
|
||||
public string UnassignedTicketsCriticalChangeHint { get => _unassignedTicketsCriticalChangeHint; set { if (_unassignedTicketsCriticalChangeHint != value) { _unassignedTicketsCriticalChangeHint = value; OnPropertyChanged(nameof(UnassignedTicketsCriticalChangeHint)); } } }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Ticket & Incident-Properties
|
||||
@@ -143,9 +169,16 @@ namespace FasdDesktopUi.Basics.Models
|
||||
private int _incidentCritical;
|
||||
public int IncidentCritical { get => _incidentCritical; set { _incidentCritical = value; OnPropertyChanged(nameof(IncidentCritical)); } }
|
||||
|
||||
private int _incidentNewInfo;
|
||||
public int IncidentNewInfo { get => _incidentNewInfo; set { _incidentNewInfo = value; OnPropertyChanged(nameof(IncidentNewInfo)); } }
|
||||
|
||||
private int _incidentNewInfo;
|
||||
public int IncidentNewInfo { get => _incidentNewInfo; set { _incidentNewInfo = value; OnPropertyChanged(nameof(IncidentNewInfo)); } }
|
||||
|
||||
// Unassigned Ticket Properties
|
||||
private int _unassignedTickets;
|
||||
public int UnassignedTickets { get => _unassignedTickets; set { _unassignedTickets = value; OnPropertyChanged(nameof(UnassignedTickets)); } }
|
||||
|
||||
private int _unassignedTicketsCritical;
|
||||
public int UnassignedTicketsCritical { get => _unassignedTicketsCritical; set { _unassignedTicketsCritical = value; OnPropertyChanged(nameof(UnassignedTicketsCritical)); } }
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
protected void OnPropertyChanged(string propertyName) =>
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
@@ -162,9 +195,12 @@ namespace FasdDesktopUi.Basics.Models
|
||||
|
||||
IncidentNewSelected = false;
|
||||
IncidentActiveSelected = false;
|
||||
IncidentCriticalSelected = false;
|
||||
IncidentNewInfoSelected = false;
|
||||
|
||||
IncidentCriticalSelected = false;
|
||||
IncidentNewInfoSelected = false;
|
||||
|
||||
UnassignedTicketsSelected = false;
|
||||
UnassignedTicketsCriticalSelected = false;
|
||||
|
||||
}
|
||||
|
||||
public void ResetHighlights()
|
||||
@@ -175,20 +211,26 @@ namespace FasdDesktopUi.Basics.Models
|
||||
TicketsNewInfoHighlighted = false;
|
||||
|
||||
IncidentNewHighlighted = false;
|
||||
IncidentActiveHighlighted = false;
|
||||
IncidentCriticalHighlighted = false;
|
||||
IncidentNewInfoHighlighted = false;
|
||||
|
||||
IncidentActiveHighlighted = false;
|
||||
IncidentCriticalHighlighted = false;
|
||||
IncidentNewInfoHighlighted = false;
|
||||
|
||||
UnassignedTicketsHighlighted = false;
|
||||
UnassignedTicketsCriticalHighlighted = false;
|
||||
|
||||
TicketsNewChangeHint = null;
|
||||
TicketsActiveChangeHint = null;
|
||||
TicketsCriticalChangeHint = null;
|
||||
TicketsActiveChangeHint = null;
|
||||
TicketsCriticalChangeHint = null;
|
||||
TicketsNewInfoChangeHint = null;
|
||||
|
||||
IncidentNewChangeHint = null;
|
||||
IncidentActiveChangeHint = null;
|
||||
IncidentCriticalChangeHint = null;
|
||||
IncidentNewInfoChangeHint = null;
|
||||
|
||||
IncidentNewChangeHint = null;
|
||||
IncidentActiveChangeHint = null;
|
||||
IncidentCriticalChangeHint = null;
|
||||
IncidentNewInfoChangeHint = null;
|
||||
|
||||
UnassignedTicketsChangeHint = null;
|
||||
UnassignedTicketsCriticalChangeHint = null;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -29,7 +29,9 @@ namespace FasdDesktopUi.Basics.Services
|
||||
"IncidentNew",
|
||||
"IncidentActive",
|
||||
"IncidentCritical",
|
||||
"IncidentNewInfo"
|
||||
"IncidentNewInfo",
|
||||
"UnassignedTickets",
|
||||
"UnassignedTicketsCritical"
|
||||
};
|
||||
private const string DemoTicketDetailsKey = "Demo.HasTicketDetails";
|
||||
private readonly Dispatcher _dispatcher;
|
||||
|
||||
@@ -83,6 +83,8 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
@@ -124,14 +126,14 @@
|
||||
FontSize="12" />
|
||||
|
||||
<!-- Tickets -->
|
||||
<Label Grid.Row="1"
|
||||
<Label Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Foreground="{DynamicResource FontColor.DetailsPage.TitleSection.Header}"
|
||||
Content="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=TicketOverview.Row.Heading.Tickets}"
|
||||
FontWeight="Bold"
|
||||
FontSize="12" />
|
||||
|
||||
<Label Grid.Row="1"
|
||||
<Label Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Content="{Binding TicketsNew}"
|
||||
Style="{StaticResource RoundedSelectedLabelStyle}"
|
||||
@@ -147,7 +149,7 @@
|
||||
HorizontalAlignment="Center"
|
||||
Cursor="Hand" />
|
||||
|
||||
<Label Grid.Row="1"
|
||||
<Label Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Content="{Binding TicketsActive}"
|
||||
Style="{StaticResource RoundedSelectedLabelStyle}"
|
||||
@@ -163,7 +165,7 @@
|
||||
HorizontalAlignment="Center"
|
||||
Cursor="Hand" />
|
||||
|
||||
<Label Grid.Row="1"
|
||||
<Label Grid.Row="2"
|
||||
Grid.Column="3"
|
||||
Content="{Binding TicketsCritical}"
|
||||
Style="{StaticResource RoundedSelectedLabelStyle}"
|
||||
@@ -179,7 +181,7 @@
|
||||
HorizontalAlignment="Center"
|
||||
Cursor="Hand" />
|
||||
|
||||
<Label Grid.Row="1"
|
||||
<Label Grid.Row="2"
|
||||
Grid.Column="4"
|
||||
Content="{Binding TicketsNewInfo}"
|
||||
Style="{StaticResource RoundedSelectedLabelStyle}"
|
||||
@@ -196,14 +198,14 @@
|
||||
Cursor="Hand" />
|
||||
|
||||
<!-- Incidents -->
|
||||
<Label Grid.Row="2"
|
||||
<Label Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Foreground="{DynamicResource FontColor.DetailsPage.TitleSection.Header}"
|
||||
Content="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=TicketOverview.Row.Heading.Incidents}"
|
||||
FontWeight="Bold"
|
||||
FontSize="12" />
|
||||
|
||||
<Label Grid.Row="2"
|
||||
<Label Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Content="{Binding IncidentNew}"
|
||||
Style="{StaticResource RoundedSelectedLabelStyle}"
|
||||
@@ -219,7 +221,7 @@
|
||||
HorizontalAlignment="Center"
|
||||
Cursor="Hand" />
|
||||
|
||||
<Label Grid.Row="2"
|
||||
<Label Grid.Row="3"
|
||||
Grid.Column="2"
|
||||
Content="{Binding IncidentActive}"
|
||||
Style="{StaticResource RoundedSelectedLabelStyle}"
|
||||
@@ -235,7 +237,7 @@
|
||||
HorizontalAlignment="Center"
|
||||
Cursor="Hand" />
|
||||
|
||||
<Label Grid.Row="2"
|
||||
<Label Grid.Row="3"
|
||||
Grid.Column="3"
|
||||
Content="{Binding IncidentCritical}"
|
||||
Style="{StaticResource RoundedSelectedLabelStyle}"
|
||||
@@ -251,7 +253,7 @@
|
||||
HorizontalAlignment="Center"
|
||||
Cursor="Hand" />
|
||||
|
||||
<Label Grid.Row="2"
|
||||
<Label Grid.Row="3"
|
||||
Grid.Column="4"
|
||||
Content="{Binding IncidentNewInfo}"
|
||||
Style="{StaticResource RoundedSelectedLabelStyle}"
|
||||
@@ -267,6 +269,45 @@
|
||||
HorizontalAlignment="Center"
|
||||
Cursor="Hand" />
|
||||
|
||||
<!-- Unassigned -->
|
||||
<Label Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Foreground="{DynamicResource FontColor.DetailsPage.TitleSection.Header}"
|
||||
Content="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=TicketOverview.Row.Heading.UnassignedTickets}"
|
||||
FontWeight="Bold"
|
||||
FontSize="12" />
|
||||
|
||||
<Label Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Content="{Binding UnassignedTickets}"
|
||||
Style="{StaticResource RoundedSelectedLabelStyle}"
|
||||
local:TicketOverview.IsSelected="{Binding UnassignedTicketsSelected, Mode=TwoWay}"
|
||||
local:TicketOverview.IsHighlighted="{Binding UnassignedTicketsHighlighted}"
|
||||
ToolTip="{Binding UnassignedTicketsChangeHint}"
|
||||
Tag="UnassignedTicketsSelected"
|
||||
MouseLeftButtonUp="Label_MouseLeftButtonUp"
|
||||
FontWeight="Medium"
|
||||
Foreground="{DynamicResource Color.Orange}"
|
||||
FontSize="12"
|
||||
VerticalAlignment="Center"
|
||||
HorizontalAlignment="Center"
|
||||
Cursor="Hand" />
|
||||
|
||||
<Label Grid.Row="4"
|
||||
Grid.Column="3"
|
||||
Content="{Binding UnassignedTicketsCritical}"
|
||||
Style="{StaticResource RoundedSelectedLabelStyle}"
|
||||
local:TicketOverview.IsSelected="{Binding UnassignedTicketsCriticalSelected, Mode=TwoWay}"
|
||||
local:TicketOverview.IsHighlighted="{Binding UnassignedTicketsCriticalHighlighted}"
|
||||
ToolTip="{Binding UnassignedTicketsCriticalChangeHint}"
|
||||
Tag="UnassignedTicketsCriticalSelected"
|
||||
MouseLeftButtonUp="Label_MouseLeftButtonUp"
|
||||
FontWeight="Medium"
|
||||
Foreground="{DynamicResource Color.Red}"
|
||||
FontSize="12"
|
||||
VerticalAlignment="Center"
|
||||
HorizontalAlignment="Center"
|
||||
Cursor="Hand" />
|
||||
</Grid>
|
||||
</Border>
|
||||
</UserControl>
|
||||
|
||||
@@ -28,7 +28,9 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
("IncidentNew", new Action<TicketOverviewModel, int>((vm, value) => { vm.IncidentNew = value; })),
|
||||
("IncidentActive", new Action<TicketOverviewModel, int>((vm, value) => { vm.IncidentActive = value; })),
|
||||
("IncidentCritical", new Action<TicketOverviewModel, int>((vm, value) => { vm.IncidentCritical = value; })),
|
||||
("IncidentNewInfo", new Action<TicketOverviewModel, int>((vm, value) => { vm.IncidentNewInfo = value; }))
|
||||
("IncidentNewInfo", new Action<TicketOverviewModel, int>((vm, value) => { vm.IncidentNewInfo = value; })),
|
||||
("UnassignedTickets", new Action<TicketOverviewModel, int>((vm, value) => { vm.UnassignedTickets = value; })),
|
||||
("UnassignedTicketsCritical", new Action<TicketOverviewModel, int>((vm, value) => { vm.UnassignedTicketsCritical = value; }))
|
||||
};
|
||||
private static readonly (string Key, Action<TicketOverviewModel, bool> Setter)[] HighlightSetters = new[]
|
||||
{
|
||||
@@ -39,7 +41,9 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
("IncidentNew", new Action<TicketOverviewModel, bool>((vm, value) => { vm.IncidentNewHighlighted = value; })),
|
||||
("IncidentActive", new Action<TicketOverviewModel, bool>((vm, value) => { vm.IncidentActiveHighlighted = value; })),
|
||||
("IncidentCritical", new Action<TicketOverviewModel, bool>((vm, value) => { vm.IncidentCriticalHighlighted = value; })),
|
||||
("IncidentNewInfo", new Action<TicketOverviewModel, bool>((vm, value) => { vm.IncidentNewInfoHighlighted = value; }))
|
||||
("IncidentNewInfo", new Action<TicketOverviewModel, bool>((vm, value) => { vm.IncidentNewInfoHighlighted = value; })),
|
||||
("UnassignedTickets", new Action<TicketOverviewModel, bool>((vm, value) => { vm.UnassignedTicketsHighlighted = value; })),
|
||||
("UnassignedTicketsCritical", new Action<TicketOverviewModel, bool>((vm, value) => { vm.UnassignedTicketsCriticalHighlighted = value; }))
|
||||
};
|
||||
private static readonly (string Key, Action<TicketOverviewModel, string> Setter)[] ChangeHintSetters = new[]
|
||||
{
|
||||
@@ -50,7 +54,9 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
("IncidentNew", new Action<TicketOverviewModel, string>((vm, value) => { vm.IncidentNewChangeHint = value; })),
|
||||
("IncidentActive", new Action<TicketOverviewModel, string>((vm, value) => { vm.IncidentActiveChangeHint = value; })),
|
||||
("IncidentCritical", new Action<TicketOverviewModel, string>((vm, value) => { vm.IncidentCriticalChangeHint = value; })),
|
||||
("IncidentNewInfo", new Action<TicketOverviewModel, string>((vm, value) => { vm.IncidentNewInfoChangeHint = value; }))
|
||||
("IncidentNewInfo", new Action<TicketOverviewModel, string>((vm, value) => { vm.IncidentNewInfoChangeHint = value; })),
|
||||
("UnassignedTickets", new Action<TicketOverviewModel, string>((vm, value) => { vm.UnassignedTicketsChangeHint = value; })),
|
||||
("UnassignedTicketsCritical", new Action<TicketOverviewModel, string>((vm, value) => { vm.UnassignedTicketsCriticalChangeHint = value; }))
|
||||
};
|
||||
private readonly Dictionary<string, HighlightInfo> _personalHighlightStates = new Dictionary<string, HighlightInfo>(StringComparer.OrdinalIgnoreCase);
|
||||
private readonly Dictionary<string, HighlightInfo> _roleHighlightStates = new Dictionary<string, HighlightInfo>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
Reference in New Issue
Block a user