@polygrid/core 1.0.445 → 1.0.447

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 (188) hide show
  1. package/dist/api/index.d.ts +1 -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/set-locale.d.ts +3 -0
  6. package/dist/api/set-locale.d.ts.map +1 -0
  7. package/dist/api/set-locale.js +6 -0
  8. package/dist/api/set-locale.js.map +1 -0
  9. package/dist/engine/const/pg-css-class.d.ts +4 -0
  10. package/dist/engine/const/pg-css-class.d.ts.map +1 -1
  11. package/dist/engine/const/pg-css-class.js +4 -0
  12. package/dist/engine/const/pg-css-class.js.map +1 -1
  13. package/dist/engine/const/pg-icons.d.ts +2 -0
  14. package/dist/engine/const/pg-icons.d.ts.map +1 -1
  15. package/dist/engine/const/pg-icons.js +2 -0
  16. package/dist/engine/const/pg-icons.js.map +1 -1
  17. package/dist/engine/core/grid-runtime.d.ts +8 -0
  18. package/dist/engine/core/grid-runtime.d.ts.map +1 -1
  19. package/dist/engine/core/grid-runtime.js +4 -0
  20. package/dist/engine/core/grid-runtime.js.map +1 -1
  21. package/dist/engine/core/grid.js +2 -2
  22. package/dist/engine/core/grid.js.map +1 -1
  23. package/dist/engine/core/interfaces/grid-event-map.d.ts +11 -0
  24. package/dist/engine/core/interfaces/grid-event-map.d.ts.map +1 -0
  25. package/dist/engine/core/interfaces/grid-event-map.js +2 -0
  26. package/dist/engine/core/interfaces/grid-event-map.js.map +1 -0
  27. package/dist/engine/core/interfaces/grid-options.d.ts +1 -0
  28. package/dist/engine/core/interfaces/grid-options.d.ts.map +1 -1
  29. package/dist/engine/core/methods/consume-options.d.ts.map +1 -1
  30. package/dist/engine/core/methods/consume-options.js +7 -0
  31. package/dist/engine/core/methods/consume-options.js.map +1 -1
  32. package/dist/engine/services/filter/const/filter-operator-codes.d.ts +25 -0
  33. package/dist/engine/services/filter/const/filter-operator-codes.d.ts.map +1 -0
  34. package/dist/engine/services/filter/const/filter-operator-codes.js +24 -0
  35. package/dist/engine/services/filter/const/filter-operator-codes.js.map +1 -0
  36. package/dist/engine/services/filter/const/filter-operators.d.ts +3 -0
  37. package/dist/engine/services/filter/const/filter-operators.d.ts.map +1 -0
  38. package/dist/engine/services/filter/const/filter-operators.js +149 -0
  39. package/dist/engine/services/filter/const/filter-operators.js.map +1 -0
  40. package/dist/engine/services/filter/const/logical-combinator.d.ts +6 -0
  41. package/dist/engine/services/filter/const/logical-combinator.d.ts.map +1 -0
  42. package/dist/engine/services/filter/const/logical-combinator.js +5 -0
  43. package/dist/engine/services/filter/const/logical-combinator.js.map +1 -0
  44. package/dist/engine/services/filter/const/no-editor-operators.d.ts +3 -0
  45. package/dist/engine/services/filter/const/no-editor-operators.d.ts.map +1 -0
  46. package/dist/engine/services/filter/const/no-editor-operators.js +8 -0
  47. package/dist/engine/services/filter/const/no-editor-operators.js.map +1 -0
  48. package/dist/engine/services/filter/filter.d.ts +10 -0
  49. package/dist/engine/services/filter/filter.d.ts.map +1 -1
  50. package/dist/engine/services/filter/filter.js +24 -0
  51. package/dist/engine/services/filter/filter.js.map +1 -1
  52. package/dist/engine/services/filter/interfaces/active-filter.d.ts +5 -0
  53. package/dist/engine/services/filter/interfaces/active-filter.d.ts.map +1 -0
  54. package/dist/engine/services/filter/interfaces/active-filter.js +2 -0
  55. package/dist/engine/services/filter/interfaces/active-filter.js.map +1 -0
  56. package/dist/engine/services/filter/interfaces/checkbox-filter.d.ts +5 -0
  57. package/dist/engine/services/filter/interfaces/checkbox-filter.d.ts.map +1 -0
  58. package/dist/engine/services/filter/interfaces/checkbox-filter.js +2 -0
  59. package/dist/engine/services/filter/interfaces/checkbox-filter.js.map +1 -0
  60. package/dist/engine/services/filter/interfaces/column-filter-operator.d.ts +6 -0
  61. package/dist/engine/services/filter/interfaces/column-filter-operator.d.ts.map +1 -0
  62. package/dist/engine/services/filter/interfaces/column-filter-operator.js +2 -0
  63. package/dist/engine/services/filter/interfaces/column-filter-operator.js.map +1 -0
  64. package/dist/engine/services/filter/interfaces/date-node-model.d.ts +10 -0
  65. package/dist/engine/services/filter/interfaces/date-node-model.d.ts.map +1 -0
  66. package/dist/engine/services/filter/interfaces/date-node-model.js +2 -0
  67. package/dist/engine/services/filter/interfaces/date-node-model.js.map +1 -0
  68. package/dist/engine/services/filter/interfaces/date-node.d.ts +9 -0
  69. package/dist/engine/services/filter/interfaces/date-node.d.ts.map +1 -0
  70. package/dist/engine/services/filter/interfaces/date-node.js +2 -0
  71. package/dist/engine/services/filter/interfaces/date-node.js.map +1 -0
  72. package/dist/engine/services/filter/interfaces/excel-filter.d.ts +8 -0
  73. package/dist/engine/services/filter/interfaces/excel-filter.d.ts.map +1 -0
  74. package/dist/engine/services/filter/interfaces/excel-filter.js +2 -0
  75. package/dist/engine/services/filter/interfaces/excel-filter.js.map +1 -0
  76. package/dist/engine/services/filter/interfaces/filter-group.d.ts +8 -0
  77. package/dist/engine/services/filter/interfaces/filter-group.d.ts.map +1 -0
  78. package/dist/engine/services/filter/interfaces/filter-group.js +2 -0
  79. package/dist/engine/services/filter/interfaces/filter-group.js.map +1 -0
  80. package/dist/engine/services/filter/interfaces/filter-operator.d.ts +8 -0
  81. package/dist/engine/services/filter/interfaces/filter-operator.d.ts.map +1 -0
  82. package/dist/engine/services/filter/interfaces/filter-operator.js +2 -0
  83. package/dist/engine/services/filter/interfaces/filter-operator.js.map +1 -0
  84. package/dist/engine/services/filter/interfaces/filter.d.ts +9 -0
  85. package/dist/engine/services/filter/interfaces/filter.d.ts.map +1 -0
  86. package/dist/engine/services/filter/interfaces/filter.js +2 -0
  87. package/dist/engine/services/filter/interfaces/filter.js.map +1 -0
  88. package/dist/engine/services/filter/methods/get-current-operator.d.ts +5 -0
  89. package/dist/engine/services/filter/methods/get-current-operator.d.ts.map +1 -0
  90. package/dist/engine/services/filter/methods/get-current-operator.js +7 -0
  91. package/dist/engine/services/filter/methods/get-current-operator.js.map +1 -0
  92. package/dist/engine/services/filter/methods/get-default-operator.d.ts +4 -0
  93. package/dist/engine/services/filter/methods/get-default-operator.d.ts.map +1 -0
  94. package/dist/engine/services/filter/methods/get-default-operator.js +29 -0
  95. package/dist/engine/services/filter/methods/get-default-operator.js.map +1 -0
  96. package/dist/engine/services/filter/methods/index.d.ts +8 -0
  97. package/dist/engine/services/filter/methods/index.d.ts.map +1 -1
  98. package/dist/engine/services/filter/methods/index.js +8 -0
  99. package/dist/engine/services/filter/methods/index.js.map +1 -1
  100. package/dist/engine/services/filter/methods/render-filter-editors.d.ts +4 -0
  101. package/dist/engine/services/filter/methods/render-filter-editors.d.ts.map +1 -0
  102. package/dist/engine/services/filter/methods/render-filter-editors.js +59 -0
  103. package/dist/engine/services/filter/methods/render-filter-editors.js.map +1 -0
  104. package/dist/engine/services/filter/methods/row-filter-changed.d.ts +4 -0
  105. package/dist/engine/services/filter/methods/row-filter-changed.d.ts.map +1 -0
  106. package/dist/engine/services/filter/methods/row-filter-changed.js +17 -0
  107. package/dist/engine/services/filter/methods/row-filter-changed.js.map +1 -0
  108. package/dist/engine/services/filter/methods/row-filter-cleared.d.ts +4 -0
  109. package/dist/engine/services/filter/methods/row-filter-cleared.d.ts.map +1 -0
  110. package/dist/engine/services/filter/methods/row-filter-cleared.js +23 -0
  111. package/dist/engine/services/filter/methods/row-filter-cleared.js.map +1 -0
  112. package/dist/engine/services/filter/methods/row-filter-icon-click.d.ts +4 -0
  113. package/dist/engine/services/filter/methods/row-filter-icon-click.d.ts.map +1 -0
  114. package/dist/engine/services/filter/methods/row-filter-icon-click.js +19 -0
  115. package/dist/engine/services/filter/methods/row-filter-icon-click.js.map +1 -0
  116. package/dist/engine/services/filter/methods/select-row-filter-operator.d.ts +5 -0
  117. package/dist/engine/services/filter/methods/select-row-filter-operator.d.ts.map +1 -0
  118. package/dist/engine/services/filter/methods/select-row-filter-operator.js +22 -0
  119. package/dist/engine/services/filter/methods/select-row-filter-operator.js.map +1 -0
  120. package/dist/engine/services/filter/methods/set-default-filter-operators.d.ts +4 -0
  121. package/dist/engine/services/filter/methods/set-default-filter-operators.d.ts.map +1 -0
  122. package/dist/engine/services/filter/methods/set-default-filter-operators.js +19 -0
  123. package/dist/engine/services/filter/methods/set-default-filter-operators.js.map +1 -0
  124. package/dist/engine/services/helper/const/allowed-spec-keys-in-input.d.ts +11 -0
  125. package/dist/engine/services/helper/const/allowed-spec-keys-in-input.d.ts.map +1 -0
  126. package/dist/engine/services/helper/const/allowed-spec-keys-in-input.js +10 -0
  127. package/dist/engine/services/helper/const/allowed-spec-keys-in-input.js.map +1 -0
  128. package/dist/engine/services/helper/helper.d.ts +16 -0
  129. package/dist/engine/services/helper/helper.d.ts.map +1 -0
  130. package/dist/engine/services/helper/helper.js +13 -0
  131. package/dist/engine/services/helper/helper.js.map +1 -0
  132. package/dist/engine/services/helper/index.d.ts +2 -0
  133. package/dist/engine/services/helper/index.d.ts.map +1 -0
  134. package/dist/engine/services/helper/index.js +2 -0
  135. package/dist/engine/services/helper/index.js.map +1 -0
  136. package/dist/engine/services/helper/methods/allow-only-numbers.d.ts +3 -0
  137. package/dist/engine/services/helper/methods/allow-only-numbers.d.ts.map +1 -0
  138. package/dist/engine/services/helper/methods/allow-only-numbers.js +28 -0
  139. package/dist/engine/services/helper/methods/allow-only-numbers.js.map +1 -0
  140. package/dist/engine/services/helper/methods/get-caret-position.d.ts +2 -0
  141. package/dist/engine/services/helper/methods/get-caret-position.d.ts.map +1 -0
  142. package/dist/engine/services/helper/methods/get-caret-position.js +5 -0
  143. package/dist/engine/services/helper/methods/get-caret-position.js.map +1 -0
  144. package/dist/engine/services/helper/methods/index.d.ts +3 -0
  145. package/dist/engine/services/helper/methods/index.d.ts.map +1 -0
  146. package/dist/engine/services/helper/methods/index.js +3 -0
  147. package/dist/engine/services/helper/methods/index.js.map +1 -0
  148. package/dist/engine/services/renderer/parts/filter-row/filter-cells.d.ts.map +1 -1
  149. package/dist/engine/services/renderer/parts/filter-row/filter-cells.js +20 -1
  150. package/dist/engine/services/renderer/parts/filter-row/filter-cells.js.map +1 -1
  151. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.d.ts +4 -0
  152. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.d.ts.map +1 -0
  153. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.js +59 -0
  154. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.js.map +1 -0
  155. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.d.ts +4 -0
  156. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.d.ts.map +1 -0
  157. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.js +33 -0
  158. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.js.map +1 -0
  159. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.d.ts +4 -0
  160. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.d.ts.map +1 -0
  161. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.js +36 -0
  162. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.js.map +1 -0
  163. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.d.ts +4 -0
  164. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.d.ts.map +1 -0
  165. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.js +33 -0
  166. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.js.map +1 -0
  167. package/dist/engine/services/renderer/parts/filter-row/filter-operators.d.ts +4 -0
  168. package/dist/engine/services/renderer/parts/filter-row/filter-operators.d.ts.map +1 -0
  169. package/dist/engine/services/renderer/parts/filter-row/filter-operators.js +51 -0
  170. package/dist/engine/services/renderer/parts/filter-row/filter-operators.js.map +1 -0
  171. package/dist/engine/services/renderer/parts/root/root.d.ts.map +1 -1
  172. package/dist/engine/services/renderer/parts/root/root.js +20 -0
  173. package/dist/engine/services/renderer/parts/root/root.js.map +1 -1
  174. package/dist/engine/services/services.d.ts +2 -0
  175. package/dist/engine/services/services.d.ts.map +1 -1
  176. package/dist/engine/services/services.js +2 -0
  177. package/dist/engine/services/services.js.map +1 -1
  178. package/dist/engine/store/interfaces/view-state.d.ts +5 -0
  179. package/dist/engine/store/interfaces/view-state.d.ts.map +1 -1
  180. package/dist/engine/store/methods/create-initial-state.d.ts.map +1 -1
  181. package/dist/engine/store/methods/create-initial-state.js +3 -0
  182. package/dist/engine/store/methods/create-initial-state.js.map +1 -1
  183. package/dist/engine/store/store.d.ts +4 -0
  184. package/dist/engine/store/store.d.ts.map +1 -1
  185. package/dist/engine/store/store.js +17 -0
  186. package/dist/engine/store/store.js.map +1 -1
  187. package/dist/polygrid.css +56 -1
  188. package/package.json +1 -1
@@ -0,0 +1,19 @@
1
+ export function setDefaultFilterOperators(filterService, grid) {
2
+ const state = filterService.store.getState();
3
+ const cols = state.view.internalColumns;
4
+ const colFilterOperators = [];
5
+ if (state.view.rows.length > 0) {
6
+ for (const col of cols) {
7
+ const firstRowValue = grid._services.sort.getFirstRowValue(filterService.store, col);
8
+ const colDataType = grid._services.sort.detectColumnDataType(firstRowValue);
9
+ let operator = filterService.getDefaultOperator(colDataType);
10
+ const defaultOperator = {
11
+ columnId: col.id,
12
+ operator: operator,
13
+ };
14
+ colFilterOperators.push(defaultOperator);
15
+ }
16
+ filterService.store.update((draft) => (draft.view.columnFilterOperators = [...colFilterOperators]));
17
+ }
18
+ }
19
+ //# sourceMappingURL=set-default-filter-operators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-default-filter-operators.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/set-default-filter-operators.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,yBAAyB,CACvC,aAA4B,EAC5B,IAAc;IAEd,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;IACxC,MAAM,kBAAkB,GAA2B,EAAE,CAAC;IAEtD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CACxD,aAAa,CAAC,KAAK,EACnB,GAAG,CACJ,CAAC;YACF,MAAM,WAAW,GACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAC1D,IAAI,QAAQ,GAAG,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,eAAe,GAAyB;gBAC5C,QAAQ,EAAE,GAAG,CAAC,EAAE;gBAChB,QAAQ,EAAE,QAAQ;aACnB,CAAC;YACF,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC;QACD,aAAa,CAAC,KAAK,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const ALLOWED_SPEC_KEYS_IN_INPUT: {
2
+ readonly Backspace: "Backspace";
3
+ readonly Delete: "Delete";
4
+ readonly ArrowLeft: "ArrowLeft";
5
+ readonly ArrowRight: "ArrowRight";
6
+ readonly Tab: "Tab";
7
+ readonly Home: "Home";
8
+ readonly End: "End";
9
+ };
10
+ export type AllowedSpecialKeysInInput = (typeof ALLOWED_SPEC_KEYS_IN_INPUT)[keyof typeof ALLOWED_SPEC_KEYS_IN_INPUT];
11
+ //# sourceMappingURL=allowed-spec-keys-in-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-spec-keys-in-input.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/helper/const/allowed-spec-keys-in-input.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;CAQ7B,CAAC;AAEX,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,OAAO,0BAA0B,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export const ALLOWED_SPEC_KEYS_IN_INPUT = {
2
+ Backspace: "Backspace",
3
+ Delete: "Delete",
4
+ ArrowLeft: "ArrowLeft",
5
+ ArrowRight: "ArrowRight",
6
+ Tab: "Tab",
7
+ Home: "Home",
8
+ End: "End",
9
+ };
10
+ //# sourceMappingURL=allowed-spec-keys-in-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-spec-keys-in-input.js","sourceRoot":"","sources":["../../../../../src/engine/services/helper/const/allowed-spec-keys-in-input.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { PolyGrid } from "../../core/grid";
2
+ import type { GridDOM } from "../../core/grid-dom";
3
+ import type { ObservableLike } from "../../rx-lite/interfaces/observable-like";
4
+ import type { PolyGridStore } from "../../store/store";
5
+ import * as methods from "./methods/index";
6
+ export declare class HelperService {
7
+ store: PolyGridStore;
8
+ destroy$: ObservableLike<void>;
9
+ gridDom: GridDOM;
10
+ grid: PolyGrid;
11
+ constructor(grid: PolyGrid);
12
+ allowOnlyNumbers: typeof methods.allowOnlyNumbers;
13
+ getCaretPosition: typeof methods.getCaretPosition;
14
+ initApiSubscriptions(): void;
15
+ }
16
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/helper/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,qBAAa,aAAa;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;gBAEH,IAAI,EAAE,QAAQ;IAO1B,gBAAgB,kCAA4B;IAC5C,gBAAgB,kCAA4B;IAE5C,oBAAoB;CACrB"}
@@ -0,0 +1,13 @@
1
+ import * as methods from "./methods/index";
2
+ export class HelperService {
3
+ constructor(grid) {
4
+ this.allowOnlyNumbers = methods.allowOnlyNumbers;
5
+ this.getCaretPosition = methods.getCaretPosition;
6
+ this.store = grid._store;
7
+ this.destroy$ = grid._destroy$;
8
+ this.gridDom = grid._gridDom;
9
+ this.grid = grid;
10
+ }
11
+ initApiSubscriptions() { }
12
+ }
13
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/engine/services/helper/helper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,MAAM,OAAO,aAAa;IAMxB,YAAY,IAAc;QAO1B,qBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC5C,qBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAP1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAKD,oBAAoB,KAAI,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export * from "./helper";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/helper/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./helper";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engine/services/helper/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { PolyGridStore } from "../../../store/store";
2
+ export declare function allowOnlyNumbers(event: KeyboardEvent, store: PolyGridStore): void;
3
+ //# sourceMappingURL=allow-only-numbers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allow-only-numbers.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/helper/methods/allow-only-numbers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,QAuB1E"}
@@ -0,0 +1,28 @@
1
+ import { ALLOWED_SPEC_KEYS_IN_INPUT } from "../const/allowed-spec-keys-in-input";
2
+ import { getCaretPosition } from "./get-caret-position";
3
+ export function allowOnlyNumbers(event, store) {
4
+ const locale = store.getState().view.locale;
5
+ const decimalSeparator = (1.1).toLocaleString(locale).includes(",")
6
+ ? ","
7
+ : ".";
8
+ const input = event.target;
9
+ const currentValue = input.value;
10
+ const isDigit = /^[0-9]$/.test(event.key);
11
+ const isDecimal = event.key === decimalSeparator;
12
+ const isMinus = event.key === "-";
13
+ const hasDecimalAlready = currentValue.includes(decimalSeparator);
14
+ const hasMinusAlready = currentValue.includes("-");
15
+ if (event.key in ALLOWED_SPEC_KEYS_IN_INPUT)
16
+ return;
17
+ if (isDigit) {
18
+ return; // allow digits and navigation
19
+ }
20
+ if (isDecimal && !hasDecimalAlready) {
21
+ return; // allow one decimal separator
22
+ }
23
+ if (isMinus && !hasMinusAlready && getCaretPosition() === 0) {
24
+ return; // allow minus only at the beginning
25
+ }
26
+ event.preventDefault(); // block everything else
27
+ }
28
+ //# sourceMappingURL=allow-only-numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allow-only-numbers.js","sourceRoot":"","sources":["../../../../../src/engine/services/helper/methods/allow-only-numbers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,UAAU,gBAAgB,CAAC,KAAoB,EAAE,KAAoB;IACzE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;IAC5C,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QACjE,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,GAAG,CAAC;IACR,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;IAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK,gBAAgB,CAAC;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC;IAClC,MAAM,iBAAiB,GAAG,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B;QAAE,OAAO;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,8BAA8B;IACxC,CAAC;IACD,IAAI,SAAS,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpC,OAAO,CAAC,8BAA8B;IACxC,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,eAAe,IAAI,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,oCAAoC;IAC9C,CAAC;IACD,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,wBAAwB;AAClD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function getCaretPosition(): number;
2
+ //# sourceMappingURL=get-caret-position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-caret-position.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/helper/methods/get-caret-position.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC"}
@@ -0,0 +1,5 @@
1
+ export function getCaretPosition() {
2
+ const input = document.activeElement;
3
+ return input.selectionStart ?? 0;
4
+ }
5
+ //# sourceMappingURL=get-caret-position.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-caret-position.js","sourceRoot":"","sources":["../../../../../src/engine/services/helper/methods/get-caret-position.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAiC,CAAC;IACzD,OAAO,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./allow-only-numbers";
2
+ export * from "./get-caret-position";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/helper/methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./allow-only-numbers";
2
+ export * from "./get-caret-position";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/engine/services/helper/methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -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;AAE7D,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,QAyBf"}
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,7 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ import { addDomListener } from "../../../../core/methods";
3
+ import { renderIcon } from "../../../icon/methods";
4
+ import { renderTextFilter } from "./filter-editors/text-filter";
2
5
  export function renderFilterCells(filterRow, store, gridDom, grid) {
3
6
  const state = store.getState();
4
7
  const columns = state.view.internalColumns.filter((col) => col.visible ?? true);
@@ -11,9 +14,25 @@ export function renderFilterCells(filterRow, store, gridDom, grid) {
11
14
  // Create content container
12
15
  const content = document.createElement("div");
13
16
  content.className = PG_CSS_CLASS.filterCellContent;
14
- content.textContent = col.header;
17
+ grid._runtime.filterCellContainers.set(col.id, content);
18
+ // Create filter editors - first for all column the default one (text)
19
+ const editor = renderTextFilter(col, grid);
20
+ content.appendChild(editor);
15
21
  cell.appendChild(content);
22
+ // filter icon
23
+ const iconContainer = document.createElement("span");
24
+ const iconNode = renderIcon(grid._services.icon, "filter");
25
+ iconContainer.replaceChildren(iconNode ?? "");
26
+ iconContainer.classList.add(PG_CSS_CLASS.filterIcon);
27
+ iconContainer.classList.add(PG_CSS_CLASS.disabled);
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
+ });
33
+ cell.appendChild(iconContainer);
16
34
  filterRow.appendChild(cell);
17
35
  });
36
+ store.emitEvent("filterCellsRendered", {});
18
37
  }
19
38
  //# sourceMappingURL=filter-cells.js.map
@@ -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;AAK9D,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;QAEnD,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAEjC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1B,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,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"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../../core/grid";
2
+ import { InternalColumn } from "../../../../column/interfaces/internal-column";
3
+ export declare function renderBooleanFilter(column: InternalColumn, grid: PolyGrid): HTMLSelectElement;
4
+ //# sourceMappingURL=boolean-filter.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,59 @@
1
+ import { PG_CSS_CLASS } from "../../../../../const/pg-css-class";
2
+ import { addDomListener } from "../../../../../core/methods";
3
+ import { FILTER_OPERATOR_CODES } from "../../../../filter/const/filter-operator-codes";
4
+ export function renderBooleanFilter(column, grid) {
5
+ const select = document.createElement("select");
6
+ select.setAttribute("disabled", "true");
7
+ select.classList.add(PG_CSS_CLASS.filterEditor);
8
+ const optionAll = document.createElement("option");
9
+ optionAll.setAttribute("value", "");
10
+ optionAll.textContent = "All";
11
+ const optionTrue = document.createElement("option");
12
+ optionTrue.setAttribute("value", "true");
13
+ optionTrue.textContent = "True";
14
+ const optionFalse = document.createElement("option");
15
+ optionFalse.setAttribute("value", "false");
16
+ optionFalse.textContent = "False";
17
+ select.appendChild(optionAll);
18
+ select.appendChild(optionTrue);
19
+ select.appendChild(optionFalse);
20
+ addDomListener(grid._gridDom, select, "change", (e) => {
21
+ const select = e.target;
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
+ }
56
+ });
57
+ return select;
58
+ }
59
+ //# sourceMappingURL=boolean-filter.js.map
@@ -0,0 +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;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"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../../core/grid";
2
+ import { InternalColumn } from "../../../../column/interfaces/internal-column";
3
+ export declare function renderDateFilter(column: InternalColumn, grid: PolyGrid): HTMLInputElement;
4
+ //# sourceMappingURL=date-filter.d.ts.map
@@ -0,0 +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":"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"}
@@ -0,0 +1,33 @@
1
+ import { PG_CSS_CLASS } from "../../../../../const/pg-css-class";
2
+ import { addDomListener } from "../../../../../core/methods";
3
+ export function renderDateFilter(column, grid) {
4
+ const input = document.createElement("input");
5
+ input.setAttribute("type", "date");
6
+ input.setAttribute("disabled", "true");
7
+ input.placeholder = column.header;
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
+ });
31
+ return input;
32
+ }
33
+ //# sourceMappingURL=date-filter.js.map
@@ -0,0 +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;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"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../../core/grid";
2
+ import { InternalColumn } from "../../../../column/interfaces/internal-column";
3
+ export declare function renderNumericFilter(column: InternalColumn, grid: PolyGrid): HTMLInputElement;
4
+ //# sourceMappingURL=numeric-filter.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,36 @@
1
+ import { PG_CSS_CLASS } from "../../../../../const/pg-css-class";
2
+ import { addDomListener } from "../../../../../core/methods";
3
+ import { allowOnlyNumbers } from "../../../../helper/methods";
4
+ export function renderNumericFilter(column, grid) {
5
+ const input = document.createElement("input");
6
+ input.setAttribute("type", "text");
7
+ input.setAttribute("inputmode", "decimal");
8
+ input.setAttribute("disabled", "true");
9
+ input.placeholder = column.header;
10
+ input.classList.add(PG_CSS_CLASS.filterEditor);
11
+ addDomListener(grid._gridDom, input, "input", (e) => {
12
+ const input = e.target;
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
+ }
32
+ });
33
+ addDomListener(grid._gridDom, input, "keydown", (e) => allowOnlyNumbers(e, grid._store));
34
+ return input;
35
+ }
36
+ //# sourceMappingURL=numeric-filter.js.map
@@ -0,0 +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,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"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../../core/grid";
2
+ import { InternalColumn } from "../../../../column/interfaces/internal-column";
3
+ export declare function renderTextFilter(column: InternalColumn, grid: PolyGrid): HTMLInputElement;
4
+ //# sourceMappingURL=text-filter.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,33 @@
1
+ import { PG_CSS_CLASS } from "../../../../../const/pg-css-class";
2
+ import { addDomListener } from "../../../../../core/methods";
3
+ export function renderTextFilter(column, grid) {
4
+ const input = document.createElement("input");
5
+ input.setAttribute("type", "text");
6
+ input.setAttribute("disabled", "true");
7
+ input.placeholder = column.header;
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: "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
+ }
30
+ });
31
+ return input;
32
+ }
33
+ //# sourceMappingURL=text-filter.js.map
@@ -0,0 +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,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"}