@polygrid/core 1.0.428 → 1.0.430

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 (149) hide show
  1. package/dist/api/hide-column-animated.d.ts.map +1 -1
  2. package/dist/api/hide-column-animated.js +16 -1
  3. package/dist/api/hide-column-animated.js.map +1 -1
  4. package/dist/api/index.d.ts +2 -0
  5. package/dist/api/index.d.ts.map +1 -1
  6. package/dist/api/index.js +2 -0
  7. package/dist/api/index.js.map +1 -1
  8. package/dist/api/set-data.d.ts.map +1 -1
  9. package/dist/api/set-data.js +3 -0
  10. package/dist/api/set-data.js.map +1 -1
  11. package/dist/api/set-filterable.d.ts +4 -0
  12. package/dist/api/set-filterable.d.ts.map +1 -0
  13. package/dist/api/set-filterable.js +6 -0
  14. package/dist/api/set-filterable.js.map +1 -0
  15. package/dist/api/show-column-animated.d.ts.map +1 -1
  16. package/dist/api/show-column-animated.js +16 -1
  17. package/dist/api/show-column-animated.js.map +1 -1
  18. package/dist/engine/const/pg-css-class.d.ts +4 -0
  19. package/dist/engine/const/pg-css-class.d.ts.map +1 -1
  20. package/dist/engine/const/pg-css-class.js +4 -0
  21. package/dist/engine/const/pg-css-class.js.map +1 -1
  22. package/dist/engine/core/grid-dom.d.ts +2 -0
  23. package/dist/engine/core/grid-dom.d.ts.map +1 -1
  24. package/dist/engine/core/grid-dom.js.map +1 -1
  25. package/dist/engine/core/grid-runtime.d.ts +2 -0
  26. package/dist/engine/core/grid-runtime.d.ts.map +1 -1
  27. package/dist/engine/core/grid-runtime.js +3 -0
  28. package/dist/engine/core/grid-runtime.js.map +1 -1
  29. package/dist/engine/core/grid.d.ts.map +1 -1
  30. package/dist/engine/core/grid.js +1 -0
  31. package/dist/engine/core/grid.js.map +1 -1
  32. package/dist/engine/core/interfaces/grid-options.d.ts +2 -0
  33. package/dist/engine/core/interfaces/grid-options.d.ts.map +1 -1
  34. package/dist/engine/core/methods/consume-options.d.ts.map +1 -1
  35. package/dist/engine/core/methods/consume-options.js +10 -0
  36. package/dist/engine/core/methods/consume-options.js.map +1 -1
  37. package/dist/engine/rx-lite/operators/take.d.ts +3 -0
  38. package/dist/engine/rx-lite/operators/take.d.ts.map +1 -0
  39. package/dist/engine/rx-lite/operators/take.js +18 -0
  40. package/dist/engine/rx-lite/operators/take.js.map +1 -0
  41. package/dist/engine/services/filter/filter.d.ts +17 -0
  42. package/dist/engine/services/filter/filter.d.ts.map +1 -0
  43. package/dist/engine/services/filter/filter.js +18 -0
  44. package/dist/engine/services/filter/filter.js.map +1 -0
  45. package/dist/engine/services/filter/index.d.ts +2 -0
  46. package/dist/engine/services/filter/index.d.ts.map +1 -0
  47. package/dist/engine/services/filter/index.js +2 -0
  48. package/dist/engine/services/filter/index.js.map +1 -0
  49. package/dist/engine/services/filter/methods/index.d.ts +2 -0
  50. package/dist/engine/services/filter/methods/index.d.ts.map +1 -0
  51. package/dist/engine/services/filter/methods/index.js +2 -0
  52. package/dist/engine/services/filter/methods/index.js.map +1 -0
  53. package/dist/engine/services/filter/methods/set-filterable.d.ts +5 -0
  54. package/dist/engine/services/filter/methods/set-filterable.d.ts.map +1 -0
  55. package/dist/engine/services/filter/methods/set-filterable.js +34 -0
  56. package/dist/engine/services/filter/methods/set-filterable.js.map +1 -0
  57. package/dist/engine/services/filter/types/filter-type.d.ts +2 -0
  58. package/dist/engine/services/filter/types/filter-type.d.ts.map +1 -0
  59. package/dist/engine/services/filter/types/filter-type.js +2 -0
  60. package/dist/engine/services/filter/types/filter-type.js.map +1 -0
  61. package/dist/engine/services/layout/methods/add-scroll-event-listeners.d.ts.map +1 -1
  62. package/dist/engine/services/layout/methods/add-scroll-event-listeners.js +11 -0
  63. package/dist/engine/services/layout/methods/add-scroll-event-listeners.js.map +1 -1
  64. package/dist/engine/services/layout/methods/adjust-viewport.d.ts.map +1 -1
  65. package/dist/engine/services/layout/methods/adjust-viewport.js +3 -2
  66. package/dist/engine/services/layout/methods/adjust-viewport.js.map +1 -1
  67. package/dist/engine/services/layout/methods/set-up-resize-observer.d.ts.map +1 -1
  68. package/dist/engine/services/layout/methods/set-up-resize-observer.js +7 -1
  69. package/dist/engine/services/layout/methods/set-up-resize-observer.js.map +1 -1
  70. package/dist/engine/services/layout/methods/update-column-widths.d.ts.map +1 -1
  71. package/dist/engine/services/layout/methods/update-column-widths.js +6 -1
  72. package/dist/engine/services/layout/methods/update-column-widths.js.map +1 -1
  73. package/dist/engine/services/loading/methods/toggle-loading.d.ts.map +1 -1
  74. package/dist/engine/services/loading/methods/toggle-loading.js +6 -1
  75. package/dist/engine/services/loading/methods/toggle-loading.js.map +1 -1
  76. package/dist/engine/services/renderer/methods/re-render-cells.d.ts.map +1 -1
  77. package/dist/engine/services/renderer/methods/re-render-cells.js +19 -14
  78. package/dist/engine/services/renderer/methods/re-render-cells.js.map +1 -1
  79. package/dist/engine/services/renderer/parts/body/body.d.ts.map +1 -1
  80. package/dist/engine/services/renderer/parts/body/body.js +0 -20
  81. package/dist/engine/services/renderer/parts/body/body.js.map +1 -1
  82. package/dist/engine/services/renderer/parts/filter-row/filter-cells.d.ts +5 -0
  83. package/dist/engine/services/renderer/parts/filter-row/filter-cells.d.ts.map +1 -0
  84. package/dist/engine/services/renderer/parts/filter-row/filter-cells.js +19 -0
  85. package/dist/engine/services/renderer/parts/filter-row/filter-cells.js.map +1 -0
  86. package/dist/engine/services/renderer/parts/filter-row/filter-row.d.ts +5 -0
  87. package/dist/engine/services/renderer/parts/filter-row/filter-row.d.ts.map +1 -0
  88. package/dist/engine/services/renderer/parts/filter-row/filter-row.js +16 -0
  89. package/dist/engine/services/renderer/parts/filter-row/filter-row.js.map +1 -0
  90. package/dist/engine/services/renderer/parts/grid/grid.js +1 -1
  91. package/dist/engine/services/renderer/parts/grid/grid.js.map +1 -1
  92. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.d.ts +2 -1
  93. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.d.ts.map +1 -1
  94. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.js +6 -1
  95. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.js.map +1 -1
  96. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar.d.ts +2 -1
  97. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar.d.ts.map +1 -1
  98. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar.js +2 -2
  99. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar.js.map +1 -1
  100. package/dist/engine/services/renderer/parts/viewport/viewport.d.ts.map +1 -1
  101. package/dist/engine/services/renderer/parts/viewport/viewport.js +7 -0
  102. package/dist/engine/services/renderer/parts/viewport/viewport.js.map +1 -1
  103. package/dist/engine/services/row/classes/row-instance.d.ts +13 -0
  104. package/dist/engine/services/row/classes/row-instance.d.ts.map +1 -0
  105. package/dist/engine/services/row/classes/row-instance.js +30 -0
  106. package/dist/engine/services/row/classes/row-instance.js.map +1 -0
  107. package/dist/engine/services/row/classes/row-pool.d.ts +18 -0
  108. package/dist/engine/services/row/classes/row-pool.d.ts.map +1 -0
  109. package/dist/engine/services/row/classes/row-pool.js +78 -0
  110. package/dist/engine/services/row/classes/row-pool.js.map +1 -0
  111. package/dist/engine/services/row/methods/create-row-pool.d.ts +4 -0
  112. package/dist/engine/services/row/methods/create-row-pool.d.ts.map +1 -0
  113. package/dist/engine/services/row/methods/create-row-pool.js +14 -0
  114. package/dist/engine/services/row/methods/create-row-pool.js.map +1 -0
  115. package/dist/engine/services/row/methods/index.d.ts +2 -0
  116. package/dist/engine/services/row/methods/index.d.ts.map +1 -1
  117. package/dist/engine/services/row/methods/index.js +2 -1
  118. package/dist/engine/services/row/methods/index.js.map +1 -1
  119. package/dist/engine/services/row/methods/recompute-virtual-rows.d.ts +3 -0
  120. package/dist/engine/services/row/methods/recompute-virtual-rows.d.ts.map +1 -0
  121. package/dist/engine/services/row/methods/recompute-virtual-rows.js +17 -0
  122. package/dist/engine/services/row/methods/recompute-virtual-rows.js.map +1 -0
  123. package/dist/engine/services/row/methods/update-virtual-rows.d.ts +4 -0
  124. package/dist/engine/services/row/methods/update-virtual-rows.d.ts.map +1 -0
  125. package/dist/engine/services/row/methods/update-virtual-rows.js +12 -0
  126. package/dist/engine/services/row/methods/update-virtual-rows.js.map +1 -0
  127. package/dist/engine/services/row/row.d.ts +6 -0
  128. package/dist/engine/services/row/row.d.ts.map +1 -1
  129. package/dist/engine/services/row/row.js +11 -0
  130. package/dist/engine/services/row/row.js.map +1 -1
  131. package/dist/engine/services/services.d.ts +2 -0
  132. package/dist/engine/services/services.d.ts.map +1 -1
  133. package/dist/engine/services/services.js +2 -0
  134. package/dist/engine/services/services.js.map +1 -1
  135. package/dist/engine/store/interfaces/ui-state.d.ts +2 -0
  136. package/dist/engine/store/interfaces/ui-state.d.ts.map +1 -1
  137. package/dist/engine/store/interfaces/view-state.d.ts +2 -0
  138. package/dist/engine/store/interfaces/view-state.d.ts.map +1 -1
  139. package/dist/engine/store/interfaces/virtual-rows-state.d.ts +9 -0
  140. package/dist/engine/store/interfaces/virtual-rows-state.d.ts.map +1 -0
  141. package/dist/engine/store/interfaces/virtual-rows-state.js +2 -0
  142. package/dist/engine/store/interfaces/virtual-rows-state.js.map +1 -0
  143. package/dist/engine/store/methods/create-initial-state.d.ts.map +1 -1
  144. package/dist/engine/store/methods/create-initial-state.js +9 -0
  145. package/dist/engine/store/methods/create-initial-state.js.map +1 -1
  146. package/dist/index.d.ts +1 -0
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/polygrid.css +48 -1
  149. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-filterable.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/set-filterable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,MAAM,UAAU,aAAa,CAC3B,aAA4B,EAC5B,QAA8B,EAC9B,IAAc;IAEd,aAAa,CAAC,WAAW;SACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7C,IACE,UAAU,KAAK,KAAK;YACpB,UAAU,KAAK,OAAO;YACtB,UAAU,KAAK,MAAM,EACrB,CAAC;YACD,MAAM,eAAe,GACnB,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACxD,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,eAAe,CAAC;YAClD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC/C,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CACvC,6BAA6B,CAC9B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACjE,OAAO,CAAC,iBAAiB,GAAG,WAAW,CAAC;YACxC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC/C,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YACtE,kBAAkB,CAChB,OAAO,EACP,KAAK,EACL,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAC/B,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type PolyGridFilterType = boolean | "row" | "menu" | "excel";
2
+ //# sourceMappingURL=filter-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-type.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/types/filter-type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=filter-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-type.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/types/filter-type.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"add-scroll-event-listeners.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/add-scroll-event-listeners.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,aAAa,QAkCnE"}
1
+ {"version":3,"file":"add-scroll-event-listeners.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/add-scroll-event-listeners.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,aAAa,QA4CnE"}
@@ -1,4 +1,5 @@
1
1
  import { addDomListener } from "../../../core/methods";
2
+ import { recomputeVirtualRows } from "../../row/methods/recompute-virtual-rows";
2
3
  export function addScrollEventListeners(layoutService) {
3
4
  const gridDom = layoutService.gridDom;
4
5
  // vertical scroll bar scrolls body
@@ -7,6 +8,13 @@ export function addScrollEventListeners(layoutService) {
7
8
  if (gridDom.bodyViewport.scrollTop !== scrollTop) {
8
9
  gridDom.bodyViewport.scrollTop = scrollTop;
9
10
  }
11
+ requestAnimationFrame(() => {
12
+ layoutService.store.update((draft) => {
13
+ const v = draft.ui.virtualRows;
14
+ v.scrollTop = scrollTop;
15
+ recomputeVirtualRows(draft.ui.virtualRows);
16
+ });
17
+ });
10
18
  });
11
19
  // horizontal scroll bar scrolls header, footer, body
12
20
  addDomListener(gridDom, gridDom.hScrollInner, "scroll", () => {
@@ -17,6 +25,9 @@ export function addScrollEventListeners(layoutService) {
17
25
  if (gridDom.headerViewport.scrollLeft !== scrollLeft) {
18
26
  gridDom.headerViewport.scrollLeft = scrollLeft;
19
27
  }
28
+ if (gridDom.filterRowViewport.scrollLeft !== scrollLeft) {
29
+ gridDom.filterRowViewport.scrollLeft = scrollLeft;
30
+ }
20
31
  if (gridDom.footerViewport.scrollLeft !== scrollLeft) {
21
32
  gridDom.footerViewport.scrollLeft = scrollLeft;
22
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add-scroll-event-listeners.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/add-scroll-event-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,UAAU,uBAAuB,CAAC,aAA4B;IAClE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,mCAAmC;IACnC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE;QAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;QACjD,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,CAAC,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qDAAqD;IACrD,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;QACnD,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACnD,OAAO,CAAC,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACrD,OAAO,CAAC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACrD,OAAO,CAAC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QAC3D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC;QAC9C,CAAC;QACD,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"add-scroll-event-listeners.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/add-scroll-event-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGhF,MAAM,UAAU,uBAAuB,CAAC,aAA4B;IAClE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,mCAAmC;IACnC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE;QAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;QACjD,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,CAAC,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7C,CAAC;QACD,qBAAqB,CAAC,GAAG,EAAE;YACzB,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnC,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;gBAC/B,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;gBACxB,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,qDAAqD;IACrD,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;QACnD,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACnD,OAAO,CAAC,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACrD,OAAO,CAAC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,CAAC,iBAAiB,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACxD,OAAO,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACrD,OAAO,CAAC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QAC3D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC;QAC9C,CAAC;QACD,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"adjust-viewport.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/adjust-viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAKlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,cAAc,CAC5B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QA4D/B"}
1
+ {"version":3,"file":"adjust-viewport.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/adjust-viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAMlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,cAAc,CAC5B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAwD/B"}
@@ -2,6 +2,7 @@ import { distinctUntilChanged } from "../../../rx-lite/operators/distinct-until-
2
2
  import { filter } from "../../../rx-lite/operators/filter";
3
3
  import { map } from "../../../rx-lite/operators/map";
4
4
  import { takeUntil } from "../../../rx-lite/operators/takeuntil";
5
+ import { recomputeVirtualRows } from "../../row/methods/recompute-virtual-rows";
5
6
  export function adjustViewport(layoutService, destroy$) {
6
7
  const gridDom = layoutService.gridDom;
7
8
  layoutService.showVScrollbar$
@@ -11,8 +12,6 @@ export function adjustViewport(layoutService, destroy$) {
11
12
  draft.view.showVScrollbar = showVScrollbar;
12
13
  });
13
14
  gridDom.vScrollbar.style.display = showVScrollbar ? "flex" : "none";
14
- const lastCellsInLastRow = gridDom.body.querySelectorAll(".pg-row:last-child .pg-cell");
15
- lastCellsInLastRow.forEach((cell) => cell.classList.toggle("last-row", showVScrollbar));
16
15
  }, "SHOW-V-SCROLLBAR");
17
16
  layoutService.showHScrollbar$
18
17
  .pipe(takeUntil(destroy$))
@@ -39,6 +38,8 @@ export function adjustViewport(layoutService, destroy$) {
39
38
  .subscribe((viewportHeight) => {
40
39
  layoutService.store.update((draft) => {
41
40
  draft.view.viewportHeight = viewportHeight;
41
+ draft.ui.virtualRows.viewportHeight = viewportHeight;
42
+ recomputeVirtualRows(draft.ui.virtualRows);
42
43
  });
43
44
  });
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adjust-viewport.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/adjust-viewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adjust-viewport.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/adjust-viewport.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"set-up-resize-observer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-up-resize-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,kBAgBrB"}
1
+ {"version":3,"file":"set-up-resize-observer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-up-resize-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,kBAuBrB"}
@@ -1,13 +1,19 @@
1
1
  export function setUpResizeObserver(resizeObserver, gridDom, store) {
2
+ const state = store.getState();
3
+ const filterable = state.view.filterable === true || state.view.filterable === "row";
2
4
  return (resizeObserver = new ResizeObserver((entries) => {
3
5
  for (const entry of entries) {
4
6
  const gridWidth = entry.contentRect.width;
5
7
  const gridHeight = entry.contentRect.height;
6
8
  const headerHeight = gridDom.headerViewport.getBoundingClientRect().height;
7
9
  const footerHeight = gridDom.footerViewport.getBoundingClientRect().height;
10
+ const filterRowHeight = filterable
11
+ ? gridDom.filterRowViewport.getBoundingClientRect().height
12
+ : 0;
8
13
  store.update((draft) => {
9
14
  draft.view.rawViewportWidth = gridWidth;
10
- draft.view.rawViewportHeight = gridHeight - headerHeight - footerHeight;
15
+ draft.view.rawViewportHeight =
16
+ gridHeight - headerHeight - filterRowHeight - footerHeight;
11
17
  });
12
18
  }
13
19
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"set-up-resize-observer.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-up-resize-observer.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CACjC,cAA8B,EAC9B,OAAgB,EAChB,KAAoB;IAEpB,OAAO,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;QACtD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YAC5C,MAAM,YAAY,GAChB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YACxD,MAAM,YAAY,GAChB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YACxD,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"set-up-resize-observer.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-up-resize-observer.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CACjC,cAA8B,EAC9B,OAAgB,EAChB,KAAoB;IAEpB,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,UAAU,GACd,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC;IACpE,OAAO,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;QACtD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YAC5C,MAAM,YAAY,GAChB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YACxD,MAAM,YAAY,GAChB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YACxD,MAAM,eAAe,GAAG,UAAU;gBAChC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,MAAM;gBAC1D,CAAC,CAAC,CAAC,CAAC;YACN,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,iBAAiB;oBAC1B,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,YAAY,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-column-widths.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/update-column-widths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAI5E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EACpB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAClD,IAAI,EAAE,QAAQ,QA8Bf"}
1
+ {"version":3,"file":"update-column-widths.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/update-column-widths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAI5E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EACpB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAClD,IAAI,EAAE,QAAQ,QAmCf"}
@@ -1,12 +1,15 @@
1
1
  import { renderNoData } from "../../renderer/parts/no-data/no-data";
2
2
  import { setCellWidth } from "./set-cell-width";
3
3
  export function updateColumnWidths(gridDom, state, resolvedColWidths, grid) {
4
+ const filterable = state.view.filterable === true || state.view.filterable === "row";
4
5
  // Build ordered specs array based on the current column order
5
6
  const specs = state.view.internalColumns
6
7
  .filter((col) => col.visible)
7
8
  .map((col) => resolvedColWidths[col.id]);
8
- // Apply widths to header, footer, and body rows
9
+ // Apply widths to header, filter row, footer, and body rows
9
10
  setCellWidth(gridDom.header, specs, state);
11
+ if (filterable)
12
+ setCellWidth(gridDom.filterRow, specs, state);
10
13
  setCellWidth(gridDom.footer, specs, state);
11
14
  const bodyRows = gridDom.body.querySelectorAll(".pg-row");
12
15
  bodyRows.forEach((row) => {
@@ -18,6 +21,8 @@ export function updateColumnWidths(gridDom, state, resolvedColWidths, grid) {
18
21
  // Apply total width to grid sections
19
22
  gridDom.body.style.width = `${totalColWidth}px`;
20
23
  gridDom.header.style.width = `${totalColWidth}px`;
24
+ if (filterable)
25
+ gridDom.filterRow.style.width = `${totalColWidth}px`;
21
26
  gridDom.footer.style.width = `${totalColWidth}px`;
22
27
  gridDom.hScrollTrack.style.width = `${totalColWidth}px`;
23
28
  // Apply viewport width
@@ -1 +1 @@
1
- {"version":3,"file":"update-column-widths.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/update-column-widths.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,KAAoB,EACpB,iBAAkD,EAClD,IAAc;IAEd,8DAA8D;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe;SACrC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;SAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CAAC;IAC5C,gDAAgD;IAChD,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1D,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,YAAY,CAAC,GAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5D,qCAAqC;IACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAClD,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAExD,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC;IAE/D,sBAAsB;IACtB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"update-column-widths.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/update-column-widths.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,KAAoB,EACpB,iBAAkD,EAClD,IAAc;IAEd,MAAM,UAAU,GACd,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC;IAEpE,8DAA8D;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe;SACrC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;SAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CAAC;IAC5C,4DAA4D;IAC5D,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,UAAU;QAAE,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9D,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1D,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,YAAY,CAAC,GAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5D,qCAAqC;IACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAClD,IAAI,UAAU;QAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAClD,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAExD,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC;IAE/D,sBAAsB;IACtB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-loading.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/loading/methods/toggle-loading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,aAAa,CAC3B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAU/B"}
1
+ {"version":3,"file":"toggle-loading.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/loading/methods/toggle-loading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAI7E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,aAAa,CAC3B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAc/B"}
@@ -1,11 +1,16 @@
1
1
  import { takeUntil } from "../../../rx-lite/operators/takeuntil";
2
2
  import { renderLoading } from "../../renderer/parts/loading/loading";
3
+ import { recomputeVirtualRows } from "../../row/methods/recompute-virtual-rows";
3
4
  export function toggleLoading(loadingService, destroy$) {
4
5
  const gridDom = loadingService.gridDom;
5
6
  const grid = loadingService.grid;
6
7
  loadingService.loading$.pipe(takeUntil(destroy$)).subscribe((visible) => {
7
8
  if (visible) {
8
- grid._store.update((draft) => (draft.view.rows = []));
9
+ grid._store.update((draft) => {
10
+ draft.view.rows = [];
11
+ draft.ui.virtualRows.totalRowCount = 0;
12
+ recomputeVirtualRows(draft.ui.virtualRows);
13
+ });
9
14
  renderLoading(gridDom.body, grid);
10
15
  }
11
16
  }, "TOGGLE-LOADING");
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-loading.js","sourceRoot":"","sources":["../../../../../src/engine/services/loading/methods/toggle-loading.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAGrE,MAAM,UAAU,aAAa,CAC3B,cAA8B,EAC9B,QAA8B;IAE9B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IACvC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IACjC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;QACtE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YACtD,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"toggle-loading.js","sourceRoot":"","sources":["../../../../../src/engine/services/loading/methods/toggle-loading.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGhF,MAAM,UAAU,aAAa,CAC3B,cAA8B,EAC9B,QAA8B;IAE9B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IACvC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IACjC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;QACtE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBACrB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"re-render-cells.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/renderer/methods/re-render-cells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAItD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,QAAQ,QA6Bf"}
1
+ {"version":3,"file":"re-render-cells.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/renderer/methods/re-render-cells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,QAAQ,QAoCf"}
@@ -1,26 +1,31 @@
1
- import { renderRows } from "../parts/body/row";
2
1
  import { renderFooterCells } from "../parts/footer/footer-cells";
3
2
  import { renderHeaderCells } from "../parts/header/header-cells";
3
+ import { renderFilterCells } from "../parts/filter-row/filter-cells";
4
+ import { RowPool } from "../../row/classes/row-pool";
4
5
  export function reRenderCells(gridDom, store, grid) {
5
6
  // rerender header, body, footer cells
6
7
  // header
7
8
  const header = gridDom.header;
8
9
  header.replaceChildren();
9
10
  renderHeaderCells(header, store, gridDom, grid);
10
- // body
11
- const body = gridDom.body;
12
- body.replaceChildren();
13
- const rows = store.getState().view.rows;
14
- const columns = store.getState().view.internalColumns;
15
- const rowHeight = store.getState().view.rowHeight;
16
- const bodyRows = renderRows(rows, columns, rowHeight, grid);
17
- const fragment = document.createDocumentFragment();
18
- for (const row of bodyRows) {
19
- fragment.appendChild(row);
11
+ // filter row
12
+ const state = store.getState();
13
+ const filterable = state.view.filterable === true || state.view.filterable === "row";
14
+ if (filterable) {
15
+ const filterRow = gridDom.filterRow;
16
+ filterRow.replaceChildren();
17
+ renderFilterCells(filterRow, store, gridDom, grid);
20
18
  }
21
- body.appendChild(fragment);
22
- const lastCellsInLastRow = gridDom.body.querySelectorAll(".pg-row:last-child .pg-cell");
23
- lastCellsInLastRow.forEach((cell) => cell.classList.toggle("last-row", store.getState().view.showVScrollbar));
19
+ // body (virtualized)
20
+ gridDom.body.replaceChildren();
21
+ // recreate row pool
22
+ const rowHeight = state.view.rowHeight;
23
+ const columns = state.view.internalColumns;
24
+ const rowPool = new RowPool(gridDom, columns, rowHeight, grid, state.view.viewportHeight);
25
+ grid._runtime.rowPool = rowPool;
26
+ // render visible rows into the pool
27
+ const data = state.view.rows;
28
+ rowPool.update(state.ui.virtualRows, data);
24
29
  // footer
25
30
  const footer = gridDom.footer;
26
31
  footer.replaceChildren();
@@ -1 +1 @@
1
- {"version":3,"file":"re-render-cells.js","sourceRoot":"","sources":["../../../../../src/engine/services/renderer/methods/re-render-cells.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAIjE,MAAM,UAAU,aAAa,CAC3B,OAAgB,EAChB,KAAoB,EACpB,IAAc;IAEd,sCAAsC;IACtC,SAAS;IACT,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO;IACP,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;IACtD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CACtD,6BAA6B,CAC9B,CAAC;IACF,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CACxE,CAAC;IACF,SAAS;IACT,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"re-render-cells.js","sourceRoot":"","sources":["../../../../../src/engine/services/renderer/methods/re-render-cells.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,MAAM,UAAU,aAAa,CAC3B,OAAgB,EAChB,KAAoB,EACpB,IAAc;IAEd,sCAAsC;IACtC,SAAS;IACT,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,aAAa;IACb,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,UAAU,GACd,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC;IACpE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,SAAS,CAAC,eAAe,EAAE,CAAC;QAC5B,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,qBAAqB;IACrB,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,oBAAoB;IACpB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,OAAO,CACzB,OAAO,EACP,OAAO,EACP,SAAS,EACT,IAAI,EACJ,KAAK,CAAC,IAAI,CAAC,cAAc,CAC1B,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAChC,oCAAoC;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3C,SAAS;IACT,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/body.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,GACb,cAAc,CAgChB"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/body.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,GACb,cAAc,CAchB"}
@@ -1,6 +1,4 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import { renderNoData } from "../no-data/no-data";
3
- import { renderRows } from "./row";
4
2
  export function renderBody(store, gridDom, grid) {
5
3
  // viewport
6
4
  const bodyViewportEl = document.createElement("div");
@@ -9,24 +7,6 @@ export function renderBody(store, gridDom, grid) {
9
7
  const bodyEl = document.createElement("div");
10
8
  bodyEl.className = PG_CSS_CLASS.body;
11
9
  bodyEl.innerHTML = "";
12
- // if we have rows
13
- const rows = store.getState().view.rows;
14
- if (rows.length > 0) {
15
- // render the rows
16
- const columns = store.getState().view.internalColumns;
17
- const rowHeight = store.getState().view.rowHeight;
18
- const bodyRows = renderRows(rows, columns, rowHeight, grid);
19
- // append the rows to the body
20
- const fragment = document.createDocumentFragment();
21
- for (const row of bodyRows) {
22
- fragment.appendChild(row);
23
- }
24
- bodyEl.appendChild(fragment);
25
- }
26
- else {
27
- // render no data template
28
- renderNoData(bodyEl, grid);
29
- }
30
10
  bodyViewportEl.appendChild(bodyEl);
31
11
  gridDom.body = bodyEl;
32
12
  return bodyViewportEl;
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,WAAW;IACX,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;IACrD,gBAAgB;IAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IACrC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAEtB,kBAAkB;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,kBAAkB;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;QAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5D,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEnC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;IAEtB,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAK9D,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,WAAW;IACX,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;IACrD,gBAAgB;IAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IACrC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAEtB,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEnC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;IAEtB,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { GridDOM } from "../../../../core/grid-dom";
3
+ import type { PolyGridStore } from "../../../../store/store";
4
+ export declare function renderFilterCells(filterRow: HTMLElement, store: PolyGridStore, gridDom: GridDOM, grid: PolyGrid): void;
5
+ //# sourceMappingURL=filter-cells.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-cells.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/filter-row/filter-cells.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,QAyBf"}
@@ -0,0 +1,19 @@
1
+ import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ export function renderFilterCells(filterRow, store, gridDom, grid) {
3
+ const state = store.getState();
4
+ const columns = state.view.internalColumns.filter((col) => col.visible ?? true);
5
+ // Clear previous DOM
6
+ filterRow.innerHTML = "";
7
+ columns.forEach((col, i) => {
8
+ const cell = document.createElement("div");
9
+ cell.className = PG_CSS_CLASS.filterCell;
10
+ cell.setAttribute("col-id", col.id);
11
+ // Create content container
12
+ const content = document.createElement("div");
13
+ content.className = PG_CSS_CLASS.filterCellContent;
14
+ content.textContent = col.header;
15
+ cell.appendChild(content);
16
+ filterRow.appendChild(cell);
17
+ });
18
+ }
19
+ //# sourceMappingURL=filter-cells.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/filter-row/filter-cells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAK9D,MAAM,UAAU,iBAAiB,CAC/B,SAAsB,EACtB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAC/C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAC7B,CAAC;IAEF,qBAAqB;IACrB,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;IAEzB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,2BAA2B;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC;QAEnD,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAEjC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1B,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import type { GridDOM } from "../../../../core/grid-dom";
3
+ import type { PolyGridStore } from "../../../../store/store";
4
+ export declare function renderFilterRow(store: PolyGridStore, gridDom: GridDOM, grid: PolyGrid): HTMLDivElement;
5
+ //# sourceMappingURL=filter-row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-row.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/filter-row/filter-row.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,GACb,cAAc,CAehB"}
@@ -0,0 +1,16 @@
1
+ import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ import { renderFilterCells } from "./filter-cells";
3
+ export function renderFilterRow(store, gridDom, grid) {
4
+ // viewport
5
+ const filterRowViewportEl = document.createElement("div");
6
+ filterRowViewportEl.className = PG_CSS_CLASS.filterRowViewport;
7
+ // cell container
8
+ const filterRow = document.createElement("div");
9
+ filterRow.className = PG_CSS_CLASS.filterRow;
10
+ // cells
11
+ renderFilterCells(filterRow, store, gridDom, grid);
12
+ filterRowViewportEl.appendChild(filterRow);
13
+ gridDom.filterRow = filterRow;
14
+ return filterRowViewportEl;
15
+ }
16
+ //# sourceMappingURL=filter-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-row.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/filter-row/filter-row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,UAAU,eAAe,CAC7B,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,WAAW;IACX,MAAM,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1D,mBAAmB,CAAC,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC;IAC/D,iBAAiB;IACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAC7C,QAAQ;IACR,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEnD,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAE3C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAE9B,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
@@ -5,7 +5,7 @@ export function renderGrid(store, gridDom, grid) {
5
5
  const gridEl = document.createElement("div");
6
6
  gridEl.className = PG_CSS_CLASS.grid;
7
7
  const viewport = renderViewport(store, gridDom, grid);
8
- const vScrollbar = renderVScrollbar(gridDom);
8
+ const vScrollbar = renderVScrollbar(gridDom, store);
9
9
  gridEl.appendChild(viewport);
10
10
  gridEl.appendChild(vScrollbar);
11
11
  gridDom.viewport = viewport;
@@ -1 +1 @@
1
- {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/grid/grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IAErC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE/B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAEhC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/grid/grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IAErC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEpD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE/B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAEhC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,2 +1,3 @@
1
- export declare function renderVScrollbarSpacerTop(): HTMLDivElement;
1
+ import { PolyGridStore } from "../../../../store/store";
2
+ export declare function renderVScrollbarSpacerTop(store: PolyGridStore): HTMLDivElement;
2
3
  //# sourceMappingURL=v-scrollbar-spacer-top.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v-scrollbar-spacer-top.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.ts"],"names":[],"mappings":"AAEA,wBAAgB,yBAAyB,IAAI,cAAc,CAK1D"}
1
+ {"version":3,"file":"v-scrollbar-spacer-top.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,GACnB,cAAc,CAYhB"}
@@ -1,7 +1,12 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- export function renderVScrollbarSpacerTop() {
2
+ export function renderVScrollbarSpacerTop(store) {
3
3
  const vScrollbarSpacer = document.createElement("div");
4
4
  vScrollbarSpacer.className = PG_CSS_CLASS.vScrollSpacerTop;
5
+ const state = store.getState();
6
+ const filterable = state.view.filterable === true || state.view.filterable === "row";
7
+ if (filterable)
8
+ vScrollbarSpacer.style.height = "70px";
9
+ vScrollbarSpacer.classList.toggle("pg-v-scroll-spacer-top-line", filterable);
5
10
  return vScrollbarSpacer;
6
11
  }
7
12
  //# sourceMappingURL=v-scrollbar-spacer-top.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"v-scrollbar-spacer-top.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,MAAM,UAAU,yBAAyB;IACvC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,gBAAgB,CAAC,SAAS,GAAG,YAAY,CAAC,gBAAgB,CAAC;IAE3D,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"v-scrollbar-spacer-top.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,MAAM,UAAU,yBAAyB,CACvC,KAAoB;IAEpB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,gBAAgB,CAAC,SAAS,GAAG,YAAY,CAAC,gBAAgB,CAAC;IAE3D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,UAAU,GACd,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC;IAEpE,IAAI,UAAU;QAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACvD,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;IAE7E,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type { GridDOM } from "../../../../core/grid-dom";
2
- export declare function renderVScrollbar(gridDom: GridDOM): HTMLDivElement;
2
+ import { PolyGridStore } from "../../../../store/store";
3
+ export declare function renderVScrollbar(gridDom: GridDOM, store: PolyGridStore): HTMLDivElement;
3
4
  //# sourceMappingURL=v-scrollbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v-scrollbar.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/scrollbars/v-scrollbar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAKzD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CA2BjE"}
1
+ {"version":3,"file":"v-scrollbar.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/scrollbars/v-scrollbar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,GACnB,cAAc,CA2BhB"}
@@ -2,14 +2,14 @@ import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
2
  import { renderVScrollbarBottomCorner } from "./v-scrollbar-bottom-corner";
3
3
  import { renderVScrollbarSpacerBottom } from "./v-scrollbar-spacer-bottom";
4
4
  import { renderVScrollbarSpacerTop } from "./v-scrollbar-spacer-top";
5
- export function renderVScrollbar(gridDom) {
5
+ export function renderVScrollbar(gridDom, store) {
6
6
  const vScrollEl = document.createElement("div");
7
7
  vScrollEl.className = PG_CSS_CLASS.vScroll;
8
8
  const vScrollInnerEl = document.createElement("div");
9
9
  vScrollInnerEl.className = PG_CSS_CLASS.vScrollInner;
10
10
  const vScrollTrackEl = document.createElement("div");
11
11
  vScrollTrackEl.className = PG_CSS_CLASS.vScrollTrack;
12
- const spacerTop = renderVScrollbarSpacerTop();
12
+ const spacerTop = renderVScrollbarSpacerTop(store);
13
13
  const spacerBottom = renderVScrollbarSpacerBottom();
14
14
  const bottomCorner = renderVScrollbarBottomCorner();
15
15
  vScrollEl.appendChild(spacerTop);
@@ -1 +1 @@
1
- {"version":3,"file":"v-scrollbar.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/scrollbars/v-scrollbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;IAE3C,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;IAErD,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;IAErD,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,4BAA4B,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,4BAA4B,EAAE,CAAC;IAEpD,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACtC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACpC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACpC,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAE3C,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC;IACtC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,mBAAmB,GAAG,YAAY,CAAC;IAC3C,OAAO,CAAC,mBAAmB,GAAG,YAAY,CAAC;IAC3C,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC;IAEtC,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"v-scrollbar.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/scrollbars/v-scrollbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,KAAoB;IAEpB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;IAE3C,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;IAErD,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;IAErD,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,4BAA4B,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,4BAA4B,EAAE,CAAC;IAEpD,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACtC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACpC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACpC,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAE3C,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC;IACtC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,mBAAmB,GAAG,YAAY,CAAC;IAC3C,OAAO,CAAC,mBAAmB,GAAG,YAAY,CAAC;IAC3C,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC;IAEtC,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/viewport/viewport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,GACb,cAAc,CAoBhB"}
1
+ {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/viewport/viewport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAO7D,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,GACb,cAAc,CA2BhB"}
@@ -1,20 +1,27 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
2
  import { renderBody } from "../body/body";
3
+ import { renderFilterRow } from "../filter-row/filter-row";
3
4
  import { renderFooter } from "../footer/footer";
4
5
  import { renderHeader } from "../header/header";
5
6
  import { renderHScrollbar } from "../scrollbars/h-scrollbar";
6
7
  export function renderViewport(store, gridDom, grid) {
8
+ const state = store.getState();
9
+ const showFilterRow = state.view.filterable === true || state.view.filterable === "row";
7
10
  const viewport = document.createElement("div");
8
11
  viewport.className = PG_CSS_CLASS.viewport;
9
12
  const headerVp = renderHeader(store, gridDom, grid);
13
+ const filterRowVp = renderFilterRow(store, gridDom, grid);
10
14
  const bodyVp = renderBody(store, gridDom, grid);
11
15
  const footerVp = renderFooter(store, gridDom, grid);
12
16
  const hScrollbar = renderHScrollbar(gridDom);
13
17
  viewport.appendChild(headerVp);
18
+ if (showFilterRow)
19
+ viewport.appendChild(filterRowVp);
14
20
  viewport.appendChild(bodyVp);
15
21
  viewport.appendChild(footerVp);
16
22
  viewport.appendChild(hScrollbar);
17
23
  gridDom.headerViewport = headerVp;
24
+ gridDom.filterRowViewport = filterRowVp;
18
25
  gridDom.bodyViewport = bodyVp;
19
26
  gridDom.footerViewport = footerVp;
20
27
  gridDom.hScrollbar = hScrollbar;
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/viewport/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,UAAU,cAAc,CAC5B,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC;IAE3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEjC,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAEhC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/viewport/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,UAAU,cAAc,CAC5B,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,aAAa,GACjB,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC;IAEpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC;IAE3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,aAAa;QAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACrD,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEjC,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,iBAAiB,GAAG,WAAW,CAAC;IACxC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAEhC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { PolyGridStore } from "../../../store/store";
2
+ import { PolyGridRow } from "../interfaces/row";
3
+ export declare class RowInstance {
4
+ el: HTMLDivElement;
5
+ private cells;
6
+ private store;
7
+ constructor(rowEl: HTMLDivElement, store: PolyGridStore);
8
+ update(rowData: PolyGridRow, rowIndex: number): void;
9
+ setOffset(y: number): void;
10
+ show(): void;
11
+ hide(): void;
12
+ }
13
+ //# sourceMappingURL=row-instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-instance.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/row/classes/row-instance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,WAAW;IACtB,EAAE,EAAE,cAAc,CAAC;IACnB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,KAAK,CAAgB;gBAEjB,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa;IAQvD,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM;IAY7C,SAAS,CAAC,CAAC,EAAE,MAAM;IAInB,IAAI;IAIJ,IAAI;CAGL"}