EmployeeResourcePlanner.xaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <UserControl x:Class="PRSDesktop.EmployeeResourcePlanner"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:PRSDesktop"
  7. xmlns:Syncfusion="http://schemas.syncfusion.com/wpf"
  8. mc:Ignorable="d"
  9. d:DesignHeight="600" d:DesignWidth="800">
  10. <UserControl.Resources>
  11. <Style x:Key="DateHeaderStyle" TargetType="{x:Type Syncfusion:GridHeaderCellControl}">
  12. <Setter Property="Background" Value="LightSkyBlue"/>
  13. <Setter Property="Foreground" Value="Black"/>
  14. <Setter Property="BorderBrush" Value="Black"/>
  15. <Setter Property="BorderThickness" Value="0.5,0.5,0.5,0.5"/>
  16. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  17. <Setter Property="Padding" Value="5,3"/>
  18. <Setter Property="FontFamily" Value="Segoe UI"/>
  19. <Setter Property="FontSize" Value="14"/>
  20. <Setter Property="FontWeight" Value="Normal"/>
  21. <Setter Property="IsTabStop" Value="False"/>
  22. </Style>
  23. <Style x:Key="ContentHeaderStyle" TargetType="{x:Type Syncfusion:GridHeaderCellControl}">
  24. <Setter Property="Background" Value="LightSkyBlue"/>
  25. <Setter Property="Foreground" Value="Black"/>
  26. <Setter Property="BorderBrush" Value="Black"/>
  27. <Setter Property="BorderThickness" Value="0.5,0.5,0.5,0.5"/>
  28. <Setter Property="HorizontalContentAlignment" Value="Left"/>
  29. <Setter Property="Padding" Value="5,3"/>
  30. <Setter Property="FontFamily" Value="Segoe UI"/>
  31. <Setter Property="FontSize" Value="14"/>
  32. <Setter Property="FontWeight" Value="Normal"/>
  33. <Setter Property="IsTabStop" Value="False"/>
  34. <Setter Property="VerticalContentAlignment" Value="Center"/>
  35. <Setter Property="Template">
  36. <Setter.Value>
  37. <ControlTemplate TargetType="{x:Type Syncfusion:GridHeaderCellControl}">
  38. <Grid>
  39. <Grid.LayoutTransform>
  40. <RotateTransform Angle="270"/>
  41. </Grid.LayoutTransform>
  42. <VisualStateManager.VisualStateGroups>
  43. <VisualStateGroup x:Name="HiddenColumnsResizingStates">
  44. <VisualState x:Name="PreviousColumnHidden">
  45. <Storyboard>
  46. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_HeaderCellBorder">
  47. <EasingThicknessKeyFrame KeyTime="0" Value="3,0,1,1"/>
  48. </ThicknessAnimationUsingKeyFrames>
  49. </Storyboard>
  50. </VisualState>
  51. <VisualState x:Name="HiddenState">
  52. <Storyboard>
  53. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_HeaderCellBorder">
  54. <EasingThicknessKeyFrame KeyTime="0" Value="3,0,3,1"/>
  55. </ThicknessAnimationUsingKeyFrames>
  56. </Storyboard>
  57. </VisualState>
  58. <VisualState x:Name="NormalState"/>
  59. <VisualState x:Name="LastColumnHidden">
  60. <Storyboard>
  61. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_HeaderCellBorder">
  62. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,3,1"/>
  63. </ThicknessAnimationUsingKeyFrames>
  64. </Storyboard>
  65. </VisualState>
  66. </VisualStateGroup>
  67. <VisualStateGroup x:Name="CommonStates">
  68. <VisualState x:Name="MouseOver"/>
  69. <VisualState x:Name="Normal"/>
  70. </VisualStateGroup>
  71. <VisualStateGroup x:Name="BorderStates">
  72. <VisualState x:Name="NormalCell"/>
  73. <VisualState x:Name="FooterColumnCell">
  74. <Storyboard BeginTime="0">
  75. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_FooterCellBorder">
  76. <EasingThicknessKeyFrame KeyTime="0" Value="1,0,1,1"/>
  77. </ThicknessAnimationUsingKeyFrames>
  78. </Storyboard>
  79. </VisualState>
  80. <VisualState x:Name="BeforeFooterColumnCell">
  81. <Storyboard BeginTime="0">
  82. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_FooterCellBorder">
  83. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,1"/>
  84. </ThicknessAnimationUsingKeyFrames>
  85. <ThicknessAnimationUsingKeyFrames BeginTime="0" Duration="1.0:0:0" Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="PART_HeaderCellBorder">
  86. <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,1"/>
  87. </ThicknessAnimationUsingKeyFrames>
  88. </Storyboard>
  89. </VisualState>
  90. </VisualStateGroup>
  91. </VisualStateManager.VisualStateGroups>
  92. <Border x:Name="PART_FooterCellBorder" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}"/>
  93. <Border x:Name="PART_HeaderCellBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
  94. <Grid Margin="{TemplateBinding Padding}" SnapsToDevicePixels="True">
  95. <Grid.ColumnDefinitions>
  96. <ColumnDefinition Width="*"/>
  97. <ColumnDefinition Width="Auto"/>
  98. <ColumnDefinition Width="Auto"/>
  99. </Grid.ColumnDefinitions>
  100. <ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  101. <Grid x:Name="PART_SortButtonPresenter" Grid.Column="1" SnapsToDevicePixels="True">
  102. <Grid.ColumnDefinitions>
  103. <ColumnDefinition Width="*">
  104. <ColumnDefinition.MinWidth>
  105. <Binding Mode="OneWay" Path="SortDirection" RelativeSource="{RelativeSource TemplatedParent}">
  106. <Binding.Converter>
  107. <Syncfusion:SortDirectionToWidthConverter/>
  108. </Binding.Converter>
  109. </Binding>
  110. </ColumnDefinition.MinWidth>
  111. </ColumnDefinition>
  112. <ColumnDefinition Width="*"/>
  113. </Grid.ColumnDefinitions>
  114. <TextBlock Grid.Column="1" Foreground="{TemplateBinding Foreground}" FontSize="10" Margin="0,-4,0,0" SnapsToDevicePixels="True" Text="{TemplateBinding SortNumber}" Visibility="{TemplateBinding SortNumberVisibility}" VerticalAlignment="Bottom"/>
  115. </Grid>
  116. <Syncfusion:FilterToggleButton x:Name="PART_FilterToggleButton" Grid.Column="2" HorizontalAlignment="Stretch" SnapsToDevicePixels="True" Visibility="{TemplateBinding FilterIconVisiblity}" VerticalAlignment="Stretch"/>
  117. <Border x:Name="PART_FilterPopUpPresenter"/>
  118. </Grid>
  119. </Border>
  120. </Grid>
  121. </ControlTemplate>
  122. </Setter.Value>
  123. </Setter>
  124. </Style>
  125. <ControlTemplate x:Key="HorizontalSplitter">
  126. <Grid Background="{TemplateBinding Background}" Height="4">
  127. <Grid.ColumnDefinitions>
  128. <ColumnDefinition Width="*" />
  129. <ColumnDefinition Width="Auto" />
  130. <ColumnDefinition Width="*" />
  131. </Grid.ColumnDefinitions>
  132. <Button Grid.Column="0" x:Name="PART_Left" Visibility="Collapsed" />
  133. <StackPanel Grid.Column="1" Margin="0" Orientation="Horizontal" HorizontalAlignment="Center"
  134. VerticalAlignment="Center">
  135. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  136. Margin="2,0,0,0" />
  137. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  138. Margin="2,0,0,0" />
  139. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  140. Margin="2,0,0,0" />
  141. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  142. Margin="2,0,0,0" />
  143. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  144. Margin="2,0,0,0" />
  145. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  146. Margin="2,0,0,0" />
  147. <Ellipse Fill="Silver" HorizontalAlignment="Center" Height="2" Width="2" Opacity="1"
  148. Margin="2,0,0,0" />
  149. </StackPanel>
  150. <Button Grid.Column="2" x:Name="PART_Right" Visibility="Collapsed" />
  151. </Grid>
  152. </ControlTemplate>
  153. </UserControl.Resources>
  154. <Grid>
  155. <Grid.ColumnDefinitions>
  156. <ColumnDefinition Width="*" />
  157. <ColumnDefinition Width="180" />
  158. </Grid.ColumnDefinitions>
  159. <Grid.RowDefinitions>
  160. <RowDefinition Height="*" />
  161. </Grid.RowDefinitions>
  162. <Syncfusion:SfDataGrid
  163. x:Name="dataGrid"
  164. Grid.Row="0"
  165. Grid.Column="0"
  166. AutoGenerateColumns="True"
  167. AutoGeneratingColumn="DataGrid_AutoGeneratingColumn"
  168. RowHeight="30"
  169. AllowSorting="False"
  170. HeaderRowHeight="150"
  171. ContextMenuOpening="DataGrid_ContextMenuOpening"
  172. SelectionUnit="Cell"
  173. NavigationMode="Cell"
  174. FrozenColumnCount="1"
  175. CanMaintainScrollPosition="True"
  176. SelectionMode="Extended"
  177. SelectionForegroundBrush="Yellow"
  178. RowSelectionBrush="Red">
  179. <Syncfusion:SfDataGrid.ContextMenu>
  180. <ContextMenu />
  181. </Syncfusion:SfDataGrid.ContextMenu>
  182. </Syncfusion:SfDataGrid>
  183. <Grid Grid.Column="1" Grid.Row="0">
  184. <Grid.ColumnDefinitions>
  185. <ColumnDefinition Width="Auto"/>
  186. <ColumnDefinition Width="*"/>
  187. </Grid.ColumnDefinitions>
  188. <Grid.RowDefinitions>
  189. <RowDefinition Height="*"/>
  190. <RowDefinition Height="Auto"/>
  191. <RowDefinition Height="Auto"/>
  192. <RowDefinition Height="Auto"/>
  193. <RowDefinition Height="Auto"/>
  194. <RowDefinition Height="Auto"/>
  195. </Grid.RowDefinitions>
  196. <local:EmployeeSelector x:Name="EmployeeSelector" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" SettingsChanged="_employees_OnSettingsChanged" SelectionChanged="_employees_OnSelectionChanged"/>
  197. <Label Content="From" Grid.Row="1" Margin="0,5,0,0" VerticalContentAlignment="Center" />
  198. <Syncfusion:DateTimeEdit x:Name="FromDate" DateTimeChanged="DateTimeChanged" Grid.Row="1" Grid.Column="1"
  199. Pattern="CustomPattern" CustomPattern="dd MMMM yy" Margin="5,5,0,0" />
  200. <Label Content="To" Grid.Row="2" Margin="0,5,0,0" VerticalContentAlignment="Center" />
  201. <Syncfusion:DateTimeEdit x:Name="ToDate" DateTimeChanged="DateTimeChanged" Grid.Row="2" Grid.Column="1"
  202. Pattern="CustomPattern" CustomPattern="dd MMMM yy" Margin="5,5,0,0" />
  203. <Button Content="Jobs" Grid.Row="3" Margin="5,5,0,0" VerticalContentAlignment="Center" Click="JobFilterButton_Click" />
  204. <ComboBox x:Name="JobFilter" Grid.Row="3" Grid.Column="1" Margin="5,5,0,0"
  205. SelectionChanged="JobFilter_OnSelectionChanged" VerticalContentAlignment="Center"
  206. DisplayMemberPath="Name" />
  207. <Label Content="Leave" Grid.Row="4" Margin="0,5,0,0" VerticalContentAlignment="Center" />
  208. <ComboBox x:Name="LeaveType" Grid.Row="4" Grid.Column="1" Margin="5,5,0,0" SelectionChanged="LeaveType_OnSelectionChanged" VerticalContentAlignment="Center">
  209. <ComboBoxItem Content="Approved Only" />
  210. <ComboBoxItem Content="Show All" />
  211. </ComboBox>
  212. <Label Content="Activity" Grid.Row="5" Margin="0,5,0,0" VerticalContentAlignment="Center" />
  213. <ComboBox x:Name="ActivityType" Grid.Row="5" Grid.Column="1" Margin="5,5,0,0"
  214. SelectionChanged="ActivityType_OnSelectionChanged" VerticalContentAlignment="Center"
  215. SelectedValuePath="ID" DisplayMemberPath="Name">
  216. </ComboBox>
  217. </Grid>
  218. </Grid>
  219. </UserControl>