<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,5,5,5" Grid.IsSharedSizeScope='True'>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <Grid Name="grdImportProperties">
        <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="Auto"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>

        <StackPanel Orientation="Horizontal" Margin="0,0,5,0" >
            <Label Content="Import root" />
            <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="The root folder where exported files are stored" />
        </StackPanel>
        <Grid Grid.Column='1' Grid.Row='0'>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />  
                <ColumnDefinition Width="5" />                              
                <ColumnDefinition Width="Auto" />                                
            </Grid.ColumnDefinitions>                 
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>                
            </Grid.RowDefinitions>
            <TextBox Text="" Name="txtImportPath" />
            <Button Grid.Column="2" Name="browseImportPath" Padding="5,0,5,0" Width="50" ToolTip="Browse for folder">...</Button>
        </Grid>

        <StackPanel Orientation="Horizontal"  Grid.Row='1' Margin="0,0,5,0" >
            <Label Content="Name filter" />
            <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify name filter for the objects to import" />
        </StackPanel>
        <TextBox Text="" Name="txtImportNameFilter" Grid.Column='1' Grid.Row='1' Margin="0,5,0,0" />
        
        <StackPanel Orientation="Horizontal" Grid.Row='2' Margin="0,0,5,0" Name="spMigrationTableInfo">
            <Label Content="Migration Table" />
            <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="This contains information about the exported environment e.g. Groups, ScopeTags etc. Note: This is only used when import object from a different tenant" />
        </StackPanel>
        <Label Grid.Column='1' Grid.Row='2' Name="lblMigrationTableInfo" />

        <!-- Force object type in name by setting it to true and disable the checkbox. Leave it on for information -->
        <StackPanel Orientation="Horizontal" Grid.Row='3' Margin="0,0,5,0">
            <Label Content="Add object name to path" />
            <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="This will import objects from a sub-directory of the import path with name based on object type" />
        </StackPanel>
        <CheckBox Grid.Column='1' Grid.Row='3' Name='chkAddObjectType' VerticalAlignment="Center" IsEnabled="false" IsChecked="true" />
                
        <StackPanel Orientation="Horizontal" Grid.Row='4' Margin="0,0,5,0">
            <Label Content="Assign Scope (Tags)" />
            <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="This will import ScopeTags. The ScopeTags must exist in the target environment before thay can be assigned during import of an object" />
        </StackPanel>
        <CheckBox Grid.Column='1' Grid.Row='4' Name='chkImportScopes' VerticalAlignment="Center" IsChecked="true" />

        <StackPanel Orientation="Horizontal" Grid.Row='5' Margin="0,0,5,0">
            <Label Content="Import Assignments" />
            <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Import object assignments. Note: This will create groups that don't exist in the target environment" />
        </StackPanel>
        <CheckBox Grid.Column='1' Grid.Row='5' Name='chkImportAssignments' VerticalAlignment="Center" IsChecked="true" />
        
        <StackPanel Orientation="Horizontal" Grid.Row='6' Margin="0,0,5,0">
            <Label Content="Replace Dependency IDs" />
            <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Replaces IDs of dependency objects e.g. App Config references Applications. Increases import time but makes sure objects are imported correctly. Note: References objects must exist!" />
        </StackPanel>
        <CheckBox Grid.Column='1' Grid.Row='6' Name='chkReplaceDependencyIDs' VerticalAlignment="Center" IsChecked="true" />            

        <StackPanel Orientation="Horizontal" Grid.Row='7' Margin="0,0,5,0" Name="lblImportType" Visibility="Collapsed">
                        <Label Content="Import Type" />
                        <Rectangle Style="{DynamicResource InfoIcon}">                        
                            <Rectangle.ToolTip>
                                <TextBlock>
                                    Specify how files are imported<LineBreak />
                                    <Bold>Always import</Bold>: Always try to import the object. No detction of existing object (Default)<LineBreak />
                                    <Bold>Skip if object exists</Bold>: Skip import if there is an existing object with the same name and type<LineBreak />
                                    <Bold>Replace</Bold>: If an object is detected, it will be deleted. The assignments will be copied to the new imported object<LineBreak />
                                    <Bold>Replace with assignments</Bold>: If an object is detected, it will be deleted. The assignments will be copied from the imported object<LineBreak />
                                    <Bold>Update</Bold>: If an object is detected, settings will be replaced from the import file
                                </TextBlock>
                            </Rectangle.ToolTip>                        
                        </Rectangle>
        </StackPanel>
        <ComboBox Name="cbImportType" Margin="0,5,0,0" MinWidth="250" Grid.Row='7' Grid.Column="1" HorizontalAlignment="Left" 
                    DisplayMemberPath="Name" SelectedValuePath="Value" Visibility="Collapsed" />
    </Grid>

    <Grid Grid.Row='1' VerticalAlignment="Stretch" Margin="0,5,0,0">
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>

        <Grid Margin="0,0,5,0">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>                
            </Grid.RowDefinitions>
            <StackPanel Orientation="Horizontal">
                <Label Content="Objects to import" />
                <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Select the object types that should be imported" />
            </StackPanel>
        </Grid>
    
        <DataGrid Name="dgObjectsToImport" Grid.Column='1' CanUserAddRows="False" AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="White" Margin="0,0,0,5" />

    </Grid>

    <Grid Grid.Row='2' Grid.ColumnSpan='2' >
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" >
            <Button Name="btnExportSettingsForSilentImport" Content="Save" Width='100' Margin="5,0,0,0" ToolTip="Save settings for batch job" />
        </StackPanel>

        <StackPanel Name="spImportSubMenu" Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Right" >
            <Button Name="btnImport" Content="Import" Width='100' Margin="5,0,0,0" />
            <Button Name="btnClose" Content="Close" Width='100' Margin="5,0,0,0" />
        </StackPanel>                
    </Grid>

</Grid >
