@polygrid/core 1.0.446 → 1.0.448

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 (105) hide show
  1. package/dist/api/index.d.ts +2 -0
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +2 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/register-filter-editor-for-column.d.ts +5 -0
  6. package/dist/api/register-filter-editor-for-column.d.ts.map +1 -0
  7. package/dist/api/register-filter-editor-for-column.js +8 -0
  8. package/dist/api/register-filter-editor-for-column.js.map +1 -0
  9. package/dist/engine/const/pg-css-class.d.ts +1 -0
  10. package/dist/engine/const/pg-css-class.d.ts.map +1 -1
  11. package/dist/engine/const/pg-css-class.js +1 -0
  12. package/dist/engine/const/pg-css-class.js.map +1 -1
  13. package/dist/engine/core/grid-runtime.d.ts +12 -0
  14. package/dist/engine/core/grid-runtime.d.ts.map +1 -1
  15. package/dist/engine/core/grid-runtime.js +6 -0
  16. package/dist/engine/core/grid-runtime.js.map +1 -1
  17. package/dist/engine/core/interfaces/grid-event-map.d.ts +7 -0
  18. package/dist/engine/core/interfaces/grid-event-map.d.ts.map +1 -1
  19. package/dist/engine/core/methods/consume-options.d.ts.map +1 -1
  20. package/dist/engine/core/methods/consume-options.js +7 -0
  21. package/dist/engine/core/methods/consume-options.js.map +1 -1
  22. package/dist/engine/services/column/interfaces/column.d.ts +2 -0
  23. package/dist/engine/services/column/interfaces/column.d.ts.map +1 -1
  24. package/dist/engine/services/filter/const/no-editor-operators.d.ts +3 -0
  25. package/dist/engine/services/filter/const/no-editor-operators.d.ts.map +1 -0
  26. package/dist/engine/services/filter/const/no-editor-operators.js +8 -0
  27. package/dist/engine/services/filter/const/no-editor-operators.js.map +1 -0
  28. package/dist/engine/services/filter/filter.d.ts +6 -0
  29. package/dist/engine/services/filter/filter.d.ts.map +1 -1
  30. package/dist/engine/services/filter/filter.js +12 -0
  31. package/dist/engine/services/filter/filter.js.map +1 -1
  32. package/dist/engine/services/filter/interfaces/custom-filter-editor.d.ts +15 -0
  33. package/dist/engine/services/filter/interfaces/custom-filter-editor.d.ts.map +1 -0
  34. package/dist/engine/services/filter/interfaces/custom-filter-editor.js +2 -0
  35. package/dist/engine/services/filter/interfaces/custom-filter-editor.js.map +1 -0
  36. package/dist/engine/services/filter/methods/get-current-operator.d.ts +5 -0
  37. package/dist/engine/services/filter/methods/get-current-operator.d.ts.map +1 -0
  38. package/dist/engine/services/filter/methods/get-current-operator.js +7 -0
  39. package/dist/engine/services/filter/methods/get-current-operator.js.map +1 -0
  40. package/dist/engine/services/filter/methods/index.d.ts +6 -0
  41. package/dist/engine/services/filter/methods/index.d.ts.map +1 -1
  42. package/dist/engine/services/filter/methods/index.js +6 -0
  43. package/dist/engine/services/filter/methods/index.js.map +1 -1
  44. package/dist/engine/services/filter/methods/render-custom-filter-editor.d.ts +6 -0
  45. package/dist/engine/services/filter/methods/render-custom-filter-editor.d.ts.map +1 -0
  46. package/dist/engine/services/filter/methods/render-custom-filter-editor.js +33 -0
  47. package/dist/engine/services/filter/methods/render-custom-filter-editor.js.map +1 -0
  48. package/dist/engine/services/filter/methods/render-filter-editors.d.ts.map +1 -1
  49. package/dist/engine/services/filter/methods/render-filter-editors.js +36 -8
  50. package/dist/engine/services/filter/methods/render-filter-editors.js.map +1 -1
  51. package/dist/engine/services/filter/methods/row-filter-changed.d.ts +4 -0
  52. package/dist/engine/services/filter/methods/row-filter-changed.d.ts.map +1 -0
  53. package/dist/engine/services/filter/methods/row-filter-changed.js +17 -0
  54. package/dist/engine/services/filter/methods/row-filter-changed.js.map +1 -0
  55. package/dist/engine/services/filter/methods/row-filter-cleared.d.ts +4 -0
  56. package/dist/engine/services/filter/methods/row-filter-cleared.d.ts.map +1 -0
  57. package/dist/engine/services/filter/methods/row-filter-cleared.js +29 -0
  58. package/dist/engine/services/filter/methods/row-filter-cleared.js.map +1 -0
  59. package/dist/engine/services/filter/methods/row-filter-icon-click.d.ts +4 -0
  60. package/dist/engine/services/filter/methods/row-filter-icon-click.d.ts.map +1 -0
  61. package/dist/engine/services/filter/methods/row-filter-icon-click.js +19 -0
  62. package/dist/engine/services/filter/methods/row-filter-icon-click.js.map +1 -0
  63. package/dist/engine/services/filter/methods/select-row-filter-operator.d.ts +5 -0
  64. package/dist/engine/services/filter/methods/select-row-filter-operator.d.ts.map +1 -0
  65. package/dist/engine/services/filter/methods/select-row-filter-operator.js +31 -0
  66. package/dist/engine/services/filter/methods/select-row-filter-operator.js.map +1 -0
  67. package/dist/engine/services/filter/types/filter-editor-factory-fn.d.ts +5 -0
  68. package/dist/engine/services/filter/types/filter-editor-factory-fn.d.ts.map +1 -0
  69. package/dist/engine/services/filter/types/filter-editor-factory-fn.js +2 -0
  70. package/dist/engine/services/filter/types/filter-editor-factory-fn.js.map +1 -0
  71. package/dist/engine/services/renderer/parts/filter-row/filter-cells.d.ts.map +1 -1
  72. package/dist/engine/services/renderer/parts/filter-row/filter-cells.js +6 -1
  73. package/dist/engine/services/renderer/parts/filter-row/filter-cells.js.map +1 -1
  74. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.d.ts +2 -2
  75. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.d.ts.map +1 -1
  76. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.js +36 -2
  77. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.js.map +1 -1
  78. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.d.ts +2 -1
  79. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.d.ts.map +1 -1
  80. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.js +24 -1
  81. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.js.map +1 -1
  82. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.d.ts +2 -3
  83. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.d.ts.map +1 -1
  84. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.js +21 -3
  85. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.js.map +1 -1
  86. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.d.ts +2 -2
  87. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.d.ts.map +1 -1
  88. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.js +20 -3
  89. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.js.map +1 -1
  90. package/dist/engine/services/renderer/parts/filter-row/filter-operators.d.ts +4 -0
  91. package/dist/engine/services/renderer/parts/filter-row/filter-operators.d.ts.map +1 -0
  92. package/dist/engine/services/renderer/parts/filter-row/filter-operators.js +51 -0
  93. package/dist/engine/services/renderer/parts/filter-row/filter-operators.js.map +1 -0
  94. package/dist/engine/services/renderer/parts/root/root.d.ts.map +1 -1
  95. package/dist/engine/services/renderer/parts/root/root.js +20 -0
  96. package/dist/engine/services/renderer/parts/root/root.js.map +1 -1
  97. package/dist/engine/store/interfaces/view-state.d.ts +2 -0
  98. package/dist/engine/store/interfaces/view-state.d.ts.map +1 -1
  99. package/dist/engine/store/methods/create-initial-state.d.ts.map +1 -1
  100. package/dist/engine/store/methods/create-initial-state.js +1 -0
  101. package/dist/engine/store/methods/create-initial-state.js.map +1 -1
  102. package/dist/index.d.ts +2 -0
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/polygrid.css +35 -0
  105. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-filter-changed.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/row-filter-changed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAc;IAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;IAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAChE,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzC,aAAa,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CACtC,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../core/grid";
2
+ import { Filter } from "../interfaces/filter";
3
+ export declare function rowFilterCleared(filter: Filter, grid: PolyGrid): void;
4
+ //# sourceMappingURL=row-filter-cleared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-filter-cleared.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/row-filter-cleared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,QAoC9D"}
@@ -0,0 +1,29 @@
1
+ import { renderIcon } from "../../icon/methods";
2
+ export function rowFilterCleared(filter, grid) {
3
+ const state = grid._store.getState();
4
+ const iconContainer = grid._runtime.filterCellIcons.get(filter.columnId);
5
+ const iconNode = renderIcon(grid._services.icon, "filter");
6
+ iconContainer.replaceChildren(iconNode ?? "");
7
+ iconContainer.removeAttribute("active");
8
+ const editorInfo = grid._runtime.filterCellEditors.get(filter.columnId);
9
+ const custom = grid._runtime.customFilterEditors.get(filter.columnId);
10
+ if (custom) {
11
+ custom.setValue("");
12
+ }
13
+ else {
14
+ editorInfo.editor.value = "";
15
+ }
16
+ const currentFilters = state.view.rowFilters;
17
+ grid._store.update((draft) => {
18
+ draft.view.rowFilters = currentFilters.filter((f) => f.columnId !== filter.columnId);
19
+ });
20
+ const defaultOperator = grid._services.filter.getDefaultOperator(filter.dataType);
21
+ const index = state.view.columnFilterOperators.findIndex((op) => op.columnId === filter.columnId);
22
+ grid._store.update((draft) => {
23
+ draft.view.columnFilterOperators[index] = {
24
+ columnId: filter.columnId,
25
+ operator: defaultOperator,
26
+ };
27
+ });
28
+ }
29
+ //# sourceMappingURL=row-filter-cleared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-filter-cleared.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/row-filter-cleared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAc;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAErC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;IAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3D,aAAa,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEtE,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACL,UAAU,CAAC,MAA2B,CAAC,KAAK,GAAG,EAAE,CAAC;IACrD,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CACtC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAC9D,MAAM,CAAC,QAAQ,CAChB,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CACtD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CACxC,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG;YACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,eAAe;SAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../core/grid";
2
+ import { InternalColumn } from "../../column/interfaces/internal-column";
3
+ export declare function rowFilterIconclick(grid: PolyGrid, column: InternalColumn): void;
4
+ //# sourceMappingURL=row-filter-icon-click.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-filter-icon-click.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/row-filter-icon-click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,QAgBxE"}
@@ -0,0 +1,19 @@
1
+ import { renderFilterOperators } from "../../renderer/parts/filter-row/filter-operators";
2
+ export function rowFilterIconclick(grid, column) {
3
+ const isFilterAcitve = grid._runtime.filterCellIcons.get(column.id).hasAttribute("active") ??
4
+ null;
5
+ if (isFilterAcitve) {
6
+ const rowFilter = grid._store
7
+ .getState()
8
+ .view.rowFilters.find((filter) => filter.columnId === column.id);
9
+ grid._store.emitEvent("rowFilterCleared", { filter: rowFilter });
10
+ }
11
+ else {
12
+ if (grid._runtime.filterOperators) {
13
+ grid._gridDom.root.removeChild(grid._runtime.filterOperators);
14
+ grid._runtime.filterOperators = null;
15
+ }
16
+ renderFilterOperators(grid, column);
17
+ }
18
+ }
19
+ //# sourceMappingURL=row-filter-icon-click.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-filter-icon-click.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/row-filter-icon-click.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAEzF,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,MAAsB;IACvE,MAAM,cAAc,GAClB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;QACpE,IAAI,CAAC;IACP,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM;aAC1B,QAAQ,EAAE;aACV,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAAE,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;QACvC,CAAC;QACD,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { PolyGrid } from "../../../core/grid";
2
+ import { InternalColumn } from "../../column/interfaces/internal-column";
3
+ import { FilterOperator } from "../interfaces/filter-operator";
4
+ export declare function selectRowFilterOperator(grid: PolyGrid, column: InternalColumn, op: FilterOperator): void;
5
+ //# sourceMappingURL=select-row-filter-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-row-filter-operator.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/select-row-filter-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,cAAc,QAiCnB"}
@@ -0,0 +1,31 @@
1
+ import { NO_EDITOR_OPERATORS } from "../const/no-editor-operators";
2
+ export function selectRowFilterOperator(grid, column, op) {
3
+ const state = grid._store.getState();
4
+ const index = state.view.columnFilterOperators.findIndex((op) => op.columnId === column.id);
5
+ grid._store.update((draft) => {
6
+ draft.view.columnFilterOperators[index] = {
7
+ columnId: column.id,
8
+ operator: op,
9
+ };
10
+ });
11
+ grid._gridDom.root.removeChild(grid._runtime.filterOperators);
12
+ grid._runtime.filterOperators = null;
13
+ const noEditor = NO_EDITOR_OPERATORS.includes(op.code);
14
+ const editorInfo = grid._runtime.filterCellEditors.get(column.id);
15
+ const custom = grid._runtime.customFilterEditors.get(column.id);
16
+ if (custom) {
17
+ // Custom editor path
18
+ custom.setDisabled(noEditor);
19
+ }
20
+ else {
21
+ // Default editor path
22
+ const el = editorInfo.editor;
23
+ if (noEditor) {
24
+ el.setAttribute("disabled", "true");
25
+ }
26
+ else {
27
+ el.removeAttribute("disabled");
28
+ }
29
+ }
30
+ }
31
+ //# sourceMappingURL=select-row-filter-operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-row-filter-operator.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/select-row-filter-operator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGnE,MAAM,UAAU,uBAAuB,CACrC,IAAc,EACd,MAAsB,EACtB,EAAkB;IAElB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CACtD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAClC,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG;YACxC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAgB,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;IAErC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAE,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEhE,IAAI,MAAM,EAAE,CAAC;QACX,qBAAqB;QACrB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { PolyGrid } from "../../../core/grid";
2
+ import { InternalColumn } from "../../column/interfaces/internal-column";
3
+ import { PolyGridFilterEditor } from "../interfaces/custom-filter-editor";
4
+ export type PolyGridFilterEditorFactoryFn = (column: InternalColumn, grid: PolyGrid) => PolyGridFilterEditor;
5
+ //# sourceMappingURL=filter-editor-factory-fn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-editor-factory-fn.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/types/filter-editor-factory-fn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,MAAM,MAAM,6BAA6B,GAAG,CAC1C,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,QAAQ,KACX,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=filter-editor-factory-fn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-editor-factory-fn.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/types/filter-editor-factory-fn.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-cells.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/filter-row/filter-cells.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,QAuCf"}
1
+ {"version":3,"file":"filter-cells.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/filter-row/filter-cells.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,QA6Cf"}
@@ -1,4 +1,5 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ import { addDomListener } from "../../../../core/methods";
2
3
  import { renderIcon } from "../../../icon/methods";
3
4
  import { renderTextFilter } from "./filter-editors/text-filter";
4
5
  export function renderFilterCells(filterRow, store, gridDom, grid) {
@@ -15,7 +16,7 @@ export function renderFilterCells(filterRow, store, gridDom, grid) {
15
16
  content.className = PG_CSS_CLASS.filterCellContent;
16
17
  grid._runtime.filterCellContainers.set(col.id, content);
17
18
  // Create filter editors - first for all column the default one (text)
18
- const editor = renderTextFilter(col, gridDom);
19
+ const editor = renderTextFilter(col, grid);
19
20
  content.appendChild(editor);
20
21
  cell.appendChild(content);
21
22
  // filter icon
@@ -25,6 +26,10 @@ export function renderFilterCells(filterRow, store, gridDom, grid) {
25
26
  iconContainer.classList.add(PG_CSS_CLASS.filterIcon);
26
27
  iconContainer.classList.add(PG_CSS_CLASS.disabled);
27
28
  grid._runtime.filterCellIcons.set(col.id, iconContainer);
29
+ addDomListener(gridDom, iconContainer, "click", (e) => {
30
+ e.stopPropagation();
31
+ grid._services.filter.rowFilterIconClick(grid, col);
32
+ });
28
33
  cell.appendChild(iconContainer);
29
34
  filterRow.appendChild(cell);
30
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"filter-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/filter-row/filter-cells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,UAAU,iBAAiB,CAC/B,SAAsB,EACtB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAC/C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAC7B,CAAC;IAEF,qBAAqB;IACrB,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;IAEzB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,2BAA2B;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAExD,sEAAsE;QACtE,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1B,cAAc;QACd,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3D,aAAa,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACrD,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAEhC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"filter-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/filter-row/filter-cells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,UAAU,iBAAiB,CAC/B,SAAsB,EACtB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAC/C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAC7B,CAAC;IAEF,qBAAqB;IACrB,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;IAEzB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,2BAA2B;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAExD,sEAAsE;QACtE,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1B,cAAc;QACd,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3D,aAAa,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACrD,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAEzD,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACpD,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAEhC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { GridDOM } from "../../../../../core/grid-dom";
1
+ import { PolyGrid } from "../../../../../core/grid";
2
2
  import { InternalColumn } from "../../../../column/interfaces/internal-column";
3
- export declare function renderBooleanFilter(column: InternalColumn, gridDom: GridDOM): HTMLSelectElement;
3
+ export declare function renderBooleanFilter(column: InternalColumn, grid: PolyGrid): HTMLSelectElement;
4
4
  //# sourceMappingURL=boolean-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"boolean-filter.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAE/E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,qBA2B3E"}
1
+ {"version":3,"file":"boolean-filter.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAK/E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,qBA4DzE"}
@@ -1,6 +1,7 @@
1
1
  import { PG_CSS_CLASS } from "../../../../../const/pg-css-class";
2
2
  import { addDomListener } from "../../../../../core/methods";
3
- export function renderBooleanFilter(column, gridDom) {
3
+ import { FILTER_OPERATOR_CODES } from "../../../../filter/const/filter-operator-codes";
4
+ export function renderBooleanFilter(column, grid) {
4
5
  const select = document.createElement("select");
5
6
  select.setAttribute("disabled", "true");
6
7
  select.classList.add(PG_CSS_CLASS.filterEditor);
@@ -16,9 +17,42 @@ export function renderBooleanFilter(column, gridDom) {
16
17
  select.appendChild(optionAll);
17
18
  select.appendChild(optionTrue);
18
19
  select.appendChild(optionFalse);
19
- addDomListener(gridDom, select, "change", (e) => {
20
+ addDomListener(grid._gridDom, select, "change", (e) => {
20
21
  const select = e.target;
21
22
  const currentValue = select.value;
23
+ const currentOperator = select.value === "true"
24
+ ? {
25
+ columnType: "boolean",
26
+ descr: "Is True",
27
+ code: FILTER_OPERATOR_CODES.IsTrue,
28
+ }
29
+ : select.value === "false"
30
+ ? {
31
+ columnType: "boolean",
32
+ descr: "Is False",
33
+ code: FILTER_OPERATOR_CODES.IsFalse,
34
+ }
35
+ : {
36
+ columnType: "boolean",
37
+ descr: "Show All",
38
+ code: FILTER_OPERATOR_CODES.ShowAll,
39
+ };
40
+ const filter = {
41
+ columnId: column.id,
42
+ value: currentValue,
43
+ dataType: "boolean",
44
+ operator: currentOperator,
45
+ };
46
+ if (currentValue === "") {
47
+ grid._store.emitEvent("rowFilterCleared", {
48
+ filter: { ...filter, value: "" },
49
+ });
50
+ }
51
+ else {
52
+ grid._store.emitEvent("rowFilterChanged", {
53
+ filter,
54
+ });
55
+ }
22
56
  });
23
57
  return select;
24
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"boolean-filter.js","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,MAAM,UAAU,mBAAmB,CAAC,MAAsB,EAAE,OAAgB;IAC1E,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;IAE9B,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpD,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC;IAEhC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrD,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;IAElC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEhC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAQ,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,CAAC,CAAC,MAA2B,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"boolean-filter.js","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAIvF,MAAM,UAAU,mBAAmB,CAAC,MAAsB,EAAE,IAAc;IACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;IAE9B,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpD,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC;IAEhC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrD,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;IAElC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEhC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAQ,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,MAA2B,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;QAClC,MAAM,eAAe,GACnB,MAAM,CAAC,KAAK,KAAK,MAAM;YACrB,CAAC,CAAC;gBACE,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qBAAqB,CAAC,MAAM;aACnC;YACH,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO;gBACxB,CAAC,CAAC;oBACE,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,qBAAqB,CAAC,OAAO;iBACpC;gBACH,CAAC,CAAC;oBACE,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,qBAAqB,CAAC,OAAO;iBACpC,CAAC;QACV,MAAM,MAAM,GAAW;YACrB,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,eAAe;SAC1B,CAAC;QACF,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACxC,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACxC,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { PolyGrid } from "../../../../../core/grid";
1
2
  import { InternalColumn } from "../../../../column/interfaces/internal-column";
2
- export declare function renderDateFilter(column: InternalColumn): HTMLInputElement;
3
+ export declare function renderDateFilter(column: InternalColumn, grid: PolyGrid): HTMLInputElement;
3
4
  //# sourceMappingURL=date-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-filter.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/date-filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAE/E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,oBAQtD"}
1
+ {"version":3,"file":"date-filter.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/date-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAG/E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,oBAiCtE"}
@@ -1,10 +1,33 @@
1
1
  import { PG_CSS_CLASS } from "../../../../../const/pg-css-class";
2
- export function renderDateFilter(column) {
2
+ import { addDomListener } from "../../../../../core/methods";
3
+ export function renderDateFilter(column, grid) {
3
4
  const input = document.createElement("input");
4
5
  input.setAttribute("type", "date");
5
6
  input.setAttribute("disabled", "true");
6
7
  input.placeholder = column.header;
7
8
  input.classList.add(PG_CSS_CLASS.filterEditor);
9
+ addDomListener(grid._gridDom, input, "input", (e) => {
10
+ const input = e.target;
11
+ const currentValue = input.value;
12
+ const filterService = grid._services.filter;
13
+ const currentOperator = filterService.getCurrentOperator(column, grid._store);
14
+ const filter = {
15
+ columnId: column.id,
16
+ value: currentValue,
17
+ dataType: "date",
18
+ operator: currentOperator,
19
+ };
20
+ if (currentValue === "") {
21
+ grid._store.emitEvent("rowFilterCleared", {
22
+ filter: { ...filter, value: "" },
23
+ });
24
+ }
25
+ else {
26
+ grid._store.emitEvent("rowFilterChanged", {
27
+ filter,
28
+ });
29
+ }
30
+ });
8
31
  return input;
9
32
  }
10
33
  //# sourceMappingURL=date-filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-filter.js","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/date-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAIjE,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAE/C,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"date-filter.js","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/date-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,MAAM,UAAU,gBAAgB,CAAC,MAAsB,EAAE,IAAc;IACrE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAE/C,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5C,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,CACtD,MAAM,EACN,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,MAAM,MAAM,GAAW;YACrB,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,eAAe;SAC1B,CAAC;QACF,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACxC,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACxC,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,5 +1,4 @@
1
- import { GridDOM } from "../../../../../core/grid-dom";
2
- import { PolyGridStore } from "../../../../../store/store";
1
+ import { PolyGrid } from "../../../../../core/grid";
3
2
  import { InternalColumn } from "../../../../column/interfaces/internal-column";
4
- export declare function renderNumericFilter(column: InternalColumn, gridDom: GridDOM, store: PolyGridStore): HTMLInputElement;
3
+ export declare function renderNumericFilter(column: InternalColumn, grid: PolyGrid): HTMLInputElement;
5
4
  //# sourceMappingURL=numeric-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"numeric-filter.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAG/E,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,oBAmBrB"}
1
+ {"version":3,"file":"numeric-filter.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAI/E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,oBAsCzE"}
@@ -1,18 +1,36 @@
1
1
  import { PG_CSS_CLASS } from "../../../../../const/pg-css-class";
2
2
  import { addDomListener } from "../../../../../core/methods";
3
3
  import { allowOnlyNumbers } from "../../../../helper/methods";
4
- export function renderNumericFilter(column, gridDom, store) {
4
+ export function renderNumericFilter(column, grid) {
5
5
  const input = document.createElement("input");
6
6
  input.setAttribute("type", "text");
7
7
  input.setAttribute("inputmode", "decimal");
8
8
  input.setAttribute("disabled", "true");
9
9
  input.placeholder = column.header;
10
10
  input.classList.add(PG_CSS_CLASS.filterEditor);
11
- addDomListener(gridDom, input, "input", (e) => {
11
+ addDomListener(grid._gridDom, input, "input", (e) => {
12
12
  const input = e.target;
13
13
  const currentValue = input.value;
14
+ const filterService = grid._services.filter;
15
+ const currentOperator = filterService.getCurrentOperator(column, grid._store);
16
+ const filter = {
17
+ columnId: column.id,
18
+ value: currentValue,
19
+ dataType: "number",
20
+ operator: currentOperator,
21
+ };
22
+ if (currentValue === "") {
23
+ grid._store.emitEvent("rowFilterCleared", {
24
+ filter: { ...filter, value: "" },
25
+ });
26
+ }
27
+ else {
28
+ grid._store.emitEvent("rowFilterChanged", {
29
+ filter,
30
+ });
31
+ }
14
32
  });
15
- addDomListener(gridDom, input, "keydown", (e) => allowOnlyNumbers(e, store));
33
+ addDomListener(grid._gridDom, input, "keydown", (e) => allowOnlyNumbers(e, grid._store));
16
34
  return input;
17
35
  }
18
36
  //# sourceMappingURL=numeric-filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"numeric-filter.js","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,UAAU,mBAAmB,CACjC,MAAsB,EACtB,OAAgB,EAChB,KAAoB;IAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC3C,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAE/C,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE,CAC7D,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,CAC3B,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"numeric-filter.js","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,UAAU,mBAAmB,CAAC,MAAsB,EAAE,IAAc;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC3C,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAE/C,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5C,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,CACtD,MAAM,EACN,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,MAAM,MAAM,GAAW;YACrB,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,eAAe;SAC1B,CAAC;QACF,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACxC,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACxC,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE,CACnE,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CACjC,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,4 +1,4 @@
1
- import { GridDOM } from "../../../../../core/grid-dom";
1
+ import { PolyGrid } from "../../../../../core/grid";
2
2
  import { InternalColumn } from "../../../../column/interfaces/internal-column";
3
- export declare function renderTextFilter(column: InternalColumn, gridDom: GridDOM): HTMLInputElement;
3
+ export declare function renderTextFilter(column: InternalColumn, grid: PolyGrid): HTMLInputElement;
4
4
  //# sourceMappingURL=text-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-filter.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/text-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAE/E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,oBAcxE"}
1
+ {"version":3,"file":"text-filter.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/text-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAG/E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,oBAiCtE"}
@@ -1,15 +1,32 @@
1
1
  import { PG_CSS_CLASS } from "../../../../../const/pg-css-class";
2
2
  import { addDomListener } from "../../../../../core/methods";
3
- export function renderTextFilter(column, gridDom) {
3
+ export function renderTextFilter(column, grid) {
4
4
  const input = document.createElement("input");
5
5
  input.setAttribute("type", "text");
6
6
  input.setAttribute("disabled", "true");
7
7
  input.placeholder = column.header;
8
8
  input.classList.add(PG_CSS_CLASS.filterEditor);
9
- addDomListener(gridDom, input, "input", (e) => {
9
+ addDomListener(grid._gridDom, input, "input", (e) => {
10
10
  const input = e.target;
11
11
  const currentValue = input.value;
12
- console.log(currentValue);
12
+ const filterService = grid._services.filter;
13
+ const currentOperator = filterService.getCurrentOperator(column, grid._store);
14
+ const filter = {
15
+ columnId: column.id,
16
+ value: currentValue,
17
+ dataType: "string",
18
+ operator: currentOperator,
19
+ };
20
+ if (currentValue === "") {
21
+ grid._store.emitEvent("rowFilterCleared", {
22
+ filter: { ...filter, value: "" },
23
+ });
24
+ }
25
+ else {
26
+ grid._store.emitEvent("rowFilterChanged", {
27
+ filter,
28
+ });
29
+ }
13
30
  });
14
31
  return input;
15
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"text-filter.js","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/text-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,MAAM,UAAU,gBAAgB,CAAC,MAAsB,EAAE,OAAgB;IACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAE/C,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"text-filter.js","sourceRoot":"","sources":["../../../../../../../src/engine/services/renderer/parts/filter-row/filter-editors/text-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,MAAM,UAAU,gBAAgB,CAAC,MAAsB,EAAE,IAAc;IACrE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAE/C,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5C,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,CACtD,MAAM,EACN,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,MAAM,MAAM,GAAW;YACrB,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,eAAe;SAC1B,CAAC;QACF,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACxC,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACxC,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { InternalColumn } from "../../../column/interfaces/internal-column";
3
+ export declare function renderFilterOperators(grid: PolyGrid, column: InternalColumn): void;
4
+ //# sourceMappingURL=filter-operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-operators.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/filter-row/filter-operators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAI5E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,QA6D3E"}
@@ -0,0 +1,51 @@
1
+ import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ import { FILTER_OPERATORS } from "../../../filter/const/filter-operators";
3
+ import { selectRowFilterOperator } from "../../../filter/methods";
4
+ export function renderFilterOperators(grid, column) {
5
+ const state = grid._store.getState();
6
+ const list = document.createElement("ul");
7
+ list.classList.add(PG_CSS_CLASS.filterOperators);
8
+ const dataType = grid._runtime.filterCellEditors.get(column.id).dataType;
9
+ const operators = FILTER_OPERATORS.filter((op) => op.columnType === dataType);
10
+ const currentOperator = state.view.columnFilterOperators.find((op) => op.columnId === column.id).operator.code;
11
+ operators.forEach((op, ind) => {
12
+ const item = document.createElement("li");
13
+ item.textContent = op.descr;
14
+ item.classList.toggle("active", op.code === currentOperator);
15
+ item.setAttribute("index", ind.toString());
16
+ list.appendChild(item);
17
+ });
18
+ list.addEventListener("click", (e) => {
19
+ const li = e.target.closest("li");
20
+ if (!li)
21
+ return;
22
+ const index = +li.getAttribute("index");
23
+ const op = operators[index];
24
+ if (!op)
25
+ return;
26
+ selectRowFilterOperator(grid, column, op);
27
+ });
28
+ grid._runtime.filterOperators = list;
29
+ grid._gridDom.root.appendChild(list);
30
+ // Positioning
31
+ const iconEl = grid._runtime.filterCellIcons.get(column.id);
32
+ const iconRect = iconEl.getBoundingClientRect();
33
+ const gridRect = grid._gridDom.root.getBoundingClientRect();
34
+ const operatorsWidth = 150;
35
+ // Convert viewport coords → grid‑relative coords
36
+ const leftInGrid = iconRect.left - gridRect.left;
37
+ const rightInGrid = gridRect.right - iconRect.right;
38
+ const topInGrid = iconRect.bottom - gridRect.top;
39
+ const shouldAlignRight = leftInGrid + operatorsWidth > gridRect.width;
40
+ list.style.position = "absolute";
41
+ list.style.top = `${topInGrid}px`;
42
+ if (shouldAlignRight) {
43
+ list.style.right = `${rightInGrid}px`;
44
+ list.style.left = "auto";
45
+ }
46
+ else {
47
+ list.style.left = `${leftInGrid}px`;
48
+ list.style.right = "auto";
49
+ }
50
+ }
51
+ //# sourceMappingURL=filter-operators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-operators.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/filter-row/filter-operators.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/root/root.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,QAaf"}
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/root/root.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,QAkCf"}
@@ -1,13 +1,33 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ import { addDomListener } from "../../../../core/methods";
2
3
  import { renderGrid } from "../grid/grid";
3
4
  export function renderRoot(store, host, gridDom, grid) {
4
5
  const root = document.createElement("div");
5
6
  root.className = PG_CSS_CLASS.root;
6
7
  root.id = store.getState().view.id;
8
+ root.tabIndex = -1;
7
9
  const gridEl = renderGrid(store, gridDom, grid);
8
10
  root.appendChild(gridEl);
9
11
  host.appendChild(root);
10
12
  gridDom.root = root;
11
13
  gridDom.grid = gridEl;
14
+ addDomListener(gridDom, root, "click", (e) => {
15
+ const filterOperators = grid._runtime.filterOperators;
16
+ if (filterOperators) {
17
+ if (!filterOperators.contains(e.target)) {
18
+ filterOperators.remove();
19
+ grid._runtime.filterOperators = null;
20
+ }
21
+ }
22
+ });
23
+ addDomListener(gridDom, root, "keydown", (e) => {
24
+ if (e.key === "Escape") {
25
+ const filterOperators = grid._runtime.filterOperators;
26
+ if (filterOperators) {
27
+ filterOperators.remove();
28
+ grid._runtime.filterOperators = null;
29
+ }
30
+ }
31
+ });
12
32
  }
13
33
  //# sourceMappingURL=root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/root/root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,IAAiB,EACjB,OAAgB,EAChB,IAAc;IAEd,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAEnC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEhD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/root/root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,IAAiB,EACjB,OAAgB,EAChB,IAAc;IAEd,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IACnC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAEnB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEhD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;IAEtB,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QACtD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE,CAAC;gBAChD,eAAe,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAC7C,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACtD,IAAI,eAAe,EAAE,CAAC;gBACpB,eAAe,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -4,6 +4,7 @@ import { InternalColumn } from "../../services/column/interfaces/internal-column
4
4
  import type { ColumnWidthState } from "../../services/column/types/column-width-state";
5
5
  import { GridErrorType } from "../../services/error/types/error-type";
6
6
  import { ColumnFilterOperator } from "../../services/filter/interfaces/column-filter-operator";
7
+ import { Filter } from "../../services/filter/interfaces/filter";
7
8
  import { PolyGridFilterType } from "../../services/filter/types/filter-type";
8
9
  import { RendererAdapter } from "../../services/renderer/interfaces/renderer-adapter";
9
10
  import type { PolyGridRow } from "../../services/row/interfaces/row";
@@ -45,6 +46,7 @@ export interface PolyGridViewState {
45
46
  currentSortSettings: CurrentSortSettings[];
46
47
  showFooter: boolean;
47
48
  columnFilterOperators: ColumnFilterOperator[];
49
+ rowFilters: Filter[];
48
50
  locale: string;
49
51
  }
50
52
  //# sourceMappingURL=view-state.d.ts.map