ソースを参照

Fixed bug with sequencing of fitlers

Kenric Nugteren 4 ヶ月 前
コミット
8e00f96ec6

+ 1 - 0
inabox.wpf/DynamicGrid/DynamicGridFilterButtonComponent.cs

@@ -215,6 +215,7 @@ public abstract class DynamicGridFilterComponent<T>
                 {
                     globalFilters.Clear();
                     globalFilters.AddRange(filters.Where(x => !x.Private));
+
                     userFilters.Clear();
                     userFilters.AddRange(filters.Where(x => x.Private));
 

+ 20 - 0
inabox.wpf/DynamicGrid/Grids/DynamicGridFilterGrid.cs

@@ -21,6 +21,21 @@ namespace InABox.DynamicGrid
             {
                 _filters = value;
                 Items = value;
+
+                var globalCount = _filters.Count(x => !x.Private);
+                var privateI = 0;
+                var globalI = 0;
+                foreach(var filter in _filters)
+                {
+                    if (filter.Private)
+                    {
+                        filter.Sequence = globalCount + privateI++;
+                    }
+                    else
+                    {
+                        filter.Sequence = globalI++;
+                    }
+                }
             }
         }
 
@@ -45,6 +60,11 @@ namespace InABox.DynamicGrid
             options.MultiSelect = true;
         }
 
+        public override void SaveItem(CoreFilterDefinition item)
+        {
+            base.SaveItem(item);
+        }
+
         private void DynamicGridFilterGrid_OnCustomiseEditor(IDynamicEditorForm sender, CoreFilterDefinition[]? items, DynamicGridColumn column, BaseEditor editor)
         {
             if(column.ColumnName == nameof(CoreFilterDefinition.Filter) && editor is FilterEditor filterEditor)