1610 lines
104 KiB
XML
1610 lines
104 KiB
XML
<localView:BeWoView
|
|
x:Class="BeWo.Scheduling.View.SchedulingView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:converter="clr-namespace:BeWo.Scheduling.Converter"
|
|
xmlns:converter1="clr-namespace:BeWo.Scheduler.Converter"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
|
|
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
|
|
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
|
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
|
|
xmlns:dxsch="http://schemas.devexpress.com/winfx/2008/xaml/scheduling"
|
|
xmlns:dxschv="http://schemas.devexpress.com/winfx/2008/xaml/scheduling/visual"
|
|
xmlns:local="clr-namespace:BeWo.Scheduling.View"
|
|
xmlns:localView="clr-namespace:BeWo.View"
|
|
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:schedulingUtils="clr-namespace:BeWo.Scheduling.SchedulingUtils"
|
|
xmlns:view="clr-namespace:BeWo.Scheduler.View"
|
|
xmlns:viewModel="clr-namespace:BeWo.Scheduling.ViewModel"
|
|
Width="Auto"
|
|
Height="Auto"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
Focusable="true"
|
|
mc:Ignorable="d">
|
|
<localView:BeWoView.Resources>
|
|
<ResourceDictionary>
|
|
<converter:SchedulingCheckBoxConverter x:Key="CheckBoxConverter" />
|
|
<converter1:NewCalendarBackgroundConverter x:Key="NewCalendarBackgroundConverter" />
|
|
<view:TextFromIDataContractConverter x:Key="TextFromIDataContractConverter" />
|
|
<converter:WidthAdditionMultiConverter x:Key="WidthAdditionMultiConverter" />
|
|
<converter:EmployeeBackgroundColorConverter x:Key="EmployeeBackgroundColorConverter" />
|
|
<converter:DayViewDayCountVisibilityConverter x:Key="DayViewDayCountVisibilityConverter" />
|
|
<converter:EmployeeListConfirmationToolTipConverter x:Key="EmployeeListConfirmationToolTipConverter" />
|
|
<converter:InfoButtonVisibilityConverter x:Key="InfoButtonVisibilityConverter" />
|
|
<converter:AppointmentBorderThicknessConverter x:Key="AppointmentBorderThicknessConverter" />
|
|
|
|
<Style x:Key="MultiElementSelectionControlStyle" TargetType="{x:Type ListBoxItem}">
|
|
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="Margin" Value="0,2,0,0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Grid>
|
|
<Border
|
|
MinHeight="25"
|
|
Background="{Binding Converter={StaticResource NewCalendarBackgroundConverter}}"
|
|
CornerRadius="5" />
|
|
<Border
|
|
x:Name="ItemBorder"
|
|
MinHeight="25"
|
|
Background="#FF000000"
|
|
CornerRadius="5">
|
|
<Border.OpacityMask>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#19000000" />
|
|
<GradientStop Offset="1" Color="#26000000" />
|
|
</LinearGradientBrush>
|
|
</Border.OpacityMask>
|
|
</Border>
|
|
|
|
<Border
|
|
x:Name="ItemContent"
|
|
MinHeight="25"
|
|
CornerRadius="5">
|
|
<Grid
|
|
Margin="5,3,5,3"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
OpacityMask="{x:Null}"
|
|
SnapsToDevicePixels="True">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock
|
|
Grid.Column="0"
|
|
Margin="3,0,0,0"
|
|
VerticalAlignment="Center"
|
|
FontFamily="Microsoft Sans Serif"
|
|
FontSize="14"
|
|
Foreground="#FFD2D2D2"
|
|
Text="{Binding Converter={StaticResource TextFromIDataContractConverter}}" />
|
|
<Border
|
|
Grid.Column="1"
|
|
Width="15"
|
|
Height="15"
|
|
Background="{Binding Path=FilterableBrush}"
|
|
CornerRadius="3" />
|
|
<Button
|
|
x:Name="RemoveElementButton"
|
|
Grid.RowSpan="2"
|
|
Grid.Column="2"
|
|
Width="20"
|
|
Height="20"
|
|
Margin="3,0,0,0"
|
|
Click="RemoveElementButton_OnClick"
|
|
Style="{DynamicResource CloseButtonStyle}"
|
|
Tag="{Binding}"
|
|
ToolTip="Element aus der Liste entfernen" />
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#33000000" />
|
|
<GradientStop Offset="1" Color="#66000000" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<Trigger Property="ListBoxItem.IsSelected" Value="True">
|
|
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#99000000" />
|
|
<GradientStop Offset="1" Color="#CC000000" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="ListBoxItem.IsSelected" Value="True" />
|
|
<Condition Property="Selector.IsSelectionActive" Value="False" />
|
|
</MultiTrigger.Conditions>
|
|
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#99000000" />
|
|
<GradientStop Offset="1" Color="#B2000000" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</MultiTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="MitarbeiterTabItemStyle" TargetType="{x:Type TabItem}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Grid>
|
|
<Border Name="Border" Margin="0">
|
|
<ContentPresenter
|
|
x:Name="ContentSite"
|
|
Margin="12,2,12,2"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
ContentSource="Header"
|
|
RecognizesAccessKey="True" />
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource EmployeeContentBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="False">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource EmployeeContentBrush}" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="KlientenTabItemStyle" TargetType="{x:Type TabItem}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Grid>
|
|
<Border Name="Border" Margin="0">
|
|
<ContentPresenter
|
|
x:Name="ContentSite"
|
|
Margin="12,2,12,2"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
ContentSource="Header"
|
|
RecognizesAccessKey="True" />
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource CustomerContentBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="False">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource CustomerContentBrush}" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="RessourcenTabItemStyle" TargetType="{x:Type TabItem}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Grid>
|
|
<Border Name="Border" Margin="0">
|
|
<ContentPresenter
|
|
x:Name="ContentSite"
|
|
Margin="12,2,12,2"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
ContentSource="Header"
|
|
RecognizesAccessKey="True" />
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource ResourceContentBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="False">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource ResourceContentBrush}" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
|
|
<Style TargetType="dxschv:DayAppointmentControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
<Style TargetType="dxschv:MonthAppointmentControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
<Style TargetType="dxschv:AgendaAppointmentControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
<Style TargetType="dxschv:TimelineAppointmentControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
<Style TargetType="dxschv:AllDayAppointmentControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
<Style TargetType="dxschv:AppointmentHorizontalControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
|
|
<DataTemplate x:Key="VerticalAppointmentControl.ContentTemplate">
|
|
<Border
|
|
BorderBrush="{Binding Appointment.CustomFields[VMForCustomField].AppointmentBorderBrush}"
|
|
BorderThickness="{Binding Appointment.CustomFields[VMForCustomField].AppointmentBorderBrush, Converter={StaticResource AppointmentBorderThicknessConverter}}"
|
|
CornerRadius="2">
|
|
<Grid Margin="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="8" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="8" />
|
|
</Grid.ColumnDefinitions>
|
|
<!-- Mitarbeiterfarbe -->
|
|
<Border Grid.Column="0">
|
|
<Border.Background>
|
|
<MultiBinding Converter="{StaticResource EmployeeBackgroundColorConverter}" Mode="OneWay">
|
|
<Binding
|
|
Mode="OneWay"
|
|
Path="DataContext.IsEmployeeBrushVisible"
|
|
RelativeSource="{RelativeSource FindAncestor,
|
|
AncestorType={x:Type localView:BeWoView}}"
|
|
UpdateSourceTrigger="PropertyChanged" />
|
|
<Binding Path="Appointment.CustomFields[VMForCustomField].AppointmentColors.EmployeeBackground" />
|
|
<Binding Path="Appointment.CustomFields[VMForCustomField].BackgroundColor" />
|
|
</MultiBinding>
|
|
</Border.Background>
|
|
</Border>
|
|
<!-- /Mitarbeiterfarbe -->
|
|
<!-- Hauptteil mit Betreff und (Ort) -->
|
|
<dxschv:AppointmentContentPanel Grid.Column="1" Background="{Binding Appointment.CustomFields[VMForCustomField].BackgroundColor}">
|
|
<dxschv:AppointmentContentPanel.IntervalSubject>
|
|
<TextBlock
|
|
Margin="3,3,0,0"
|
|
FontWeight="Normal"
|
|
Foreground="{Binding Appointment.CustomFields[VMForCustomField].ForegroundColor}"
|
|
Text="{Binding Appointment.Subject}" />
|
|
</dxschv:AppointmentContentPanel.IntervalSubject>
|
|
<dxschv:AppointmentContentPanel.Location>
|
|
<TextBlock
|
|
Margin="3,3,0,0"
|
|
FontWeight="Normal"
|
|
Foreground="{Binding Appointment.CustomFields[VMForCustomField].ForegroundColor}"
|
|
Text="{Binding Appointment.Location, StringFormat={}({0})}"
|
|
Visibility="{Binding Appointment.Location, Converter={StaticResource ObjectVisibilityConverter}}" />
|
|
</dxschv:AppointmentContentPanel.Location>
|
|
<dxschv:AppointmentContentPanel.Images>
|
|
<dxschv:AppointmentImagesPanel
|
|
Margin="0,0,0,3"
|
|
VerticalAlignment="Stretch"
|
|
Background="{Binding Appointment.CustomFields[VMForCustomField].BackgroundColor}" />
|
|
</dxschv:AppointmentContentPanel.Images>
|
|
</dxschv:AppointmentContentPanel>
|
|
<!-- /Hauptteil mit Betreff und (Ort) -->
|
|
<!-- Klientenfarbe & Ressourcenfarbe -->
|
|
<Border Grid.Column="2" Background="{Binding Appointment.CustomFields[VMForCustomField].AppointmentColors.ResourceAndCustomerBackground}" />
|
|
<!-- /Klientenfarbe & Ressourcenfarbe -->
|
|
</Grid>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="HorizontalAppointmentControl.ContentTemplate">
|
|
<Border
|
|
Margin="-6,0,0,0"
|
|
BorderBrush="{Binding Appointment.CustomFields[VMForCustomField].AppointmentBorderBrush}"
|
|
BorderThickness="{Binding Appointment.CustomFields[VMForCustomField].AppointmentBorderBrush, Converter={StaticResource AppointmentBorderThicknessConverter}}"
|
|
CornerRadius="2">
|
|
<Grid Background="{Binding Appointment.CustomFields[VMForCustomField].BackgroundColor}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="8" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="8" />
|
|
</Grid.ColumnDefinitions>
|
|
<!-- Mitarbeiterfarbe -->
|
|
<Border Grid.Column="0">
|
|
<Border.Background>
|
|
<MultiBinding Converter="{StaticResource EmployeeBackgroundColorConverter}" Mode="OneWay">
|
|
<Binding
|
|
Mode="OneWay"
|
|
Path="DataContext.IsEmployeeBrushVisible"
|
|
RelativeSource="{RelativeSource FindAncestor,
|
|
AncestorType={x:Type localView:BeWoView}}"
|
|
UpdateSourceTrigger="PropertyChanged" />
|
|
<Binding Path="Appointment.CustomFields[VMForCustomField].AppointmentColors.EmployeeBackground" />
|
|
<Binding Path="Appointment.CustomFields[VMForCustomField].BackgroundColor" />
|
|
</MultiBinding>
|
|
</Border.Background>
|
|
</Border>
|
|
<!-- /Mitarbeiterfarbe -->
|
|
<!-- Hauptteil mit Betreff und (Ort) -->
|
|
<dxschv:AppointmentContentPanel
|
|
Grid.Column="1"
|
|
VerticalAlignment="Center"
|
|
Background="{Binding Appointment.CustomFields[VMForCustomField].BackgroundColor}">
|
|
<dxschv:AppointmentContentPanel.IntervalSubject>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Foreground="{Binding Appointment.CustomFields[VMForCustomField].ForegroundColor}" Visibility="{Binding Appointment.AllDay, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=Reverse}">
|
|
<Run Text="{Binding Appointment.Start, StringFormat={}{0:HH:mm}}" />
|
|
<Run Text="-" />
|
|
<Run Text="{Binding Appointment.End, StringFormat={}{0:HH:mm}}" />
|
|
</TextBlock>
|
|
<TextBlock
|
|
Margin="3,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Foreground="{Binding Appointment.CustomFields[VMForCustomField].ForegroundColor}"
|
|
Text="{Binding Appointment.Subject}" />
|
|
</StackPanel>
|
|
</dxschv:AppointmentContentPanel.IntervalSubject>
|
|
<dxschv:AppointmentContentPanel.Images>
|
|
<dxschv:AppointmentImagesPanel Margin="0,3,3,0" Background="{Binding Appointment.CustomFields[VMForCustomField].BackgroundColor}" />
|
|
</dxschv:AppointmentContentPanel.Images>
|
|
</dxschv:AppointmentContentPanel>
|
|
<!-- /Hauptteil mit Betreff und (Ort) -->
|
|
<!-- Klientenfarbe & Ressourcenfarbe -->
|
|
<Border Grid.Column="2" Background="{Binding Appointment.CustomFields[VMForCustomField].AppointmentColors.ResourceAndCustomerBackground}" />
|
|
<!-- /Klientenfarbe & Ressourcenfarbe -->
|
|
</Grid>
|
|
</Border>
|
|
</DataTemplate>
|
|
<DataTemplate x:Key="MyImageBox">
|
|
<Image
|
|
Width="17"
|
|
Height="17"
|
|
SnapsToDevicePixels="True"
|
|
Source="/BeWoPlaner;component/Ressources/Icons/HistoryDisabled.png"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].HasServiceRecordEntry, Converter={StaticResource BoolVisibilityConverter}}" />
|
|
</DataTemplate>
|
|
<Style x:Key="AppointmentStyle" TargetType="dxschv:AppointmentControl">
|
|
<Setter Property="ShowInterval" Value="True" />
|
|
<Setter Property="Margin" Value="0" />
|
|
<Setter Property="Padding" Value="0" />
|
|
<Setter Property="ImageBoxTemplate" Value="{StaticResource MyImageBox}" />
|
|
</Style>
|
|
<DataTemplate x:Key="TooltipTemplate">
|
|
<dxlc:LayoutControl
|
|
Padding="0"
|
|
IsHitTestVisible="False"
|
|
Orientation="Vertical">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Margin="0,0,3,0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel
|
|
Grid.Column="0"
|
|
Orientation="Horizontal"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipTimeVisibility}">
|
|
<TextBlock Text="{Binding Path=Appointment.Start, StringFormat={}{0:HH:mm}}" />
|
|
<TextBlock Text=" - " />
|
|
<TextBlock Text="{Binding Path=Appointment.End, StringFormat={}{0:HH:mm}}" />
|
|
<TextBlock Margin="0,0,4,0" Text=" Uhr" />
|
|
</StackPanel>
|
|
<TextBlock
|
|
Grid.Column="1"
|
|
MaxWidth="{Binding ElementName=Scheduler, Path=ActualWidth}"
|
|
Text="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTip}"
|
|
TextWrapping="Wrap" />
|
|
</Grid>
|
|
<Separator
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Height="1"
|
|
Background="DimGray"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipTrennstrichVisibility}" />
|
|
|
|
<TextBlock
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Margin="0,0,3,0"
|
|
Text="Ressourcen:"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipResourcesVisibility}" />
|
|
<TextBlock
|
|
Grid.Row="2"
|
|
Grid.Column="1"
|
|
Text="{Binding Path=Appointment.CustomFields[VMForCustomField].ResourcesToolTip}"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipResourcesVisibility}" />
|
|
<TextBlock
|
|
Grid.Row="3"
|
|
Grid.Column="0"
|
|
Margin="0,0,3,0"
|
|
Text="{markup:Translate Mitarbeiter:}"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipEmployeesVisibility}" />
|
|
|
|
<ListView
|
|
Name="ToolTipEmployeeList"
|
|
Grid.Row="3"
|
|
Grid.Column="1"
|
|
Margin="-6,-3,0,0"
|
|
Background="Transparent"
|
|
BorderThickness="0"
|
|
ItemsSource="{Binding Path=Appointment.CustomFields[VMForCustomField].EmployeeList}"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipEmployeesVisibility}">
|
|
<ListView.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<WrapPanel
|
|
Width="{Binding (FrameworkElement.ActualWidth), RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}"
|
|
MinWidth="{Binding ItemWidth, RelativeSource={RelativeSource Self}}"
|
|
ItemHeight="{Binding (ListView.View).ItemHeight, RelativeSource={RelativeSource AncestorType=ListView}}"
|
|
ItemWidth="{Binding (ListView.View).ItemWidth, RelativeSource={RelativeSource AncestorType=ListView}}" />
|
|
</ItemsPanelTemplate>
|
|
</ListView.ItemsPanel>
|
|
<ListView.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Border
|
|
Grid.Column="0"
|
|
Width="5"
|
|
Margin="0,0,3,0"
|
|
Background="{Binding Converter={StaticResource EmployeeListConfirmationToolTipConverter}}"
|
|
BorderBrush="DimGray"
|
|
BorderThickness="1"
|
|
Visibility="{Binding Path=DataContext.Appointment.CustomFields[VMForCustomField].ToolTipZusageVisibility, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
|
|
<TextBlock
|
|
Grid.Column="1"
|
|
Foreground="DimGray"
|
|
Text="{Binding Converter={StaticResource EmployeeListConfirmationToolTipConverter}, ConverterParameter=EmployeeName}" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListView.ItemTemplate>
|
|
</ListView>
|
|
|
|
<TextBlock
|
|
Grid.Row="4"
|
|
Grid.Column="0"
|
|
Margin="0,0,3,0"
|
|
Text="{markup:Translate Klienten:}"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipCustomersVisibility}" />
|
|
<TextBlock
|
|
Grid.Row="4"
|
|
Grid.Column="1"
|
|
Text="{Binding Path=Appointment.CustomFields[VMForCustomField].CustomersToolTip}"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipCustomersVisibility}" />
|
|
|
|
<Separator
|
|
Grid.Row="5"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Height="1"
|
|
Background="DimGray"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
|
|
<TextBlock
|
|
Grid.Row="6"
|
|
Grid.Column="0"
|
|
Margin="0,0,3,0"
|
|
Text="Angelegt von:"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
|
|
<TextBlock
|
|
Grid.Row="6"
|
|
Grid.Column="1"
|
|
Margin="0,0,3,0"
|
|
Text="{Binding Path=Appointment.CustomFields[VMForCustomField].Originator}"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
|
|
</Grid>
|
|
</dxlc:LayoutControl>
|
|
</DataTemplate>
|
|
</ResourceDictionary>
|
|
</localView:BeWoView.Resources>
|
|
<Grid
|
|
x:Name="RootGrid"
|
|
d:DataContext="{d:DesignInstance viewModel:SchedulingAppointmentListVM}"
|
|
Grid.IsSharedSizeScope="True">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid x:Name="TopBarGrid" Grid.Column="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
MinWidth="239"
|
|
VerticalAlignment="Bottom"
|
|
Orientation="Horizontal">
|
|
<StackPanel.Width>
|
|
<MultiBinding Converter="{StaticResource WidthAdditionMultiConverter}">
|
|
<Binding ElementName="AuswahlGrid" Path="ActualWidth" />
|
|
<Binding ElementName="LeftExpanderButton" Path="ActualWidth" />
|
|
</MultiBinding>
|
|
</StackPanel.Width>
|
|
<Button
|
|
Width="24"
|
|
Height="24"
|
|
Margin="0,1,1,1"
|
|
Click="DayViewButton_OnClick"
|
|
ToolTip="Tagesansicht">
|
|
<Image Source="../../Ressources/Icons/Calendar1Day24.png" />
|
|
</Button>
|
|
<Button
|
|
Width="24"
|
|
Height="24"
|
|
Margin="0,1,1,1"
|
|
Click="WorkWeekButton_OnClick"
|
|
ToolTip="Arbeitswoche anzeigen">
|
|
<Image Source="../../Ressources/Icons/Calendar5Day24.png" />
|
|
</Button>
|
|
<Button
|
|
Width="24"
|
|
Height="24"
|
|
Margin="0,1,1,1"
|
|
Click="WeekButton_OnClick"
|
|
ToolTip="Volle Woche anzeigen">
|
|
<Image Source="../../Ressources/Icons/Calendar7Day24.png" />
|
|
</Button>
|
|
<Button
|
|
Width="24"
|
|
Height="24"
|
|
Margin="0,1,1,1"
|
|
Click="MonthButton_OnClick"
|
|
ToolTip="Monat anzeigen">
|
|
<Image Source="../../Ressources/Icons/Calendar31Day24.png" />
|
|
</Button>
|
|
<Button
|
|
Width="24"
|
|
Height="24"
|
|
Margin="0,1,1,1"
|
|
Click="TimelineButton_OnClick"
|
|
ToolTip="Zeitleiste anzeigen">
|
|
<Image Source="../../Ressources/Icons/History24.png" />
|
|
</Button>
|
|
<Button
|
|
x:Name="DeleteAppointmentsButton"
|
|
Width="24"
|
|
Height="24"
|
|
Margin="0,1,1,1"
|
|
Click="DeleteAppointmentsInIntervalButton_OnClick"
|
|
ToolTip="Termine löschen"
|
|
Visibility="{Binding DeleteInInvervalButtonVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<Image Source="../../Ressources/Icons/Delete24.png" />
|
|
</Button>
|
|
<StackPanel
|
|
x:Name="DayViewOptions"
|
|
Orientation="Horizontal"
|
|
Visibility="{Binding ElementName=SchedulerControl, Path=ActiveView.Type, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource DayViewDayCountVisibilityConverter}, ConverterParameter=DayCount}">
|
|
<Label VerticalAlignment="Center" Content="anz Tage:" />
|
|
<dxe:SpinEdit
|
|
x:Name="SpinEditDayViewDayCount"
|
|
Width="50"
|
|
Height="23"
|
|
VerticalAlignment="Center"
|
|
AllowNullInput="False"
|
|
EditValueChanged="SpinEditDayViewDayCount_EditValueChanged"
|
|
IsFloatValue="False"
|
|
LostFocus="SpinEditDayViewDayCount_OnLostFocus"
|
|
MaxValue="100"
|
|
MinValue="1" />
|
|
</StackPanel>
|
|
|
|
<StackPanel
|
|
x:Name="TimelineViewOptions"
|
|
Orientation="Horizontal"
|
|
Visibility="{Binding ElementName=SchedulerControl, Path=ActiveView.Type, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource DayViewDayCountVisibilityConverter}, ConverterParameter=IntervalCount}">
|
|
<Label VerticalAlignment="Center" Content="anz Tage:" />
|
|
<dxe:SpinEdit
|
|
x:Name="SpinEditTimelineViewDayCount"
|
|
Width="50"
|
|
Height="23"
|
|
VerticalAlignment="Center"
|
|
AllowNullInput="False"
|
|
EditValueChanged="SpinEditTimelineViewDayCount_EditValueChanged"
|
|
IsFloatValue="False"
|
|
LostFocus="SpinEditTimelineViewDayCount_OnLostFocus"
|
|
MaxValue="100"
|
|
MinValue="1" />
|
|
</StackPanel>
|
|
|
|
<Button
|
|
Width="24"
|
|
Height="24"
|
|
Margin="5,1,1,1"
|
|
Click="ReloadButton_OnClick"
|
|
ToolTip="Kalender aktualisieren">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="{x:Type Button}">
|
|
<Grid>
|
|
<Image x:Name="imgDisabled" Source="..\..\Ressources\Icons\SymbolRefresh32Disabled.png" />
|
|
<Image
|
|
x:Name="imgEnabled"
|
|
Opacity="0"
|
|
Source="..\..\Ressources\Icons\SymbolRefresh32.png" />
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter TargetName="imgEnabled" Property="Opacity" Value="1" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
<Button
|
|
Width="24"
|
|
Height="24"
|
|
Margin="5,1,1,1"
|
|
Click="ExportButton_OnClick"
|
|
ToolTip="Exportieren"
|
|
Visibility="Collapsed" />
|
|
</StackPanel>
|
|
<Grid
|
|
Grid.Row="0"
|
|
Grid.Column="2"
|
|
Margin="6,0,0,0"
|
|
VerticalAlignment="Center">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<CheckBox
|
|
x:Name="MitarbeiterfarbenEinAusCheckBox"
|
|
Grid.Column="0"
|
|
Content="{markup:Translate Mitarbeiterfarben}"
|
|
IsChecked="{Binding Path=IsEmployeeBrushVisible}"
|
|
Visibility="{Binding EmployeeControlsVisibility, UpdateSourceTrigger=PropertyChanged}" />
|
|
<CheckBox
|
|
x:Name="AbwesenheitenEinAusCheckBox"
|
|
Grid.Column="1"
|
|
Margin="10,0,0,0"
|
|
Checked="AbwesenheitenEinAusCheckBox_OnChecked"
|
|
Content="Abwesenheiten"
|
|
IsChecked="{Binding Path=IsAbsenceTimeVisible, Mode=TwoWay}"
|
|
Unchecked="AbwesenheitenEinAusCheckBox_OnChecked" />
|
|
<CheckBox
|
|
x:Name="ShowTasksCheckBox"
|
|
Grid.Column="2"
|
|
Margin="10,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Click="ShowTasksCheckBox_OnClick"
|
|
Content="Aufgaben"
|
|
IsChecked="{Binding Path=IsTasksVisible, Mode=TwoWay}" />
|
|
<TextBlock
|
|
Grid.Column="3"
|
|
Margin="10,0,0,0"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
IsEnabled="{Binding Enabled, UpdateSourceTrigger=PropertyChanged}">
|
|
<Hyperlink
|
|
IsEnabled="{Binding Enabled, UpdateSourceTrigger=PropertyChanged}"
|
|
NavigateUri="#"
|
|
RequestNavigate="ShowAppointmentRequests">
|
|
<TextBlock Text="{Binding Requests, UpdateSourceTrigger=PropertyChanged}" />
|
|
</Hyperlink>
|
|
</TextBlock>
|
|
<CheckBox
|
|
x:Name="ShowPrivateAppointmentsCheckBox"
|
|
Grid.Column="4"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
Click="ShowPrivateAppointmentsCheckBox_OnClick"
|
|
Content="Nur private Termine anzeigen"
|
|
IsChecked="{Binding OnlyPrivateAppointments, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
|
</Grid>
|
|
<Border
|
|
Grid.Row="0"
|
|
Grid.Column="3"
|
|
Width="{Binding ElementName=RightExpanderButton, Path=ActualWidth}" />
|
|
<Border
|
|
Grid.Row="0"
|
|
Grid.Column="4"
|
|
Width="{Binding ElementName=DateNavigator, Path=ActualWidth}">
|
|
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Hyperlink NavigateUri="#" RequestNavigate="PrintCalendar">
|
|
<TextBlock>Drucken</TextBlock>
|
|
</Hyperlink>
|
|
</TextBlock>
|
|
</Border>
|
|
</Grid>
|
|
<Grid Grid.Row="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" SharedSizeGroup="A" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" SharedSizeGroup="A" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid x:Name="ObjectSelectionGrid" Grid.Column="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<!-- ToDo: Kann man weder Mitarbeiter, Klienten und Ressourcen sehen, "Nur meine Termine anzeigen", das AuswahlGrid, und den Togglebutton verschicken -->
|
|
<CheckBox
|
|
x:Name="ZeigeNurMeineTermineCheckBox"
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Margin="3,3,3,3"
|
|
Checked="NurMeineTermineEinAusCheckBox_OnChecked"
|
|
Content="Nur meine Termine anzeigen"
|
|
IsChecked="{Binding Path=ZeigeNurMeineTermine, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
|
|
Unchecked="NurMeineTermineEinAusCheckBox_OnChecked" />
|
|
<UniformGrid
|
|
x:Name="AuswahlGrid"
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Width="270"
|
|
Columns="1"
|
|
Rows="2">
|
|
<TabControl
|
|
x:Name="TabControl"
|
|
SelectedIndex="{Binding SelectedTabItemIndex, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
SelectionChanged="Selector_OnSelectionChanged"
|
|
Visibility="{Binding SelectionControlVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<!--#region Mitarbeiterauswahl-->
|
|
<TabItem
|
|
x:Name="MitarbeiterTabItem"
|
|
Header="{markup:Translate Mitarbeiter}"
|
|
Style="{StaticResource MitarbeiterTabItemStyle}"
|
|
Visibility="{Binding EmployeeControlsVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<Grid x:Name="MitarbeiterTabGrid" Visibility="{Binding EmployeeControlsVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<CheckBox
|
|
x:Name="AlleMitarbeiterCB"
|
|
Grid.Column="0"
|
|
Margin="3"
|
|
Click="AllEmployeesCheckBox_OnClick"
|
|
Content="Alle auswählen"
|
|
Foreground="#FFD2D2D2" />
|
|
<ToggleButton
|
|
x:Name="EmployeeSearchToggleButton"
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Width="36"
|
|
Height="17"
|
|
Margin="3"
|
|
Checked="EmployeeSearchToggleButton_OnCheckedUnchecked"
|
|
Style="{StaticResource LupenToggleButtonStyle}"
|
|
Unchecked="EmployeeSearchToggleButton_OnCheckedUnchecked" />
|
|
<Grid
|
|
x:Name="MitarbeiterSuchGrid"
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Margin="0,1,0,3"
|
|
Background="Black"
|
|
Visibility="Collapsed">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Label
|
|
Grid.Column="0"
|
|
Content="Suche:"
|
|
Foreground="White" />
|
|
<TextBox
|
|
x:Name="MitarbeiterSuchTextBox"
|
|
Grid.Column="1"
|
|
Margin="3"
|
|
VerticalContentAlignment="Center"
|
|
TextChanged="TextBoxEmployees_OnTextChanged" />
|
|
<Button
|
|
Grid.Column="2"
|
|
Width="19"
|
|
Height="19"
|
|
Margin="0,3,3,3"
|
|
Click="ClearEmployeeSearchButton_OnClick"
|
|
Style="{DynamicResource CloseButtonStyle}"
|
|
ToolTip="Suchfeld leeren" />
|
|
</Grid>
|
|
<ListView
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Margin="0"
|
|
Background="Transparent"
|
|
BorderThickness="0"
|
|
ItemsSource="{Binding Path=FilteredEmployees, UpdateSourceTrigger=PropertyChanged}">
|
|
<ListView.ItemContainerStyle>
|
|
<Style TargetType="{x:Type ListViewItem}">
|
|
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="Margin" Value="0,2,2,0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Grid>
|
|
<Border
|
|
MinHeight="25"
|
|
Background="Transparent"
|
|
CornerRadius="5" />
|
|
<Border
|
|
x:Name="ItemBorder"
|
|
MinHeight="25"
|
|
Background="#FF000000"
|
|
CornerRadius="5">
|
|
<Border.OpacityMask>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#19000000" />
|
|
<GradientStop Offset="1" Color="#26000000" />
|
|
</LinearGradientBrush>
|
|
</Border.OpacityMask>
|
|
</Border>
|
|
<Border
|
|
x:Name="ItemContent"
|
|
MinHeight="25"
|
|
CornerRadius="5">
|
|
<Grid
|
|
Margin="5,3,5,3"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
OpacityMask="{x:Null}"
|
|
SnapsToDevicePixels="True">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<CheckBox
|
|
Checked="EmployeeListViewCheckBox_OnChecked"
|
|
Click="ListItem_OnClick"
|
|
Content="{Binding Path=Employee.DetailDescription}"
|
|
IsChecked="{Binding Path=(schedulingUtils:ListItemHelper.IsChecked), Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
Unchecked="EmployeeListViewCheckBox_OnChecked">
|
|
<CheckBox.Style>
|
|
<Style TargetType="{x:Type CheckBox}">
|
|
<Setter Property="Foreground" Value="#FFD2D2D2" />
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=(schedulingUtils:ListItemHelper.IsChecked)}" Value="False" />
|
|
</Style.Triggers>
|
|
</Style>
|
|
</CheckBox.Style>
|
|
</CheckBox>
|
|
<Border
|
|
Grid.Column="1"
|
|
Width="15"
|
|
Height="15"
|
|
Background="{Binding Path=Employee.FilterableBrush}"
|
|
CornerRadius="3" />
|
|
<Button
|
|
x:Name="btn_showEmployeeInformation"
|
|
Grid.Column="2"
|
|
Width="15"
|
|
Height="15"
|
|
Margin="5,0,5,0"
|
|
Click="EmployeeInformationButton_OnClick"
|
|
Content="i"
|
|
FontFamily="Microsoft Sans Serif"
|
|
Visibility="{Binding Converter={StaticResource InfoButtonVisibilityConverter}}" />
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#33000000" />
|
|
<GradientStop Offset="1" Color="#66000000" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<Trigger Property="ListBoxItem.IsSelected" Value="True">
|
|
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#70000000" />
|
|
<GradientStop Offset="1" Color="#BB000000" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="ListBoxItem.IsSelected" Value="True" />
|
|
<Condition Property="Selector.IsSelectionActive" Value="False" />
|
|
</MultiTrigger.Conditions>
|
|
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#70000000" />
|
|
<GradientStop Offset="1" Color="#B2000000" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</MultiTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</ListView.ItemContainerStyle>
|
|
</ListView>
|
|
</Grid>
|
|
</TabItem>
|
|
<!--#endregion Mitarbeiterauswahl-->
|
|
<!--#region Klientenauswahl-->
|
|
<TabItem
|
|
Header="{markup:Translate Klienten}"
|
|
Style="{StaticResource KlientenTabItemStyle}"
|
|
Visibility="{Binding CustomerControlsVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<CheckBox
|
|
x:Name="SelectAllCustomersCheckBox"
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Margin="3"
|
|
HorizontalAlignment="Left"
|
|
HorizontalContentAlignment="Center"
|
|
Click="AllCustomersCheckBox_Checked"
|
|
Content="Alle auswählen"
|
|
Foreground="#FFD2D2D2" />
|
|
<CheckBox
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Margin="3"
|
|
HorizontalAlignment="Right"
|
|
HorizontalContentAlignment="Center"
|
|
Click="OnlyMyCustomersCheckBox_Click"
|
|
Content="{markup:Translate Nur meine Klienten}"
|
|
Foreground="#FFD2D2D2"
|
|
IsThreeState="False" />
|
|
<ToggleButton
|
|
x:Name="CustomerSearchToggleButton"
|
|
Grid.Row="0"
|
|
Grid.Column="2"
|
|
Width="36"
|
|
Height="17"
|
|
Margin="3"
|
|
Checked="CustomerSearchToggleButton_OnCheckedUnchecked"
|
|
Style="{StaticResource LupenToggleButtonStyle}"
|
|
Unchecked="CustomerSearchToggleButton_OnCheckedUnchecked" />
|
|
<Grid
|
|
x:Name="KlientenSuchGrid"
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="3"
|
|
Margin="0,1,0,3"
|
|
Background="Black"
|
|
Visibility="Collapsed">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Label
|
|
Grid.Column="0"
|
|
Content="Suche:"
|
|
Foreground="White" />
|
|
<TextBox
|
|
x:Name="KlientenSuchTextBox"
|
|
Grid.Column="1"
|
|
Margin="3"
|
|
VerticalContentAlignment="Center"
|
|
TextChanged="TextBoxCustomers_OnTextChanged" />
|
|
<Button
|
|
Grid.Column="2"
|
|
Width="19"
|
|
Height="19"
|
|
Margin="0,3,3,3"
|
|
Click="ClearCustomerSearchButton_OnClick"
|
|
Style="{DynamicResource CloseButtonStyle}"
|
|
ToolTip="Suchfeld leeren" />
|
|
</Grid>
|
|
</Grid>
|
|
<ListView
|
|
Grid.Row="1"
|
|
Margin="0"
|
|
Background="Transparent"
|
|
BorderThickness="0"
|
|
ItemsSource="{Binding Path=FilteredCustomers, UpdateSourceTrigger=PropertyChanged}">
|
|
<ListView.ItemContainerStyle>
|
|
<Style TargetType="{x:Type ListViewItem}">
|
|
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="Margin" Value="0,2,2,0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Grid>
|
|
<Border
|
|
MinHeight="25"
|
|
Background="Transparent"
|
|
CornerRadius="5" />
|
|
<Border
|
|
x:Name="ItemBorder"
|
|
MinHeight="25"
|
|
Background="#FF000000"
|
|
CornerRadius="5">
|
|
<Border.OpacityMask>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#19000000" />
|
|
<GradientStop Offset="1" Color="#26000000" />
|
|
</LinearGradientBrush>
|
|
</Border.OpacityMask>
|
|
</Border>
|
|
<Border
|
|
x:Name="ItemContent"
|
|
MinHeight="25"
|
|
CornerRadius="5">
|
|
<Grid
|
|
Margin="5,3,5,3"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
OpacityMask="{x:Null}"
|
|
SnapsToDevicePixels="True">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<CheckBox
|
|
VerticalAlignment="Center"
|
|
Click="ListItem_OnClick"
|
|
Content="{Binding Path=DetailDescription}"
|
|
FontFamily="Microsoft Sans Serif"
|
|
FontSize="12"
|
|
Foreground="#FFD2D2D2"
|
|
Tag="{Binding}">
|
|
<CheckBox.IsChecked>
|
|
<MultiBinding
|
|
Converter="{StaticResource CheckBoxConverter}"
|
|
ConverterParameter="Klienten"
|
|
Mode="OneWay">
|
|
<Binding Mode="OneWay" Path="CustomerOid" />
|
|
<Binding
|
|
Mode="OneWay"
|
|
Path="DataContext"
|
|
RelativeSource="{RelativeSource FindAncestor,
|
|
AncestorType={x:Type localView:BeWoView}}"
|
|
UpdateSourceTrigger="PropertyChanged" />
|
|
</MultiBinding>
|
|
</CheckBox.IsChecked>
|
|
</CheckBox>
|
|
<Button
|
|
x:Name="btn_showCustomerInformation"
|
|
Grid.Column="1"
|
|
Width="15"
|
|
Height="15"
|
|
Margin="5,0,5,0"
|
|
Click="CustomerInformationButton_OnClick"
|
|
Content="i"
|
|
FontFamily="Microsoft Sans Serif"
|
|
Visibility="{Binding Converter={StaticResource InfoButtonVisibilityConverter}}" />
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#33000000" />
|
|
<GradientStop Offset="1" Color="#66000000" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<Trigger Property="ListBoxItem.IsSelected" Value="True">
|
|
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#99000000" />
|
|
<GradientStop Offset="1" Color="#CC000000" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="ListBoxItem.IsSelected" Value="True" />
|
|
<Condition Property="Selector.IsSelectionActive" Value="False" />
|
|
</MultiTrigger.Conditions>
|
|
<Setter TargetName="ItemBorder" Property="OpacityMask">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Offset="0" Color="#99000000" />
|
|
<GradientStop Offset="1" Color="#B2000000" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</MultiTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</ListView.ItemContainerStyle>
|
|
</ListView>
|
|
</Grid>
|
|
</TabItem>
|
|
<!--#endregion Klientenauswahl-->
|
|
<!--#region Ressourcenauswahl-->
|
|
<TabItem
|
|
x:Name="RessourcenTabItem"
|
|
Header="Ressourcen"
|
|
Style="{StaticResource RessourcenTabItemStyle}"
|
|
Visibility="{Binding ResourceControlsVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<CheckBox
|
|
x:Name="SelectAllResourcesCheckBox"
|
|
Grid.Row="0"
|
|
Margin="3"
|
|
Click="AllResourcesCheckBox_OnClick"
|
|
Content="Alle auswählen" />
|
|
<TreeView
|
|
Grid.Row="1"
|
|
Background="Transparent"
|
|
BorderThickness="0"
|
|
ItemContainerStyle="{StaticResource ResourceTreeViewStyle}"
|
|
ItemsSource="{Binding Path=Categories2Resources, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<TreeView.ItemTemplate>
|
|
<HierarchicalDataTemplate ItemsSource="{Binding Path=Value}">
|
|
<Border Height="23" BorderBrush="{x:Null}">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontWeight="Bold"
|
|
Text="{Binding Path=Key.ResourceCategory}" />
|
|
</Border>
|
|
<HierarchicalDataTemplate.ItemTemplate>
|
|
<DataTemplate>
|
|
<Border
|
|
Height="23"
|
|
Margin="1"
|
|
BorderBrush="{Binding DataContract.Color}"
|
|
BorderThickness="0,0,0,0"
|
|
Tag="{Binding}">
|
|
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
|
|
<CheckBox
|
|
Checked="ResourceTreeViewCheckBox_OnChecked"
|
|
Click="ListItem_OnClick"
|
|
IsChecked="{Binding Path=(schedulingUtils:TreeViewItemHelper.IsChecked), Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
Unchecked="ResourceTreeViewCheckBox_OnChecked">
|
|
<CheckBox.Style>
|
|
<Style TargetType="{x:Type CheckBox}">
|
|
<Setter Property="Foreground" Value="Black" />
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=(schedulingUtils:TreeViewItemHelper.IsChecked)}" Value="False" />
|
|
</Style.Triggers>
|
|
</Style>
|
|
</CheckBox.Style>
|
|
</CheckBox>
|
|
<Rectangle
|
|
Width="10"
|
|
Height="10"
|
|
Margin="1,0,1,0"
|
|
VerticalAlignment="Center"
|
|
Fill="{Binding DataContract.Color, Converter={StaticResource StringBrushConverter}}"
|
|
Stroke="Black"
|
|
StrokeThickness="1" />
|
|
<TextBlock VerticalAlignment="Center" Text="{Binding Path=DataContract.Name}" />
|
|
</StackPanel>
|
|
</Border>
|
|
</DataTemplate>
|
|
</HierarchicalDataTemplate.ItemTemplate>
|
|
</HierarchicalDataTemplate>
|
|
</TreeView.ItemTemplate>
|
|
</TreeView>
|
|
</Grid>
|
|
</TabItem>
|
|
<!--#endregion Ressourcenauswahl-->
|
|
</TabControl>
|
|
<!--#region Liste aller ausgewählten Mitarbeiter, Klienten, und Ressourcen-->
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<GroupBox
|
|
Grid.Row="0"
|
|
Margin="0,3,0,0"
|
|
Header="Ausgewählte Elemente"
|
|
Style="{StaticResource ObjectEditGroupBox}">
|
|
<ListBox
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalContentAlignment="Stretch"
|
|
Background="Transparent"
|
|
IsSynchronizedWithCurrentItem="True"
|
|
ItemContainerStyle="{DynamicResource MultiElementSelectionControlStyle}"
|
|
ItemsSource="{Binding Path=SelectedItems}">
|
|
<ListBox.Template>
|
|
<ControlTemplate TargetType="{x:Type ListBox}">
|
|
<Border
|
|
x:Name="Bd"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
SnapsToDevicePixels="True">
|
|
<ScrollViewer
|
|
Padding="{TemplateBinding Padding}"
|
|
Focusable="False"
|
|
HorizontalScrollBarVisibility="Disabled">
|
|
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
|
</ScrollViewer>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</ListBox.Template>
|
|
</ListBox>
|
|
</GroupBox>
|
|
<Button
|
|
Grid.Row="1"
|
|
Height="23"
|
|
Margin="30,0,5,0"
|
|
HorizontalAlignment="Stretch"
|
|
Click="AuswahlAufhebenClick"
|
|
Content="Auswahl aufheben" />
|
|
</Grid>
|
|
<!--#endregion /Liste aller ausgewählten Mitarbeiter, Klienten, und Ressourcen-->
|
|
</UniformGrid>
|
|
</Grid>
|
|
<!--#region Filter oben links-->
|
|
<StackPanel
|
|
x:Name="FilterCheckBoxenStackPanel"
|
|
Grid.Column="1"
|
|
HorizontalAlignment="Center"
|
|
Orientation="Vertical">
|
|
<CheckBox
|
|
x:Name="MitarbeiterEbenenCheckBox"
|
|
Margin="0,3,0,3"
|
|
Checked="ListItem_OnClick"
|
|
Content="{markup:Translate Nur Mitarbeiter}"
|
|
IsThreeState="False"
|
|
SnapsToDevicePixels="True"
|
|
Unchecked="ListItem_OnClick"
|
|
Visibility="{Binding EmployeeControlsVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<CheckBox.LayoutTransform>
|
|
<RotateTransform Angle="270" CenterX="0.5" CenterY="0.5" />
|
|
</CheckBox.LayoutTransform>
|
|
</CheckBox>
|
|
<CheckBox
|
|
x:Name="KlientenEbenenCheckBox"
|
|
Margin="0,0,0,3"
|
|
Checked="ListItem_OnClick"
|
|
Content="{markup:Translate Nur Klienten}"
|
|
IsThreeState="False"
|
|
SnapsToDevicePixels="True"
|
|
Unchecked="ListItem_OnClick"
|
|
Visibility="{Binding CustomerControlsVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<CheckBox.LayoutTransform>
|
|
<RotateTransform Angle="270" CenterX="0.5" CenterY="0.5" />
|
|
</CheckBox.LayoutTransform>
|
|
</CheckBox>
|
|
<CheckBox
|
|
x:Name="RessourcenEbenenCheckBox"
|
|
Margin="0,0,0,3"
|
|
Checked="ListItem_OnClick"
|
|
Content="Nur Ressourcen"
|
|
IsThreeState="False"
|
|
SnapsToDevicePixels="True"
|
|
Unchecked="ListItem_OnClick"
|
|
Visibility="{Binding ResourceControlsVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<CheckBox.LayoutTransform>
|
|
<RotateTransform Angle="270" CenterX="0.5" CenterY="0.5" />
|
|
</CheckBox.LayoutTransform>
|
|
</CheckBox>
|
|
</StackPanel>
|
|
<!--#endregion Filter oben links-->
|
|
<ToggleButton
|
|
x:Name="LeftExpanderButton"
|
|
Grid.Column="1"
|
|
Width="23"
|
|
Height="23"
|
|
Margin="3"
|
|
Click="LeftExpanderClick"
|
|
Style="{StaticResource VerticalExpanderLookAlikeToggleBotton}" />
|
|
|
|
<!-- SchedulerControl -->
|
|
<dxsch:SchedulerControl
|
|
x:Name="SchedulerControl"
|
|
Grid.Column="2"
|
|
dx:ThemeManager.ThemeName="Office2010Black"
|
|
ActiveViewType="WorkWeekView"
|
|
AppointmentAdded="SchedulerControl_OnAppointmentAdded"
|
|
AppointmentRemoved="SchedulerControl_OnAppointmentRemoved"
|
|
AppointmentRemoving="SchedulerControl_OnAppointmentRemoving"
|
|
AppointmentWindowShowing="SchedulerControl_OnAppointmentWindowShowing"
|
|
CommitAppointmentResize="SchedulerControl_OnCommitAppointmentResize"
|
|
CustomAllowAppointmentCreate="SchedulerControl_CustomAllowAppointmentCreate"
|
|
CustomAllowAppointmentDrag="SchedulerControl_CustomAllowAppointmentDrag"
|
|
CustomAllowAppointmentDragBetweenResources="SchedulerControl_CustomAllowAppointmentDragBetweenResources"
|
|
CustomAllowAppointmentEdit="SchedulerControl_CustomAllowAppointmentEdit"
|
|
CustomAllowAppointmentResize="SchedulerControl_CustomAllowAppointmentResize"
|
|
DropAppointment="SchedulerControl_OnDropAppointment"
|
|
EditOccurrenceWindowShowing="SchedulerControl_OnEditOccurrenceWindowShowing"
|
|
FirstDayOfWeek="Monday"
|
|
PastingFromClipboard="SchedulerControl_OnPastingFromClipboard"
|
|
PopupMenuShowing="SchedulerControl_OnPopupMenuShowing"
|
|
RecurrenceWindowShowing="SchedulerControl_OnRecurrenceWindowShowing"
|
|
SelectedAppointmentsSource="{Binding SelectedAppointments}"
|
|
SelectedInterval="{Binding Interval, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
ToolTipContentTemplate="{StaticResource TooltipTemplate}"
|
|
ToolTipMode="ToolTip">
|
|
<dxsch:SchedulerControl.OptionsContextMenu>
|
|
<dxsch:OptionsContextMenu>
|
|
<dxsch:OptionsContextMenu.CellContextMenuActions>
|
|
<!--
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_AppointmentDrop_Actions_CopyAppointmentsOnDrop}"/>
|
|
-->
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Cell_Actions_NewRecurringEvent}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Cell_Actions_NewAllDayEvent}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Cell_Actions_Paste}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Cell_Actions_NewRecurringAppointment}" />
|
|
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="Verfügbare Mitarbeiter anzeigen" ItemClick="EmployeeAvailabilityBarItem_OnItemClick" />
|
|
</dxb:InsertAction>
|
|
</dxsch:OptionsContextMenu.CellContextMenuActions>
|
|
<dxsch:OptionsContextMenu.AppointmentContextMenuActions>
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Appointment_Options_ShowTimeAs}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Appointment_Options_LabelAs}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Appointment_Actions_Cut}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Appointment_Actions_Copy}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Appointment_Actions_Paste}" />
|
|
<dxb:InsertAction>
|
|
<dxb:BarItemSeparator Name="ZusagenStackSeperatorTop" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="Zusagen" ItemClick="ConfirmParticipationBarButtonItem_OnClick" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="Mit Vorbehalt zusagen" ItemClick="AcceptWithReservationParticipationBarButtonItem_OnClick" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="Absagen" ItemClick="DeclineParticipationBarButtonItem_OnClick" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarItemSeparator Name="ZusagenStackSeperatorBottom" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="{markup:Translate In Zeiterfassung übertragen}" ItemClick="ZeiterfassungButtonItem_OnItemClick" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="Verfügbare Mitarbeiter anzeigen" ItemClick="EmployeeAvailabilityBarItem_OnItemClick" />
|
|
</dxb:InsertAction>
|
|
</dxsch:OptionsContextMenu.AppointmentContextMenuActions>
|
|
</dxsch:OptionsContextMenu>
|
|
</dxsch:SchedulerControl.OptionsContextMenu>
|
|
<dxsch:SchedulerControl.OptionsWindows>
|
|
<dxsch:OptionsWindows AppointmentWindowType="{x:Type local:AppointmentEditView}" RecurrenceWindowType="{x:Type local:AppointmentRecurrenceEditView}" />
|
|
</dxsch:SchedulerControl.OptionsWindows>
|
|
<dxsch:SchedulerControl.DataSource>
|
|
<dxsch:DataSource AppointmentsSource="{Binding VMList}">
|
|
<dxsch:DataSource.AppointmentMappings>
|
|
<dxsch:AppointmentMappings
|
|
AllDay="AllDay"
|
|
Description="Description"
|
|
End="End"
|
|
Id="Id"
|
|
LabelId="LabelKey"
|
|
Location="Location"
|
|
RecurrenceInfo="RecurrenceInfo"
|
|
Start="Start"
|
|
Subject="Subject"
|
|
Type="EventType">
|
|
<dxsch:CustomFieldMapping Name="VMForCustomField" Mapping="VMForCustomField" />
|
|
<dxsch:CustomFieldMapping Name="EmployeeList" Mapping="EmployeeList" />
|
|
<dxsch:CustomFieldMapping Name="CustomerList" Mapping="CustomerList" />
|
|
<dxsch:CustomFieldMapping Name="ResourceList" Mapping="ResourceList" />
|
|
<dxsch:CustomFieldMapping Name="Originator" Mapping="Originator" />
|
|
<dxsch:CustomFieldMapping Name="SupportConceptList" Mapping="SupportConceptList" />
|
|
<dxsch:CustomFieldMapping Name="IsPrivate" Mapping="IsPrivate" />
|
|
<dxsch:CustomFieldMapping Name="IsAbsenceTime" Mapping="IsAbsenceTime" />
|
|
<dxsch:CustomFieldMapping Name="IsTask" Mapping="IsTask" />
|
|
<dxsch:CustomFieldMapping Name="TaskDescription" Mapping="TaskDescription" />
|
|
<dxsch:CustomFieldMapping Name="CompletedNotice" Mapping="CompletedNotice" />
|
|
<dxsch:CustomFieldMapping Name="CompletedDate" Mapping="CompletedDate" />
|
|
<dxsch:CustomFieldMapping Name="DueDate" Mapping="DueDate" />
|
|
<dxsch:CustomFieldMapping Name="DueTime" Mapping="DueTime" />
|
|
<dxsch:CustomFieldMapping Name="AppointmentColors" Mapping="AppointmentColors" />
|
|
<dxsch:CustomFieldMapping Name="BackgroundColor" Mapping="BackgroundColor" />
|
|
<dxsch:CustomFieldMapping Name="ForegroundColor" Mapping="ForegroundColor" />
|
|
<dxsch:CustomFieldMapping Name="CanBeEdited" Mapping="CanBeEdited" />
|
|
<dxsch:CustomFieldMapping Name="ToolTip" Mapping="ToolTip" />
|
|
<dxsch:CustomFieldMapping Name="ToolTipTimeVisibility" Mapping="ToolTipTimeVisibility" />
|
|
<dxsch:CustomFieldMapping Name="ToolTipResourcesVisibility" Mapping="ToolTipResourcesVisibility" />
|
|
<dxsch:CustomFieldMapping Name="ToolTipEmployeesVisibility" Mapping="ToolTipEmployeesVisibility" />
|
|
<dxsch:CustomFieldMapping Name="ToolTipCustomersVisibility" Mapping="ToolTipCustomersVisibility" />
|
|
<dxsch:CustomFieldMapping Name="ToolTipTrennstrichVisibility" Mapping="ToolTipTrennstrichVisibility" />
|
|
<dxsch:CustomFieldMapping Name="ToolTipZusageVisibility" Mapping="ToolTipZusageVisibility" />
|
|
<dxsch:CustomFieldMapping Name="ResourcesToolTip" Mapping="ResourcesToolTip" />
|
|
<dxsch:CustomFieldMapping Name="EmployeesToolTip" Mapping="EmployeesToolTip" />
|
|
<dxsch:CustomFieldMapping Name="CustomersToolTip" Mapping="CustomersToolTip" />
|
|
</dxsch:AppointmentMappings>
|
|
</dxsch:DataSource.AppointmentMappings>
|
|
</dxsch:DataSource>
|
|
</dxsch:SchedulerControl.DataSource>
|
|
<dxsch:DayView
|
|
AllDayAppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}"
|
|
AppointmentContentTemplate="{StaticResource VerticalAppointmentControl.ContentTemplate}"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ResourcesPerPage="0"
|
|
ShowAllDayAppointmentRecurrenceImage="True"
|
|
ShowAllDayArea="True"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
ShowAppointmentStatus="False" />
|
|
|
|
<dxsch:WeekView
|
|
AllDayAppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}"
|
|
AppointmentContentTemplate="{StaticResource VerticalAppointmentControl.ContentTemplate}"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ResourcesPerPage="0"
|
|
ShowAllDayAppointmentRecurrenceImage="True"
|
|
ShowAllDayArea="True"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
ShowAppointmentStatus="False" />
|
|
|
|
<dxsch:WorkWeekView
|
|
AllDayAppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}"
|
|
AppointmentContentTemplate="{StaticResource VerticalAppointmentControl.ContentTemplate}"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ResourcesPerPage="0"
|
|
ShowAllDayAppointmentRecurrenceImage="True"
|
|
ShowAllDayArea="True"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
ShowAppointmentStatus="False" />
|
|
|
|
<dxsch:MonthView
|
|
AppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ResourcesPerPage="0"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
ShowAppointmentStatus="False" />
|
|
|
|
<dxsch:AgendaView
|
|
AppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
ShowAppointmentStatus="False" />
|
|
|
|
<dxsch:TimelineView
|
|
AppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ResourcesPerPage="0"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
ShowAppointmentStatus="False"
|
|
ViewMode="Legacy" />
|
|
</dxsch:SchedulerControl>
|
|
|
|
<ToggleButton
|
|
x:Name="RightExpanderButton"
|
|
Grid.Column="3"
|
|
Width="23"
|
|
Height="23"
|
|
Margin="3"
|
|
Click="RightExpanderClick"
|
|
Style="{StaticResource VerticalRightExpanderLookAlikeToggleBotton}" />
|
|
<dxe:DateNavigator
|
|
x:Name="DateNavigator"
|
|
Grid.Column="4"
|
|
VerticalAlignment="Stretch"
|
|
dx:ThemeManager.ThemeName="Office2010Black"
|
|
CalendarView="Month"
|
|
FirstDayOfWeek="Monday"
|
|
HighlightSpecialDates="True"
|
|
SelectedDatesChanged="DateNavigator_OnSelectedDatesChanged">
|
|
<dxe:DateNavigator.StyleSettings>
|
|
<dxsch:SchedulerDateNavigatorStyleSettings Scheduler="{Binding ElementName=SchedulerControl}" />
|
|
</dxe:DateNavigator.StyleSettings>
|
|
</dxe:DateNavigator>
|
|
</Grid>
|
|
<Border
|
|
x:Name="PopupContent"
|
|
Grid.Row="0"
|
|
Grid.RowSpan="2" />
|
|
|
|
<Popup
|
|
x:Name="DeleteAppointmentsPopup"
|
|
Grid.Row="0"
|
|
Width="290"
|
|
Height="80"
|
|
Closed="popup_Closed"
|
|
Opened="popup_Opened"
|
|
Placement="MousePoint"
|
|
StaysOpen="True">
|
|
<Grid Margin="2,2,2,2" Background="{StaticResource ControlBackground}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<Label
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Height="24"
|
|
Margin="0,0,0,0"
|
|
Content="Termine löschen bis: " />
|
|
<dxe:DateEdit
|
|
x:Name="DeleteForGoodIntervalEndDateEdit"
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Width="150"
|
|
Height="24"
|
|
Margin="0,0,0,0"
|
|
VerticalAlignment="Center"
|
|
MaskType="DateTimeAdvancingCaret" />
|
|
<StackPanel
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Margin="0,0,10,0"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
Orientation="Horizontal">
|
|
<Button Click="DeleteAppointmentsForGood_Click" Content="OK" />
|
|
<Button
|
|
Margin="3,0,0,0"
|
|
Click="AbortDeletingAppointments_Click"
|
|
Content="Abbrechen" />
|
|
</StackPanel>
|
|
</Grid>
|
|
</Popup>
|
|
</Grid>
|
|
</localView:BeWoView>
|