aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/FSE/Modules/Tango.FSE.Firmware/Views/UpdatesView.xaml
blob: 8ef123757c30c4c38c07dc6733e691f02e4ff956 (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
<UserControl x:Class="Tango.FSE.Firmware.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:local="clr-namespace:Tango.FSE.Firmware.Views"
             xmlns:global="clr-namespace:Tango.FSE.Firmware"
             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.Firmware.ViewModels"
             xmlns:material="http://materialdesigninxaml.net/winfx/xaml/themes"
             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 MachineProvider.IsPPCAvailable}" Margin="0 20 0 0">
        <Grid IsEnabled="{Binding IsFree}">
            <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 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="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>

            <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 14 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 firmware updates...</TextBlock>
                </StackPanel>
            </Grid>
        </Grid>
    </Grid>
</UserControl>