@acorex/platform 19.1.12 → 19.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/common/lib/common.module.d.ts +2 -1
  2. package/fesm2022/acorex-platform-common.mjs +18 -7
  3. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  4. package/fesm2022/acorex-platform-layout-entity.mjs +51 -4
  5. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  6. package/fesm2022/acorex-platform-layout-filters.mjs +46 -4
  7. package/fesm2022/acorex-platform-layout-filters.mjs.map +1 -1
  8. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-BDjcOo6R.mjs → acorex-platform-themes-default-entity-master-list-view.component-CWnQBjEa.mjs} +3 -3
  9. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CWnQBjEa.mjs.map +1 -0
  10. package/fesm2022/acorex-platform-themes-default.mjs +2 -2
  11. package/fesm2022/acorex-platform-widgets.mjs +1278 -1060
  12. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  13. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +4 -3
  14. package/layout/filters/lib/filters.viewmodel.d.ts +1 -0
  15. package/package.json +5 -5
  16. package/widgets/lib/properties/layout.props.d.ts +1 -0
  17. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +3 -1
  18. package/widgets/lib/widgets/filters/boolean-filter/boolean-filter-widget-edit.component.d.ts +2 -1
  19. package/widgets/lib/widgets/filters/string-filter/string-filter-widget-edit.component.d.ts +1 -0
  20. package/widgets/lib/widgets/index.d.ts +1 -0
  21. package/widgets/lib/widgets/layout/advanced-grid/advanced-grid-widget-designer.component.d.ts +10 -16
  22. package/widgets/lib/widgets/layout/advanced-grid/advanced-grid-widget-types.component.d.ts +10 -0
  23. package/widgets/lib/widgets/layout/grid/grid-widget-designer.component.d.ts +1 -0
  24. package/widgets/lib/widgets/property-editors/advanced-grid-options/advanced-grid-options-widget-editor.component.d.ts +32 -0
  25. package/widgets/lib/widgets/property-editors/advanced-grid-options/advanced-grid-options-widget.config.d.ts +7 -0
  26. package/widgets/lib/widgets/property-editors/advanced-grid-options/advanced-grid-options-widget.type.d.ts +6 -0
  27. package/widgets/lib/widgets/property-editors/advanced-grid-options/index.d.ts +2 -0
  28. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.d.ts +1 -1
  29. package/widgets/lib/widgets/property-editors/grid-options/grid-options-widget-editor.component.d.ts +1 -1
  30. package/widgets/lib/widgets/property-editors/grid-options/grid-options-widget.type.d.ts +1 -1
  31. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BDjcOo6R.mjs.map +0 -1
@@ -756,13 +756,38 @@ class AXPEntityMasterListViewModel {
756
756
  };
757
757
  });
758
758
  }
759
- applyViewFilters() {
759
+ // const viewFilters = this.view().conditions.map((f) => ({
760
+ // field: f.name,
761
+ // operator: f.operator,
762
+ // value: f.value,
763
+ // }));
764
+ async applyViewFilters() {
760
765
  const viewFilters = this.view().conditions.map((f) => ({
761
766
  field: f.name,
762
767
  operator: f.operator,
763
768
  value: f.value,
764
769
  }));
770
+ // console.log('this.view().conditions: ', this.view().conditions);
771
+ // console.log('this.filtersDef: ', this.filtersDef);
772
+ // let viewFilters: AXPFilterQuery[] = [];
773
+ // await this.filtersDef.forEach((filter) => {
774
+ // viewFilters.push({
775
+ // field: filter.field,
776
+ // operator: filter.operator,
777
+ // value: filter.value,
778
+ // });
779
+ // });
780
+ // await this.view().conditions.map((f) => {
781
+ // let viewFilter = viewFilters.find((el) => el.field === f.name) as AXPFilterQuery;
782
+ // viewFilter = {
783
+ // ...viewFilter,
784
+ // value: f.value,
785
+ // operator: f.operator,
786
+ // };
787
+ // });
788
+ // console.log('viewFilters: ', viewFilters);
765
789
  this.simpleFilters.update((prev) => ({ ...prev, filters: viewFilters }));
790
+ // console.log('this.simpleFilters(): ', this.simpleFilters());
766
791
  }
767
792
  resetFilters() {
768
793
  this.applyViewFilters();
@@ -786,22 +811,44 @@ class AXPEntityMasterListViewModel {
786
811
  }
787
812
  this.applyFilterAndSort();
788
813
  }
789
- applyFilterAndSort() {
814
+ async applyFilterAndSort() {
790
815
  this.dataSource.clearFilter();
791
- this.dataSource.sort(...this.sortedFields().map((s) => ({ dir: s.dir, field: s.name })));
816
+ this.dataSource.sort(...this.sortedFields()
817
+ .filter((sf) => sf.dir)
818
+ .map((s) => ({ dir: s.dir, field: s.name })));
792
819
  const allFilters = [
793
820
  this.inlineFilters.filters?.length && this.inlineFilters,
794
821
  this.simpleFilters().filters?.length && this.simpleFilters(),
795
822
  ].filter(Boolean);
823
+ const cleanedAllFilters = this.cleanNestedFilters(allFilters);
796
824
  this.lastFiltersApplied.set(this.simpleFilters());
797
825
  this.dataSource.filter(this.filterOperatorMiddleware.transformFilter({
798
826
  field: null,
799
827
  logic: 'and',
800
828
  operator: null,
801
- filters: allFilters,
829
+ filters: cleanedAllFilters,
802
830
  }));
803
831
  this.dataSource.refresh();
804
832
  }
833
+ cleanNestedFilters(filters) {
834
+ return filters
835
+ .map((filter) => {
836
+ if (!filter)
837
+ return undefined;
838
+ if (filter.filters?.length) {
839
+ const cleanedNestedFilters = this.cleanNestedFilters(filter.filters);
840
+ return {
841
+ ...filter,
842
+ filters: cleanedNestedFilters.filter(Boolean),
843
+ };
844
+ }
845
+ if (filter.value === null || filter.value === undefined || filter.value === 'unknown') {
846
+ return undefined;
847
+ }
848
+ return filter;
849
+ })
850
+ .filter(Boolean);
851
+ }
805
852
  resetColumns() {
806
853
  this.applyViewColumns();
807
854
  }