Просмотр исходного кода

fix: prevent grid header from creating identical options

Richard Shiue 2 лет назад
Родитель
Сommit
a6130a27c2

+ 5 - 1
frontend/app_flowy/lib/plugins/grid/application/field/type_option/multi_select_type_option.dart

@@ -51,7 +51,11 @@ class MultiSelectAction with ISelectOptionAction {
           (option) {
             typeOption.freeze();
             typeOption = typeOption.rebuild((typeOption) {
-              typeOption.options.insert(0, option);
+              final exists = typeOption.options
+                  .any((element) => element.name == option.name);
+              if (!exists) {
+                typeOption.options.insert(0, option);
+              }
             });
 
             return typeOption.options;

+ 5 - 1
frontend/app_flowy/lib/plugins/grid/application/field/type_option/single_select_type_option.dart

@@ -48,7 +48,11 @@ class SingleSelectAction with ISelectOptionAction {
           (option) {
             typeOption.freeze();
             typeOption = typeOption.rebuild((typeOption) {
-              typeOption.options.insert(0, option);
+              final exists = typeOption.options
+                  .any((element) => element.name == option.name);
+              if (!exists) {
+                typeOption.options.insert(0, option);
+              }
             });
 
             return typeOption.options;