@polygrid/core 1.0.486 → 1.0.488

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 (156) hide show
  1. package/dist/api/show-column-animated.d.ts.map +1 -1
  2. package/dist/api/show-column-animated.js +64 -62
  3. package/dist/api/show-column-animated.js.map +1 -1
  4. package/dist/engine/const/pg-css-class.d.ts +6 -0
  5. package/dist/engine/const/pg-css-class.d.ts.map +1 -1
  6. package/dist/engine/const/pg-css-class.js +6 -0
  7. package/dist/engine/const/pg-css-class.js.map +1 -1
  8. package/dist/engine/const/pg-icons.d.ts +3 -0
  9. package/dist/engine/const/pg-icons.d.ts.map +1 -1
  10. package/dist/engine/const/pg-icons.js +3 -0
  11. package/dist/engine/const/pg-icons.js.map +1 -1
  12. package/dist/engine/core/grid-runtime.d.ts +8 -0
  13. package/dist/engine/core/grid-runtime.d.ts.map +1 -1
  14. package/dist/engine/core/grid-runtime.js +7 -0
  15. package/dist/engine/core/grid-runtime.js.map +1 -1
  16. package/dist/engine/core/interfaces/grid-event-map.d.ts +9 -0
  17. package/dist/engine/core/interfaces/grid-event-map.d.ts.map +1 -1
  18. package/dist/engine/services/data/methods/apply-sort-and-filter.d.ts.map +1 -1
  19. package/dist/engine/services/data/methods/apply-sort-and-filter.js +8 -1
  20. package/dist/engine/services/data/methods/apply-sort-and-filter.js.map +1 -1
  21. package/dist/engine/services/data/methods/set-view-rows.js +13 -9
  22. package/dist/engine/services/data/methods/set-view-rows.js.map +1 -1
  23. package/dist/engine/services/filter/filter.d.ts +20 -0
  24. package/dist/engine/services/filter/filter.d.ts.map +1 -1
  25. package/dist/engine/services/filter/filter.js +29 -0
  26. package/dist/engine/services/filter/filter.js.map +1 -1
  27. package/dist/engine/services/filter/interfaces/excel-filter.d.ts +1 -0
  28. package/dist/engine/services/filter/interfaces/excel-filter.d.ts.map +1 -1
  29. package/dist/engine/services/filter/interfaces/excel-popup-filter.d.ts +12 -0
  30. package/dist/engine/services/filter/interfaces/excel-popup-filter.d.ts.map +1 -0
  31. package/dist/engine/services/filter/interfaces/excel-popup-filter.js +2 -0
  32. package/dist/engine/services/filter/interfaces/excel-popup-filter.js.map +1 -0
  33. package/dist/engine/services/filter/methods/excel-filter/excel-filter-apply.d.ts +4 -0
  34. package/dist/engine/services/filter/methods/excel-filter/excel-filter-apply.d.ts.map +1 -0
  35. package/dist/engine/services/filter/methods/excel-filter/excel-filter-apply.js +36 -0
  36. package/dist/engine/services/filter/methods/excel-filter/excel-filter-apply.js.map +1 -0
  37. package/dist/engine/services/filter/methods/excel-filter/excel-filter-checked-changed.d.ts +3 -0
  38. package/dist/engine/services/filter/methods/excel-filter/excel-filter-checked-changed.d.ts.map +1 -0
  39. package/dist/engine/services/filter/methods/excel-filter/excel-filter-checked-changed.js +11 -0
  40. package/dist/engine/services/filter/methods/excel-filter/excel-filter-checked-changed.js.map +1 -0
  41. package/dist/engine/services/filter/methods/excel-filter/excel-filter-clear.d.ts +4 -0
  42. package/dist/engine/services/filter/methods/excel-filter/excel-filter-clear.d.ts.map +1 -0
  43. package/dist/engine/services/filter/methods/excel-filter/excel-filter-clear.js +30 -0
  44. package/dist/engine/services/filter/methods/excel-filter/excel-filter-clear.js.map +1 -0
  45. package/dist/engine/services/filter/methods/excel-filter/excel-filter-data.d.ts +4 -0
  46. package/dist/engine/services/filter/methods/excel-filter/excel-filter-data.d.ts.map +1 -0
  47. package/dist/engine/services/filter/methods/excel-filter/excel-filter-data.js +17 -0
  48. package/dist/engine/services/filter/methods/excel-filter/excel-filter-data.js.map +1 -0
  49. package/dist/engine/services/filter/methods/excel-filter/excel-filter-icon-click.d.ts +4 -0
  50. package/dist/engine/services/filter/methods/excel-filter/excel-filter-icon-click.d.ts.map +1 -0
  51. package/dist/engine/services/filter/methods/excel-filter/excel-filter-icon-click.js +7 -0
  52. package/dist/engine/services/filter/methods/excel-filter/excel-filter-icon-click.js.map +1 -0
  53. package/dist/engine/services/filter/methods/excel-filter/excel-filter-operator-click.d.ts +5 -0
  54. package/dist/engine/services/filter/methods/excel-filter/excel-filter-operator-click.d.ts.map +1 -0
  55. package/dist/engine/services/filter/methods/excel-filter/excel-filter-operator-click.js +8 -0
  56. package/dist/engine/services/filter/methods/excel-filter/excel-filter-operator-click.js.map +1 -0
  57. package/dist/engine/services/filter/methods/excel-filter/excel-filter-select-all.d.ts +4 -0
  58. package/dist/engine/services/filter/methods/excel-filter/excel-filter-select-all.d.ts.map +1 -0
  59. package/dist/engine/services/filter/methods/excel-filter/excel-filter-select-all.js +15 -0
  60. package/dist/engine/services/filter/methods/excel-filter/excel-filter-select-all.js.map +1 -0
  61. package/dist/engine/services/filter/methods/excel-filter/excel-filter-show.d.ts +4 -0
  62. package/dist/engine/services/filter/methods/excel-filter/excel-filter-show.d.ts.map +1 -0
  63. package/dist/engine/services/filter/methods/excel-filter/excel-filter-show.js +43 -0
  64. package/dist/engine/services/filter/methods/excel-filter/excel-filter-show.js.map +1 -0
  65. package/dist/engine/services/filter/methods/excel-filter/excel-search-input.d.ts +3 -0
  66. package/dist/engine/services/filter/methods/excel-filter/excel-search-input.d.ts.map +1 -0
  67. package/dist/engine/services/filter/methods/excel-filter/excel-search-input.js +27 -0
  68. package/dist/engine/services/filter/methods/excel-filter/excel-search-input.js.map +1 -0
  69. package/dist/engine/services/filter/methods/excel-filter/filter-data-excel-excluding.d.ts +4 -0
  70. package/dist/engine/services/filter/methods/excel-filter/filter-data-excel-excluding.d.ts.map +1 -0
  71. package/dist/engine/services/filter/methods/excel-filter/filter-data-excel-excluding.js +19 -0
  72. package/dist/engine/services/filter/methods/excel-filter/filter-data-excel-excluding.js.map +1 -0
  73. package/dist/engine/services/filter/methods/excel-filter/is-excel-filter-operator-selected.d.ts +5 -0
  74. package/dist/engine/services/filter/methods/excel-filter/is-excel-filter-operator-selected.d.ts.map +1 -0
  75. package/dist/engine/services/filter/methods/excel-filter/is-excel-filter-operator-selected.js +7 -0
  76. package/dist/engine/services/filter/methods/excel-filter/is-excel-filter-operator-selected.js.map +1 -0
  77. package/dist/engine/services/filter/methods/excel-filter/operators-list-hover.d.ts +4 -0
  78. package/dist/engine/services/filter/methods/excel-filter/operators-list-hover.d.ts.map +1 -0
  79. package/dist/engine/services/filter/methods/excel-filter/operators-list-hover.js +12 -0
  80. package/dist/engine/services/filter/methods/excel-filter/operators-list-hover.js.map +1 -0
  81. package/dist/engine/services/filter/methods/excel-filter/popup-filter-apply.d.ts +4 -0
  82. package/dist/engine/services/filter/methods/excel-filter/popup-filter-apply.d.ts.map +1 -0
  83. package/dist/engine/services/filter/methods/excel-filter/popup-filter-apply.js +29 -0
  84. package/dist/engine/services/filter/methods/excel-filter/popup-filter-apply.js.map +1 -0
  85. package/dist/engine/services/filter/methods/excel-filter/popup-filter-show.d.ts +5 -0
  86. package/dist/engine/services/filter/methods/excel-filter/popup-filter-show.d.ts.map +1 -0
  87. package/dist/engine/services/filter/methods/excel-filter/popup-filter-show.js +28 -0
  88. package/dist/engine/services/filter/methods/excel-filter/popup-filter-show.js.map +1 -0
  89. package/dist/engine/services/filter/methods/excel-filter/remove-excel-filter-elements.d.ts +3 -0
  90. package/dist/engine/services/filter/methods/excel-filter/remove-excel-filter-elements.d.ts.map +1 -0
  91. package/dist/engine/services/filter/methods/excel-filter/remove-excel-filter-elements.js +10 -0
  92. package/dist/engine/services/filter/methods/excel-filter/remove-excel-filter-elements.js.map +1 -0
  93. package/dist/engine/services/filter/methods/excel-filter/show-operators.d.ts +4 -0
  94. package/dist/engine/services/filter/methods/excel-filter/show-operators.d.ts.map +1 -0
  95. package/dist/engine/services/filter/methods/excel-filter/show-operators.js +15 -0
  96. package/dist/engine/services/filter/methods/excel-filter/show-operators.js.map +1 -0
  97. package/dist/engine/services/filter/methods/excel-filter/toggle-select-all-cbx.d.ts +3 -0
  98. package/dist/engine/services/filter/methods/excel-filter/toggle-select-all-cbx.d.ts.map +1 -0
  99. package/dist/engine/services/filter/methods/excel-filter/toggle-select-all-cbx.js +7 -0
  100. package/dist/engine/services/filter/methods/excel-filter/toggle-select-all-cbx.js.map +1 -0
  101. package/dist/engine/services/filter/methods/index.d.ts +17 -0
  102. package/dist/engine/services/filter/methods/index.d.ts.map +1 -1
  103. package/dist/engine/services/filter/methods/index.js +17 -0
  104. package/dist/engine/services/filter/methods/index.js.map +1 -1
  105. package/dist/engine/services/layout/layout.d.ts.map +1 -1
  106. package/dist/engine/services/layout/layout.js +9 -2
  107. package/dist/engine/services/layout/layout.js.map +1 -1
  108. package/dist/engine/services/renderer/parts/excel-filter/excel-filter-popup.d.ts +5 -0
  109. package/dist/engine/services/renderer/parts/excel-filter/excel-filter-popup.d.ts.map +1 -0
  110. package/dist/engine/services/renderer/parts/excel-filter/excel-filter-popup.js +204 -0
  111. package/dist/engine/services/renderer/parts/excel-filter/excel-filter-popup.js.map +1 -0
  112. package/dist/engine/services/renderer/parts/excel-filter/excel-filter.d.ts +4 -0
  113. package/dist/engine/services/renderer/parts/excel-filter/excel-filter.d.ts.map +1 -0
  114. package/dist/engine/services/renderer/parts/excel-filter/excel-filter.js +201 -0
  115. package/dist/engine/services/renderer/parts/excel-filter/excel-filter.js.map +1 -0
  116. package/dist/engine/services/renderer/parts/excel-filter/operators.d.ts +4 -0
  117. package/dist/engine/services/renderer/parts/excel-filter/operators.d.ts.map +1 -0
  118. package/dist/engine/services/renderer/parts/excel-filter/operators.js +60 -0
  119. package/dist/engine/services/renderer/parts/excel-filter/operators.js.map +1 -0
  120. package/dist/engine/services/renderer/parts/header/header-cells.d.ts.map +1 -1
  121. package/dist/engine/services/renderer/parts/header/header-cells.js +27 -6
  122. package/dist/engine/services/renderer/parts/header/header-cells.js.map +1 -1
  123. package/dist/engine/services/renderer/parts/overlay/overlay.d.ts +3 -0
  124. package/dist/engine/services/renderer/parts/overlay/overlay.d.ts.map +1 -0
  125. package/dist/engine/services/renderer/parts/overlay/overlay.js +8 -0
  126. package/dist/engine/services/renderer/parts/overlay/overlay.js.map +1 -0
  127. package/dist/engine/services/renderer/parts/root/root.d.ts.map +1 -1
  128. package/dist/engine/services/renderer/parts/root/root.js +21 -0
  129. package/dist/engine/services/renderer/parts/root/root.js.map +1 -1
  130. package/dist/engine/services/row/classes/row-pool.js +15 -17
  131. package/dist/engine/services/row/classes/row-pool.js.map +1 -1
  132. package/dist/engine/services/sort/methods/apply-init-sort.d.ts.map +1 -1
  133. package/dist/engine/services/sort/methods/apply-init-sort.js +83 -85
  134. package/dist/engine/services/sort/methods/apply-init-sort.js.map +1 -1
  135. package/dist/engine/services/sort/methods/sort-column.d.ts +2 -1
  136. package/dist/engine/services/sort/methods/sort-column.d.ts.map +1 -1
  137. package/dist/engine/services/sort/methods/sort-column.js +2 -2
  138. package/dist/engine/services/sort/methods/sort-column.js.map +1 -1
  139. package/dist/engine/services/sort/methods/sort.d.ts +2 -1
  140. package/dist/engine/services/sort/methods/sort.d.ts.map +1 -1
  141. package/dist/engine/services/sort/methods/sort.js +2 -2
  142. package/dist/engine/services/sort/methods/sort.js.map +1 -1
  143. package/dist/engine/services/sort/sort.d.ts +4 -1
  144. package/dist/engine/services/sort/sort.d.ts.map +1 -1
  145. package/dist/engine/services/sort/sort.js +7 -2
  146. package/dist/engine/services/sort/sort.js.map +1 -1
  147. package/dist/engine/store/interfaces/view-state.d.ts +8 -0
  148. package/dist/engine/store/interfaces/view-state.d.ts.map +1 -1
  149. package/dist/engine/store/methods/create-initial-state.d.ts.map +1 -1
  150. package/dist/engine/store/methods/create-initial-state.js +10 -0
  151. package/dist/engine/store/methods/create-initial-state.js.map +1 -1
  152. package/dist/engine/store/store.d.ts.map +1 -1
  153. package/dist/engine/store/store.js +5 -3
  154. package/dist/engine/store/store.js.map +1 -1
  155. package/dist/polygrid.css +187 -1
  156. package/package.json +1 -1
@@ -0,0 +1,60 @@
1
+ import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ import { addDomListener } from "../../../../core/methods";
3
+ import { FILTER_OPERATORS } from "../../../filter/const/filter-operators";
4
+ import { excelFilterOperatorClick, isExcelFilterOperatorSelected, operatorsListHover, } from "../../../filter/methods";
5
+ import { renderIcon } from "../../../icon/methods";
6
+ export function renderOperators(grid, column) {
7
+ const state = grid._store.getState();
8
+ const dataType = state.view.columnFilterOperators.find((op) => op.columnId === column.id).operator.columnType;
9
+ const operators = FILTER_OPERATORS.filter((op) => op.columnType === dataType);
10
+ const list = document.createElement("ul");
11
+ list.classList.add(PG_CSS_CLASS.excelFilterOperators);
12
+ operators.forEach((op, ind) => {
13
+ const item = document.createElement("li");
14
+ item.setAttribute("index", ind.toString());
15
+ const iconContainer = document.createElement("span");
16
+ const checkIcon = renderIcon(grid._services.icon, "check");
17
+ iconContainer.replaceChildren(checkIcon ?? "");
18
+ iconContainer.classList.toggle("hidden", !isExcelFilterOperatorSelected(op, column, grid));
19
+ item.appendChild(iconContainer);
20
+ const text = document.createElement("span");
21
+ text.textContent = op.descr;
22
+ item.appendChild(text);
23
+ list.appendChild(item);
24
+ });
25
+ list.addEventListener("click", (e) => {
26
+ const li = e.target.closest("li");
27
+ if (!li)
28
+ return;
29
+ const index = +li.getAttribute("index");
30
+ const op = operators[index];
31
+ if (!op)
32
+ return;
33
+ excelFilterOperatorClick(grid, column, op, operators);
34
+ });
35
+ addDomListener(grid._gridDom, list, "mouseenter", (e) => operatorsListHover(true, grid, column));
36
+ addDomListener(grid._gridDom, list, "mouseleave", (e) => operatorsListHover(false, grid, column));
37
+ grid._gridDom.root.appendChild(list);
38
+ grid._runtime.excelOperators = list;
39
+ // Positioning
40
+ const filtersListEl = grid._runtime.excelFilter.querySelector(".filters");
41
+ const filtersListRect = filtersListEl.getBoundingClientRect();
42
+ const gridRect = grid._gridDom.root.getBoundingClientRect();
43
+ const operatorsWidth = 200;
44
+ // Convert viewport coords → grid‑relative coords
45
+ const leftInGrid = filtersListRect.left - gridRect.left - operatorsWidth;
46
+ const rightInGrid = gridRect.right - filtersListRect.right - operatorsWidth;
47
+ const topInGrid = filtersListRect.bottom - gridRect.top - filtersListRect.height;
48
+ const shouldAlignRight = filtersListRect.right - gridRect.left + operatorsWidth <= gridRect.width;
49
+ list.style.position = "absolute";
50
+ list.style.top = `${topInGrid}px`;
51
+ if (shouldAlignRight) {
52
+ list.style.right = `${rightInGrid}px`;
53
+ list.style.left = "auto";
54
+ }
55
+ else {
56
+ list.style.left = `${leftInGrid}px`;
57
+ list.style.right = "auto";
58
+ }
59
+ }
60
+ //# sourceMappingURL=operators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/excel-filter/operators.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"header-cells.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header-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;AAO7D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,QA2Kf"}
1
+ {"version":3,"file":"header-cells.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header-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;AAO7D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,QAsMf"}
@@ -78,10 +78,10 @@ export function renderHeaderCells(header, store, gridDom, grid) {
78
78
  // gets the real index based on the column id, since the iteration uses only visible columns
79
79
  const internalIndex = getInternalIndexById(state, col.id);
80
80
  const unsubscribe = grid._services.sort
81
- .sortOrderForColumn(col.id)
82
- .subscribe((sortOrder) => {
81
+ .sortStateForColumn(col.id)
82
+ .subscribe(({ order, priority }) => {
83
83
  // --- ICON RENDERING ---
84
- const iconName = grid._services.sort.getSortIconName(sortOrder);
84
+ const iconName = grid._services.sort.getSortIconName(order);
85
85
  const iconNode = renderIcon(grid._services.icon, iconName);
86
86
  iconContainer.replaceChildren(iconNode ?? "");
87
87
  // --- PRIORITY RENDERING ---
@@ -98,7 +98,7 @@ export function renderHeaderCells(header, store, gridDom, grid) {
98
98
  const priorityEl = container.querySelector(`.${PG_CSS_CLASS.sortPriority}`);
99
99
  if (!priorityEl)
100
100
  continue;
101
- if (showPriorities && col.sortPriority) {
101
+ if (showPriorities && col.sortPriority != null) {
102
102
  priorityEl.textContent = col.sortPriority.toString();
103
103
  }
104
104
  else {
@@ -106,17 +106,18 @@ export function renderHeaderCells(header, store, gridDom, grid) {
106
106
  }
107
107
  }
108
108
  // If this column is no longer sorted, clear its priority
109
- if (sortOrder === "original") {
109
+ if (order === "original") {
110
110
  const container = runtime.headerContainers.get(col.id);
111
111
  const priorityEl = container?.querySelector(`.${PG_CSS_CLASS.sortPriority}`);
112
112
  if (priorityEl)
113
113
  priorityEl.textContent = "";
114
114
  }
115
- cell.setAttribute("sortdir", sortOrder);
115
+ cell.setAttribute("sortdir", order);
116
116
  });
117
117
  grid._destroy$.subscribe(() => unsubscribe());
118
118
  cell.appendChild(priorityContainer);
119
119
  cell.appendChild(iconContainer);
120
+ // theoretically we could unify this, but now it is better, when clearly separated
120
121
  // menu filter
121
122
  if (state.view.filterable === "menu") {
122
123
  const iconContainer = document.createElement("span");
@@ -137,6 +138,26 @@ export function renderHeaderCells(header, store, gridDom, grid) {
137
138
  });
138
139
  grid._destroy$.subscribe(() => unsubActiveFilter());
139
140
  }
141
+ // excel filter
142
+ if (state.view.filterable === "excel") {
143
+ const iconContainer = document.createElement("span");
144
+ const iconNode = renderIcon(grid._services.icon, "filter");
145
+ iconContainer.replaceChildren(iconNode ?? "");
146
+ iconContainer.classList.add(PG_CSS_CLASS.filterIcon);
147
+ iconContainer.classList.toggle(PG_CSS_CLASS.disabled, state.view.externalLoading);
148
+ grid._runtime.excelFilterIcons.set(col.id, iconContainer);
149
+ cell.appendChild(iconContainer);
150
+ addDomListener(gridDom, iconContainer, "click", (e) => {
151
+ e.stopPropagation();
152
+ grid._services.filter.excelFilterIconClick(grid, col);
153
+ });
154
+ const unsubActiveFilter = grid._services.filter
155
+ .activeExcelFilterForColumn(col.id)
156
+ .subscribe((active) => {
157
+ iconContainer.classList.toggle(PG_CSS_CLASS.activeFilter, active);
158
+ });
159
+ grid._destroy$.subscribe(() => unsubActiveFilter());
160
+ }
140
161
  header.appendChild(cell);
141
162
  });
142
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"header-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header-cells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC9B,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;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;IAEpD,qBAAqB;IACrB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAEtB,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;QACpC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAE5C,4BAA4B;QAC5B,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAC5C,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CACzC,CAAC;QAEF,2BAA2B;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC;QAEnD,mDAAmD;QACnD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,UAAU,EAAE,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,mBAAmB;QACnB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,0BAA0B,EAAE,CAAC;YACtE,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE;gBACxC,QAAQ,EAAE,GAAG,CAAC,EAAE;aACjB;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC1C,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC;gBAChC,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE;gBACxC,QAAQ,EAAE,GAAG,CAAC,EAAE;aACjB,CAAC,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;YAC/B,CAAC;iBAAM,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;gBACzC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1B,sBAAsB;QACtB,MAAM,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,MAAM,gBAAgB,GAAG,UAAU,KAAK,aAAa,IAAI,MAAM,CAAC;QAEhE,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE,CAAC;YACnC,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,8DAA8D;QAC9D,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAE3C,wDAAwD;QACxD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACzD,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAE3D,4FAA4F;QAC5F,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAE1D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;aACpC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;aAC1B,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YACvB,yBAAyB;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3D,aAAa,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAE9C,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;YAChD,MAAM,QAAQ,GAAG,YAAY,EAAE,QAAQ,CAAC;YAExC,MAAM,cAAc,GAClB,QAAQ,KAAK,UAAU;gBACvB,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YAEtE,4BAA4B;YAC5B,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,SAAS;oBAAE,SAAS;gBACzB,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CACxC,IAAI,YAAY,CAAC,YAAY,EAAE,CACjB,CAAC;gBACjB,IAAI,CAAC,UAAU;oBAAE,SAAS;gBAC1B,IAAI,cAAc,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;oBACvC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,yDAAyD;YACzD,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvD,MAAM,UAAU,GAAG,SAAS,EAAE,aAAa,CACzC,IAAI,YAAY,CAAC,YAAY,EAAE,CACjB,CAAC;gBACjB,IAAI,UAAU;oBAAE,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;YAC9C,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAEhC,cAAc;QACd,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3D,aAAa,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC9C,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACrD,aAAa,CAAC,SAAS,CAAC,MAAM,CAC5B,YAAY,CAAC,QAAQ,EACrB,KAAK,CAAC,IAAI,CAAC,eAAe,CAC3B,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAEhC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACpD,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM;iBAC5C,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;iBACjC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;gBACpB,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YACL,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"header-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header-cells.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ export declare function renderOverlay(grid: PolyGrid): void;
3
+ //# sourceMappingURL=overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/overlay/overlay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,QAO3C"}
@@ -0,0 +1,8 @@
1
+ import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ export function renderOverlay(grid) {
3
+ const overlay = document.createElement("div");
4
+ overlay.classList.add(PG_CSS_CLASS.overlay);
5
+ grid._gridDom.root.appendChild(overlay);
6
+ grid._runtime.overlay = overlay;
7
+ }
8
+ //# sourceMappingURL=overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/overlay/overlay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;AAClC,CAAC"}
@@ -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;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,QAgDf"}
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;AAI7D,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,QA0Ef"}
@@ -1,5 +1,6 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
2
  import { addDomListener } from "../../../../core/methods";
3
+ import { removeExcelFilterElements } from "../../../filter/methods";
3
4
  import { renderGrid } from "../grid/grid";
4
5
  export function renderRoot(store, host, gridDom, grid) {
5
6
  const root = document.createElement("div");
@@ -27,6 +28,17 @@ export function renderRoot(store, host, gridDom, grid) {
27
28
  grid._runtime.menuFilter = null;
28
29
  }
29
30
  }
31
+ const excelFilter = grid._runtime.excelFilter;
32
+ if (excelFilter) {
33
+ if (!excelFilter.contains(e.target)) {
34
+ grid._store.update((draft) => (draft.view.currentExcelFilter = {
35
+ columnId: "",
36
+ checkBoxFilters: [],
37
+ originalCheckBoxFilters: [],
38
+ }));
39
+ removeExcelFilterElements(grid);
40
+ }
41
+ }
30
42
  });
31
43
  addDomListener(gridDom, root, "keydown", (e) => {
32
44
  if (e.key === "Escape") {
@@ -41,6 +53,15 @@ export function renderRoot(store, host, gridDom, grid) {
41
53
  menuFilter.remove();
42
54
  grid._runtime.menuFilter = null;
43
55
  }
56
+ const excelFilter = grid._runtime.excelFilter;
57
+ if (excelFilter) {
58
+ grid._store.update((draft) => (draft.view.currentExcelFilter = {
59
+ columnId: "",
60
+ checkBoxFilters: [],
61
+ originalCheckBoxFilters: [],
62
+ }));
63
+ removeExcelFilterElements(grid);
64
+ }
44
65
  }
45
66
  });
46
67
  }
@@ -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;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;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpE,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;YAClC,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;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC5C,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpE,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,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,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,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;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpE,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9C,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG;oBAC/B,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,EAAE;oBACnB,uBAAuB,EAAE,EAAE;iBAC5B,CAAC,CACL,CAAC;gBACF,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAClC,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;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC5C,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpE,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;YAClC,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG;oBAC/B,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,EAAE;oBACnB,uBAAuB,EAAE,EAAE;iBAC5B,CAAC,CACL,CAAC;gBACF,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -63,8 +63,8 @@ export class RowPool {
63
63
  }
64
64
  // Normal virtualization update
65
65
  const visibleCount = v.renderEndIndex - v.renderStartIndex;
66
- const animEnabled = this.grid._store.getState().view.enableAnimations;
67
- const animService = this.grid._services.animation;
66
+ // const animEnabled = this.grid._store.getState().view.enableAnimations;
67
+ // const animService = this.grid._services.animation;
68
68
  for (let i = 0; i < this.poolSize; i++) {
69
69
  const rowIndex = v.renderStartIndex + i;
70
70
  if (i >= visibleCount || rowIndex >= v.totalRowCount) {
@@ -78,21 +78,19 @@ export class RowPool {
78
78
  rowInstance.update(rowData, rowIndex);
79
79
  // Always reset transition
80
80
  rowInstance.el.style.removeProperty("transition");
81
- if (animEnabled) {
82
- const delta = animService.rowDeltas.get(rowData.index);
83
- if (delta !== undefined) {
84
- // Invert phase: place row at newY + delta
85
- rowInstance.el.style.transform = `translateY(${newY + delta}px)`;
86
- }
87
- else {
88
- // No delta → just place at newY
89
- rowInstance.setOffset(newY);
90
- }
91
- }
92
- else {
93
- // Animations disabled → normal behavior
94
- rowInstance.setOffset(newY);
95
- }
81
+ // if (animEnabled) {
82
+ // const delta = animService.rowDeltas.get(rowData!.index);
83
+ // if (delta !== undefined) {
84
+ // // Invert phase: place row at newY + delta
85
+ // rowInstance.el.style.transform = `translateY(${newY + delta}px)`;
86
+ // } else {
87
+ // // No delta → just place at newY
88
+ // rowInstance.setOffset(newY);
89
+ // }
90
+ // } else {
91
+ // Animations disabled → normal behavior
92
+ rowInstance.setOffset(newY);
93
+ // }
96
94
  rowInstance.show();
97
95
  }
98
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"row-pool.js","sourceRoot":"","sources":["../../../../../src/engine/services/row/classes/row-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"row-pool.js","sourceRoot":"","sources":["../../../../../src/engine/services/row/classes/row-pool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"apply-init-sort.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/apply-init-sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK9C,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,QA4G3C"}
1
+ {"version":3,"file":"apply-init-sort.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/apply-init-sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK9C,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,QAmH3C"}
@@ -1,102 +1,100 @@
1
1
  export function applyInitSort(grid) {
2
- let wrongSettings = false;
3
- // get the initial sorted columns
2
+ // Snapshot BEFORE updates (only for reading initial settings)
4
3
  const state = grid._store.getState();
5
- let initialSortCols = state.view.internalColumns.filter((col) => typeof col.sortable === "object" &&
4
+ const columns = state.view.internalColumns;
5
+ // Collect columns with initial sort settings
6
+ let initialSortCols = columns.filter((col) => typeof col.sortable === "object" &&
6
7
  !!col.sortable.initialDir);
7
- if (initialSortCols.length > 0) {
8
- // if sort settings is single, but we have multiple initially sorted columns, then respect just the first one
9
- if ((!state.view.sortSettings ||
10
- state.view.sortSettings.sortMode ===
11
- "single") &&
12
- initialSortCols.length > 1) {
13
- initialSortCols = [initialSortCols[0]];
14
- wrongSettings = true;
15
- }
16
- // Clear sortOrder only for columns that will be initialized
17
- grid._store.update((draft) => {
18
- for (const initCol of initialSortCols) {
19
- const col = draft.view.internalColumns.find((c) => c.id === initCol.id);
20
- if (col) {
8
+ if (initialSortCols.length === 0)
9
+ return;
10
+ let wrongSettings = false;
11
+ // Respect single-sort mode
12
+ const sortMode = state.view.sortSettings?.sortMode ?? "single";
13
+ if (sortMode === "single" && initialSortCols.length > 1) {
14
+ initialSortCols = [initialSortCols[0]];
15
+ wrongSettings = true;
16
+ }
17
+ // --- ONE ATOMIC UPDATE FOR ALL COLUMN MUTATIONS ---
18
+ grid._store.update((draft) => {
19
+ const cols = draft.view.internalColumns;
20
+ const usedPriorities = new Set();
21
+ // 1) Reset sortOrder only for columns that will be initialized
22
+ initialSortCols.forEach((initCol) => {
23
+ cols.forEach((col) => {
24
+ if (col.id === initCol.id) {
21
25
  col.sortOrder = "original";
22
26
  delete col.sortPriority;
23
27
  }
28
+ });
29
+ });
30
+ // 2) Apply initial sort settings
31
+ cols.forEach((col) => {
32
+ const init = initialSortCols.find((c) => c.id === col.id);
33
+ if (!init)
34
+ return;
35
+ const settings = init.sortable;
36
+ const dir = settings.initialDir;
37
+ const prio = settings.sortPriority;
38
+ col.sortOrder = dir;
39
+ if (prio !== undefined) {
40
+ col.sortPriority = prio;
41
+ usedPriorities.add(prio);
42
+ }
43
+ else {
44
+ delete col.sortPriority;
24
45
  }
25
46
  });
26
- // update columns with initial sort orders and priorities
27
- grid._store.update((draft) => {
28
- const columns = draft.view.internalColumns;
29
- const usedPriorities = new Set();
30
- // First pass: apply initial sort settings
31
- columns.forEach((col) => {
32
- const initCol = initialSortCols.find((ic) => ic.id === col.id);
33
- if (initCol) {
34
- const settings = initCol.sortable;
35
- const initialDir = settings.initialDir;
36
- const initialPriority = settings.sortPriority;
37
- col.sortOrder = initialDir;
38
- if (initialPriority !== undefined) {
39
- col.sortPriority = initialPriority;
40
- usedPriorities.add(initialPriority);
41
- }
42
- else {
43
- // ensure we clear any previous priority
44
- delete col.sortPriority;
45
- }
47
+ // 3) Assign fallback priorities
48
+ let nextPriority = 1;
49
+ cols.forEach((col) => {
50
+ if (col.sortOrder === "asc" || col.sortOrder === "desc") {
51
+ if (col.sortPriority === undefined) {
52
+ while (usedPriorities.has(nextPriority))
53
+ nextPriority++;
54
+ col.sortPriority = nextPriority;
55
+ usedPriorities.add(nextPriority);
46
56
  }
47
- });
48
- // Second pass: assign fallback priorities
49
- let nextPriority = 1;
50
- columns.forEach((col) => {
51
- if (col.sortOrder === "asc" || col.sortOrder === "desc") {
52
- if (col.sortPriority === undefined) {
53
- while (usedPriorities.has(nextPriority)) {
54
- nextPriority++;
55
- }
56
- col.sortPriority = nextPriority;
57
- usedPriorities.add(nextPriority);
58
- }
59
- }
60
- });
61
- // Third pass: normalize priorities
62
- const sortedInitCols = grid._services.sort.getSortedColumns(columns);
63
- sortedInitCols.forEach((col, index) => {
64
- col.sortPriority = index + 1;
65
- });
66
- // Final override if settings are wrong
67
- if (wrongSettings) {
68
- const firstSorted = columns.find((c) => c.sortOrder === "asc" || c.sortOrder === "desc");
69
- columns.forEach((col) => {
70
- if (col.id === firstSorted?.id) {
71
- col.sortOrder = firstSorted.sortOrder;
72
- col.sortPriority = 1;
73
- }
74
- else {
75
- col.sortOrder = "original";
76
- delete col.sortPriority;
77
- }
78
- });
79
57
  }
80
58
  });
81
- // get sorted columns in priority order
82
- // in single sort mode this works also (there is no priority order)
83
- const columns = state.view.internalColumns;
84
- let sortedCols = grid._services.sort.getSortedColumns(columns);
85
- // keep only the first sorted col, if the settings are wrong
86
- if (wrongSettings)
87
- sortedCols = [sortedCols[0]];
88
- let rows = [...state.view.rows];
89
- // sort the data
90
- grid._services.sort.sortGridData(rows, grid, sortedCols);
91
- // update view
92
- grid._store.update((draft) => (draft.view.viewRows = rows));
93
- // store this as the current sort
94
- const current = sortedCols.map((col) => ({
59
+ // 4) Normalize priorities
60
+ const sortedInitCols = grid._services.sort.getSortedColumns(cols);
61
+ sortedInitCols.forEach((col, index) => {
62
+ col.sortPriority = index + 1;
63
+ });
64
+ // 5) Override if settings were wrong (single mode but multiple initial sorts)
65
+ if (wrongSettings) {
66
+ const sortedInit = grid._services.sort.getSortedColumns(cols);
67
+ const first = sortedInit[0];
68
+ cols.forEach((col) => {
69
+ if (col.id === first.id) {
70
+ col.sortOrder = first.sortOrder;
71
+ col.sortPriority = 1;
72
+ }
73
+ else {
74
+ col.sortOrder = "original";
75
+ delete col.sortPriority;
76
+ }
77
+ });
78
+ }
79
+ });
80
+ // --- RE-READ STATE AFTER UPDATE (async-safe) ---
81
+ const updated = grid._store.getState();
82
+ const updatedCols = updated.view.internalColumns;
83
+ // Determine sorted columns in correct priority order
84
+ let sortedCols = grid._services.sort.getSortedColumns(updatedCols);
85
+ if (wrongSettings)
86
+ sortedCols = [sortedCols[0]];
87
+ // Sort rows
88
+ const rows = [...updated.view.rows];
89
+ grid._services.sort.sortGridData(rows, grid, sortedCols);
90
+ // --- FINAL UPDATE: viewRows + currentSortSettings ---
91
+ grid._store.update((draft) => {
92
+ draft.view.viewRows = rows;
93
+ draft.view.currentSortSettings = sortedCols.map((col) => ({
95
94
  columnId: col.id,
96
95
  sortDir: col.sortOrder,
97
96
  ...(col.sortPriority !== undefined && { sortPriority: col.sortPriority }),
98
97
  }));
99
- grid._store.update((draft) => (draft.view.currentSortSettings = current));
100
- }
98
+ });
101
99
  }
102
100
  //# sourceMappingURL=apply-init-sort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-init-sort.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/apply-init-sort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-init-sort.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/apply-init-sort.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { PolyGridStore } from "../../../store/store";
2
2
  import { InternalColumn } from "../../column/interfaces/internal-column";
3
3
  import { SortService } from "../sort";
4
- export declare function sortColumn(store: PolyGridStore, sortedColumn: InternalColumn, isCtrlPressed: boolean, sortService: SortService): void;
4
+ import { PolyGridSortOrder } from "../types/sort-order";
5
+ export declare function sortColumn(store: PolyGridStore, sortedColumn: InternalColumn, isCtrlPressed: boolean, sortService: SortService, sortOrder?: PolyGridSortOrder): void;
5
6
  //# sourceMappingURL=sort-column.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort-column.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/sort-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,cAAc,EAC5B,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,WAAW,QAgDzB"}
1
+ {"version":3,"file":"sort-column.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/sort-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,cAAc,EAC5B,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,iBAAiB,QAgD9B"}
@@ -1,5 +1,5 @@
1
1
  import { toggleSortOrder } from "./toggle-sort-order";
2
- export function sortColumn(store, sortedColumn, isCtrlPressed, sortService) {
2
+ export function sortColumn(store, sortedColumn, isCtrlPressed, sortService, sortOrder) {
3
3
  store.update((draft) => {
4
4
  const columns = draft.view.internalColumns;
5
5
  const sortMode = draft.view.sortSettings?.sortMode;
@@ -9,7 +9,7 @@ export function sortColumn(store, sortedColumn, isCtrlPressed, sortService) {
9
9
  if (!sortedCol)
10
10
  return;
11
11
  // 2. toggle sort order
12
- sortedCol.sortOrder = toggleSortOrder(sortedCol);
12
+ sortedCol.sortOrder = toggleSortOrder(sortedCol, sortOrder);
13
13
  // 3. single-sort mode: clear others
14
14
  if (sortMode !== "multiple" && !isCtrlPressed) {
15
15
  columns.forEach((col, i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"sort-column.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/sort-column.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,YAA4B,EAC5B,aAAsB,EACtB,WAAwB;IAExB,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;QAEnD,yBAAyB;QACzB,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,uBAAuB;QACvB,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAEjD,oCAAoC;QACpC,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACzB,IAAI,CAAC,KAAK,YAAY,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;oBACnD,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;oBAC3B,OAAO,GAAG,CAAC,YAAY,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CACvD,CAAC;QAEF,iEAAiE;QACjE,IAAI,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC,YAAY,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,iDAAiD;QACjD,IAAI,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACvC,kCAAkC;YAClC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;YACrD,qCAAqC;YACrC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAED,wBAAwB;QACxB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACxB,GAAG,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"sort-column.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/sort-column.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,YAA4B,EAC5B,aAAsB,EACtB,WAAwB,EACxB,SAA6B;IAE7B,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;QAEnD,yBAAyB;QACzB,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,uBAAuB;QACvB,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAE5D,oCAAoC;QACpC,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACzB,IAAI,CAAC,KAAK,YAAY,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;oBACnD,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;oBAC3B,OAAO,GAAG,CAAC,YAAY,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CACvD,CAAC;QAEF,iEAAiE;QACjE,IAAI,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC,YAAY,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,iDAAiD;QACjD,IAAI,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACvC,kCAAkC;YAClC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;YACrD,qCAAqC;YACrC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAED,wBAAwB;QACxB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACxB,GAAG,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { PolyGrid } from "../../../core/grid";
2
2
  import { InternalColumn } from "../../column/interfaces/internal-column";
3
3
  import { SortService } from "../sort";
4
- export declare function sort(column: InternalColumn, e: MouseEvent, sortService: SortService, grid: PolyGrid): void;
4
+ import { PolyGridSortOrder } from "../types/sort-order";
5
+ export declare function sort(column: InternalColumn, e: MouseEvent, sortService: SortService, grid: PolyGrid, sortOrder?: PolyGridSortOrder): void;
5
6
  //# sourceMappingURL=sort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,wBAAgB,IAAI,CAClB,MAAM,EAAE,cAAc,EACtB,CAAC,EAAE,UAAU,EACb,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,QAAQ,QAgCf"}
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,IAAI,CAClB,MAAM,EAAE,cAAc,EACtB,CAAC,EAAE,UAAU,EACb,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,QAAQ,EACd,SAAS,CAAC,EAAE,iBAAiB,QAsC9B"}