aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/UpdatesView.xaml
blob: c8e3a2a0bacd340e3c71cf45d1b50552b6e56c68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<UserControl x:Class="Tango.FSE.PPCConsole.Views.UpdatesView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:global="clr-namespace:Tango.FSE.PPCConsole"
             xmlns:controls="clr-namespace:Tango.FSE.Common.Controls;assembly=Tango.FSE.Common"
             xmlns:helpers="clr-namespace:Tango.SharedUI.Helpers;assembly=Tango.SharedUI"
             xmlns:vm="clr-namespace:Tango.FSE.PPCConsole.ViewModels"
             xmlns:local="clr-namespace:Tango.FSE.PPCConsole.Views"
             xmlns:material="http://materialdesigninxaml.net/winfx/xaml/themes"
             xmlns:dragablz="http://dragablz.net/winfx/xaml/dragablz"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:UpdatesViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.UpdatesViewVM}">
    <Grid IsEnabled="{Binding IsFree}">
        <Grid IsEnabled="{Binding MachineProvider.IsPPCAvailable}">
            <dragablz:TabablzControl FixedHeaderCount="2" Margin="0 20 0 0">
                <TabItem Header="SOFTWARE UPDATES">
                    <Border Margin="0 10 0 0" BorderBrush="{StaticResource FSE_BorderBrush}" BorderThickness="1" CornerRadius="3" Padding="5" Background="{StaticResource FSE_PrimaryBackgroundDarkBrush}">
                        <DataGrid Style="{StaticResource FSE_DataGrid}" CellStyle="{StaticResource FSE_DataGrid_Cell}" ItemsSource="{Binding Updates}" helpers:DataGridHelper.DoubleClickCommand="{Binding OpenUpdateCommand}">
                            <DataGrid.Columns>
                                <DataGridTemplateColumn Header="">
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <material:PackIcon Width="20" Height="20">
                                                <material:PackIcon.Style>
                                                    <Style TargetType="material:PackIcon">
                                                        <Setter Property="Kind" Value="Information"></Setter>
                                                        <Style.Triggers>
                                                            <DataTrigger Binding="{Binding IsSetup}" Value="True">
                                                                <Setter Property="Kind" Value="Settings"></Setter>
                                                            </DataTrigger>
                                                            <DataTrigger Binding="{Binding IsUpdate}" Value="True">
                                                                <Setter Property="Kind" Value="CloudDownload"></Setter>
                                                            </DataTrigger>
                                                            <DataTrigger Binding="{Binding IsDataBase}" Value="True">
                                                                <Setter Property="Kind" Value="Database"></Setter>
                                                            </DataTrigger>
                                                            <DataTrigger Binding="{Binding IsSynchronization}" Value="True">
                                                                <Setter Property="Kind" Value="Sync"></Setter>
                                                            </DataTrigger>
                                                            <DataTrigger Binding="{Binding IsOfflineUpdate}" Value="True">
                                                                <Setter Property="Kind" Value="Sd"></Setter>
                                                            </DataTrigger>
                                                            <DataTrigger Binding="{Binding IsOfflineFirmwareUpgrade}" Value="True">
                                                                <Setter Property="Kind" Value="Chip"></Setter>
                                                            </DataTrigger>
                                                            <DataTrigger Binding="{Binding IsStarted}" Value="True">
                                                                <Setter Property="Foreground" Value="{StaticResource FSE_OrangeBrush}"></Setter>
                                                            </DataTrigger>
                                                            <DataTrigger Binding="{Binding IsCompleted}" Value="True">
                                                                <Setter Property="Foreground" Value="{StaticResource FSE_GreenBrush}"></Setter>
                                                            </DataTrigger>
                                                            <DataTrigger Binding="{Binding IsFailed}" Value="True">
                                                                <Setter Property="Foreground" Value="{StaticResource FSE_RedBrush}"></Setter>
                                                            </DataTrigger>
                                                        </Style.Triggers>
                                                    </Style>
                                                </material:PackIcon.Style>
                                            </material:PackIcon>
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn>
                                <DataGridTextColumn Header="STARTED" Binding="{Binding StartDate,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" Width="120" />
                                <DataGridTextColumn Header="APPLICATION" Binding="{Binding VersionAndTag}" Width="Auto" />
                                <DataGridTextColumn Header="FIRMWARE" Binding="{Binding FirmwareVersion}" Width="Auto" />
                                <DataGridTextColumn Header="ENDED" Binding="{Binding EndDate,TargetNullValue='Never',FallbackValue='Never',Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" Width="Auto" />
                                <DataGridTextColumn Header="STATUS" Binding="{Binding UpdateStatus,Converter={StaticResource EnumToDescriptionConverter}}" Width="Auto" />
                                <DataGridTextColumn Header="FAILED REASON" Binding="{Binding FailedReason,Converter={StaticResource StringToOneLineConverter},ConverterParameter='80'}" Width="*" />
                            </DataGrid.Columns>
                        </DataGrid>
                    </Border>
                </TabItem>
                <TabItem Header="INSTALLED PACKAGES">
                    <Border Margin="0 10 0 0" BorderBrush="{StaticResource FSE_BorderBrush}" BorderThickness="1" CornerRadius="3" Padding="5" Background="{StaticResource FSE_PrimaryBackgroundDarkBrush}">
                        <DataGrid Style="{StaticResource FSE_DataGrid}" CellStyle="{StaticResource FSE_DataGrid_Cell}" ItemsSource="{Binding Packages}" SelectedItem="{Binding SelectedPackage}">
                            <DataGrid.Columns>
                                <DataGridTemplateColumn Header="">
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <material:PackIcon Width="20" Height="20">
                                                <material:PackIcon.Style>
                                                    <Style TargetType="material:PackIcon">
                                                        <Setter Property="Kind" Value="Pause"></Setter>
                                                        <Setter Property="Foreground" Value="{StaticResource FSE_PrimaryForegroundBrush}"></Setter>
                                                        <Style.Triggers>
                                                            <DataTrigger Binding="{Binding State}" Value="Failed">
                                                                <Setter Property="Kind" Value="Alert"></Setter>
                                                                <Setter Property="Foreground" Value="{StaticResource FSE_ErrorBrush}"></Setter>
                                                            </DataTrigger>
                                                            <DataTrigger Binding="{Binding State}" Value="Installed">
                                                                <Setter Property="Kind" Value="Check"></Setter>
                                                                <Setter Property="Foreground" Value="{StaticResource FSE_SuccessBrush}"></Setter>
                                                            </DataTrigger>
                                                        </Style.Triggers>
                                                    </Style>
                                                </material:PackIcon.Style>
                                            </material:PackIcon>
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn>
                                <DataGridTextColumn Header="Type" Width="60" Binding="{Binding Type}" />
                                <DataGridTextColumn Header="Date" Width="120" Binding="{Binding InstallationDate,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" />
                                <DataGridTextColumn Header="Name" Width="*" Binding="{Binding PackageName}" />
                            </DataGrid.Columns>
                        </DataGrid>
                    </Border>
                </TabItem>
            </dragablz:TabablzControl>

            <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0 20 20 0">
                <material:PackIcon Kind="Search" VerticalAlignment="Center" Height="Auto" Width="25" />
                <TextBox Margin="5 0 0 0" Padding="7" material:HintAssist.Hint="Filter..." VerticalContentAlignment="Center" IsEnabled="{Binding IsFree}" Style="{StaticResource FSE_Rounded_Corners_TextBox}" Width="200" Text="{Binding Filter,UpdateSourceTrigger=PropertyChanged,Delay=500}"></TextBox>
                <controls:IconButton Icon="Refresh" Margin="40 0 0 0" Command="{Binding RefreshCommand}" IsEnabled="{Binding IsFree}" ToolTip="Refresh updates"></controls:IconButton>
            </StackPanel>

            <Grid Margin="4 74 4 4" Background="{StaticResource FSE_SemiTransparentBrush}" Visibility="{Binding IsBusy,Converter={StaticResource BooleanToVisibilityConverter},FallbackValue=Collapsed}">
                <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                    <ProgressBar Style="{StaticResource FSE_CircularProgressBar}" Width="100" Height="100" IsIndeterminate="True"></ProgressBar>
                    <TextBlock HorizontalAlignment="Center" Margin="0 20 0 0">Loading machine updates...</TextBlock>
                </StackPanel>
            </Grid>
        </Grid>
    </Grid>
</UserControl>