@polygrid/core 1.0.444 → 1.0.446

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 (176) 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 +3 -0
  10. package/dist/engine/const/pg-css-class.d.ts.map +1 -1
  11. package/dist/engine/const/pg-css-class.js +3 -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 +2 -0
  18. package/dist/engine/core/grid-runtime.d.ts.map +1 -1
  19. package/dist/engine/core/grid-runtime.js +2 -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 +4 -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 +8 -3
  31. package/dist/engine/core/methods/consume-options.js.map +1 -1
  32. package/dist/engine/services/column/methods/autofit.js +1 -1
  33. package/dist/engine/services/column/methods/autofit.js.map +1 -1
  34. package/dist/engine/services/column/methods/measure-column-content-width.d.ts +2 -1
  35. package/dist/engine/services/column/methods/measure-column-content-width.d.ts.map +1 -1
  36. package/dist/engine/services/column/methods/measure-column-content-width.js +6 -4
  37. package/dist/engine/services/column/methods/measure-column-content-width.js.map +1 -1
  38. package/dist/engine/services/filter/const/filter-operator-codes.d.ts +25 -0
  39. package/dist/engine/services/filter/const/filter-operator-codes.d.ts.map +1 -0
  40. package/dist/engine/services/filter/const/filter-operator-codes.js +24 -0
  41. package/dist/engine/services/filter/const/filter-operator-codes.js.map +1 -0
  42. package/dist/engine/services/filter/const/filter-operators.d.ts +3 -0
  43. package/dist/engine/services/filter/const/filter-operators.d.ts.map +1 -0
  44. package/dist/engine/services/filter/const/filter-operators.js +149 -0
  45. package/dist/engine/services/filter/const/filter-operators.js.map +1 -0
  46. package/dist/engine/services/filter/const/logical-combinator.d.ts +6 -0
  47. package/dist/engine/services/filter/const/logical-combinator.d.ts.map +1 -0
  48. package/dist/engine/services/filter/const/logical-combinator.js +5 -0
  49. package/dist/engine/services/filter/const/logical-combinator.js.map +1 -0
  50. package/dist/engine/services/filter/filter.d.ts +5 -0
  51. package/dist/engine/services/filter/filter.d.ts.map +1 -1
  52. package/dist/engine/services/filter/filter.js +13 -0
  53. package/dist/engine/services/filter/filter.js.map +1 -1
  54. package/dist/engine/services/filter/interfaces/active-filter.d.ts +5 -0
  55. package/dist/engine/services/filter/interfaces/active-filter.d.ts.map +1 -0
  56. package/dist/engine/services/filter/interfaces/active-filter.js +2 -0
  57. package/dist/engine/services/filter/interfaces/active-filter.js.map +1 -0
  58. package/dist/engine/services/filter/interfaces/checkbox-filter.d.ts +5 -0
  59. package/dist/engine/services/filter/interfaces/checkbox-filter.d.ts.map +1 -0
  60. package/dist/engine/services/filter/interfaces/checkbox-filter.js +2 -0
  61. package/dist/engine/services/filter/interfaces/checkbox-filter.js.map +1 -0
  62. package/dist/engine/services/filter/interfaces/column-filter-operator.d.ts +6 -0
  63. package/dist/engine/services/filter/interfaces/column-filter-operator.d.ts.map +1 -0
  64. package/dist/engine/services/filter/interfaces/column-filter-operator.js +2 -0
  65. package/dist/engine/services/filter/interfaces/column-filter-operator.js.map +1 -0
  66. package/dist/engine/services/filter/interfaces/date-node-model.d.ts +10 -0
  67. package/dist/engine/services/filter/interfaces/date-node-model.d.ts.map +1 -0
  68. package/dist/engine/services/filter/interfaces/date-node-model.js +2 -0
  69. package/dist/engine/services/filter/interfaces/date-node-model.js.map +1 -0
  70. package/dist/engine/services/filter/interfaces/date-node.d.ts +9 -0
  71. package/dist/engine/services/filter/interfaces/date-node.d.ts.map +1 -0
  72. package/dist/engine/services/filter/interfaces/date-node.js +2 -0
  73. package/dist/engine/services/filter/interfaces/date-node.js.map +1 -0
  74. package/dist/engine/services/filter/interfaces/excel-filter.d.ts +8 -0
  75. package/dist/engine/services/filter/interfaces/excel-filter.d.ts.map +1 -0
  76. package/dist/engine/services/filter/interfaces/excel-filter.js +2 -0
  77. package/dist/engine/services/filter/interfaces/excel-filter.js.map +1 -0
  78. package/dist/engine/services/filter/interfaces/filter-group.d.ts +8 -0
  79. package/dist/engine/services/filter/interfaces/filter-group.d.ts.map +1 -0
  80. package/dist/engine/services/filter/interfaces/filter-group.js +2 -0
  81. package/dist/engine/services/filter/interfaces/filter-group.js.map +1 -0
  82. package/dist/engine/services/filter/interfaces/filter-operator.d.ts +8 -0
  83. package/dist/engine/services/filter/interfaces/filter-operator.d.ts.map +1 -0
  84. package/dist/engine/services/filter/interfaces/filter-operator.js +2 -0
  85. package/dist/engine/services/filter/interfaces/filter-operator.js.map +1 -0
  86. package/dist/engine/services/filter/interfaces/filter.d.ts +9 -0
  87. package/dist/engine/services/filter/interfaces/filter.d.ts.map +1 -0
  88. package/dist/engine/services/filter/interfaces/filter.js +2 -0
  89. package/dist/engine/services/filter/interfaces/filter.js.map +1 -0
  90. package/dist/engine/services/filter/methods/get-default-operator.d.ts +4 -0
  91. package/dist/engine/services/filter/methods/get-default-operator.d.ts.map +1 -0
  92. package/dist/engine/services/filter/methods/get-default-operator.js +29 -0
  93. package/dist/engine/services/filter/methods/get-default-operator.js.map +1 -0
  94. package/dist/engine/services/filter/methods/index.d.ts +3 -0
  95. package/dist/engine/services/filter/methods/index.d.ts.map +1 -1
  96. package/dist/engine/services/filter/methods/index.js +3 -0
  97. package/dist/engine/services/filter/methods/index.js.map +1 -1
  98. package/dist/engine/services/filter/methods/render-filter-editors.d.ts +4 -0
  99. package/dist/engine/services/filter/methods/render-filter-editors.d.ts.map +1 -0
  100. package/dist/engine/services/filter/methods/render-filter-editors.js +43 -0
  101. package/dist/engine/services/filter/methods/render-filter-editors.js.map +1 -0
  102. package/dist/engine/services/filter/methods/set-default-filter-operators.d.ts +4 -0
  103. package/dist/engine/services/filter/methods/set-default-filter-operators.d.ts.map +1 -0
  104. package/dist/engine/services/filter/methods/set-default-filter-operators.js +19 -0
  105. package/dist/engine/services/filter/methods/set-default-filter-operators.js.map +1 -0
  106. package/dist/engine/services/helper/const/allowed-spec-keys-in-input.d.ts +11 -0
  107. package/dist/engine/services/helper/const/allowed-spec-keys-in-input.d.ts.map +1 -0
  108. package/dist/engine/services/helper/const/allowed-spec-keys-in-input.js +10 -0
  109. package/dist/engine/services/helper/const/allowed-spec-keys-in-input.js.map +1 -0
  110. package/dist/engine/services/helper/helper.d.ts +16 -0
  111. package/dist/engine/services/helper/helper.d.ts.map +1 -0
  112. package/dist/engine/services/helper/helper.js +13 -0
  113. package/dist/engine/services/helper/helper.js.map +1 -0
  114. package/dist/engine/services/helper/index.d.ts +2 -0
  115. package/dist/engine/services/helper/index.d.ts.map +1 -0
  116. package/dist/engine/services/helper/index.js +2 -0
  117. package/dist/engine/services/helper/index.js.map +1 -0
  118. package/dist/engine/services/helper/methods/allow-only-numbers.d.ts +3 -0
  119. package/dist/engine/services/helper/methods/allow-only-numbers.d.ts.map +1 -0
  120. package/dist/engine/services/helper/methods/allow-only-numbers.js +28 -0
  121. package/dist/engine/services/helper/methods/allow-only-numbers.js.map +1 -0
  122. package/dist/engine/services/helper/methods/get-caret-position.d.ts +2 -0
  123. package/dist/engine/services/helper/methods/get-caret-position.d.ts.map +1 -0
  124. package/dist/engine/services/helper/methods/get-caret-position.js +5 -0
  125. package/dist/engine/services/helper/methods/get-caret-position.js.map +1 -0
  126. package/dist/engine/services/helper/methods/index.d.ts +3 -0
  127. package/dist/engine/services/helper/methods/index.d.ts.map +1 -0
  128. package/dist/engine/services/helper/methods/index.js +3 -0
  129. package/dist/engine/services/helper/methods/index.js.map +1 -0
  130. package/dist/engine/services/layout/layout.d.ts +1 -0
  131. package/dist/engine/services/layout/layout.d.ts.map +1 -1
  132. package/dist/engine/services/layout/layout.js +1 -0
  133. package/dist/engine/services/layout/layout.js.map +1 -1
  134. package/dist/engine/services/renderer/parts/filter-row/filter-cells.d.ts.map +1 -1
  135. package/dist/engine/services/renderer/parts/filter-row/filter-cells.js +15 -1
  136. package/dist/engine/services/renderer/parts/filter-row/filter-cells.js.map +1 -1
  137. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.d.ts +4 -0
  138. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.d.ts.map +1 -0
  139. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.js +25 -0
  140. package/dist/engine/services/renderer/parts/filter-row/filter-editors/boolean-filter.js.map +1 -0
  141. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.d.ts +3 -0
  142. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.d.ts.map +1 -0
  143. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.js +10 -0
  144. package/dist/engine/services/renderer/parts/filter-row/filter-editors/date-filter.js.map +1 -0
  145. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.d.ts +5 -0
  146. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.d.ts.map +1 -0
  147. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.js +18 -0
  148. package/dist/engine/services/renderer/parts/filter-row/filter-editors/numeric-filter.js.map +1 -0
  149. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.d.ts +4 -0
  150. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.d.ts.map +1 -0
  151. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.js +16 -0
  152. package/dist/engine/services/renderer/parts/filter-row/filter-editors/text-filter.js.map +1 -0
  153. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-bottom.d.ts +2 -1
  154. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-bottom.d.ts.map +1 -1
  155. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-bottom.js +4 -1
  156. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-bottom.js.map +1 -1
  157. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar.js +1 -1
  158. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar.js.map +1 -1
  159. package/dist/engine/services/renderer/parts/viewport/viewport.d.ts.map +1 -1
  160. package/dist/engine/services/renderer/parts/viewport/viewport.js +3 -1
  161. package/dist/engine/services/renderer/parts/viewport/viewport.js.map +1 -1
  162. package/dist/engine/services/services.d.ts +2 -0
  163. package/dist/engine/services/services.d.ts.map +1 -1
  164. package/dist/engine/services/services.js +2 -0
  165. package/dist/engine/services/services.js.map +1 -1
  166. package/dist/engine/store/interfaces/view-state.d.ts +3 -0
  167. package/dist/engine/store/interfaces/view-state.d.ts.map +1 -1
  168. package/dist/engine/store/methods/create-initial-state.d.ts.map +1 -1
  169. package/dist/engine/store/methods/create-initial-state.js +2 -0
  170. package/dist/engine/store/methods/create-initial-state.js.map +1 -1
  171. package/dist/engine/store/store.d.ts +4 -0
  172. package/dist/engine/store/store.d.ts.map +1 -1
  173. package/dist/engine/store/store.js +17 -0
  174. package/dist/engine/store/store.js.map +1 -1
  175. package/dist/polygrid.css +21 -1
  176. package/package.json +1 -1
@@ -4,14 +4,19 @@ import type { ObservableLike } from "../../rx-lite/interfaces/observable-like";
4
4
  import type { PolyGridStore } from "../../store/store";
5
5
  import { PolyGridFilterType } from "./types/filter-type";
6
6
  import * as methods from "./methods/index";
7
+ import { PolyGridRow } from "../row/interfaces/row";
7
8
  export declare class FilterService {
8
9
  store: PolyGridStore;
9
10
  destroy$: ObservableLike<void>;
10
11
  gridDom: GridDOM;
11
12
  grid: PolyGrid;
12
13
  filterable$: ObservableLike<PolyGridFilterType>;
14
+ rows$: ObservableLike<PolyGridRow[]>;
13
15
  constructor(grid: PolyGrid);
14
16
  setFilterable: typeof methods.setFilterable;
17
+ setDefaultFilterOperators: typeof methods.setDefaultFilterOperators;
18
+ getDefaultOperator: typeof methods.getDefaultOperator;
19
+ renderFilterEditors: typeof methods.renderFilterEditors;
15
20
  initApiSubscriptions(): void;
16
21
  }
17
22
  //# sourceMappingURL=filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/filter/filter.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;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,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;IAEf,WAAW,EAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;gBAErC,IAAI,EAAE,QAAQ;IAO1B,aAAa,+BAAyB;IAEtC,oBAAoB;CAMrB"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/filter/filter.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;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,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;IAEf,WAAW,EAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACjD,KAAK,EAAG,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;gBAE1B,IAAI,EAAE,QAAQ;IAiB1B,aAAa,+BAAyB;IACtC,yBAAyB,2CAAqC;IAC9D,kBAAkB,oCAA8B;IAChD,mBAAmB,qCAA+B;IAElD,oBAAoB;CAMrB"}
@@ -1,12 +1,25 @@
1
1
  import { distinctUntilChanged } from "../../rx-lite/operators/distinct-until-changed";
2
2
  import * as methods from "./methods/index";
3
+ import { takeUntil } from "../../rx-lite/operators/takeuntil";
3
4
  export class FilterService {
4
5
  constructor(grid) {
5
6
  this.setFilterable = methods.setFilterable;
7
+ this.setDefaultFilterOperators = methods.setDefaultFilterOperators;
8
+ this.getDefaultOperator = methods.getDefaultOperator;
9
+ this.renderFilterEditors = methods.renderFilterEditors;
6
10
  this.store = grid._store;
7
11
  this.destroy$ = grid._destroy$;
8
12
  this.gridDom = grid._gridDom;
9
13
  this.grid = grid;
14
+ this.rows$ = this.store
15
+ .selectKeyed("view.rows", (s) => s.view.rows)
16
+ .pipe(takeUntil(this.destroy$));
17
+ this.rows$.subscribe((rows) => {
18
+ this.setDefaultFilterOperators(this, this.grid);
19
+ }, "SET-DEFAULT-FILTER-OPERATORS");
20
+ this.store.on("filterCellsRendered", () => {
21
+ this.renderFilterEditors(this, this.grid);
22
+ });
10
23
  }
11
24
  initApiSubscriptions() {
12
25
  this.filterable$ = this.store
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/engine/services/filter/filter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAGtF,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,MAAM,OAAO,aAAa;IAQxB,YAAY,IAAc;QAO1B,kBAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QANpC,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;IAID,oBAAoB;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK;aAC1B,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;aACxD,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;CACF"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/engine/services/filter/filter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAGtF,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,MAAM,OAAO,aAAa;IASxB,YAAY,IAAc;QAiB1B,kBAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QACtC,8BAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;QAC9D,uBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAChD,wBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QAnBhD,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;QAEjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;aACpB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAOD,oBAAoB;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK;aAC1B,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;aACxD,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import { Filter } from "./filter";
2
+ export interface ActiveFilter {
3
+ filters: Filter[];
4
+ }
5
+ //# sourceMappingURL=active-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-filter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/active-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=active-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-filter.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/active-filter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface CheckBoxFilter {
2
+ checked: boolean;
3
+ value: string | number | boolean;
4
+ }
5
+ //# sourceMappingURL=checkbox-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-filter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/checkbox-filter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAClC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=checkbox-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-filter.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/checkbox-filter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { FilterOperator } from "./filter-operator";
2
+ export interface ColumnFilterOperator {
3
+ columnId: string;
4
+ operator: FilterOperator;
5
+ }
6
+ //# sourceMappingURL=column-filter-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-filter-operator.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/column-filter-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=column-filter-operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-filter-operator.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/column-filter-operator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { DateNode } from "./date-node";
2
+ export interface DateNodeModel {
3
+ node: DateNode;
4
+ expanded: boolean;
5
+ selected: boolean;
6
+ indeterminate: boolean;
7
+ children?: DateNodeModel[];
8
+ parent?: DateNodeModel;
9
+ }
10
+ //# sourceMappingURL=date-node-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-node-model.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/date-node-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=date-node-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-node-model.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/date-node-model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface DateNode {
2
+ label: string;
3
+ value: Date;
4
+ children?: DateNode[];
5
+ expanded?: boolean;
6
+ selected?: boolean;
7
+ indeterminate?: boolean;
8
+ }
9
+ //# sourceMappingURL=date-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-node.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/date-node.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=date-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-node.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/date-node.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { CheckBoxFilter } from "./checkbox-filter";
2
+ import { DateNodeModel } from "./date-node-model";
3
+ export interface ExcelFilter {
4
+ columnId: string;
5
+ checkBoxFilters: CheckBoxFilter[];
6
+ dateFilters?: DateNodeModel[];
7
+ }
8
+ //# sourceMappingURL=excel-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel-filter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/excel-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=excel-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel-filter.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/excel-filter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { LogicalCombinator } from "../const/logical-combinator";
2
+ import { Filter } from "./filter";
3
+ export interface FilterGroup {
4
+ combinator: LogicalCombinator;
5
+ filters?: Filter[];
6
+ groups?: FilterGroup[];
7
+ }
8
+ //# sourceMappingURL=filter-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-group.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/filter-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=filter-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-group.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/filter-group.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { DataType } from "../../data/types/data-type";
2
+ import { FilterOperatorCode } from "../const/filter-operator-codes";
3
+ export interface FilterOperator {
4
+ columnType: DataType;
5
+ descr: string;
6
+ code: FilterOperatorCode;
7
+ }
8
+ //# sourceMappingURL=filter-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-operator.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/filter-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,kBAAkB,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=filter-operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-operator.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/filter-operator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { DataType } from "../../data/types/data-type";
2
+ import { FilterOperator } from "./filter-operator";
3
+ export interface Filter {
4
+ columnId: string;
5
+ value: string | null;
6
+ dataType: DataType;
7
+ operator: FilterOperator;
8
+ }
9
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/interfaces/filter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { DataType } from "../../data/types/data-type";
2
+ import { FilterOperator } from "../interfaces/filter-operator";
3
+ export declare function getDefaultOperator(dataType: DataType): FilterOperator;
4
+ //# sourceMappingURL=get-default-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-default-operator.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/get-default-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAqCrE"}
@@ -0,0 +1,29 @@
1
+ import { FILTER_OPERATOR_CODES } from "../const/filter-operator-codes";
2
+ import { FILTER_OPERATORS } from "../const/filter-operators";
3
+ export function getDefaultOperator(dataType) {
4
+ let operator = {
5
+ columnType: "unknown",
6
+ descr: "",
7
+ code: FILTER_OPERATOR_CODES.Contains,
8
+ };
9
+ switch (dataType) {
10
+ case "string":
11
+ operator = FILTER_OPERATORS.find((op) => op.columnType === "string" &&
12
+ op.code === FILTER_OPERATOR_CODES.Contains);
13
+ break;
14
+ case "number":
15
+ operator = FILTER_OPERATORS.find((op) => op.columnType === "number" &&
16
+ op.code === FILTER_OPERATOR_CODES.IsEqualTo);
17
+ break;
18
+ case "date":
19
+ operator = FILTER_OPERATORS.find((op) => op.columnType === "date" &&
20
+ op.code === FILTER_OPERATOR_CODES.IsAfterOrEqualTo);
21
+ break;
22
+ case "boolean":
23
+ operator = FILTER_OPERATORS.find((op) => op.columnType === "boolean" &&
24
+ op.code === FILTER_OPERATOR_CODES.ShowAll);
25
+ break;
26
+ }
27
+ return operator;
28
+ }
29
+ //# sourceMappingURL=get-default-operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-default-operator.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/get-default-operator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,MAAM,UAAU,kBAAkB,CAAC,QAAkB;IACnD,IAAI,QAAQ,GAAmB;QAC7B,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,qBAAqB,CAAC,QAAQ;KACrC,CAAC;IACF,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAC9B,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,UAAU,KAAK,QAAQ;gBAC1B,EAAE,CAAC,IAAI,KAAK,qBAAqB,CAAC,QAAQ,CAC5C,CAAC;YACH,MAAM;QACR,KAAK,QAAQ;YACX,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAC9B,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,UAAU,KAAK,QAAQ;gBAC1B,EAAE,CAAC,IAAI,KAAK,qBAAqB,CAAC,SAAS,CAC7C,CAAC;YACH,MAAM;QACR,KAAK,MAAM;YACT,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAC9B,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,UAAU,KAAK,MAAM;gBACxB,EAAE,CAAC,IAAI,KAAK,qBAAqB,CAAC,gBAAgB,CACpD,CAAC;YACH,MAAM;QACR,KAAK,SAAS;YACZ,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAC9B,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,UAAU,KAAK,SAAS;gBAC3B,EAAE,CAAC,IAAI,KAAK,qBAAqB,CAAC,OAAO,CAC3C,CAAC;YACH,MAAM;IACV,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,2 +1,5 @@
1
1
  export * from "./set-filterable";
2
+ export * from "./set-default-filter-operators";
3
+ export * from "./get-default-operator";
4
+ export * from "./render-filter-editors";
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -1,2 +1,5 @@
1
1
  export * from "./set-filterable";
2
+ export * from "./set-default-filter-operators";
3
+ export * from "./get-default-operator";
4
+ export * from "./render-filter-editors";
2
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../core/grid";
2
+ import { FilterService } from "../filter";
3
+ export declare function renderFilterEditors(filterService: FilterService, grid: PolyGrid): void;
4
+ //# sourceMappingURL=render-filter-editors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-filter-editors.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/render-filter-editors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,QAAQ,QA6Cf"}
@@ -0,0 +1,43 @@
1
+ import { PG_CSS_CLASS } from "../../../const/pg-css-class";
2
+ import { renderBooleanFilter } from "../../renderer/parts/filter-row/filter-editors/boolean-filter";
3
+ import { renderDateFilter } from "../../renderer/parts/filter-row/filter-editors/date-filter";
4
+ import { renderNumericFilter } from "../../renderer/parts/filter-row/filter-editors/numeric-filter";
5
+ import { renderTextFilter } from "../../renderer/parts/filter-row/filter-editors/text-filter";
6
+ export function renderFilterEditors(filterService, grid) {
7
+ const state = filterService.store.getState();
8
+ const cols = state.view.internalColumns;
9
+ if (state.view.rows.length > 0) {
10
+ for (const col of cols) {
11
+ const firstRowValue = grid._services.sort.getFirstRowValue(filterService.store, col);
12
+ const colDataType = grid._services.sort.detectColumnDataType(firstRowValue);
13
+ const cellContent = grid._runtime.filterCellContainers.get(col.id);
14
+ switch (colDataType) {
15
+ case "string":
16
+ const textInput = renderTextFilter(col, filterService.gridDom);
17
+ cellContent.replaceChildren(textInput);
18
+ textInput.removeAttribute("disabled");
19
+ break;
20
+ case "number":
21
+ const numberInput = renderNumericFilter(col, filterService.gridDom, filterService.store);
22
+ cellContent.replaceChildren(numberInput);
23
+ numberInput.removeAttribute("disabled");
24
+ break;
25
+ case "date":
26
+ const dateInput = renderDateFilter(col);
27
+ cellContent.replaceChildren(dateInput);
28
+ dateInput.removeAttribute("disabled");
29
+ break;
30
+ case "boolean":
31
+ const booleanInput = renderBooleanFilter(col, filterService.gridDom);
32
+ cellContent.replaceChildren(booleanInput);
33
+ booleanInput.removeAttribute("disabled");
34
+ break;
35
+ }
36
+ const filterIcon = grid._runtime.filterCellIcons.get(col.id);
37
+ filterIcon.classList.remove(PG_CSS_CLASS.disabled);
38
+ if (colDataType === "boolean")
39
+ filterIcon.style.display = "none";
40
+ }
41
+ }
42
+ }
43
+ //# sourceMappingURL=render-filter-editors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-filter-editors.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/render-filter-editors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAG9F,MAAM,UAAU,mBAAmB,CACjC,aAA4B,EAC5B,IAAc;IAEd,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;IAExC,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,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;YACpE,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,QAAQ;oBACX,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;oBAC/D,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBACvC,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,WAAW,GAAG,mBAAmB,CACrC,GAAG,EACH,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,KAAK,CACpB,CAAC;oBACF,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;oBACzC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACxC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBACvC,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,SAAS;oBACZ,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;oBACrE,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;oBAC1C,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBACzC,MAAM;YACV,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;YAC9D,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,WAAW,KAAK,SAAS;gBAAE,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../core/grid";
2
+ import { FilterService } from "../filter";
3
+ export declare function setDefaultFilterOperators(filterService: FilterService, grid: PolyGrid): void;
4
+ //# sourceMappingURL=set-default-filter-operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-default-filter-operators.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/set-default-filter-operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,QAAQ,QAyBf"}
@@ -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"}