瀏覽代碼

Added filtering for DF Dashboard; re-arranged menu of Dashboard tab and added an icon.

Kenric Nugteren 2 年之前
父節點
當前提交
eee3c2ff15

+ 2 - 1
prs.desktop/Dashboards/DigitalFormsDashboard.xaml

@@ -30,7 +30,8 @@
                     SelectionMode="Extended"
                     Margin="0,5,5,5"
                     CellDoubleTapped="DataGrid_CellDoubleTapped"
-                    CellTapped="DataGrid_CellTapped" />
+                    CellTapped="DataGrid_CellTapped"
+                    FilterRowPosition="FixedTop"/>
 
     </Grid>
 </UserControl>

+ 3 - 0
prs.desktop/Dashboards/DigitalFormsDashboard.xaml.cs

@@ -1097,6 +1097,9 @@ namespace PRSDesktop
             e.Column.TextAlignment = TextAlignment.Center;
             e.Column.HorizontalHeaderContentAlignment = HorizontalAlignment.Center;
             e.Column.ColumnSizer = GridLengthUnitType.None;
+            e.Column.ImmediateUpdateColumnFilter = true;
+            e.Column.FilterRowCondition = FilterRowCondition.Contains;
+            e.Column.FilterRowOptionsVisibility = Visibility.Collapsed;
 
             var value = (e.Column.ValueBinding as Binding)!;
             if (value.Path.Path.Equals("ID") || value.Path.Path.Equals("Form_ID") || value.Path.Path.Equals("Parent_ID") ||

+ 13 - 10
prs.desktop/Dashboards/UtilityDashboard.xaml.cs

@@ -239,9 +239,10 @@ namespace PRSDesktop
             var menu = args.Menu;
             menu.AddSeparatorIfNeeded();
 
+            var isDesigning = grid.Mode != FormMode.Preview;
             menu.Items.Add(new MenuItem()
             {
-                Header = grid.Mode == FormMode.Preview ? "Design Mode" : "Close Design Mode",
+                Header = isDesigning ? "Close Design Mode" : "Design Mode",
                 Command = new ActionCommand(() =>
                 {
                     if (grid.Mode == FormMode.Designing)
@@ -255,21 +256,23 @@ namespace PRSDesktop
                         ShutdownDashboard();
                         grid.Mode = FormMode.Designing;
                     }
-                })
+                }),
+                Icon = new Image() { Source = (isDesigning ? PRSDesktop.Resources.delete : PRSDesktop.Resources.pencil).AsBitmapImage(24, 24) }
             });
 
-            menu.AddSeparator();
-            menu.AddItem("Save as Favourite", null, name, SaveAsFavourite_Click);
+            var index = 0;
             if (_settings.Favourites.Any())
             {
-                menu.AddItem("Manage Favourites", null, ManageFavourites_Click);
-
-                menu.AddSeparator();
                 foreach (var favourite in _settings.Favourites)
                 {
-                    menu.AddItem(favourite.Name, null, favourite, LoadFavourite_Click);
+                    menu.AddItem(favourite.Name, null, favourite, LoadFavourite_Click, index: index++);
                 }
+                menu.AddSeparatorIfNeeded(index: index++);
+                menu.AddItem("Manage Favourites", null, ManageFavourites_Click, index: index++);
             }
+            menu.AddItem("Save as Favourite", null, name, SaveAsFavourite_Click, index: index++);
+
+            menu.AddSeparator(index: index++);
         }
 
         private void Tab_OnCloseTab(object sender, DynamicTabControlEventArgs args)
@@ -294,11 +297,11 @@ namespace PRSDesktop
 
         private void Tab_OnTabRenamed(object sender, DynamicTabItemRenamedEventArgs args)
         {
-            args.NewName = CreateNewTabName(args.NewName);
-
             var oldSettings = _settings.Dashboards[args.OldName];
             _settings.Dashboards.Remove(args.OldName);
 
+            args.NewName = CreateNewTabName(args.NewName);
+
             if (_dashboards.TryGetValue(args.OldName, out var dashboard))
             {
                 _dashboards.Remove(args.OldName);