﻿<pu:WindowX x:Class="HMI.DataViewer.DbSettingModal"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            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:local="clr-namespace:HMI.DataViewer"
            xmlns:pw="https://opensource.panuon.com/wpf"
            xmlns:pu="https://opensource.panuon.com/wpf-ui"
            xmlns:uic="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
            xmlns:ui="clr-namespace:HMI.UI;assembly=HMI.UI"
            xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
            mc:Ignorable="d"
            Title="Form"
            SizeToContent="Height"
            Width="800"
            WindowStartupLocation="CenterOwner"
            BorderBrush="#3E3E45"
            BorderThickness="1"
            Foreground="Black"
            Style="{StaticResource ModalWindow}">
    <Grid Margin="10">
        <StackPanel x:Name="formPanel">
            <pu:FormGroup Header="{DynamicResource Dv.Datasource.Name}"
                          dp:FormGroupHelper.IsRequired="True"
                          Style="{StaticResource InputFormGroupStyle}"
                          GroupName="MyFormGroup">
                <TextBox Style="{StaticResource EditorTextBoxStyle}" x:Name="programInput"/>
            </pu:FormGroup>

            <pu:FormGroup Header="{DynamicResource Dv.Datasource.File}"
                          dp:FormGroupHelper.IsRequired="True"
                          Style="{StaticResource InputFormGroupStyle}"
                          GroupName="MyFormGroup">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition Width="Auto"/>
                    </Grid.ColumnDefinitions>
                    <TextBox Style="{StaticResource EditorTextBoxStyle}" IsReadOnly="True" x:Name="dbFilePathInput"/>
                    <Button Style="{StaticResource SearchButton}" x:Name="searchBtn" Click="Button_Click" Grid.Column="1"/>
                </Grid>
            </pu:FormGroup>

            <pu:FormGroup Header="{DynamicResource Dv.Datasource.Table}"
                          dp:FormGroupHelper.IsRequired="True"
                          Style="{StaticResource InputFormGroupStyle}"
                          GroupName="MyFormGroup">
                <ComboBox Style="{StaticResource FormComboxStyle}" SelectedValuePath="Content" 
                          x:Name="tableNameInput" SelectionChanged="ComboxSelectionChanged"/>
            </pu:FormGroup>

            <pu:FormGroup Header="{DynamicResource Dv.Datasource.Fields}" Orientation="Vertical" GroupName="MyFormGroup">
                <Grid dp:GridHelper.Space="10">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>

                    <DataGrid Style="{StaticResource DefaultDataGrid}"
                              BorderThickness="1"
                              pu:DataGridHelper.ColumnHeaderFontSize="12"
                              SelectionMode="Extended"
                              ItemsSource="{Binding Columns}" x:Name="columnTable">
                        <DataGrid.Columns>
                            <DataGridTemplateColumn Header="#" CanUserResize="False">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding Converter={StaticResource rowNumber},
RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"/>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>
                            <DataGridTextColumn Width="*" Binding="{Binding }">
                                <DataGridTextColumn.Header>
                                    <TextBlock Text="{DynamicResource Dv.Datasource.FieldName}"/>
                                </DataGridTextColumn.Header>
                            </DataGridTextColumn>
                        </DataGrid.Columns>
                    </DataGrid>

                    <StackPanel Grid.Column="1" VerticalAlignment="Stretch" dp:StackPanelHelper.ChildSpace="10">
                        <Button Style="{StaticResource PrimaryButton}" x:Name="selectAllBtn" Click="Button_Click"
                                Content="{DynamicResource App.SelectAll}"
                                />
                        <Button Style="{StaticResource PrimaryButton}" x:Name="addBtn" Click="Button_Click"
                                Content="{DynamicResource App.AddTo}"/>
                        <Button Style="{StaticResource PrimaryButton}" x:Name="delBtn" Click="Button_Click"
                                Content="{DynamicResource App.Delete}"
                                />
                    </StackPanel>

                    <DataGrid Grid.Column="2" Style="{StaticResource DefaultDataGrid}"
                              BorderThickness="1"
                              IsReadOnly="False"
                              SelectionMode="Extended"
                              pu:DataGridHelper.ColumnHeaderFontSize="12"
                              ItemsSource="{Binding Conditions}" x:Name="conditionTable">
                        <DataGrid.Columns>
                            <DataGridTemplateColumn Header="#" CanUserResize="False" IsReadOnly="True">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding Converter={StaticResource rowNumber},
RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"/>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>
                            <DataGridTextColumn Width="*" IsReadOnly="True" Binding="{Binding Key}">
                                <DataGridTextColumn.Header>
                                    <TextBlock Text="{DynamicResource Dv.Datasource.FieldName}"/>
                                </DataGridTextColumn.Header>
                            </DataGridTextColumn>
                            <DataGridTextColumn Width="*" Binding="{Binding Desc}">
                                <DataGridTextColumn.Header>
                                    <TextBlock Text="{DynamicResource Dv.Datasource.Desc}"/>
                                </DataGridTextColumn.Header>
                            </DataGridTextColumn>
                            <DataGridTemplateColumn Width="*" IsReadOnly="True">
                                <DataGridTemplateColumn.Header>
                                    <TextBlock Text="{DynamicResource Dv.Datasource.TimeField}"/>
                                </DataGridTemplateColumn.Header>
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <RadioButton IsChecked="{Binding IsTimeCol,Mode=OneWay}" 
                                                     Click="RadioButton_Click"/>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>
                        </DataGrid.Columns>
                    </DataGrid>
                </Grid>
            </pu:FormGroup>
        </StackPanel>
    </Grid>
</pu:WindowX>
