53 lines
3.2 KiB
XML
53 lines
3.2 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:vm="using:ClaudeDo.Ui.ViewModels"
|
|
xmlns:conv="using:ClaudeDo.Ui.Converters"
|
|
x:Class="ClaudeDo.Ui.Views.TaskListView"
|
|
x:DataType="vm:TaskListViewModel"
|
|
x:Name="Root">
|
|
<DockPanel>
|
|
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="4">
|
|
<TextBlock Text="Tasks" FontWeight="Bold" FontSize="14" VerticalAlignment="Center" Margin="4,0"/>
|
|
</StackPanel>
|
|
<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" Spacing="4" Margin="4">
|
|
<Button Content="+ Task" Command="{Binding AddTaskCommand}" MinWidth="60"/>
|
|
<Button Content="Edit" Command="{Binding EditTaskCommand}" MinWidth="50"/>
|
|
<Button Content="Delete" Command="{Binding DeleteTaskCommand}" MinWidth="50"/>
|
|
</StackPanel>
|
|
<ListBox ItemsSource="{Binding Tasks}"
|
|
SelectedItem="{Binding SelectedTask}"
|
|
Margin="4">
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate x:DataType="vm:TaskItemViewModel">
|
|
<Grid ColumnDefinitions="*,Auto,Auto" Margin="4,2" DoubleTapped="OnTaskItemDoubleTapped" PointerPressed="OnTaskItemPointerPressed">
|
|
<Grid.ContextFlyout>
|
|
<MenuFlyout>
|
|
<MenuItem Header="Edit"
|
|
Command="{Binding #Root.((vm:TaskListViewModel)DataContext).EditTaskCommand}"/>
|
|
<MenuItem Header="Delete"
|
|
Command="{Binding #Root.((vm:TaskListViewModel)DataContext).DeleteTaskCommand}"/>
|
|
<Separator/>
|
|
<MenuItem Header="Run Now"
|
|
Command="{Binding RunNowCommand}"/>
|
|
</MenuFlyout>
|
|
</Grid.ContextFlyout>
|
|
<StackPanel Grid.Column="0">
|
|
<TextBlock Text="{Binding Title}" FontWeight="SemiBold"/>
|
|
<TextBlock Text="{Binding TagsText}" FontSize="10" Foreground="Gray"
|
|
IsVisible="{Binding TagsText, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
|
</StackPanel>
|
|
<Border Grid.Column="1" CornerRadius="3" Padding="6,2" Margin="4,0"
|
|
Background="{Binding StatusText, Converter={x:Static conv:StatusColorConverter.Instance}}"
|
|
VerticalAlignment="Center">
|
|
<TextBlock Text="{Binding StatusText}" Foreground="White" FontSize="11"/>
|
|
</Border>
|
|
<Button Grid.Column="2" Content="Run" Command="{Binding RunNowCommand}"
|
|
Margin="4,0,0,0" VerticalAlignment="Center" Padding="8,2"
|
|
FontSize="11"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
</DockPanel>
|
|
</UserControl>
|