aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ActionLogs/Views/MainView.xaml
blob: b580bd237afe9b9b8e53997f70ddac9834cd49a7 (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
<UserControl x:Class="Tango.MachineStudio.ActionLogs.Views.MainView"
             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.MachineStudio.ActionLogs.Views"
             xmlns:sharedConverters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
             xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
             xmlns:vm="clr-namespace:Tango.MachineStudio.ActionLogs.ViewModels"
             xmlns:global="clr-namespace:Tango.MachineStudio.ActionLogs"
             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
             mc:Ignorable="d" 
             d:DesignHeight="1080" d:DesignWidth="1920" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
    <UserControl.Resources>

        <sharedConverters:EnumToDescriptionConverter x:Key="EnumToDescriptionConverter" />
    </UserControl.Resources>
    <Grid IsEnabled="{Binding IsFree}">
        <Grid.RowDefinitions>
            <RowDefinition Height="300"/>
            <RowDefinition Height="1*"/>
        </Grid.RowDefinitions>
        <TextBlock Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="70"></TextBlock>
        <Grid Grid.Row="1" Margin="20 0 10 20">
            <Grid.RowDefinitions>
                <RowDefinition Height="60"/>
                <RowDefinition Height="1*"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition  Width ="6*"/>
                <ColumnDefinition  Width ="4*"/>
            </Grid.ColumnDefinitions >

            <DockPanel x:Name ="SearchButtons" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Stretch">
                <StackPanel  DockPanel.Dock="Left">
                    <TextBlock FontSize="10">Start Date:</TextBlock>
                    <DatePicker x:Name="startdatePicker"  SelectedDate="{Binding StartSelectedDate}" materialDesign:HintAssist.Hint="Pick start date"  Width="160" VerticalAlignment="Center" FontSize="16" />
                </StackPanel>
                <StackPanel  DockPanel.Dock="Left" Margin="40 0 0 0">
                    <TextBlock FontSize="10">End Date:</TextBlock>
                    <DatePicker x:Name="endDatePicker"  SelectedDate="{Binding EndSelectedDate}" materialDesign:HintAssist.Hint="Pick end date"  Width="160" VerticalAlignment="Center" FontSize="16"/>
                </StackPanel>
                <DockPanel  DockPanel.Dock="Left" Margin="50 0 0 0" >
                    <TextBlock DockPanel.Dock="Top" Text="Action Log Type:" VerticalAlignment="Center" FontSize="10"></TextBlock>
                    <ToggleButton Width="200" Margin="0 5 0 0">
                        <ToggleButton.Template>
                            <ControlTemplate>
                                <Grid>
                                    <Border CornerRadius="3" BorderBrush="{StaticResource BorderBrushGainsboro}" BorderThickness="1">
                                        <DockPanel>
                                            <materialDesign:PackIcon Width="16"  Height="16" DockPanel.Dock="Right" Kind="ChevronDown" VerticalAlignment="Center" Foreground="{TemplateBinding Foreground}" />
                                            <TextBlock>Select Actions</TextBlock>
                                        </DockPanel>
                                    </Border>
                                    <Popup IsOpen="{Binding RelativeSource={RelativeSource AncestorType=ToggleButton},Path=IsChecked}">
                                        <Border Padding="5">
                                            <ItemsControl ItemsSource="{Binding SelectedActionLogTypes}">
                                                <ItemsControl.ItemTemplate>
                                                    <DataTemplate>
                                                        <DockPanel Margin="2">
                                                            <CheckBox VerticalAlignment="Center" DockPanel.Dock="Left" IsChecked="{Binding IsSelected}" />
                                                            <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" Text="{Binding Data,Converter={StaticResource EnumToDescriptionConverter}}"></TextBlock>
                                                        </DockPanel>
                                                    </DataTemplate>
                                                </ItemsControl.ItemTemplate>
                                            </ItemsControl>
                                        </Border>
                                    </Popup>
                                </Grid>
                            </ControlTemplate>
                        </ToggleButton.Template>
                    </ToggleButton>
                </DockPanel>
                <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="50 0 0 0">
                    <materialDesign:PackIcon Kind="Magnify" Width="26" Height="26"/>
                    <TextBox Width="210" materialDesign:HintAssist.Hint="Search by ID, user, related object name" Text="{Binding SearchFilter,UpdateSourceTrigger=PropertyChanged}" />
                </StackPanel>
                <Button  Width="120" Padding="5" HorizontalAlignment="Right" DockPanel.Dock="Right" Command="{Binding SearchCommand}">Search</Button>
            </DockPanel>

            <Grid IsEnabled="{Binding IsFree}" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Stretch">
                <DataGrid  Margin="0 0 0 10" SelectionMode="Single" SelectionUnit="FullRow" 
                           BorderBrush="{StaticResource borderBrush}" IsReadOnly="True" BorderThickness="1" 
                           Background="{StaticResource TransparentBackgroundBrush}" 
                           AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" 
                           CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding ActionLogs}" 
                           SelectedItem="{Binding SelectedActionLog}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch">
                    <DataGrid.CellStyle>
                        <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
                            <Setter Property="BorderThickness" Value="0"/>
                            <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
                            <Setter Property="VerticalContentAlignment" Value="Center"></Setter>
                        </Style>
                    </DataGrid.CellStyle>

                    <DataGrid.Columns>
                        <DataGridTextColumn Header="ID" Binding="{Binding ID}" Width="Auto" />
                        <DataGridTextColumn Header="ACTION" Binding="{Binding Type, Converter={StaticResource EnumToDescriptionConverter}}" Width="Auto" MinWidth="100"/>
                        <DataGridTextColumn Header="USER" Binding="{Binding UserGuid}" Width="Auto" MinWidth="100"/>
                        <DataGridTextColumn Header="RELATED OBJECT NAME" Binding="{Binding RelatedObjectName}" Width="Auto" />
                        <DataGridTextColumn Header="GUID" Binding="{Binding RelatedObjectGuid}" Width="Auto" />
                        <DataGridTextColumn Header="MESSAGE" Binding="{Binding Message}" Width="Auto" />
                    </DataGrid.Columns>
                </DataGrid>
            </Grid>
            <DockPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Stretch">
                <Button  Width="Auto" Padding="5" HorizontalAlignment="Right" DockPanel.Dock="Right" Command="{Binding SearchCommand}">COPY TO CLIPBOARD</Button>
            </DockPanel>
            <Grid Grid.Row="1" Grid.Column="1" Margin="20 0 10 20" IsEnabled="{Binding IsFree}" HorizontalAlignment="Stretch" >
            </Grid>

        </Grid>
    </Grid>
</UserControl>