146 lines
8.4 KiB
XML
146 lines
8.4 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:materialIcons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
|
xmlns:vm="clr-namespace:PSCHelpdesk.Plugins.HetznerServer.ViewModels"
|
|
xmlns:converter="clr-namespace:PSCHelpdesk.Plugins.HetznerServer.Converter"
|
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
|
x:Class="PSCHelpdesk.Plugins.HetznerServer.Views.ServerView"
|
|
xmlns:v="clr-namespace:PSCHelpdesk.Plugins.HetznerServer.Views"
|
|
x:DataType="vm:ServerViewModel"
|
|
Name="Servers">
|
|
<Design.DataContext>
|
|
<vm:ServerViewModel></vm:ServerViewModel>
|
|
</Design.DataContext>
|
|
<UserControl.Resources>
|
|
<converter:StatusConverter x:Key="StatusConverter"></converter:StatusConverter>
|
|
<converter:DateTimeConverter x:Key="DateTimeConverter"></converter:DateTimeConverter>
|
|
</UserControl.Resources>
|
|
<Grid ColumnDefinitions="*,4,*">
|
|
<Grid Grid.Column="0" Margin="20" RowDefinitions="Auto,Auto,*">
|
|
<StackPanel Grid.Row="0" Margin="0 0 0 5">
|
|
<TextBlock Margin="0 5" >Suchtext</TextBlock>
|
|
<TextBox Text="{Binding SearchText}"></TextBox>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Grid.Row="1" Margin="0 0 0 5">
|
|
<Button Content="ReScan" Command="{Binding ReScan}"></Button>
|
|
<Button Content="Apt Upgrade" Command="{Binding AptUpdate}"></Button>
|
|
<Button Content="Reboot" Command="{Binding Reboot}"></Button>
|
|
<!-- <TextBox Grid.Row="1" Text="{Binding Json}"></TextBox>-->
|
|
</StackPanel>
|
|
|
|
<DataGrid Grid.Row="2" ItemsSource="{Binding Server}"
|
|
AutoGenerateColumns="False" IsReadOnly="True"
|
|
GridLinesVisibility="All" CanUserReorderColumns="True"
|
|
CanUserResizeColumns="True"
|
|
BorderThickness="1" BorderBrush="Gray"
|
|
x:Name="ServerTable">
|
|
<DataGrid.Styles>
|
|
<Style Selector="DataGridCell.status">
|
|
<Setter Property="Foreground" Value="{Binding Status, Converter={StaticResource StatusConverter}}" />
|
|
</Style>
|
|
<Style Selector="DataGridCell.lastBackup">
|
|
<Setter Property="Foreground" Value="{Binding BackupLastModified, Converter={StaticResource DateTimeConverter}}" />
|
|
</Style>
|
|
</DataGrid.Styles>
|
|
<Interaction.Behaviors>
|
|
<EventTriggerBehavior EventName="SelectionChanged">
|
|
<InvokeCommandAction Command="{Binding SelectionChanged}" PassEventArgsToCommand="true"></InvokeCommandAction>
|
|
</EventTriggerBehavior>
|
|
</Interaction.Behaviors>
|
|
<DataGrid.Columns>
|
|
<DataGridTemplateColumn Header="Select Server">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<CheckBox HorizontalAlignment="Center" IsChecked="{Binding IsChecked}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Width="30" IsReadOnly="True">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<materialIcons:MaterialIcon Foreground="{Binding IsGoodColor}" Kind="{Binding IsGoodIcon}" />
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Header="Has Restart">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<CheckBox HorizontalAlignment="Center" IsChecked="{Binding IsRestartAlways}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Header="Has Need Restart">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<CheckBox HorizontalAlignment="Center" IsChecked="{Binding HasNeedRestart}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Width="75" Header="Id" Binding="{Binding ServerId}"/>
|
|
<DataGridTemplateColumn Header="Name">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBox HorizontalAlignment="Left" Text="{Binding Name}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Width="60" Header="Status" Binding="{Binding Status}" CellStyleClasses="status" />
|
|
<DataGridTextColumn Width="45" Header="Type" Binding="{Binding Type}" />
|
|
<DataGridTemplateColumn Header="IpV4">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBox HorizontalAlignment="Left" Text="{Binding Ipv4}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Width="*" Header="IpV6" Binding="{Binding Ipv6}" />
|
|
<DataGridTextColumn Header="Datum"
|
|
Binding="{Binding Datum}"
|
|
Width="80" />
|
|
<DataGridTextColumn Header="Re"
|
|
Binding="{Binding Release}"
|
|
Width="35" />
|
|
|
|
<DataGridTextColumn Header="Last Backup"
|
|
Binding="{Binding BackupLastModified}"
|
|
Width="*"
|
|
CellStyleClasses="lastBackup"/>
|
|
<DataGridTemplateColumn Width="*" Header="">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Button
|
|
HorizontalAlignment="Center"
|
|
HorizontalContentAlignment="Center"
|
|
Background="#232323"
|
|
Click="openSSH"
|
|
Content="Open SSH"
|
|
Foreground="White" />
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Width="*" Header="">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Button
|
|
HorizontalAlignment="Center"
|
|
HorizontalContentAlignment="Center"
|
|
Background="#232323"
|
|
Click="openSCP"
|
|
Content="Open SCP"
|
|
Foreground="White" />
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
|
|
</Grid>
|
|
<GridSplitter Grid.Column="1" Background="Black" ResizeDirection="Columns"/>
|
|
<StackPanel Grid.Column="2" Margin="5 0">
|
|
<v:ServerDetailView></v:ServerDetailView>
|
|
</StackPanel>
|
|
</Grid>
|
|
</UserControl>
|