@polygrid/core 1.0.2 → 1.0.3-a

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 (436) hide show
  1. package/dist/api/index.d.ts +9 -0
  2. package/dist/api/index.d.ts.map +1 -0
  3. package/dist/api/index.js +11 -0
  4. package/dist/api/index.js.map +1 -0
  5. package/dist/api/set-columns.d.ts +4 -0
  6. package/dist/api/set-columns.d.ts.map +1 -0
  7. package/dist/api/set-columns.js +6 -0
  8. package/dist/api/set-columns.js.map +1 -0
  9. package/dist/api/set-data.d.ts +3 -0
  10. package/dist/api/set-data.d.ts.map +1 -0
  11. package/dist/api/set-data.js +7 -0
  12. package/dist/api/set-data.js.map +1 -0
  13. package/dist/api/set-grid-id.d.ts +3 -0
  14. package/dist/api/set-grid-id.d.ts.map +1 -0
  15. package/dist/api/set-grid-id.js +6 -0
  16. package/dist/api/set-grid-id.js.map +1 -0
  17. package/dist/engine/const/pg-css-class.d.ts +25 -0
  18. package/dist/engine/const/pg-css-class.d.ts.map +1 -0
  19. package/dist/engine/const/pg-css-class.js +25 -0
  20. package/dist/engine/const/pg-css-class.js.map +1 -0
  21. package/dist/engine/core/grid-dom.d.ts +23 -0
  22. package/dist/engine/core/grid-dom.d.ts.map +1 -0
  23. package/dist/engine/core/grid-dom.js +8 -0
  24. package/dist/engine/core/grid-dom.js.map +1 -0
  25. package/dist/engine/core/grid.d.ts +19 -0
  26. package/dist/engine/core/grid.d.ts.map +1 -0
  27. package/dist/engine/core/grid.js +50 -0
  28. package/dist/engine/core/grid.js.map +1 -0
  29. package/dist/engine/core/interfaces/grid-options.d.ts +8 -0
  30. package/dist/engine/core/interfaces/grid-options.d.ts.map +1 -0
  31. package/dist/engine/core/interfaces/grid-options.js +2 -0
  32. package/dist/engine/core/interfaces/grid-options.js.map +1 -0
  33. package/dist/engine/core/methods/add-dom-listener.d.ts +3 -0
  34. package/dist/engine/core/methods/add-dom-listener.d.ts.map +1 -0
  35. package/dist/engine/core/methods/add-dom-listener.js +7 -0
  36. package/dist/engine/core/methods/add-dom-listener.js.map +1 -0
  37. package/dist/engine/core/methods/consume-options.d.ts +4 -0
  38. package/dist/engine/core/methods/consume-options.d.ts.map +1 -0
  39. package/dist/engine/core/methods/consume-options.js +27 -0
  40. package/dist/engine/core/methods/consume-options.js.map +1 -0
  41. package/dist/engine/core/methods/index.d.ts +3 -0
  42. package/dist/engine/core/methods/index.d.ts.map +1 -0
  43. package/{src/engine/core/methods/index.ts → dist/engine/core/methods/index.js} +3 -2
  44. package/dist/engine/core/methods/index.js.map +1 -0
  45. package/dist/engine/core/methods/normalize-rows.d.ts +3 -0
  46. package/dist/engine/core/methods/normalize-rows.d.ts.map +1 -0
  47. package/dist/engine/core/methods/normalize-rows.js +4 -0
  48. package/dist/engine/core/methods/normalize-rows.js.map +1 -0
  49. package/dist/engine/debug.config.d.ts +4 -0
  50. package/dist/engine/debug.config.d.ts.map +1 -0
  51. package/{src/engine/debug.config.ts → dist/engine/debug.config.js} +4 -3
  52. package/dist/engine/debug.config.js.map +1 -0
  53. package/dist/engine/rx-lite/core/observable.d.ts +9 -0
  54. package/dist/engine/rx-lite/core/observable.d.ts.map +1 -0
  55. package/dist/engine/rx-lite/core/observable.js +22 -0
  56. package/dist/engine/rx-lite/core/observable.js.map +1 -0
  57. package/dist/engine/rx-lite/core/subject.d.ts +9 -0
  58. package/dist/engine/rx-lite/core/subject.d.ts.map +1 -0
  59. package/dist/engine/rx-lite/core/subject.js +18 -0
  60. package/dist/engine/rx-lite/core/subject.js.map +1 -0
  61. package/dist/engine/rx-lite/interfaces/observable-like.d.ts +6 -0
  62. package/dist/engine/rx-lite/interfaces/observable-like.d.ts.map +1 -0
  63. package/dist/engine/rx-lite/interfaces/observable-like.js +2 -0
  64. package/dist/engine/rx-lite/interfaces/observable-like.js.map +1 -0
  65. package/dist/engine/rx-lite/interfaces/pipe-fn.d.ts +9 -0
  66. package/dist/engine/rx-lite/interfaces/pipe-fn.d.ts.map +1 -0
  67. package/dist/engine/rx-lite/interfaces/pipe-fn.js +2 -0
  68. package/dist/engine/rx-lite/interfaces/pipe-fn.js.map +1 -0
  69. package/dist/engine/rx-lite/operators/combine-latest-any.d.ts +7 -0
  70. package/dist/engine/rx-lite/operators/combine-latest-any.d.ts.map +1 -0
  71. package/dist/engine/rx-lite/operators/combine-latest-any.js +37 -0
  72. package/dist/engine/rx-lite/operators/combine-latest-any.js.map +1 -0
  73. package/dist/engine/rx-lite/operators/combine-latest.d.ts +7 -0
  74. package/dist/engine/rx-lite/operators/combine-latest.d.ts.map +1 -0
  75. package/dist/engine/rx-lite/operators/combine-latest.js +20 -0
  76. package/dist/engine/rx-lite/operators/combine-latest.js.map +1 -0
  77. package/dist/engine/rx-lite/operators/distinct-until-array-changed.d.ts +4 -0
  78. package/dist/engine/rx-lite/operators/distinct-until-array-changed.d.ts.map +1 -0
  79. package/dist/engine/rx-lite/operators/distinct-until-array-changed.js +16 -0
  80. package/dist/engine/rx-lite/operators/distinct-until-array-changed.js.map +1 -0
  81. package/dist/engine/rx-lite/operators/distinct-until-changed.d.ts +3 -0
  82. package/dist/engine/rx-lite/operators/distinct-until-changed.d.ts.map +1 -0
  83. package/dist/engine/rx-lite/operators/distinct-until-changed.js +15 -0
  84. package/dist/engine/rx-lite/operators/distinct-until-changed.js.map +1 -0
  85. package/dist/engine/rx-lite/operators/filter.d.ts +3 -0
  86. package/dist/engine/rx-lite/operators/filter.d.ts.map +1 -0
  87. package/dist/engine/rx-lite/operators/filter.js +8 -0
  88. package/dist/engine/rx-lite/operators/filter.js.map +1 -0
  89. package/dist/engine/rx-lite/operators/map.d.ts +3 -0
  90. package/dist/engine/rx-lite/operators/map.d.ts.map +1 -0
  91. package/dist/engine/rx-lite/operators/map.js +5 -0
  92. package/dist/engine/rx-lite/operators/map.js.map +1 -0
  93. package/dist/engine/rx-lite/operators/select-keyed.d.ts +5 -0
  94. package/dist/engine/rx-lite/operators/select-keyed.d.ts.map +1 -0
  95. package/dist/engine/rx-lite/operators/select-keyed.js +19 -0
  96. package/dist/engine/rx-lite/operators/select-keyed.js.map +1 -0
  97. package/dist/engine/rx-lite/operators/select.d.ts +5 -0
  98. package/dist/engine/rx-lite/operators/select.d.ts.map +1 -0
  99. package/dist/engine/rx-lite/operators/select.js +17 -0
  100. package/dist/engine/rx-lite/operators/select.js.map +1 -0
  101. package/dist/engine/rx-lite/operators/skip.d.ts +3 -0
  102. package/dist/engine/rx-lite/operators/skip.d.ts.map +1 -0
  103. package/dist/engine/rx-lite/operators/skip.js +14 -0
  104. package/dist/engine/rx-lite/operators/skip.js.map +1 -0
  105. package/dist/engine/rx-lite/operators/takeuntil.d.ts +4 -0
  106. package/dist/engine/rx-lite/operators/takeuntil.d.ts.map +1 -0
  107. package/dist/engine/rx-lite/operators/takeuntil.js +15 -0
  108. package/dist/engine/rx-lite/operators/takeuntil.js.map +1 -0
  109. package/{src/engine/rx-lite/types/operator.ts → dist/engine/rx-lite/types/operator.d.ts} +3 -3
  110. package/dist/engine/rx-lite/types/operator.d.ts.map +1 -0
  111. package/dist/engine/rx-lite/types/operator.js +2 -0
  112. package/dist/engine/rx-lite/types/operator.js.map +1 -0
  113. package/dist/engine/services/column/column.d.ts +18 -0
  114. package/dist/engine/services/column/column.d.ts.map +1 -0
  115. package/dist/engine/services/column/column.js +16 -0
  116. package/dist/engine/services/column/column.js.map +1 -0
  117. package/dist/engine/services/column/index.d.ts +2 -0
  118. package/dist/engine/services/column/index.d.ts.map +1 -0
  119. package/dist/engine/services/column/index.js +2 -0
  120. package/dist/engine/services/column/index.js.map +1 -0
  121. package/dist/engine/services/column/interfaces/column.d.ts +7 -0
  122. package/dist/engine/services/column/interfaces/column.d.ts.map +1 -0
  123. package/dist/engine/services/column/interfaces/column.js +2 -0
  124. package/dist/engine/services/column/interfaces/column.js.map +1 -0
  125. package/dist/engine/services/column/methods/index.d.ts +3 -0
  126. package/dist/engine/services/column/methods/index.d.ts.map +1 -0
  127. package/{src/engine/services/column/methods/index.ts → dist/engine/services/column/methods/index.js} +3 -2
  128. package/dist/engine/services/column/methods/index.js.map +1 -0
  129. package/dist/engine/services/column/methods/resolve-column-widths.d.ts +3 -0
  130. package/dist/engine/services/column/methods/resolve-column-widths.d.ts.map +1 -0
  131. package/dist/engine/services/column/methods/resolve-column-widths.js +34 -0
  132. package/dist/engine/services/column/methods/resolve-column-widths.js.map +1 -0
  133. package/dist/engine/services/column/methods/set-columns.d.ts +4 -0
  134. package/dist/engine/services/column/methods/set-columns.d.ts.map +1 -0
  135. package/dist/engine/services/column/methods/set-columns.js +23 -0
  136. package/dist/engine/services/column/methods/set-columns.js.map +1 -0
  137. package/{src/engine/services/column/types/column-width-state.ts → dist/engine/services/column/types/column-width-state.d.ts} +2 -1
  138. package/dist/engine/services/column/types/column-width-state.d.ts.map +1 -0
  139. package/dist/engine/services/column/types/column-width-state.js +2 -0
  140. package/dist/engine/services/column/types/column-width-state.js.map +1 -0
  141. package/dist/engine/services/data/data.d.ts +15 -0
  142. package/dist/engine/services/data/data.d.ts.map +1 -0
  143. package/dist/engine/services/data/data.js +14 -0
  144. package/dist/engine/services/data/data.js.map +1 -0
  145. package/dist/engine/services/data/index.d.ts +2 -0
  146. package/dist/engine/services/data/index.d.ts.map +1 -0
  147. package/dist/engine/services/data/index.js +2 -0
  148. package/dist/engine/services/data/index.js.map +1 -0
  149. package/dist/engine/services/data/methods/index.d.ts +2 -0
  150. package/dist/engine/services/data/methods/index.d.ts.map +1 -0
  151. package/dist/engine/services/data/methods/index.js +2 -0
  152. package/dist/engine/services/data/methods/index.js.map +1 -0
  153. package/dist/engine/services/data/methods/set-rows.d.ts +4 -0
  154. package/dist/engine/services/data/methods/set-rows.d.ts.map +1 -0
  155. package/dist/engine/services/data/methods/set-rows.js +13 -0
  156. package/dist/engine/services/data/methods/set-rows.js.map +1 -0
  157. package/dist/engine/services/layout/index.d.ts +2 -0
  158. package/dist/engine/services/layout/index.d.ts.map +1 -0
  159. package/dist/engine/services/layout/index.js +2 -0
  160. package/dist/engine/services/layout/index.js.map +1 -0
  161. package/dist/engine/services/layout/layout.d.ts +34 -0
  162. package/dist/engine/services/layout/layout.d.ts.map +1 -0
  163. package/dist/engine/services/layout/layout.js +57 -0
  164. package/dist/engine/services/layout/layout.js.map +1 -0
  165. package/dist/engine/services/layout/methods/add-scroll-event-listeners.d.ts +3 -0
  166. package/dist/engine/services/layout/methods/add-scroll-event-listeners.d.ts.map +1 -0
  167. package/dist/engine/services/layout/methods/add-scroll-event-listeners.js +35 -0
  168. package/dist/engine/services/layout/methods/add-scroll-event-listeners.js.map +1 -0
  169. package/dist/engine/services/layout/methods/adjust-viewport.d.ts +4 -0
  170. package/dist/engine/services/layout/methods/adjust-viewport.d.ts.map +1 -0
  171. package/dist/engine/services/layout/methods/adjust-viewport.js +45 -0
  172. package/dist/engine/services/layout/methods/adjust-viewport.js.map +1 -0
  173. package/dist/engine/services/layout/methods/apply-column-widths.d.ts +4 -0
  174. package/dist/engine/services/layout/methods/apply-column-widths.d.ts.map +1 -0
  175. package/dist/engine/services/layout/methods/apply-column-widths.js +12 -0
  176. package/dist/engine/services/layout/methods/apply-column-widths.js.map +1 -0
  177. package/dist/engine/services/layout/methods/compute-column-widths.d.ts +4 -0
  178. package/dist/engine/services/layout/methods/compute-column-widths.d.ts.map +1 -0
  179. package/dist/engine/services/layout/methods/compute-column-widths.js +18 -0
  180. package/dist/engine/services/layout/methods/compute-column-widths.js.map +1 -0
  181. package/dist/engine/services/layout/methods/compute-total-row-height.d.ts +4 -0
  182. package/dist/engine/services/layout/methods/compute-total-row-height.d.ts.map +1 -0
  183. package/dist/engine/services/layout/methods/compute-total-row-height.js +11 -0
  184. package/dist/engine/services/layout/methods/compute-total-row-height.js.map +1 -0
  185. package/dist/engine/services/layout/methods/index.d.ts +13 -0
  186. package/dist/engine/services/layout/methods/index.d.ts.map +1 -0
  187. package/{src/engine/services/layout/methods/index.ts → dist/engine/services/layout/methods/index.js} +13 -12
  188. package/dist/engine/services/layout/methods/index.js.map +1 -0
  189. package/dist/engine/services/layout/methods/initialize-layout-pipeline.d.ts +4 -0
  190. package/dist/engine/services/layout/methods/initialize-layout-pipeline.d.ts.map +1 -0
  191. package/dist/engine/services/layout/methods/initialize-layout-pipeline.js +23 -0
  192. package/dist/engine/services/layout/methods/initialize-layout-pipeline.js.map +1 -0
  193. package/dist/engine/services/layout/methods/resize-body.d.ts +4 -0
  194. package/dist/engine/services/layout/methods/resize-body.d.ts.map +1 -0
  195. package/dist/engine/services/layout/methods/resize-body.js +10 -0
  196. package/dist/engine/services/layout/methods/resize-body.js.map +1 -0
  197. package/dist/engine/services/layout/methods/resize-v-scrollbar.d.ts +4 -0
  198. package/dist/engine/services/layout/methods/resize-v-scrollbar.d.ts.map +1 -0
  199. package/dist/engine/services/layout/methods/resize-v-scrollbar.js +10 -0
  200. package/dist/engine/services/layout/methods/resize-v-scrollbar.js.map +1 -0
  201. package/dist/engine/services/layout/methods/set-cell-width.d.ts +2 -0
  202. package/dist/engine/services/layout/methods/set-cell-width.d.ts.map +1 -0
  203. package/dist/engine/services/layout/methods/set-cell-width.js +16 -0
  204. package/dist/engine/services/layout/methods/set-cell-width.js.map +1 -0
  205. package/dist/engine/services/layout/methods/set-grid-id.d.ts +4 -0
  206. package/dist/engine/services/layout/methods/set-grid-id.d.ts.map +1 -0
  207. package/dist/engine/services/layout/methods/set-grid-id.js +9 -0
  208. package/dist/engine/services/layout/methods/set-grid-id.js.map +1 -0
  209. package/dist/engine/services/layout/methods/set-up-resize-observer.d.ts +4 -0
  210. package/dist/engine/services/layout/methods/set-up-resize-observer.d.ts.map +1 -0
  211. package/dist/engine/services/layout/methods/set-up-resize-observer.js +15 -0
  212. package/dist/engine/services/layout/methods/set-up-resize-observer.js.map +1 -0
  213. package/dist/engine/services/layout/methods/update-column-widths.d.ts +4 -0
  214. package/dist/engine/services/layout/methods/update-column-widths.d.ts.map +1 -0
  215. package/dist/engine/services/layout/methods/update-column-widths.js +22 -0
  216. package/dist/engine/services/layout/methods/update-column-widths.js.map +1 -0
  217. package/dist/engine/services/renderer/index.d.ts +2 -0
  218. package/dist/engine/services/renderer/index.d.ts.map +1 -0
  219. package/dist/engine/services/renderer/index.js +2 -0
  220. package/dist/engine/services/renderer/index.js.map +1 -0
  221. package/dist/engine/services/renderer/methods/index.d.ts +2 -0
  222. package/dist/engine/services/renderer/methods/index.d.ts.map +1 -0
  223. package/{src/engine/services/renderer/methods/index.ts → dist/engine/services/renderer/methods/index.js} +2 -1
  224. package/dist/engine/services/renderer/methods/index.js.map +1 -0
  225. package/dist/engine/services/renderer/methods/re-render-cells.d.ts +4 -0
  226. package/dist/engine/services/renderer/methods/re-render-cells.d.ts.map +1 -0
  227. package/dist/engine/services/renderer/methods/re-render-cells.js +29 -0
  228. package/dist/engine/services/renderer/methods/re-render-cells.js.map +1 -0
  229. package/dist/engine/services/renderer/parts/body/body.d.ts +4 -0
  230. package/dist/engine/services/renderer/parts/body/body.d.ts.map +1 -0
  231. package/dist/engine/services/renderer/parts/body/body.js +26 -0
  232. package/dist/engine/services/renderer/parts/body/body.js.map +1 -0
  233. package/dist/engine/services/renderer/parts/body/cell.d.ts +3 -0
  234. package/dist/engine/services/renderer/parts/body/cell.d.ts.map +1 -0
  235. package/dist/engine/services/renderer/parts/body/cell.js +9 -0
  236. package/dist/engine/services/renderer/parts/body/cell.js.map +1 -0
  237. package/dist/engine/services/renderer/parts/body/row.d.ts +4 -0
  238. package/dist/engine/services/renderer/parts/body/row.d.ts.map +1 -0
  239. package/dist/engine/services/renderer/parts/body/row.js +18 -0
  240. package/dist/engine/services/renderer/parts/body/row.js.map +1 -0
  241. package/dist/engine/services/renderer/parts/footer/footer-cells.d.ts +3 -0
  242. package/dist/engine/services/renderer/parts/footer/footer-cells.d.ts.map +1 -0
  243. package/dist/engine/services/renderer/parts/footer/footer-cells.js +12 -0
  244. package/dist/engine/services/renderer/parts/footer/footer-cells.js.map +1 -0
  245. package/dist/engine/services/renderer/parts/footer/footer.d.ts +4 -0
  246. package/dist/engine/services/renderer/parts/footer/footer.d.ts.map +1 -0
  247. package/dist/engine/services/renderer/parts/footer/footer.js +16 -0
  248. package/dist/engine/services/renderer/parts/footer/footer.js.map +1 -0
  249. package/dist/engine/services/renderer/parts/grid/grid.d.ts +4 -0
  250. package/dist/engine/services/renderer/parts/grid/grid.d.ts.map +1 -0
  251. package/dist/engine/services/renderer/parts/grid/grid.js +15 -0
  252. package/dist/engine/services/renderer/parts/grid/grid.js.map +1 -0
  253. package/dist/engine/services/renderer/parts/header/header-cells.d.ts +3 -0
  254. package/dist/engine/services/renderer/parts/header/header-cells.d.ts.map +1 -0
  255. package/dist/engine/services/renderer/parts/header/header-cells.js +12 -0
  256. package/dist/engine/services/renderer/parts/header/header-cells.js.map +1 -0
  257. package/dist/engine/services/renderer/parts/header/header.d.ts +4 -0
  258. package/dist/engine/services/renderer/parts/header/header.d.ts.map +1 -0
  259. package/dist/engine/services/renderer/parts/header/header.js +16 -0
  260. package/dist/engine/services/renderer/parts/header/header.js.map +1 -0
  261. package/dist/engine/services/renderer/parts/root/root.d.ts +4 -0
  262. package/dist/engine/services/renderer/parts/root/root.d.ts.map +1 -0
  263. package/dist/engine/services/renderer/parts/root/root.js +13 -0
  264. package/dist/engine/services/renderer/parts/root/root.js.map +1 -0
  265. package/dist/engine/services/renderer/parts/scrollbars/h-scrollbar.d.ts +3 -0
  266. package/dist/engine/services/renderer/parts/scrollbars/h-scrollbar.d.ts.map +1 -0
  267. package/dist/engine/services/renderer/parts/scrollbars/h-scrollbar.js +15 -0
  268. package/dist/engine/services/renderer/parts/scrollbars/h-scrollbar.js.map +1 -0
  269. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-bottom-corner.d.ts +2 -0
  270. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-bottom-corner.d.ts.map +1 -0
  271. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-bottom-corner.js +7 -0
  272. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-bottom-corner.js.map +1 -0
  273. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-bottom.d.ts +2 -0
  274. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-bottom.d.ts.map +1 -0
  275. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-bottom.js +7 -0
  276. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-bottom.js.map +1 -0
  277. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.d.ts +2 -0
  278. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.d.ts.map +1 -0
  279. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.js +7 -0
  280. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.js.map +1 -0
  281. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar.d.ts +3 -0
  282. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar.d.ts.map +1 -0
  283. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar.js +27 -0
  284. package/dist/engine/services/renderer/parts/scrollbars/v-scrollbar.js.map +1 -0
  285. package/dist/engine/services/renderer/parts/viewport/viewport.d.ts +4 -0
  286. package/dist/engine/services/renderer/parts/viewport/viewport.d.ts.map +1 -0
  287. package/dist/engine/services/renderer/parts/viewport/viewport.js +23 -0
  288. package/dist/engine/services/renderer/parts/viewport/viewport.js.map +1 -0
  289. package/dist/engine/services/renderer/renderer.d.ts +15 -0
  290. package/dist/engine/services/renderer/renderer.d.ts.map +1 -0
  291. package/dist/engine/services/renderer/renderer.js +12 -0
  292. package/dist/engine/services/renderer/renderer.js.map +1 -0
  293. package/dist/engine/services/row/index.d.ts +2 -0
  294. package/dist/engine/services/row/index.d.ts.map +1 -0
  295. package/dist/engine/services/row/index.js +2 -0
  296. package/dist/engine/services/row/index.js.map +1 -0
  297. package/dist/engine/services/row/interfaces/row.d.ts +5 -0
  298. package/dist/engine/services/row/interfaces/row.d.ts.map +1 -0
  299. package/dist/engine/services/row/interfaces/row.js +2 -0
  300. package/dist/engine/services/row/interfaces/row.js.map +1 -0
  301. package/dist/engine/services/row/methods/index.d.ts +1 -0
  302. package/dist/engine/services/row/methods/index.d.ts.map +1 -0
  303. package/dist/engine/services/row/methods/index.js +2 -0
  304. package/dist/engine/services/row/methods/index.js.map +1 -0
  305. package/dist/engine/services/row/row.d.ts +7 -0
  306. package/dist/engine/services/row/row.d.ts.map +1 -0
  307. package/dist/engine/services/row/row.js +6 -0
  308. package/dist/engine/services/row/row.js.map +1 -0
  309. package/dist/engine/services/services.d.ts +16 -0
  310. package/dist/engine/services/services.d.ts.map +1 -0
  311. package/dist/engine/services/services.js +16 -0
  312. package/dist/engine/services/services.js.map +1 -0
  313. package/dist/engine/store/interfaces/grid-state.d.ts +20 -0
  314. package/dist/engine/store/interfaces/grid-state.d.ts.map +1 -0
  315. package/dist/engine/store/interfaces/grid-state.js +2 -0
  316. package/dist/engine/store/interfaces/grid-state.js.map +1 -0
  317. package/dist/engine/store/methods/create-initial-state.d.ts +3 -0
  318. package/dist/engine/store/methods/create-initial-state.d.ts.map +1 -0
  319. package/dist/engine/store/methods/create-initial-state.js +19 -0
  320. package/dist/engine/store/methods/create-initial-state.js.map +1 -0
  321. package/dist/engine/store/methods/create-tracked-proxy.d.ts +3 -0
  322. package/dist/engine/store/methods/create-tracked-proxy.d.ts.map +1 -0
  323. package/dist/engine/store/methods/create-tracked-proxy.js +45 -0
  324. package/dist/engine/store/methods/create-tracked-proxy.js.map +1 -0
  325. package/dist/engine/store/methods/debug.d.ts +4 -0
  326. package/dist/engine/store/methods/debug.d.ts.map +1 -0
  327. package/dist/engine/store/methods/debug.js +17 -0
  328. package/dist/engine/store/methods/debug.js.map +1 -0
  329. package/dist/engine/store/store.d.ts +22 -0
  330. package/dist/engine/store/store.d.ts.map +1 -0
  331. package/dist/engine/store/store.js +55 -0
  332. package/dist/engine/store/store.js.map +1 -0
  333. package/{src/engine/store/types/state-key.ts → dist/engine/store/types/state-key.d.ts} +3 -3
  334. package/dist/engine/store/types/state-key.d.ts.map +1 -0
  335. package/dist/engine/store/types/state-key.js +2 -0
  336. package/dist/engine/store/types/state-key.js.map +1 -0
  337. package/dist/engine/store/types/store-mutation.d.ts +6 -0
  338. package/dist/engine/store/types/store-mutation.d.ts.map +1 -0
  339. package/dist/engine/store/types/store-mutation.js +2 -0
  340. package/dist/engine/store/types/store-mutation.js.map +1 -0
  341. package/{src/index.ts → dist/index.d.ts} +2 -1
  342. package/dist/index.d.ts.map +1 -0
  343. package/dist/index.js +2 -0
  344. package/dist/index.js.map +1 -0
  345. package/dist/polygrid.css +176 -0
  346. package/package.json +32 -39
  347. package/postcss.config.cjs +0 -3
  348. package/src/api/index.ts +0 -15
  349. package/src/api/set-columns.ts +0 -8
  350. package/src/api/set-data.ts +0 -8
  351. package/src/api/set-grid-id.ts +0 -7
  352. package/src/engine/const/pg-css-class.ts +0 -24
  353. package/src/engine/core/grid-dom.ts +0 -26
  354. package/src/engine/core/grid.ts +0 -77
  355. package/src/engine/core/interfaces/grid-options.ts +0 -8
  356. package/src/engine/core/methods/add-dom-listener.ts +0 -14
  357. package/src/engine/core/methods/consume-options.ts +0 -32
  358. package/src/engine/core/methods/normalize-rows.ts +0 -5
  359. package/src/engine/rx-lite/core/observable.ts +0 -29
  360. package/src/engine/rx-lite/core/subject.ts +0 -21
  361. package/src/engine/rx-lite/interfaces/observable-like.ts +0 -6
  362. package/src/engine/rx-lite/interfaces/pipe-fn.ts +0 -18
  363. package/src/engine/rx-lite/operators/combine-latest-any.ts +0 -51
  364. package/src/engine/rx-lite/operators/combine-latest.ts +0 -30
  365. package/src/engine/rx-lite/operators/distinct-until-array-changed.ts +0 -22
  366. package/src/engine/rx-lite/operators/distinct-until-changed.ts +0 -20
  367. package/src/engine/rx-lite/operators/filter.ts +0 -11
  368. package/src/engine/rx-lite/operators/map.ts +0 -9
  369. package/src/engine/rx-lite/operators/select-keyed.ts +0 -31
  370. package/src/engine/rx-lite/operators/select.ts +0 -26
  371. package/src/engine/rx-lite/operators/skip.ts +0 -18
  372. package/src/engine/rx-lite/operators/takeuntil.ts +0 -18
  373. package/src/engine/services/column/column.ts +0 -30
  374. package/src/engine/services/column/index.ts +0 -1
  375. package/src/engine/services/column/interfaces/column.ts +0 -6
  376. package/src/engine/services/column/methods/resolve-column-widths.ts +0 -46
  377. package/src/engine/services/column/methods/set-columns.ts +0 -28
  378. package/src/engine/services/data/data.ts +0 -27
  379. package/src/engine/services/data/index.ts +0 -1
  380. package/src/engine/services/data/methods/index.ts +0 -1
  381. package/src/engine/services/data/methods/set-rows.ts +0 -18
  382. package/src/engine/services/layout/index.ts +0 -1
  383. package/src/engine/services/layout/layout.ts +0 -100
  384. package/src/engine/services/layout/methods/add-scroll-event-listeners.ts +0 -38
  385. package/src/engine/services/layout/methods/adjust-viewport.ts +0 -66
  386. package/src/engine/services/layout/methods/apply-column-widths.ts +0 -17
  387. package/src/engine/services/layout/methods/compute-column-widths.ts +0 -23
  388. package/src/engine/services/layout/methods/compute-total-row-height.ts +0 -16
  389. package/src/engine/services/layout/methods/initialize-layout-pipeline.ts +0 -39
  390. package/src/engine/services/layout/methods/resize-body.ts +0 -15
  391. package/src/engine/services/layout/methods/resize-v-scrollbar.ts +0 -15
  392. package/src/engine/services/layout/methods/set-cell-width.ts +0 -21
  393. package/src/engine/services/layout/methods/set-grid-id.ts +0 -14
  394. package/src/engine/services/layout/methods/set-up-resize-observer.ts +0 -25
  395. package/src/engine/services/layout/methods/update-column-widths.ts +0 -28
  396. package/src/engine/services/renderer/index.ts +0 -1
  397. package/src/engine/services/renderer/methods/re-render-cells.ts +0 -31
  398. package/src/engine/services/renderer/parts/body/body.ts +0 -34
  399. package/src/engine/services/renderer/parts/body/cell.ts +0 -12
  400. package/src/engine/services/renderer/parts/body/row.ts +0 -26
  401. package/src/engine/services/renderer/parts/footer/footer-cells.ts +0 -15
  402. package/src/engine/services/renderer/parts/footer/footer.ts +0 -24
  403. package/src/engine/services/renderer/parts/grid/grid.ts +0 -21
  404. package/src/engine/services/renderer/parts/header/header-cells.ts +0 -15
  405. package/src/engine/services/renderer/parts/header/header.ts +0 -24
  406. package/src/engine/services/renderer/parts/root/root.ts +0 -22
  407. package/src/engine/services/renderer/parts/scrollbars/h-scrollbar.ts +0 -21
  408. package/src/engine/services/renderer/parts/scrollbars/v-scrollbar-bottom-corner.ts +0 -8
  409. package/src/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-bottom.ts +0 -8
  410. package/src/engine/services/renderer/parts/scrollbars/v-scrollbar-spacer-top.ts +0 -8
  411. package/src/engine/services/renderer/parts/scrollbars/v-scrollbar.ts +0 -34
  412. package/src/engine/services/renderer/parts/viewport/viewport.ts +0 -32
  413. package/src/engine/services/renderer/renderer.ts +0 -23
  414. package/src/engine/services/row/index.ts +0 -1
  415. package/src/engine/services/row/interfaces/row.ts +0 -4
  416. package/src/engine/services/row/methods/index.ts +0 -0
  417. package/src/engine/services/row/row.ts +0 -10
  418. package/src/engine/services/services.ts +0 -26
  419. package/src/engine/store/interfaces/grid-state.ts +0 -20
  420. package/src/engine/store/methods/create-initial-state.ts +0 -20
  421. package/src/engine/store/methods/create-tracked-proxy.ts +0 -60
  422. package/src/engine/store/methods/debug.ts +0 -29
  423. package/src/engine/store/store.ts +0 -85
  424. package/src/engine/store/types/store-mutation.ts +0 -5
  425. package/src/styles/body.css +0 -13
  426. package/src/styles/cell.css +0 -15
  427. package/src/styles/footer.css +0 -30
  428. package/src/styles/grid.css +0 -5
  429. package/src/styles/header.css +0 -25
  430. package/src/styles/index.css +0 -9
  431. package/src/styles/root.css +0 -12
  432. package/src/styles/row.css +0 -12
  433. package/src/styles/scrollbar.css +0 -50
  434. package/src/styles/viewport.css +0 -6
  435. package/src/styles.d.ts +0 -1
  436. package/tsconfig.json +0 -23
@@ -1,34 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { GridDOM } from "../../../../core/grid-dom";
3
- import type { PolyGridStore } from "../../../../store/store";
4
- import { renderRows } from "./row";
5
-
6
- export function renderBody(
7
- store: PolyGridStore,
8
- gridDom: GridDOM
9
- ): HTMLDivElement {
10
- // viewport
11
- const bodyViewportEl = document.createElement("div");
12
- bodyViewportEl.className = PG_CSS_CLASS.bodyViewport;
13
- // row container
14
- const bodyEl = document.createElement("div");
15
- bodyEl.className = PG_CSS_CLASS.body;
16
- bodyEl.innerHTML = "";
17
- // render the rows
18
- const rows = store.getState().rows;
19
- const columns = store.getState().columns;
20
- const rowHeight = store.getState().rowHeight;
21
- const bodyRows = renderRows(rows, columns, rowHeight);
22
- // append the rows to the body
23
- const fragment = document.createDocumentFragment();
24
- for (const row of bodyRows) {
25
- fragment.appendChild(row);
26
- }
27
- bodyEl.appendChild(fragment);
28
-
29
- bodyViewportEl.appendChild(bodyEl);
30
-
31
- gridDom.body = bodyEl;
32
-
33
- return bodyViewportEl;
34
- }
@@ -1,12 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { PolyGridColumn } from "../../../../services/column/interfaces/column";
3
-
4
- export function renderCell(row: any, col: PolyGridColumn) {
5
- const cell = document.createElement("div");
6
- cell.classList.add(PG_CSS_CLASS.cell);
7
-
8
- const value = row[col.field];
9
- cell.textContent = value != null ? String(value) : "";
10
-
11
- return cell;
12
- }
@@ -1,26 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { PolyGridColumn } from "../../../../services/column/interfaces/column";
3
- import type { PolyGridRow } from "../../../../services/row/interfaces/row";
4
- import { renderCell } from "./cell";
5
-
6
- export function renderRows(
7
- rows: PolyGridRow[],
8
- columns: PolyGridColumn[],
9
- rowHeight: number
10
- ): HTMLDivElement[] {
11
- const rowEls: HTMLDivElement[] = [];
12
- const cols = columns.filter((col) => col.visible ?? true);
13
-
14
- rows.forEach((row) => {
15
- const rowEl = document.createElement("div");
16
- rowEl.classList.add(PG_CSS_CLASS.row);
17
- rowEl.style.height = rowHeight + "px";
18
- cols.forEach((col) => {
19
- const cell = renderCell(row.data, col);
20
- rowEl.appendChild(cell);
21
- });
22
- rowEls.push(rowEl);
23
- });
24
-
25
- return rowEls;
26
- }
@@ -1,15 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { PolyGridStore } from "../../../../store/store";
3
-
4
- export function renderFooterCells(footer: HTMLElement, store: PolyGridStore) {
5
- const columns = store.getState().columns.filter((col) => col.visible ?? true);
6
-
7
- footer.innerHTML = "";
8
-
9
- columns.forEach((col, i) => {
10
- const cell = document.createElement("div");
11
- cell.className = PG_CSS_CLASS.footerCell;
12
- cell.textContent = col.header;
13
- footer.appendChild(cell);
14
- });
15
- }
@@ -1,24 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { GridDOM } from "../../../../core/grid-dom";
3
- import type { PolyGridStore } from "../../../../store/store";
4
- import { renderFooterCells } from "./footer-cells";
5
-
6
- export function renderFooter(
7
- store: PolyGridStore,
8
- gridDom: GridDOM
9
- ): HTMLDivElement {
10
- // viewport
11
- const footerViewportEl = document.createElement("div");
12
- footerViewportEl.className = PG_CSS_CLASS.footerViewport;
13
- // cell container
14
- const footerEl = document.createElement("div");
15
- footerEl.className = PG_CSS_CLASS.footer;
16
- // cells
17
- renderFooterCells(footerEl, store);
18
-
19
- footerViewportEl.appendChild(footerEl);
20
-
21
- gridDom.footer = footerEl;
22
-
23
- return footerViewportEl;
24
- }
@@ -1,21 +0,0 @@
1
- import { renderViewport } from "../viewport/viewport";
2
- import { renderVScrollbar } from "../scrollbars/v-scrollbar";
3
- import type { PolyGridStore } from "../../../../store/store";
4
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
5
- import type { GridDOM } from "../../../../core/grid-dom";
6
-
7
- export function renderGrid(store: PolyGridStore, gridDom: GridDOM) {
8
- const grid = document.createElement("div");
9
- grid.className = PG_CSS_CLASS.grid;
10
-
11
- const viewport = renderViewport(store, gridDom);
12
- const vScrollbar = renderVScrollbar(gridDom);
13
-
14
- grid.appendChild(viewport);
15
- grid.appendChild(vScrollbar);
16
-
17
- gridDom.viewport = viewport;
18
- gridDom.vScrollbar = vScrollbar;
19
-
20
- return grid;
21
- }
@@ -1,15 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { PolyGridStore } from "../../../../store/store";
3
-
4
- export function renderHeaderCells(header: HTMLElement, store: PolyGridStore) {
5
- const columns = store.getState().columns.filter((col) => col.visible ?? true);
6
-
7
- header.innerHTML = "";
8
-
9
- columns.forEach((col, i) => {
10
- const cell = document.createElement("div");
11
- cell.className = PG_CSS_CLASS.headerCell;
12
- cell.textContent = col.header;
13
- header.appendChild(cell);
14
- });
15
- }
@@ -1,24 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { GridDOM } from "../../../../core/grid-dom";
3
- import type { PolyGridStore } from "../../../../store/store";
4
- import { renderHeaderCells } from "./header-cells";
5
-
6
- export function renderHeader(
7
- store: PolyGridStore,
8
- gridDom: GridDOM
9
- ): HTMLDivElement {
10
- // viewport
11
- const headerViewportEl = document.createElement("div");
12
- headerViewportEl.className = PG_CSS_CLASS.headerViewport;
13
- // cell container
14
- const headerEl = document.createElement("div");
15
- headerEl.className = PG_CSS_CLASS.header;
16
- // cells
17
- renderHeaderCells(headerEl, store);
18
-
19
- headerViewportEl.appendChild(headerEl);
20
-
21
- gridDom.header = headerEl;
22
-
23
- return headerViewportEl;
24
- }
@@ -1,22 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { GridDOM } from "../../../../core/grid-dom";
3
- import type { PolyGridStore } from "../../../../store/store";
4
- import { renderGrid } from "../grid/grid";
5
-
6
- export function renderRoot(
7
- store: PolyGridStore,
8
- host: HTMLElement,
9
- gridDom: GridDOM
10
- ) {
11
- const root = document.createElement("div");
12
- root.className = PG_CSS_CLASS.root;
13
- root.id = store.getState().id;
14
-
15
- const grid = renderGrid(store, gridDom);
16
-
17
- root.appendChild(grid);
18
- host.appendChild(root);
19
-
20
- gridDom.root = root;
21
- gridDom.grid = grid;
22
- }
@@ -1,21 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { GridDOM } from "../../../../core/grid-dom";
3
-
4
- export function renderHScrollbar(gridDom: GridDOM): HTMLDivElement {
5
- const hScrollEl = document.createElement("div");
6
- hScrollEl.className = PG_CSS_CLASS.hScroll;
7
-
8
- const hScrollInnerEl = document.createElement("div");
9
- hScrollInnerEl.className = PG_CSS_CLASS.hScrollInner;
10
-
11
- const hScrollTrack = document.createElement("div");
12
- hScrollTrack.className = PG_CSS_CLASS.hScrollTrack;
13
-
14
- hScrollEl.appendChild(hScrollInnerEl);
15
- hScrollInnerEl.appendChild(hScrollTrack);
16
-
17
- gridDom.hScrollInner = hScrollInnerEl;
18
- gridDom.hScrollTrack = hScrollTrack;
19
-
20
- return hScrollEl;
21
- }
@@ -1,8 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
-
3
- export function renderVScrollbarBottomCorner(): HTMLDivElement {
4
- const vScrollbarBottomCorner = document.createElement("div");
5
- vScrollbarBottomCorner.className = PG_CSS_CLASS.vScrollBottomCorner;
6
-
7
- return vScrollbarBottomCorner;
8
- }
@@ -1,8 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
-
3
- export function renderVScrollbarSpacerBottom(): HTMLDivElement {
4
- const vScrollbarSpacer = document.createElement("div");
5
- vScrollbarSpacer.className = PG_CSS_CLASS.vScrollSpacerBottom;
6
-
7
- return vScrollbarSpacer;
8
- }
@@ -1,8 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
-
3
- export function renderVScrollbarSpacerTop(): HTMLDivElement {
4
- const vScrollbarSpacer = document.createElement("div");
5
- vScrollbarSpacer.className = PG_CSS_CLASS.vScrollSpacerTop;
6
-
7
- return vScrollbarSpacer;
8
- }
@@ -1,34 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { GridDOM } from "../../../../core/grid-dom";
3
- import { renderVScrollbarBottomCorner } from "./v-scrollbar-bottom-corner";
4
- import { renderVScrollbarSpacerBottom } from "./v-scrollbar-spacer-bottom";
5
- import { renderVScrollbarSpacerTop } from "./v-scrollbar-spacer-top";
6
-
7
- export function renderVScrollbar(gridDom: GridDOM): HTMLDivElement {
8
- const vScrollEl = document.createElement("div");
9
- vScrollEl.className = PG_CSS_CLASS.vScroll;
10
-
11
- const vScrollInnerEl = document.createElement("div");
12
- vScrollInnerEl.className = PG_CSS_CLASS.vScrollInner;
13
-
14
- const vScrollTrackEl = document.createElement("div");
15
- vScrollTrackEl.className = PG_CSS_CLASS.vScrollTrack;
16
-
17
- const spacerTop = renderVScrollbarSpacerTop();
18
- const spacerBottom = renderVScrollbarSpacerBottom();
19
- const bottomCorner = renderVScrollbarBottomCorner();
20
-
21
- vScrollEl.appendChild(spacerTop);
22
- vScrollEl.appendChild(vScrollInnerEl);
23
- vScrollEl.appendChild(spacerBottom);
24
- vScrollEl.appendChild(bottomCorner);
25
- vScrollInnerEl.appendChild(vScrollTrackEl);
26
-
27
- gridDom.vScrollInner = vScrollInnerEl;
28
- gridDom.vScrollSpacerTop = spacerTop;
29
- gridDom.vScrollSpacerBottom = spacerBottom;
30
- gridDom.vScrollBottomCorner = bottomCorner;
31
- gridDom.vScrollTrack = vScrollTrackEl;
32
-
33
- return vScrollEl;
34
- }
@@ -1,32 +0,0 @@
1
- import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
- import type { GridDOM } from "../../../../core/grid-dom";
3
- import type { PolyGridStore } from "../../../../store/store";
4
- import { renderBody } from "../body/body";
5
- import { renderFooter } from "../footer/footer";
6
- import { renderHeader } from "../header/header";
7
- import { renderHScrollbar } from "../scrollbars/h-scrollbar";
8
-
9
- export function renderViewport(
10
- store: PolyGridStore,
11
- gridDom: GridDOM
12
- ): HTMLDivElement {
13
- const viewport = document.createElement("div");
14
- viewport.className = PG_CSS_CLASS.viewport;
15
-
16
- const headerVp = renderHeader(store, gridDom);
17
- const bodyVp = renderBody(store, gridDom);
18
- const footerVp = renderFooter(store, gridDom);
19
- const hScrollbar = renderHScrollbar(gridDom);
20
-
21
- viewport.appendChild(headerVp);
22
- viewport.appendChild(bodyVp);
23
- viewport.appendChild(footerVp);
24
- viewport.appendChild(hScrollbar);
25
-
26
- gridDom.headerViewport = headerVp;
27
- gridDom.bodyViewport = bodyVp;
28
- gridDom.footerViewport = footerVp;
29
- gridDom.hScrollbar = hScrollbar;
30
-
31
- return viewport;
32
- }
@@ -1,23 +0,0 @@
1
- import type { PolyGrid } from "../../core/grid";
2
- import type { GridDOM } from "../../core/grid-dom";
3
- import type { ObservableLike } from "../../rx-lite/interfaces/observable-like";
4
- import type { PolyGridStore } from "../../store/store";
5
- import * as methods from "./methods/index";
6
-
7
- export class RendererService {
8
- store: PolyGridStore;
9
- destroy$: ObservableLike<void>;
10
- gridDom: GridDOM;
11
- grid: PolyGrid;
12
-
13
- constructor(grid: PolyGrid) {
14
- this.store = grid._store;
15
- this.destroy$ = grid._destroy$;
16
- this.gridDom = grid._gridDom;
17
- this.grid = grid;
18
- }
19
-
20
- reRenderCells = methods.reRenderCells;
21
-
22
- initApiSubscriptions() {}
23
- }
@@ -1 +0,0 @@
1
- export * from "./row";
@@ -1,4 +0,0 @@
1
- export interface PolyGridRow {
2
- index: number;
3
- data: any;
4
- }
File without changes
@@ -1,10 +0,0 @@
1
- import type { PolyGrid } from "../../core/grid";
2
- import type { PolyGridStore } from "../../store/store";
3
-
4
- export class RowService {
5
- store: PolyGridStore;
6
-
7
- constructor(grid: PolyGrid) {
8
- this.store = grid._store;
9
- }
10
- }
@@ -1,26 +0,0 @@
1
- import { LayoutService } from "./layout";
2
- import { ColumnService } from "./column";
3
- import { RowService } from "./row";
4
- import { DataService } from "./data";
5
- import type { PolyGrid } from "../core/grid";
6
- import { RendererService } from "./renderer";
7
-
8
- export class PolyGridServices {
9
- private grid: PolyGrid;
10
-
11
- layout: LayoutService;
12
- column: ColumnService;
13
- row: RowService;
14
- data: DataService;
15
- renderer: RendererService;
16
-
17
- constructor(grid: PolyGrid) {
18
- this.grid = grid;
19
-
20
- this.layout = new LayoutService(this.grid);
21
- this.column = new ColumnService(this.grid);
22
- this.row = new RowService(this.grid);
23
- this.data = new DataService(this.grid);
24
- this.renderer = new RendererService(this.grid);
25
- }
26
- }
@@ -1,20 +0,0 @@
1
- import type { PolyGridColumn } from "../../services/column/interfaces/column";
2
- import type { ColumnWidthState } from "../../services/column/types/column-width-state";
3
- import type { PolyGridRow } from "../../services/row/interfaces/row";
4
-
5
- export interface PolyGridState {
6
- id: string;
7
- columns: PolyGridColumn[];
8
- rows: PolyGridRow[];
9
- rowHeight: number;
10
- resolvedColumnWidths: number[];
11
- columnWidthState: ColumnWidthState;
12
- totalColumnWidth: number;
13
- totalRowHeight: number;
14
- viewportWidth: number;
15
- viewportHeight: number;
16
- rawViewportWidth: number;
17
- rawViewportHeight: number;
18
- showHScrollbar: boolean;
19
- showVScrollbar: boolean;
20
- }
@@ -1,20 +0,0 @@
1
- import type { PolyGridState } from "../interfaces/grid-state";
2
-
3
- export function createInitialState(): PolyGridState {
4
- return {
5
- id: "",
6
- columns: [],
7
- rows: [],
8
- rowHeight: 20,
9
- resolvedColumnWidths: [],
10
- columnWidthState: "NOT_SET",
11
- totalColumnWidth: 0,
12
- totalRowHeight: 0,
13
- viewportWidth: 0,
14
- viewportHeight: 0,
15
- rawViewportWidth: 0,
16
- rawViewportHeight: 0,
17
- showHScrollbar: false,
18
- showVScrollbar: false,
19
- };
20
- }
@@ -1,60 +0,0 @@
1
- import type { StoreMutation } from "../types/store-mutation";
2
-
3
- export function createTrackedProxy(
4
- target: any,
5
- rootPrev: any,
6
- path: string[] = [],
7
- mutations: StoreMutation[]
8
- ): any {
9
- return new Proxy(target, {
10
- get(origTarget, prop, receiver) {
11
- const value = Reflect.get(origTarget, prop, receiver);
12
-
13
- if (value && typeof value === "object") {
14
- const childPath = path.concat(String(prop));
15
- return createTrackedProxy(value, rootPrev, childPath, mutations);
16
- }
17
-
18
- return value;
19
- },
20
-
21
- set(origTarget, prop, value, receiver) {
22
- const propKey = String(prop);
23
- const fullPath = path.concat(propKey);
24
-
25
- const prettyPath = formatPath(fullPath);
26
- const prevValue = getAtPath(rootPrev, fullPath);
27
- const success = Reflect.set(origTarget, prop, value, receiver);
28
-
29
- mutations.push({ path: prettyPath, from: prevValue, to: value });
30
-
31
- return success;
32
- },
33
- });
34
- }
35
-
36
- function getAtPath(obj: any, path: string[]): any {
37
- let current = obj;
38
- for (const key of path) {
39
- if (current == null) return undefined;
40
- current = current[key];
41
- }
42
- return current;
43
- }
44
-
45
- function formatPath(path: string[]): string {
46
- return (
47
- path
48
- .map((segment) => {
49
- // numeric → array index
50
- if (/^\d+$/.test(segment)) {
51
- return `[${segment}]`;
52
- }
53
- // normal object key
54
- return segment;
55
- })
56
- .join(".")
57
- // fix cases like "columns.[3]" → "columns[3]"
58
- .replace(/\.\[/g, "[")
59
- );
60
- }
@@ -1,29 +0,0 @@
1
- import { DEBUG_SHOW_FULL_STATE_DIFF } from "../../debug.config";
2
- import type { PolyGridState } from "../interfaces/grid-state";
3
- import type { StoreMutation } from "../types/store-mutation";
4
-
5
- export function LogMutations(
6
- mutations: StoreMutation[],
7
- prev: PolyGridState,
8
- next: PolyGridState
9
- ) {
10
- console.groupCollapsed(
11
- "%cPolyGridStore mutations",
12
- "color:#FF9800;font-weight:bold;"
13
- );
14
- for (const m of mutations) {
15
- console.log(`Path: ${m.path}`);
16
- console.log("From:", m.from);
17
- console.log("To:", m.to);
18
- }
19
- console.groupEnd();
20
- if (DEBUG_SHOW_FULL_STATE_DIFF) {
21
- console.groupCollapsed(
22
- "%cPolyGridStore state diff",
23
- "color:#4CAF50;font-weight:bold;"
24
- );
25
- console.log("Prev:", prev);
26
- console.log("Next:", next);
27
- console.groupEnd();
28
- }
29
- }
@@ -1,85 +0,0 @@
1
- import { DEBUG } from "../debug.config";
2
- import type { PolyGridState } from "./interfaces/grid-state";
3
- import type { ObservableLike } from "../rx-lite/interfaces/observable-like";
4
- import type { StoreMutation } from "./types/store-mutation";
5
- import { createInitialState } from "./methods/create-initial-state";
6
- import { createTrackedProxy } from "./methods/create-tracked-proxy";
7
- import { LogMutations } from "./methods/debug";
8
- import { createSelect } from "../rx-lite/operators/select";
9
- import { createCombineLatest } from "../rx-lite/operators/combine-latest";
10
- import { createCombineLatestAny } from "../rx-lite/operators/combine-latest-any";
11
- import { createSelectKeyed } from "../rx-lite/operators/select-keyed";
12
-
13
- export type Subscriber = (
14
- state: PolyGridState,
15
- changedKeys: (keyof PolyGridState)[]
16
- ) => void;
17
-
18
- export class PolyGridStore {
19
- private state: PolyGridState;
20
- private subscribers = new Set<Subscriber>();
21
-
22
- constructor() {
23
- this.state = createInitialState();
24
- }
25
-
26
- getState() {
27
- return this.state;
28
- }
29
-
30
- getSubscribers() {
31
- return this.subscribers;
32
- }
33
-
34
- update(mutator: (draft: PolyGridState) => void): void {
35
- const prev = this.state;
36
- const next = { ...this.state };
37
-
38
- const mutations: StoreMutation[] = [];
39
- const proxy = createTrackedProxy(next, prev, [], mutations);
40
-
41
- mutator(proxy);
42
-
43
- if (DEBUG && mutations.length > 0) LogMutations(mutations, prev, next);
44
-
45
- // extract changed top-level keys
46
- const changedKeys = mutations.map((m) => m.path as keyof PolyGridState);
47
-
48
- this.state = next;
49
- this.emit(changedKeys);
50
- }
51
-
52
- subscribe(fn: Subscriber): () => void {
53
- this.subscribers.add(fn);
54
- return () => this.subscribers.delete(fn);
55
- }
56
-
57
- select<T>(selector: (state: PolyGridState) => T): ObservableLike<T> {
58
- return createSelect(this, selector);
59
- }
60
-
61
- selectKeyed<T>(
62
- key: keyof PolyGridState,
63
- selector: (state: PolyGridState) => T
64
- ): ObservableLike<T> {
65
- return createSelectKeyed(this, key, selector);
66
- }
67
-
68
- combineLatest<T extends any[]>(selectors: {
69
- [K in keyof T]: (state: PolyGridState) => T[K];
70
- }): ObservableLike<T> {
71
- return createCombineLatest(this, selectors);
72
- }
73
-
74
- combineLatestAny<T extends any[]>(sources: {
75
- [K in keyof T]: ((state: PolyGridState) => T[K]) | ObservableLike<T[K]>;
76
- }): ObservableLike<T> {
77
- return createCombineLatestAny(this, sources);
78
- }
79
-
80
- private emit(changedKeys: (keyof PolyGridState)[]) {
81
- for (const fn of this.subscribers) {
82
- fn(this.state, changedKeys);
83
- }
84
- }
85
- }
@@ -1,5 +0,0 @@
1
- export type StoreMutation = {
2
- path: string;
3
- from: any;
4
- to: any;
5
- };
@@ -1,13 +0,0 @@
1
- .pg-body-viewport {
2
- flex: 1 1 auto;
3
- overflow: hidden;
4
- position: relative;
5
- border-top: 1px solid #d0d0d0;
6
- }
7
-
8
- .pg-body {
9
- background: #ffffff;
10
- overflow: hidden;
11
- position: relative;
12
- height: 100%;
13
- }
@@ -1,15 +0,0 @@
1
- .pg-cell {
2
- flex: 0 0 auto;
3
- min-width: 0;
4
- padding: 0 8px;
5
- overflow: hidden;
6
- white-space: nowrap;
7
- text-overflow: ellipsis;
8
- display: flex;
9
- align-items: center;
10
- border-right: 1px solid #d0d0d0;
11
- }
12
-
13
- .pg-cell.last-cell {
14
- border-right: none;
15
- }