Browse Source

Rearranged Product sub-panels

frogsoftware 1 year ago
parent
commit
33edaccf7f

+ 134 - 32
prs.desktop/Panels/Products/Master List/ProductsPanel.xaml

@@ -60,42 +60,152 @@
                         <dynamicgrid:DynamicTabControl Grid.Row="0" x:Name="ProductDetails" SelectionChanged="ProductDetails_SelectionChanged"
                                            BorderThickness="0" Background="WhiteSmoke">
 
-                            <dynamicgrid:DynamicTabItem x:Name="Holdings" Header="Holdings">
+                            <dynamicgrid:DynamicTabItem x:Name="Pricing" Header="Pricing">
                                 <Grid>
+                                    
                                     <Grid.RowDefinitions>
                                         <RowDefinition Height="Auto"/>
                                         <RowDefinition Height="*"/>
                                         <RowDefinition Height="Auto"/>                                
                                         <RowDefinition Height="3*"/>
                                     </Grid.RowDefinitions>
-                                    <Border BorderBrush="Gray" BorderThickness="0.75" Background="WhiteSmoke" Height="25"
-                                            Grid.Row="0" Margin="0,2">
-                                        <Label Content="Product Instances" HorizontalContentAlignment="Center"
-                                               VerticalContentAlignment="Center" />
-                                    </Border>
-                                    <local:ProductInstanceControl x:Name="ProductInstances" UseWaitCursor="False" Grid.Row="1"
-                                                                  OnChanged="ProductInstances_OnChanged"/>
                                     
-                                    <sf:SfGridSplitter Grid.Row="2" Height="4"
-                                                       HorizontalAlignment="Stretch"
-                                                       Background="Transparent"
-                                                       ResizeBehavior="PreviousAndNext"
-                                                       Template="{StaticResource HorizontalSplitter}"
-                                                       PreviewStyle="{StaticResource HorizontalSplitterPreview}"/>
-                                    <DockPanel Grid.Row="3">
-                                    <Border BorderBrush="Gray" BorderThickness="0.75" Background="WhiteSmoke" Height="25"
-                                            DockPanel.Dock="Top" Margin="0,2">
-                                        <Label Content="Product Holdings" HorizontalContentAlignment="Center"
-                                               VerticalContentAlignment="Center" />
+                                    <Border 
+                                        BorderBrush="Gray" 
+                                        BorderThickness="0.75" 
+                                        Background="WhiteSmoke" 
+                                        Grid.Row="0" Margin="0,2">
+                                        <Label 
+                                            Content="Product Instances" 
+                                            HorizontalContentAlignment="Center"
+                                            VerticalContentAlignment="Center" />
                                     </Border>
-                                    <local:ProductHoldingControl x:Name="ProductHoldings" UseWaitCursor="false"
-                                                                 DockPanel.Dock="Top"/>
-                                    </DockPanel>
+                                    
+                                    <local:ProductInstanceControl 
+                                        x:Name="ProductInstances" 
+                                        UseWaitCursor="False" 
+                                        Grid.Row="1"
+                                        OnChanged="ProductInstances_OnChanged"/>
+                                    
+                                    <sf:SfGridSplitter 
+                                        Grid.Row="2" 
+                                        Height="4"
+                                        HorizontalAlignment="Stretch"
+                                        Background="Transparent"
+                                        ResizeBehavior="PreviousAndNext"
+                                        Template="{StaticResource HorizontalSplitter}"
+                                        PreviewStyle="{StaticResource HorizontalSplitterPreview}"/>
+                                    
+                                    <dynamicgrid:DynamicTabControl 
+                                        Grid.Row="3"
+                                        TabStripPlacement="Bottom">
+                                        
+                                        <dynamicgrid:DynamicTabItem Header="Suppliers">
+                                            <DockPanel>
+                                    
+                                                <Border
+                                                    BorderBrush="Gray" 
+                                                    BorderThickness="0.75" 
+                                                    Background="WhiteSmoke" 
+                                                    VerticalAlignment="Top"
+                                                    DockPanel.Dock="Top"
+                                                    Margin="0,2">
+                                                    <Label 
+                                                        Content="Supplier Pricing" 
+                                                        HorizontalContentAlignment="Center"/>
+                                                </Border>
+                                                <local:ProductSuppliersControl 
+                                                    x:Name="ProductSuppliers" 
+                                                    DockPanel.Dock="Top"
+                                                    UseWaitCursor="false" />
+                                            </DockPanel>
+                                        </dynamicgrid:DynamicTabItem>
+                                        
+                                        <dynamicgrid:DynamicTabItem Header="Customers">
+                                            <DockPanel>
+                                    
+                                                <Border
+                                                    BorderBrush="Gray" 
+                                                    BorderThickness="0.75" 
+                                                    Background="WhiteSmoke" 
+                                                    VerticalAlignment="Top"
+                                                    DockPanel.Dock="Top"
+                                                    Margin="0,2">
+                                                    <Label 
+                                                        Content="Supplier Pricing" 
+                                                        HorizontalContentAlignment="Center"
+                                                        />
+                                                </Border>
+                                                <local:ProductCustomersControl 
+                                                    x:Name="ProductCustomers"
+                                                    DockPanel.Dock="Top"
+                                                    UseWaitCursor="false" />
+                                            </DockPanel>
+                                        </dynamicgrid:DynamicTabItem>
+                                        
+                                    </dynamicgrid:DynamicTabControl>
                                 </Grid>
                             </dynamicgrid:DynamicTabItem>
                             
-                            <dynamicgrid:DynamicTabItem x:Name="Movements" Header="Movements">
-                                <local:ProductMovementSummaryControl x:Name="ProductMovements" UseWaitCursor="false" />
+                            <dynamicgrid:DynamicTabItem x:Name="Warehousing" Header="Warehousing">
+                                <Grid>
+                                    
+                                    <Grid.RowDefinitions>
+                                        <RowDefinition Height="Auto"/>
+                                        <RowDefinition Height="*"/>
+                                        <RowDefinition Height="Auto"/> 
+                                        <RowDefinition Height="3*"/>
+                                    </Grid.RowDefinitions>
+                                    
+                                    <Border
+                                        BorderBrush="Gray" 
+                                        BorderThickness="0.75" 
+                                        Background="WhiteSmoke" 
+                                        Grid.Row="0" 
+                                        Margin="0,2">
+                                        <Label 
+                                            Content="Product Holdings" 
+                                            HorizontalContentAlignment="Center"
+                                            VerticalContentAlignment="Center" />
+                                    </Border>
+                                    
+                                    <local:ProductHoldingControl
+                                        x:Name="ProductHoldings" 
+                                        Grid.Row="1"
+                                        UseWaitCursor="false" />
+                                    
+                                    <sf:SfGridSplitter 
+                                        Grid.Row="2" 
+                                        Height="4"
+                                        HorizontalAlignment="Stretch"
+                                        Background="Transparent"
+                                        ResizeBehavior="PreviousAndNext"
+                                        Template="{StaticResource HorizontalSplitter}"
+                                        PreviewStyle="{StaticResource HorizontalSplitterPreview}"/>
+                                    
+                                    <DockPanel Grid.Row="3">
+                                    
+                                        <Border
+                                            BorderBrush="Gray" 
+                                            BorderThickness="0.75" 
+                                            Background="WhiteSmoke" 
+                                            VerticalAlignment="Top"
+                                            DockPanel.Dock="Top"
+                                            Margin="0,2">
+                                            <Label 
+                                                Content="Product Movements" 
+                                                HorizontalContentAlignment="Center" />
+                                        </Border>
+                                        
+                                        <local:ProductMovementSummaryControl 
+                                            x:Name="ProductMovements" 
+                                            DockPanel.Dock="Top"
+                                            UseWaitCursor="false" />
+                                        
+                                    </DockPanel>
+                                    
+                                </Grid>
+                                
                             </dynamicgrid:DynamicTabItem>
                             
                             <dynamicgrid:DynamicTabItem x:Name="Orders" Header="Orders">
@@ -106,14 +216,6 @@
                                 <local:ProductKitControl x:Name="ProductKits" UseWaitCursor="false" />
                             </dynamicgrid:DynamicTabItem>
                             
-                            <dynamicgrid:DynamicTabItem x:Name="Suppliers" Header="Suppliers">
-                                <local:ProductSuppliersControl x:Name="ProductSuppliers" UseWaitCursor="false" />
-                            </dynamicgrid:DynamicTabItem>
-                            
-                            <dynamicgrid:DynamicTabItem x:Name="Customers" Header="Customers">
-                                <local:ProductCustomersControl x:Name="ProductCustomers" UseWaitCursor="false" />
-                            </dynamicgrid:DynamicTabItem>
-                            
                             <dynamicgrid:DynamicTabItem x:Name="Documents" Header="Documents">
                                 <local:ProductDocumentControl x:Name="ProductDocuments" UseWaitCursor="false" Grid.Row="1" Margin="0,2,0,0" />
                             </dynamicgrid:DynamicTabItem>

+ 18 - 10
prs.desktop/Panels/Products/Master List/ProductsPanel.xaml.cs

@@ -34,12 +34,9 @@ namespace PRSDesktop
         public ProductsPanel()
         {
             InitializeComponent();
-            Holdings.Visibility = Security.CanView<StockLocation>() ? Visibility.Visible : Visibility.Collapsed;
-            Movements.Visibility = Security.CanView<StockMovement>() ? Visibility.Visible : Visibility.Collapsed;
-            Movements.Visibility = Security.CanView<PurchaseOrderItem>() ? Visibility.Visible : Visibility.Collapsed;
-            Suppliers.Visibility = Security.CanView<Supplier>() ? Visibility.Visible : Visibility.Collapsed;
-            Customers.Visibility = Security.CanView<Customer>() ? Visibility.Visible : Visibility.Collapsed;
-
+            Pricing.Visibility = Security.CanView<ProductInstance>() ? Visibility.Visible : Visibility.Collapsed;
+            Warehousing.Visibility = Security.CanView<StockMovement>() ? Visibility.Visible : Visibility.Collapsed;
+            Orders.Visibility = Security.CanView<PurchaseOrderItem>() ? Visibility.Visible : Visibility.Collapsed;
             ProductSuppliers.OnChanged += ProductSuppliers_OnChanged;
         }
 
@@ -121,12 +118,23 @@ namespace PRSDesktop
 
         private void RefreshDetailsPage()
         {
-            var content = ProductDetails.SelectedContent;
-            if(content is IProductControl control)
+            if (ProductDetails.SelectedTab == Pricing)
             {
-                RefreshSubPage(control);
+                RefreshSubPage(ProductInstances);
+                RefreshSubPage(ProductSuppliers);
+                RefreshSubPage(ProductCustomers);
             }
-            else if(content is FrameworkElement element)
+            
+            else if (ProductDetails.SelectedTab == Warehousing)
+            {
+                RefreshSubPage(ProductHoldings);
+                RefreshSubPage(ProductMovements);
+            }
+            
+            else if(ProductDetails.SelectedContent is IProductControl control)
+                RefreshSubPage(control);
+            
+            else if(ProductDetails.SelectedContent is FrameworkElement element)
             {
                 foreach (var page in element.FindVisualChildren<IProductControl>())
                 {