ownChat: Neues TimeStamp-Objekt wird unterstützt und der Chat funktioniert wieder.
173 lines
14 KiB
XML
173 lines
14 KiB
XML
<dx:DXWindow x:Class="BeWo.Scheduling.View.OpenAppointmentsView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
|
xmlns:drawing="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/internal"
|
|
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
|
|
xmlns:converter="clr-namespace:BeWo.Scheduling.Converter"
|
|
mc:Ignorable="d" Height="400" Width="650"
|
|
ShowIcon="False" MinHeight="300" MinWidth="500"
|
|
dx:ThemeManager.ThemeName="Office2010Black"
|
|
WindowStartupLocation="CenterScreen" Closing="OpenAppointmentsView_OnClosing">
|
|
<dx:DXWindow.Resources>
|
|
<drawing:TimeSpanToDateTimeConverter x:Key="TimeSpanToDateTimeConverter"/>
|
|
<converter:RecurringAppointmentDurationConverter x:Key="RecurringAppointmentDurationConverter" />
|
|
<converter:RequestVisibilityConverter x:Key="RequestVisibilityConverter" />
|
|
<converter:ParticipationRequestListViewConverter x:Key="ParticipationRequestListViewConverter" />
|
|
<LinearGradientBrush x:Key="NavigationContentBrush" EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#FF04B4D0" Offset="0" />
|
|
<GradientStop Color="#FF038195" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</dx:DXWindow.Resources>
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<ListView x:Name="OpenAppointmentsList" Grid.Column="0" MinWidth="120" SelectionMode="Single" Margin="3"
|
|
ItemsSource="{Binding OpenAppointments, UpdateSourceTrigger=PropertyChanged}" MaxWidth="300"
|
|
SelectedItem="{Binding SelectedAppointment, UpdateSourceTrigger=PropertyChanged}"
|
|
Background="{StaticResource NavigationContentBrush}" SelectedIndex="0">
|
|
<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,1,0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Grid>
|
|
<Border CornerRadius="5" MinHeight="20" Background="Transparent" />
|
|
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="20" Background="#FF000000">
|
|
<Border.OpacityMask>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#19000000" Offset="0" />
|
|
<GradientStop Color="#26000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Border.OpacityMask>
|
|
</Border>
|
|
<Border x:Name="ItemContent" CornerRadius="5" MinHeight="20">
|
|
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
|
|
<TextBlock VerticalAlignment="Center" Text="{Binding Converter={StaticResource ParticipationRequestListViewConverter}, ConverterParameter=LabelId}" FontSize="12" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#33000000" Offset="0" />
|
|
<GradientStop Color="#66000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<Trigger Property="ListBoxItem.IsSelected" Value="True">
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#99000000" Offset="0" />
|
|
<GradientStop Color="#CC000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="ListBoxItem.IsSelected" Value="True" />
|
|
<Condition Property="Selector.IsSelectionActive" Value="False" />
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#99000000" Offset="0" />
|
|
<GradientStop Color="#B2000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</MultiTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</ListView.ItemContainerStyle>
|
|
</ListView>
|
|
<Grid Grid.Column="1" Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<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="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Grid.ColumnSpan="4" HorizontalAlignment="Center" Visibility="{Binding Path=SelectedAppointment, Converter={StaticResource RequestVisibilityConverter}, ConverterParameter=TerminVerstrichen}" Foreground="#9a0000">Dieser Termin liegt in der Vergangenheit</TextBlock>
|
|
<Label Grid.Column="0" Grid.Row="1" Content="Betreff" Margin="3" />
|
|
<TextBox Grid.Column="1" Grid.ColumnSpan="3" Grid.Row="1" Height="23" Margin="3" Text="{Binding Path=SelectedAppointment.Subject, Mode=OneWay}" IsReadOnly="True" />
|
|
|
|
<Label Grid.Column="0" Grid.Row="2" Content="Ort" Margin="3" />
|
|
<TextBox Grid.Column="1" Grid.ColumnSpan="3" Grid.Row="2" Height="23" Margin="3" Text="{Binding Path=SelectedAppointment.Location, Mode=OneWay}" IsReadOnly="True" />
|
|
|
|
<Label Grid.Column="0" Grid.Row="3" Content="Organisator" Margin="3" />
|
|
<TextBox Grid.Column="1" Grid.ColumnSpan="3" Grid.Row="3" Height="23" Margin="3" Text="{Binding Path=SelectedAppointment.Originator.FirstNameLastName, Mode=OneWay}" IsReadOnly="True" />
|
|
|
|
<Label Grid.Column="0" Grid.Row="4" VerticalAlignment="Center" Content="Start" Margin="3"/>
|
|
<dxe:DateEdit Grid.Column="1" Grid.Row="4" MaskType="DateTimeAdvancingCaret" Background="White" Height="23" MinWidth="80" Margin="3" IsEnabled="True" EditValue="{Binding SelectedAppointment.Start, Mode=OneWay}" IsReadOnly="True" PopupOpening="PopupBaseEdit_OnPopupOpening" />
|
|
<dxe:TextEdit IsEnabled="True" Grid.Column="2" Grid.Row="4" MaskType="DateTime" Mask="t" MaskUseAsDisplayFormat="True" Margin="3" Height="23" EditValue ="{Binding SelectedAppointment.StartTime, Converter={StaticResource TimeSpanToDateTimeConverter}, Mode=OneWay}" IsReadOnly="True"/>
|
|
<dxe:CheckEdit IsEnabled="False" Grid.Column="3" Grid.Row="4" Content="Ganztägig" EditValue ="{Binding SelectedAppointment.AllDay, Mode=OneWay}" HorizontalAlignment="Right" Margin="3" IsReadOnly="True" />
|
|
|
|
<Label Grid.Column="0" Grid.Row="5" VerticalAlignment="Center" Content="Ende" Margin="3"/>
|
|
<dxe:DateEdit IsEnabled="True" Grid.Column="1" Grid.Row="5" MaskType="DateTimeAdvancingCaret" Background="White" Height="23" MinWidth="80" Margin="3" EditValue="{Binding SelectedAppointment.End, Mode=OneWay}" IsReadOnly="True" PopupOpening="PopupBaseEdit_OnPopupOpening" />
|
|
<dxe:TextEdit IsEnabled="True" Grid.Column="2" Grid.Row="5" MaskType="DateTime" Mask="t" MaskUseAsDisplayFormat="True" Margin="3" Height="23" EditValue ="{Binding SelectedAppointment.EndTime, Converter={StaticResource TimeSpanToDateTimeConverter}, Mode=OneWay}" IsReadOnly="True"/>
|
|
|
|
<Label Grid.Column="0" Grid.Row="6" VerticalAlignment="Center" Content="Serientermin" Margin="3" Visibility="{Binding Path=SelectedAppointment, Converter={StaticResource RequestVisibilityConverter}, ConverterParameter=SerienterminLabel}" />
|
|
<TextBlock Grid.Column="1" Grid.Row="6" Grid.ColumnSpan="3" Margin="3" Padding="0" Foreground="Black" VerticalAlignment="Center"
|
|
Text="{Binding Path=SelectedAppointment, Converter={StaticResource RecurringAppointmentDurationConverter}}"
|
|
Visibility="{Binding Path=SelectedAppointment, Converter={StaticResource RequestVisibilityConverter}, ConverterParameter=SerienterminLabel}"
|
|
TextWrapping="WrapWithOverflow"/>
|
|
|
|
<Label Grid.Column="0" Grid.Row="7" Margin="3" Content="Notiz"/>
|
|
<TextBox Grid.Column="1" Grid.Row="7" Grid.ColumnSpan="3" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Disabled" Margin="3" TextWrapping="Wrap" Text="{Binding Path=SelectedAppointment.Description, Mode=OneWay}" IsReadOnly="True" />
|
|
|
|
<Grid Grid.Row="8" Grid.Column="0" Grid.ColumnSpan="4">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Button x:Name="AlleBestaetigen" Grid.Column="0" Content="Alle bestätigen" Margin="3" Click="ConfirmAllButton_OnClick" Width="100" />
|
|
<StackPanel x:Name="ZusagenStack" Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal" Visibility="{Binding Path=SelectedAppointment, Converter={StaticResource RequestVisibilityConverter}, ConverterParameter=ZusagenStack}">
|
|
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
|
|
<Button Margin="3" Content="Zusagen" Click="ConfirmButton_OnClick" IsEnabled="{Binding SelectedAppointment, Converter={StaticResource ObjectBoolConverter}}" />
|
|
<Button Margin="3" Content="Mit Vorbehalt" Click="ConfirmWithReservationButton_OnClick" IsEnabled="{Binding SelectedAppointment, Converter={StaticResource ObjectBoolConverter}}" />
|
|
<Button Margin="3" Content="Absagen" Click="RejectButton_OnClick" IsEnabled="{Binding SelectedAppointment, Converter={StaticResource ObjectBoolConverter}}" />
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Grid>
|
|
<Button x:Name="OkButton" Grid.Row="8" Grid.Column="0" Grid.ColumnSpan="4" HorizontalAlignment="Right" Margin="3" Width="100" Content="OK" Click="OkButton_OnClick" Visibility="{Binding Path=SelectedAppointment, Converter={StaticResource RequestVisibilityConverter}, ConverterParameter=OKBtn}" />
|
|
</Grid>
|
|
</Grid>
|
|
<Button Grid.Row="1" x:Name="CloseBtn" Content="Schließen" HorizontalAlignment="Right" Margin="3" Width="100" Click="CloseButton_OnClick" />
|
|
</Grid>
|
|
</dx:DXWindow>
|