266 lines
12 KiB
XML
266 lines
12 KiB
XML
<UserControl
|
|
x:Class="BeWo.View.Detail.AbsenceTimesView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
|
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:validation="clr-namespace:BeWo.Validation"
|
|
x:Name="AbsenceTimeViewUserControl"
|
|
d:DataContext="{d:DesignData Type=AbsenceTimesView}"
|
|
d:DesignHeight="450"
|
|
d:DesignWidth="800"
|
|
mc:Ignorable="d">
|
|
<UserControl.Resources />
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<GroupBox
|
|
x:Name="GroupBoxNewAbsenceTime"
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Header="Abwesenheit hinzufügen"
|
|
Style="{StaticResource ObjectEditGroupBox}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Label Grid.Row="0" Grid.Column="0">Startdatum</Label>
|
|
<dxe:DateEdit
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Grid.ColumnSpan="{Binding AbsenceTimes.NewVM.DateEditColumnSpan, UpdateSourceTrigger=PropertyChanged}"
|
|
Height="23"
|
|
Margin="3"
|
|
AllowNullInput="False"
|
|
EditValue="{Binding Path=AbsenceTimes.NewVM.Start, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
|
|
MaskType="DateTimeAdvancingCaret" />
|
|
|
|
<dxe:TextEdit
|
|
x:Name="StartTimeTextEdit"
|
|
Grid.Row="0"
|
|
Grid.Column="2"
|
|
Height="23"
|
|
Margin="3"
|
|
EditValue="{Binding Path=AbsenceTimes.NewVM.StartTime, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
|
|
InvalidValueBehavior="AllowLeaveEditor"
|
|
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
|
|
MaskShowPlaceHolders="True"
|
|
MaskType="RegEx"
|
|
MaskUseAsDisplayFormat="True"
|
|
ShowError="False"
|
|
ToolTipService.Placement="Mouse"
|
|
ValidateOnEnterKeyPressed="True"
|
|
ValidateOnTextInput="True"
|
|
Visibility="{Binding Path=AbsenceTimes.NewVM.IsAllDay, Converter={StaticResource BoolVisibilityHiddenConverter}, ConverterParameter=false, UpdateSourceTrigger=PropertyChanged}" />
|
|
|
|
<Label Grid.Row="0" Grid.Column="3">Enddatum</Label>
|
|
<dxe:DateEdit
|
|
Grid.Row="0"
|
|
Grid.Column="4"
|
|
Grid.ColumnSpan="{Binding AbsenceTimes.NewVM.DateEditColumnSpan, UpdateSourceTrigger=PropertyChanged}"
|
|
Height="23"
|
|
Margin="3"
|
|
AllowNullInput="True"
|
|
EditValue="{Binding Path=AbsenceTimes.NewVM.End, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
|
|
MaskType="DateTimeAdvancingCaret" />
|
|
|
|
<dxe:TextEdit
|
|
x:Name="EndTimeTextEdit"
|
|
Grid.Row="0"
|
|
Grid.Column="5"
|
|
Height="23"
|
|
Margin="3"
|
|
EditValue="{Binding Path=AbsenceTimes.NewVM.EndTime, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
|
|
InvalidValueBehavior="AllowLeaveEditor"
|
|
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
|
|
MaskShowPlaceHolders="True"
|
|
MaskType="RegEx"
|
|
MaskUseAsDisplayFormat="True"
|
|
ShowError="False"
|
|
ToolTipService.Placement="Mouse"
|
|
ValidateOnEnterKeyPressed="True"
|
|
ValidateOnTextInput="True"
|
|
Visibility="{Binding Path=AbsenceTimes.NewVM.IsAllDay, Converter={StaticResource BoolVisibilityHiddenConverter}, ConverterParameter=false, UpdateSourceTrigger=PropertyChanged}" />
|
|
|
|
<CheckBox
|
|
Grid.Row="0"
|
|
Grid.Column="6"
|
|
Margin="3"
|
|
VerticalAlignment="Center"
|
|
VerticalContentAlignment="Center"
|
|
Foreground="Black"
|
|
IsChecked="{Binding Path=AbsenceTimes.NewVM.IsAllDay, UpdateSourceTrigger=PropertyChanged}">
|
|
Ganztägig
|
|
</CheckBox>
|
|
|
|
<Label Grid.Row="1" Grid.Column="0">Kategorie</Label>
|
|
<controls:NullItemComboBox
|
|
Name="ComboBoxReasons"
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Grid.ColumnSpan="2"
|
|
Height="23"
|
|
Margin="3"
|
|
ItemsSource="{Binding Path=AbsenceTimes.PossibleReasons}"
|
|
SelectedItem="{validation:ValidationBinding Path=AbsenceTimes.NewVM.Reason}">
|
|
<ComboBox.ItemContainerStyle>
|
|
<Style>
|
|
<Setter Property="Control.HorizontalContentAlignment" Value="Stretch" />
|
|
</Style>
|
|
</ComboBox.ItemContainerStyle>
|
|
</controls:NullItemComboBox>
|
|
|
|
<Label Grid.Row="1" Grid.Column="3">Erläuterung</Label>
|
|
<TextBox
|
|
Grid.Row="1"
|
|
Grid.Column="4"
|
|
Grid.ColumnSpan="3"
|
|
Height="23"
|
|
Margin="3"
|
|
Text="{Binding Path=AbsenceTimes.NewVM.Notice, UpdateSourceTrigger=PropertyChanged}" />
|
|
|
|
<Button
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="7"
|
|
Margin="1,10,0,3"
|
|
HorizontalAlignment="Right"
|
|
Command="{Binding AddAbsenceTimesCommand}"
|
|
Content="Abwesenheit hinzufügen"
|
|
Style="{DynamicResource {x:Type Button}}" />
|
|
</Grid>
|
|
</GroupBox>
|
|
<GroupBox
|
|
x:Name="GroupBoxAbsenceTimes"
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Header="Erfasste Abwesenheiten"
|
|
Style="{StaticResource ObjectEditGroupBox}">
|
|
<dxg:GridControl
|
|
x:Name="DataGridAbsenceTimes"
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
ItemsSource="{Binding Path=AbsenceTimes.VMList}">
|
|
<dxg:GridControl.Columns>
|
|
<dxg:GridColumn
|
|
Width="24"
|
|
FieldName="Notice"
|
|
FixedWidth="True"
|
|
Header=""
|
|
ReadOnly="True">
|
|
<dxg:GridColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Button
|
|
Width="18"
|
|
Height="18"
|
|
VerticalAlignment="Center"
|
|
Command="{Binding RemoveAbsenceTimeCommand, ElementName=AbsenceTimeViewUserControl}"
|
|
Content="r"
|
|
FontFamily="Webdings" />
|
|
</DataTemplate>
|
|
</dxg:GridColumn.CellTemplate>
|
|
</dxg:GridColumn>
|
|
<dxg:GridColumn
|
|
AllowBestFit="True"
|
|
FieldName="Start"
|
|
Header="Startdatum"
|
|
SortOrder="Descending">
|
|
<dxg:GridColumn.EditSettings>
|
|
<dxe:DateEditSettings AllowNullInput="False" DisplayFormat="d" />
|
|
</dxg:GridColumn.EditSettings>
|
|
</dxg:GridColumn>
|
|
<dxg:GridColumn
|
|
AllowBestFit="True"
|
|
BestFitMode="Smart"
|
|
FieldName="StartTime"
|
|
Header="Startzeit">
|
|
<dxg:GridColumn.EditSettings>
|
|
<dxe:TextEditSettings
|
|
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
|
|
MaskShowPlaceHolders="True"
|
|
MaskType="RegEx"
|
|
MaskUseAsDisplayFormat="True"
|
|
ValidateOnEnterKeyPressed="True" />
|
|
</dxg:GridColumn.EditSettings>
|
|
</dxg:GridColumn>
|
|
<dxg:GridColumn
|
|
AllowBestFit="True"
|
|
FieldName="End"
|
|
Header="Enddatum">
|
|
<dxg:GridColumn.EditSettings>
|
|
<dxe:DateSettings AllowNullInput="True" />
|
|
</dxg:GridColumn.EditSettings>
|
|
</dxg:GridColumn>
|
|
<dxg:GridColumn
|
|
AllowBestFit="True"
|
|
BestFitMode="Smart"
|
|
FieldName="EndTime"
|
|
Header="Endzeit">
|
|
<dxg:GridColumn.EditSettings>
|
|
<dxe:TextEditSettings
|
|
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
|
|
MaskShowPlaceHolders="True"
|
|
MaskType="RegEx"
|
|
MaskUseAsDisplayFormat="True"
|
|
ValidateOnEnterKeyPressed="True" />
|
|
</dxg:GridColumn.EditSettings>
|
|
</dxg:GridColumn>
|
|
<dxg:GridColumn
|
|
AllowBestFit="True"
|
|
FieldName="Reason"
|
|
Header="Kategorie">
|
|
<dxg:GridColumn.EditSettings>
|
|
<dxe:ComboBoxEditSettings x:Name="AbsenceReasonComboBox" />
|
|
</dxg:GridColumn.EditSettings>
|
|
</dxg:GridColumn>
|
|
<dxg:GridColumn
|
|
AllowBestFit="True"
|
|
FieldName="Notice"
|
|
Header="Erläuterung" />
|
|
</dxg:GridControl.Columns>
|
|
<dxg:GridControl.View>
|
|
<dxg:TableView
|
|
AllowBestFit="True"
|
|
AutoWidth="true"
|
|
BestFitMode="Smart"
|
|
NavigationStyle="Cell"
|
|
ShowGroupPanel="False"
|
|
ShowGroupedColumns="false"
|
|
ShowTotalSummary="False" />
|
|
</dxg:GridControl.View>
|
|
</dxg:GridControl>
|
|
</GroupBox>
|
|
</Grid>
|
|
</UserControl>
|