EmployeeResourcePlanner.xaml 16 KB

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