Files
BeWoPlaner/BeWo/View/Master/DokumenteView.xaml
2022-06-20 14:13:28 +02:00

424 lines
31 KiB
XML

<localView:BeWoView x:Class="BeWo.View.Master.DokumenteView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:master="clr-namespace:BeWo.View.Master"
xmlns:dxa="http://schemas.devexpress.com/winfx/2008/xaml/accordion"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
xmlns:controls="clr-namespace:BeWo.View.Controls"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<localView:BeWoView.Resources>
<Style TargetType="dxg:RowControl">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="AliceBlue" />
<Setter Property="Foreground" Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
<ContextMenu x:Name="contextMenu" x:Key="cm" MenuItem.Click="ContextMenu_Click" Opened="ContextMenu_Opened">
<MenuItem Header="Neu" >
<MenuItem.Icon>
<Image Source="..\Ressources\Icons\Add24.png"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Umbenennen">
<MenuItem.Icon>
<Image Source="..\Ressources\Icons\Rename24.png"/>
</MenuItem.Icon>
</MenuItem>
<Separator />
<MenuItem Header="Löschen" >
<MenuItem.Icon>
<Image Source="..\Ressources\Icons\Delete24.png"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
<ContextMenu x:Name="TemplateContextMenu" x:Key="templatecm" MenuItem.Click="TemplateContextMenu_Click" Opened="TemplateContextMenu_Opened">
<MenuItem Header="Neu" >
<MenuItem.Icon>
<Image Source="..\Ressources\Icons\Add24.png"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Umbenennen">
<MenuItem.Icon>
<Image Source="..\Ressources\Icons\Rename24.png"/>
</MenuItem.Icon>
</MenuItem>
<Separator />
<MenuItem Header="Neue Vorlage" >
<MenuItem.Icon>
<Image Source="..\Ressources\Icons\DocumentWithAdd.png"/>
</MenuItem.Icon>
</MenuItem>
<Separator />
<MenuItem Header="Löschen" >
<MenuItem.Icon>
<Image Source="..\Ressources\Icons\Delete24.png"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
<master:DeleteButtonVisibilityConverter x:Key="DeleteButtonVisibilityConverter" />
<master:EditButtonVisibilityConverter x:Key="EditButtonVisibilityConverter" />
</localView:BeWoView.Resources>
<Grid>
<uc:ShadowChrome>
<GroupBox Style="{StaticResource MainContentGroupBoxStyle}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Margin="0,11,0,0">
<Image Source="..\..\Ressources\Icons\Folder.png" RenderTransformOrigin="0.5,0.5" Width="32">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1.3" ScaleY="1.3" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="-2" />
</TransformGroup>
</Image.RenderTransform>
</Image>
<TextBox Text="Dokumente" Margin="10,0,0,0" Background="{x:Null}" Foreground="{DynamicResource MainGroupBoxForegroundBrush}" FontSize="22" BorderBrush="{x:Null}" VerticalAlignment="Stretch" Padding="0,0,0,0" BorderThickness="0,0,0,0" />
</StackPanel>
</GroupBox.Header>
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<dxlc:LayoutControl Orientation="Horizontal">
<dxlc:LayoutGroup dxlc:LayoutControl.AllowHorizontalSizing="True" Width="300">
<Grid Margin="0,0,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Content="Suche" Margin="0,0,0,0" />
<TextBox Height="20" Grid.Column="1" x:Name="textbox_searchForFileName" Margin="3,2,0,5" HorizontalContentAlignment="Stretch" TabIndex="0" Template="{DynamicResource SearchTextBoxTemplate}" BorderThickness="0,0,0,0" KeyDown="TextBox_KeyDown"/>
<dxg:TreeListControl Grid.Row="1" Grid.ColumnSpan="2" x:Name="documents_treeview_control" Margin="0 0 0 0" VerticalAlignment="Stretch" dx:ThemeManager.ThemeName="Office2010Black">
<dxg:TreeListControl.Columns>
<dxg:TreeListColumn FieldName="Name" AllowSorting="False" Width="300">
<!--<dxg:TreeListColumn.CellStyle>
<Style TargetType="dxg:LightweightCellEditor" BasedOn="{StaticResource {dxgt:GridRowThemeKey ResourceKey=LightweightCellStyle}}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#B1D6F0" />
</Trigger>
</Style.Triggers>
<Setter Property="ToolTipService.ToolTip" Value="{Binding Path=RowData.Row.Text}" />
</Style>
</dxg:TreeListColumn.CellStyle>-->
</dxg:TreeListColumn>
</dxg:TreeListControl.Columns>
<dxg:TreeListControl.View>
<dxg:TreeListView x:Name="DocumentsTreeView" PreviewMouseLeftButtonDown="DocumentsTreeView_PreviewMouseLeftButtonDown" ShowColumnHeaders="False" ShowIndicator="False" ShowHorizontalLines="False" ShowVerticalLines="False"
FocusedRowChanged="DocumentsTreeView_FocusedRowChanged" LostFocus="DocumentsTreeView_LostFocus"
NodeExpanding="treeListView_NodeExpanding" AllowEditing="False" ShowNodeImages="True" PrintNodeImages="True" AutoWidth="True"
KeyFieldName="{Binding DocumentTreeItemVM.DocTreeItemOid}" ParentFieldName="Binding DocumentTreeItemVM.ParentOid" ContextMenu="{StaticResource cm}" VerticalScrollbarVisibility="Auto" HorizontalScrollbarVisibility="Auto">
<!--<dxg:TreeListView.RowStyle>
<Style BasedOn="{StaticResource {dxgt:GridRowThemeKey ResourceKey=RowStyle}}" TargetType="dxg:rows">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#B1D6F0"/>
</Trigger>
</Style.Triggers>
</Style>
</dxg:TreeListView.RowStyle>-->
</dxg:TreeListView>
</dxg:TreeListControl.View>
</dxg:TreeListControl>
</Grid>
</dxlc:LayoutGroup>
<dxlc:LayoutGroup dxlc:LayoutControl.AllowHorizontalSizing="True">
<Grid Grid.Column="1" Grid.Row="0" Grid.RowSpan="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox x:Name="GroupBoxDokumentenListe" Grid.ColumnSpan="2" Padding="5" Style="{StaticResource ObjectEditGroupBox}" Header="">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button Name="button_uploadDocument" Click="button_OpenUploadDocument_Click" Grid.Column="0" Grid.Row="0">Datei hochladen</Button>
<controls:PopupNonTopmost Grid.Row="0" Topmost="False" x:Name="popup_UploadFiles" Width="350" StaysOpen="True" Placement="MousePoint">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_uploadDocument" Header="Dokument hochladen" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Label VerticalAlignment="Center" Content="{markup:Translate Datei}" />
<uc:PopUpEdit IsReadOnly="True" DeleteButtonVisibility="Collapsed"
Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="3" Height="23" x:Name="popupedit_file"
PopUpClick="popupedit_file_PopUpClick_1" Cursor="Arrow" />
<Label Content="Beschreibung" Grid.Row="2" Grid.Column="0" VerticalAlignment="Top" />
<TextBox x:Name="textbox_beschreibung" Grid.Row="2" Grid.Column="1" Height="50" Margin="3" Grid.ColumnSpan="2" />
<Button Grid.Row="4" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Bottom" Height="25"
Margin="3" Content="Hochladen" x:Name="button_uploadFile" Click="button_uploadDocument_Click" />
<Button Grid.Row="4" Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Height="25"
Margin="3" Content="Abbrechen" x:Name="button_cancelFileUpload" Click="button_cancelFileUpload_Click" />
</Grid>
</GroupBox>
</Border>
</controls:PopupNonTopmost>
<!--<Label Grid.Column="1" Margin="25 1 0 0" FontSize="13">Beschreibung</Label>
<TextBox Name="textbox_fileNotice" Margin="3" Height="23" Grid.Column="2" Grid.Row="0" />-->
<ProgressBar Height="20" Margin="2" Name="progressbar_upload" Grid.Row="1" Grid.ColumnSpan="3" Minimum="0" Maximum="1" />
<Label HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="2" Grid.ColumnSpan="3" Name="text_progress" />
</Grid>
<!--<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Row="1" Content="Datei" />
<uc:PopUpEdit IsReadOnly="True" Name="popupedit_file" Grid.Column="1" Margin="3" Height="23" Grid.Row="1" DeleteButtonVisibility="Collapsed" PopUpClick="popupedit_file_PopUpClick" />
<Label Grid.Row="1" Grid.Column="2" Content="Beschreibung" />
<TextBox Name="textbox_fileNotice" Margin="3" Height="23" Grid.Row="1" Grid.Column="3" />
<Button IsEnabled="False" Name="button_uploadDocument" Margin="3" Height="25" Grid.Row="1" Grid.Column="4" Click="button_uploadDocument_Click" Content="Dokument hochladen" />
<ProgressBar Height="20" Margin="3" Name="progressbar_upload" Grid.Row="2" Grid.ColumnSpan="5" Minimum="0" Maximum="1" />
<Label VerticalAlignment="Center" Grid.Row="2" Grid.ColumnSpan="5" HorizontalAlignment="Center" Name="text_progress" />
</Grid>-->
</GroupBox>
<dxg:GridControl Grid.Row="1" Margin="2,3,5,5" DataSource="{Binding SelectedItem.Files, ElementName=treeview}" x:Name="datagrid_documents" Grid.Column="1">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="FileName" Header="" FixedWidth="True" Width="24" ReadOnly="True" Visible="{Binding Converter={StaticResource DeleteButtonVisibilityConverter}}">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="r" FontFamily="Webdings" Click="DeleteButton_Click" Width="20" Height="20" VerticalAlignment="Center" ToolTip="Löschen" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn Header="" FixedWidth="True" Width="24" ReadOnly="True" Visible="{Binding Converter={StaticResource EditButtonVisibilityConverter}}">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="!" FontFamily="Wingdings" Click="EditButton_Click" Width="20" Height="20" VerticalAlignment="Center" ToolTip="Bearbeiten"/>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="InsertedOn" AllowEditing="False" Header="hinterlegt am" Width="*" />
<dxg:GridColumn FieldName="InsertedBy" AllowEditing="False" Header="hinterlegt von" Width="*" />
<dxg:GridColumn FieldName="FileName" AllowEditing="False" Header="Dateiname" Width="*" />
<dxg:GridColumn FieldName="Description" AllowEditing="False" Header="Beschreibung" Width="*" />
<dxg:GridColumn FieldName="URL" Header="Herunterladen" Width="100" MinWidth="90" x:Name="ColumnDownload">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<Hyperlink TargetName="inexistent" NavigateUri="{Binding Path=Value, Converter={StaticResource DownloadURLConverter}}" RequestNavigate="Hyperlink_OnRequestNavigate">
<TextBlock Text="herunterladen" />
</Hyperlink>
</TextBlock>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="false" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" x:Name="DocumentTableView"/>
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
</dxlc:LayoutGroup>
</dxlc:LayoutControl>
<TabControl Visibility="Collapsed">
<TabItem>
<TabItem.Header>
<TextBlock Text="{markup:Translate Alle Dokumente}" TextElement.FontSize="16" TextElement.Foreground="{StaticResource TabItemHotTextBrush}" TextElement.FontFamily="Microsoft Sans Serif" Padding="3"></TextBlock>
</TabItem.Header>
<!-- Hier kommt das Dokumentenzeug hin wenn Templates wieder angeschaltet werden/-->
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="{markup:Translate Vorlagen}" TextElement.FontSize="16" TextElement.Foreground="{StaticResource TabItemHotTextBrush}" TextElement.FontFamily="Microsoft Sans Serif" Padding="3"></TextBlock>
</TabItem.Header>
<Grid Margin="0,3,0,0" Grid.Row="0" Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<dxg:TreeListControl x:Name="template_treeview_control" Grid.Column="0" DefaultSorting="Name" Margin="2,3,5,5" VerticalAlignment="Stretch" dx:ThemeManager.ThemeName="Office2010Black">
<dxg:TreeListControl.Columns>
<dxg:TreeListColumn FieldName="Name" AllowSorting="True"/>
</dxg:TreeListControl.Columns>
<dxg:TreeListControl.View>
<dxg:TreeListView x:Name="TemplateTreeView" PreviewMouseLeftButtonDown="TemplateTreeView_PreviewMouseLeftButtonDown" ShowColumnHeaders="False"
ShowIndicator="False" ShowHorizontalLines="False" ShowVerticalLines="False" FocusedRowChanged="TemplateTreeView_FocusedRowChanged"
LostFocus="TemplateTreeView_LostFocus" NodeExpanding="templateTreeListView_NodeExpanding" AllowEditing="False" ShowNodeImages="True" PrintNodeImages="True"
KeyFieldName="{Binding DocumentTreeItemVM.DocTreeItemOid}" ParentFieldName="Binding DocumentTreeItemVM.ParentOid" ContextMenu="{StaticResource templatecm}">
</dxg:TreeListView>
</dxg:TreeListControl.View>
</dxg:TreeListControl>
<!--
<Grid Grid.Column="2" Grid.Row="0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox Grid.ColumnSpan="2" Padding="5" Style="{StaticResource ObjectEditGroupBox}" Header="Neue Datei hochladen">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button Name="button_uploadDocument" Click="popupedit_file_PopUpClick" Grid.Column="0" Grid.Row="0">Datei hochladen</Button>
<Label Grid.Column="1" Margin="25 1 0 0" FontSize="13">Beschreibung</Label>
<TextBox Name="textbox_fileNotice" Margin="3" Height="23" Grid.Column="2" Grid.Row="0" />
<ProgressBar Height="20" Margin="2" Name="progressbar_upload" Grid.Row="1" Grid.ColumnSpan="3" Minimum="0" Maximum="1" />
<Label HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="2" Grid.ColumnSpan="3" Name="text_progress" />
</Grid>
-->
<!--
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Row="1" Content="Datei" />
<uc:PopUpEdit IsReadOnly="True" Name="popupedit_file" Grid.Column="1" Margin="3" Height="23" Grid.Row="1" DeleteButtonVisibility="Collapsed" PopUpClick="popupedit_file_PopUpClick" />
<Label Grid.Row="1" Grid.Column="2" Content="Beschreibung" />
<TextBox Name="textbox_fileNotice" Margin="3" Height="23" Grid.Row="1" Grid.Column="3" />
<Button IsEnabled="False" Name="button_uploadDocument" Margin="3" Height="25" Grid.Row="1" Grid.Column="4" Click="button_uploadDocument_Click" Content="Dokument hochladen" />
<ProgressBar Height="20" Margin="3" Name="progressbar_upload" Grid.Row="2" Grid.ColumnSpan="5" Minimum="0" Maximum="1" />
<Label VerticalAlignment="Center" Grid.Row="2" Grid.ColumnSpan="5" HorizontalAlignment="Center" Name="text_progress" />
</Grid>
</GroupBox>
-->
<dxg:GridControl Grid.Row="0" Margin="2,3,5,5" DataSource="{Binding SelectedItem.Files, ElementName=treeview}" x:Name="datagrid_templates" Grid.Column="1">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="FileName" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="r" FontFamily="Webdings" Click="TemplateDeleteButton_Click" Width="20" Height="20" VerticalAlignment="Center" Margin="1"/>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Name" AllowEditing="False" Header="Dateiname" Width="*" />
<dxg:GridColumn FieldName="Beschreibung" AllowEditing="False" Header="Beschreibung" Width="*" />
<dxg:GridColumn FieldName="FileEdit" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="N" FontFamily="Webdings" Click="EditTemplate_Click" Width="20" Height="20" VerticalAlignment="Center" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="PrintFile" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="🖶" FontSize="14" Click="PrintTemplate_Click" Width="20" Height="20" VerticalAlignment="Center" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="false" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" x:Name="TemplateTableView"/>
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
</TabItem>
</TabControl>
</Grid>
</GroupBox>
</uc:ShadowChrome>
</Grid>
</localView:BeWoView>