@revolist/revogrid 4.6.0-next.8 → 4.7.0-next.0

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 (640) hide show
  1. package/custom-element/_baseIteratee.js +3 -3
  2. package/custom-element/_stringToPath.js +2 -2
  3. package/custom-element/{columnService.js → column.service.js} +73 -5
  4. package/custom-element/column.service.js.map +1 -0
  5. package/custom-element/consts.js +2 -2
  6. package/custom-element/data.store.js +1 -1
  7. package/custom-element/data.store.js.map +1 -1
  8. package/custom-element/debounce.js +1 -1
  9. package/custom-element/dimension.helpers.js +9 -5
  10. package/custom-element/dimension.helpers.js.map +1 -1
  11. package/custom-element/each.js +1 -1
  12. package/custom-element/filter.button.js +1 -1
  13. package/custom-element/filter.button.js.map +1 -1
  14. package/custom-element/identity.js +1 -1
  15. package/custom-element/index.d.ts +6 -0
  16. package/custom-element/index.js +3 -2
  17. package/custom-element/index.js.map +1 -1
  18. package/custom-element/index2.js +1 -1
  19. package/custom-element/isObject.js +2 -2
  20. package/custom-element/{localScrollService.js → local.scroll.service.js} +2 -2
  21. package/custom-element/local.scroll.service.js.map +1 -0
  22. package/custom-element/resize-observer.js +1 -1
  23. package/custom-element/revo-grid.js +55 -29
  24. package/custom-element/revo-grid.js.map +1 -1
  25. package/custom-element/revogr-cell.js +1 -1
  26. package/custom-element/revogr-cell2.js +3 -3
  27. package/custom-element/revogr-cell2.js.map +1 -1
  28. package/custom-element/revogr-clipboard.js +1 -1
  29. package/custom-element/revogr-clipboard.js.map +1 -1
  30. package/custom-element/revogr-data.js +1 -1
  31. package/custom-element/revogr-data2.js +10 -5
  32. package/custom-element/revogr-data2.js.map +1 -1
  33. package/custom-element/revogr-edit.js +1 -1
  34. package/custom-element/revogr-edit2.js +1 -1
  35. package/custom-element/revogr-edit2.js.map +1 -1
  36. package/custom-element/revogr-filter-panel.js +1 -1
  37. package/custom-element/revogr-filter-panel.js.map +1 -1
  38. package/custom-element/revogr-focus.js +1 -1
  39. package/custom-element/revogr-focus2.js +1 -1
  40. package/custom-element/revogr-focus2.js.map +1 -1
  41. package/custom-element/revogr-header.js +2 -2
  42. package/custom-element/revogr-header2.js +23 -8
  43. package/custom-element/revogr-header2.js.map +1 -1
  44. package/custom-element/revogr-order-editor.js +1 -1
  45. package/custom-element/revogr-order-editor2.js +1 -1
  46. package/custom-element/revogr-order-editor2.js.map +1 -1
  47. package/custom-element/revogr-overlay-selection.js +1 -1
  48. package/custom-element/revogr-overlay-selection2.js +12 -11
  49. package/custom-element/revogr-overlay-selection2.js.map +1 -1
  50. package/custom-element/revogr-row-headers.js +1 -1
  51. package/custom-element/revogr-row-headers2.js +21 -11
  52. package/custom-element/revogr-row-headers2.js.map +1 -1
  53. package/custom-element/revogr-scroll-virtual.js +1 -1
  54. package/custom-element/revogr-scroll-virtual2.js +3 -3
  55. package/custom-element/revogr-scroll-virtual2.js.map +1 -1
  56. package/custom-element/revogr-temp-range.js +1 -1
  57. package/custom-element/revogr-temp-range2.js +3 -3
  58. package/custom-element/revogr-temp-range2.js.map +1 -1
  59. package/custom-element/revogr-viewport-scroll.js +1 -1
  60. package/custom-element/revogr-viewport-scroll2.js +8 -74
  61. package/custom-element/revogr-viewport-scroll2.js.map +1 -1
  62. package/custom-element/selection.utils.js +1 -1
  63. package/custom-element/selection.utils.js.map +1 -1
  64. package/custom-element/throttle.js +76 -0
  65. package/custom-element/throttle.js.map +1 -0
  66. package/custom-element/toNumber.js +30 -4
  67. package/custom-element/toNumber.js.map +1 -1
  68. package/dist/cjs/{debounce-85a83584.js → debounce-8fd56ba9.js} +2 -3
  69. package/dist/cjs/debounce-8fd56ba9.js.map +1 -0
  70. package/dist/cjs/dispatcher-5f8a3995.js +34 -0
  71. package/dist/cjs/dispatcher-5f8a3995.js.map +1 -0
  72. package/dist/cjs/{events-f11593cf.js → events-a6e8dcfa.js} +22 -12
  73. package/dist/cjs/events-a6e8dcfa.js.map +1 -0
  74. package/dist/cjs/{filter.button-efd378ea.js → filter.button-49c2129d.js} +3 -3
  75. package/dist/cjs/filter.button-49c2129d.js.map +1 -0
  76. package/dist/cjs/{index-7bbf16f2.js → index-e6904dc8.js} +11 -7
  77. package/dist/cjs/index-e6904dc8.js.map +1 -0
  78. package/dist/cjs/{index-5fcf71f2.js → index-e90495e3.js} +52 -55
  79. package/dist/cjs/index-e90495e3.js.map +1 -0
  80. package/dist/cjs/index.cjs.js +10 -1
  81. package/dist/cjs/index.cjs.js.map +1 -1
  82. package/dist/cjs/{keyCodes.utils-47847583.js → key.utils-aed0cec0.js} +4 -4
  83. package/dist/cjs/key.utils-aed0cec0.js.map +1 -0
  84. package/dist/cjs/loader.cjs.js +3 -3
  85. package/dist/cjs/{resize-observer-d8b0ae52.js → resize-observer-2420830e.js} +2 -2
  86. package/dist/cjs/{resize-observer-d8b0ae52.js.map → resize-observer-2420830e.js.map} +1 -1
  87. package/dist/cjs/revo-grid.cjs.entry.js +116 -106
  88. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  89. package/dist/cjs/revo-grid.cjs.js +4 -4
  90. package/dist/cjs/revo-grid.cjs.js.map +1 -1
  91. package/dist/cjs/revogr-cell_4.cjs.entry.js +28 -89
  92. package/dist/cjs/revogr-cell_4.cjs.entry.js.map +1 -1
  93. package/dist/cjs/revogr-clipboard.cjs.entry.js +2 -2
  94. package/dist/cjs/revogr-clipboard.cjs.entry.js.map +1 -1
  95. package/dist/cjs/revogr-edit_2.cjs.entry.js +7 -7
  96. package/dist/cjs/revogr-edit_2.cjs.entry.js.map +1 -1
  97. package/dist/cjs/revogr-filter-panel.cjs.entry.js +4 -4
  98. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  99. package/dist/cjs/revogr-focus_5.cjs.entry.js +36 -41
  100. package/dist/cjs/revogr-focus_5.cjs.entry.js.map +1 -1
  101. package/dist/cjs/{localScrollService-948e38e3.js → throttle-9ee5a851.js} +140 -5
  102. package/dist/cjs/throttle-9ee5a851.js.map +1 -0
  103. package/dist/cjs/viewport.helpers-5cb9ddf6.js +561 -0
  104. package/dist/cjs/viewport.helpers-5cb9ddf6.js.map +1 -0
  105. package/dist/collection/collection-manifest.json +2 -2
  106. package/dist/collection/components/button/button.js +1 -1
  107. package/dist/collection/components/clipboard/revogr-clipboard.d.ts +3 -3
  108. package/dist/collection/components/clipboard/revogr-clipboard.js +4 -4
  109. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
  110. package/dist/collection/components/data/column.service.d.ts +59 -0
  111. package/dist/collection/components/data/{columnService.js → column.service.js} +3 -3
  112. package/dist/collection/components/data/column.service.js.map +1 -0
  113. package/dist/collection/components/data/revogr-cell.d.ts +3 -3
  114. package/dist/collection/components/data/revogr-cell.js +13 -13
  115. package/dist/collection/components/data/revogr-cell.js.map +1 -1
  116. package/dist/collection/components/data/revogr-data.d.ts +11 -9
  117. package/dist/collection/components/data/revogr-data.js +51 -43
  118. package/dist/collection/components/data/revogr-data.js.map +1 -1
  119. package/dist/collection/components/data/{rowRenderer.js → row-renderer.js} +2 -2
  120. package/dist/collection/components/data/row-renderer.js.map +1 -0
  121. package/dist/{types/components/header/headerCellRenderer.d.ts → collection/components/header/header-cell-renderer.d.ts} +3 -3
  122. package/dist/collection/components/header/{headerCellRenderer.js → header-cell-renderer.js} +3 -3
  123. package/dist/collection/components/header/header-cell-renderer.js.map +1 -0
  124. package/dist/collection/components/header/{headerRenderer.d.ts → header-renderer.d.ts} +7 -6
  125. package/dist/collection/components/header/{headerRenderer.js → header-renderer.js} +3 -3
  126. package/dist/collection/components/header/header-renderer.js.map +1 -0
  127. package/dist/collection/components/header/revogr-header.d.ts +13 -11
  128. package/dist/collection/components/header/revogr-header.js +44 -44
  129. package/dist/collection/components/header/revogr-header.js.map +1 -1
  130. package/dist/collection/components/order/{orderRenderer.d.ts → order-renderer.d.ts} +5 -4
  131. package/dist/collection/components/order/{orderRenderer.js → order-renderer.js} +2 -2
  132. package/dist/collection/components/order/order-renderer.js.map +1 -0
  133. package/dist/collection/components/order/{rowOrderService.d.ts → order-row.service.d.ts} +8 -7
  134. package/dist/collection/components/order/{rowOrderService.js → order-row.service.js} +2 -2
  135. package/dist/collection/components/order/order-row.service.js.map +1 -0
  136. package/dist/collection/components/order/revogr-order-editor.d.ts +11 -9
  137. package/dist/collection/components/order/revogr-order-editor.js +44 -39
  138. package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
  139. package/dist/collection/components/overlay/autofill.service.d.ts +18 -16
  140. package/dist/collection/components/overlay/autofill.service.js +4 -9
  141. package/dist/collection/components/overlay/autofill.service.js.map +1 -1
  142. package/dist/collection/components/overlay/clipboard.service.d.ts +10 -8
  143. package/dist/collection/components/overlay/clipboard.service.js +1 -1
  144. package/dist/collection/components/overlay/clipboard.service.js.map +1 -1
  145. package/dist/collection/components/overlay/editors/edit.utils.js +1 -1
  146. package/dist/collection/components/overlay/editors/text-editor.d.ts +20 -0
  147. package/dist/collection/components/overlay/editors/{text.js → text-editor.js} +3 -3
  148. package/dist/collection/components/overlay/editors/text-editor.js.map +1 -0
  149. package/dist/collection/components/overlay/keyboard.service.d.ts +7 -6
  150. package/dist/collection/components/overlay/keyboard.service.js +3 -3
  151. package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
  152. package/dist/collection/components/overlay/revogr-edit.d.ts +7 -6
  153. package/dist/collection/components/overlay/revogr-edit.js +18 -18
  154. package/dist/collection/components/overlay/revogr-edit.js.map +1 -1
  155. package/dist/collection/components/overlay/revogr-overlay-selection.d.ts +27 -24
  156. package/dist/collection/components/overlay/revogr-overlay-selection.js +102 -92
  157. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
  158. package/dist/collection/components/overlay/selection.utils.d.ts +8 -8
  159. package/dist/collection/components/overlay/selection.utils.js +1 -1
  160. package/dist/collection/components/overlay/selection.utils.js.map +1 -1
  161. package/dist/collection/components/revoGrid/grid.helpers.d.ts +7 -7
  162. package/dist/collection/components/revoGrid/grid.helpers.js +1 -1
  163. package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -1
  164. package/dist/collection/components/revoGrid/revo-grid.d.ts +77 -66
  165. package/dist/collection/components/revoGrid/revo-grid.js +319 -221
  166. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  167. package/dist/collection/components/revoGrid/viewport.d.ts +10 -9
  168. package/dist/collection/components/revoGrid/viewport.helpers.d.ts +4 -3
  169. package/dist/collection/components/revoGrid/viewport.helpers.js +2 -1
  170. package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -1
  171. package/dist/collection/components/revoGrid/viewport.js +2 -2
  172. package/dist/collection/components/revoGrid/viewport.js.map +1 -1
  173. package/dist/collection/components/revoGrid/viewport.resize.service.js +2 -2
  174. package/dist/collection/components/revoGrid/viewport.resize.service.js.map +1 -1
  175. package/dist/collection/components/revoGrid/viewport.scrolling.service.d.ts +7 -6
  176. package/dist/collection/components/revoGrid/viewport.scrolling.service.js +1 -1
  177. package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -1
  178. package/dist/collection/components/revoGrid/viewport.section.d.ts +9 -7
  179. package/dist/collection/components/revoGrid/viewport.section.js +2 -2
  180. package/dist/collection/components/revoGrid/viewport.section.js.map +1 -1
  181. package/dist/collection/components/revoGrid/viewport.service.d.ts +15 -13
  182. package/dist/collection/components/revoGrid/viewport.service.js +2 -2
  183. package/dist/collection/components/revoGrid/viewport.service.js.map +1 -1
  184. package/dist/collection/components/rowHeaders/revogr-row-headers.d.ts +4 -4
  185. package/dist/collection/components/rowHeaders/revogr-row-headers.js +11 -11
  186. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
  187. package/dist/collection/components/rowHeaders/row-header-render.d.ts +2 -2
  188. package/dist/collection/components/rowHeaders/row-header-render.js +1 -1
  189. package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -1
  190. package/dist/collection/components/scroll/revogr-viewport-scroll.d.ts +10 -9
  191. package/dist/collection/components/scroll/revogr-viewport-scroll.js +60 -28
  192. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
  193. package/dist/collection/components/scrollable/revogr-scroll-virtual.d.ts +8 -7
  194. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +31 -31
  195. package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -1
  196. package/dist/collection/components/selectionFocus/revogr-focus.d.ts +11 -9
  197. package/dist/collection/components/selectionFocus/revogr-focus.js +43 -43
  198. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
  199. package/dist/collection/components/selectionTempRange/revogr-temp-range.d.ts +5 -4
  200. package/dist/collection/components/selectionTempRange/revogr-temp-range.js +20 -20
  201. package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -1
  202. package/dist/collection/components.d.ts +227 -188
  203. package/dist/collection/global/global.js +2 -2
  204. package/dist/collection/global/global.js.map +1 -1
  205. package/dist/collection/index.d.ts +9 -0
  206. package/dist/collection/index.js +10 -1
  207. package/dist/collection/index.js.map +1 -1
  208. package/dist/collection/plugins/base.plugin.d.ts +48 -0
  209. package/dist/collection/plugins/{basePlugin.js → base.plugin.js} +11 -26
  210. package/dist/collection/plugins/base.plugin.js.map +1 -0
  211. package/dist/collection/plugins/{autoSizeColumn.d.ts → column.auto-size.plugin.d.ts} +2 -2
  212. package/dist/collection/plugins/{autoSizeColumn.js → column.auto-size.plugin.js} +4 -4
  213. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -0
  214. package/dist/collection/plugins/{stretchPlugin.d.ts → column.stretch.plugin.d.ts} +8 -3
  215. package/dist/collection/plugins/{stretchPlugin.js → column.stretch.plugin.js} +4 -4
  216. package/dist/collection/plugins/column.stretch.plugin.js.map +1 -0
  217. package/dist/collection/plugins/dispatcher.d.ts +8 -2
  218. package/dist/collection/plugins/dispatcher.js +5 -1
  219. package/dist/collection/plugins/dispatcher.js.map +1 -1
  220. package/dist/collection/plugins/export/csv.js +1 -1
  221. package/dist/collection/plugins/export/export.plugin.d.ts +1 -1
  222. package/dist/collection/plugins/export/export.plugin.js +2 -2
  223. package/dist/collection/plugins/export/export.plugin.js.map +1 -1
  224. package/dist/collection/plugins/export/types.d.ts +2 -2
  225. package/dist/collection/plugins/export/types.js.map +1 -1
  226. package/dist/collection/plugins/filter/conditions/equal.js +1 -1
  227. package/dist/collection/plugins/filter/conditions/number/greaterThan.js +1 -1
  228. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +1 -1
  229. package/dist/collection/plugins/filter/conditions/number/lessThan.js +1 -1
  230. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +1 -1
  231. package/dist/collection/plugins/filter/conditions/set.js +1 -1
  232. package/dist/collection/plugins/filter/conditions/string/beginswith.js +1 -1
  233. package/dist/collection/plugins/filter/conditions/string/contains.js +1 -1
  234. package/dist/collection/plugins/filter/filter.button.d.ts +2 -2
  235. package/dist/collection/plugins/filter/filter.button.js +1 -1
  236. package/dist/collection/plugins/filter/filter.button.js.map +1 -1
  237. package/dist/collection/plugins/filter/filter.plugin.d.ts +4 -4
  238. package/dist/collection/plugins/filter/filter.plugin.js +3 -3
  239. package/dist/collection/plugins/filter/filter.plugin.js.map +1 -1
  240. package/dist/collection/plugins/filter/filter.pop.d.ts +4 -4
  241. package/dist/collection/plugins/filter/filter.pop.js +2 -2
  242. package/dist/collection/plugins/filter/filter.pop.js.map +1 -1
  243. package/dist/collection/plugins/filter/filter.service.js +1 -1
  244. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.d.ts +5 -4
  245. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +1 -1
  246. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -1
  247. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.d.ts +9 -5
  248. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +5 -2
  249. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js.map +1 -1
  250. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.d.ts +2 -2
  251. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +2 -2
  252. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -1
  253. package/dist/collection/plugins/groupingRow/grouping.const.js +1 -1
  254. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.d.ts +3 -3
  255. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +1 -1
  256. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -1
  257. package/dist/collection/plugins/groupingRow/grouping.row.plugin.d.ts +2 -3
  258. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +2 -2
  259. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
  260. package/dist/collection/plugins/groupingRow/grouping.row.renderer.d.ts +4 -4
  261. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +2 -2
  262. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -1
  263. package/dist/collection/plugins/groupingRow/grouping.row.types.d.ts +8 -7
  264. package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -1
  265. package/dist/collection/plugins/groupingRow/grouping.service.d.ts +8 -8
  266. package/dist/collection/plugins/groupingRow/grouping.service.js +1 -1
  267. package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -1
  268. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +1 -1
  269. package/dist/{types/plugins/moveColumn/columnDragPlugin.d.ts → collection/plugins/moveColumn/column.drag.plugin.d.ts} +5 -4
  270. package/dist/collection/plugins/moveColumn/{columnDragPlugin.js → column.drag.plugin.js} +4 -4
  271. package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -0
  272. package/dist/collection/plugins/moveColumn/{columnOrderHandler.js → order-column.handler.js} +2 -2
  273. package/dist/collection/plugins/moveColumn/order-column.handler.js.map +1 -0
  274. package/dist/collection/plugins/sorting/sorting.plugin.d.ts +11 -10
  275. package/dist/collection/plugins/sorting/sorting.plugin.js +2 -2
  276. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
  277. package/dist/collection/plugins/sorting/sorting.sign.d.ts +2 -2
  278. package/dist/collection/plugins/sorting/sorting.sign.js +1 -1
  279. package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -1
  280. package/dist/collection/services/cell.helpers.d.ts +2 -2
  281. package/dist/collection/services/cell.helpers.js +1 -1
  282. package/dist/collection/services/cell.helpers.js.map +1 -1
  283. package/dist/collection/services/column.data.provider.d.ts +24 -23
  284. package/dist/collection/services/column.data.provider.js +1 -1
  285. package/dist/collection/services/column.data.provider.js.map +1 -1
  286. package/dist/collection/services/data.provider.d.ts +12 -10
  287. package/dist/collection/services/data.provider.js +1 -1
  288. package/dist/collection/services/data.provider.js.map +1 -1
  289. package/dist/collection/services/dimension.provider.d.ts +17 -19
  290. package/dist/collection/services/dimension.provider.js +2 -2
  291. package/dist/collection/services/dimension.provider.js.map +1 -1
  292. package/dist/collection/services/{localScrollService.d.ts → local.scroll.service.d.ts} +7 -6
  293. package/dist/collection/services/{localScrollService.js → local.scroll.service.js} +2 -2
  294. package/dist/collection/services/local.scroll.service.js.map +1 -0
  295. package/dist/collection/services/resizable.directive.js +9 -5
  296. package/dist/collection/services/resizable.directive.js.map +1 -1
  297. package/dist/collection/services/resizable.element.d.ts +2 -2
  298. package/dist/collection/services/resizable.element.js +1 -1
  299. package/dist/collection/services/resizable.element.js.map +1 -1
  300. package/dist/collection/services/selection.store.connector.d.ts +14 -15
  301. package/dist/collection/services/selection.store.connector.js +1 -1
  302. package/dist/collection/services/selection.store.connector.js.map +1 -1
  303. package/dist/collection/services/viewport.provider.d.ts +5 -7
  304. package/dist/collection/services/viewport.provider.js +1 -1
  305. package/dist/collection/services/viewport.provider.js.map +1 -1
  306. package/dist/collection/stencil-public-runtime.d.ts +5 -3
  307. package/dist/collection/store/dataSource/data.proxy.d.ts +3 -3
  308. package/dist/collection/store/dataSource/data.proxy.js +1 -1
  309. package/dist/collection/store/dataSource/data.proxy.js.map +1 -1
  310. package/dist/collection/store/dataSource/data.store.d.ts +16 -15
  311. package/dist/collection/store/dataSource/data.store.js +1 -1
  312. package/dist/collection/store/dataSource/data.store.js.map +1 -1
  313. package/dist/collection/store/dataSource/trimmed.plugin.d.ts +3 -3
  314. package/dist/collection/store/dataSource/trimmed.plugin.js +1 -1
  315. package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -1
  316. package/dist/collection/store/dimension/dimension.helpers.d.ts +9 -9
  317. package/dist/collection/store/dimension/dimension.helpers.js +8 -4
  318. package/dist/collection/store/dimension/dimension.helpers.js.map +1 -1
  319. package/dist/collection/store/dimension/dimension.store.d.ts +10 -6
  320. package/dist/collection/store/dimension/dimension.store.js +5 -4
  321. package/dist/collection/store/dimension/dimension.store.js.map +1 -1
  322. package/dist/collection/store/selection/selection.helpers.d.ts +1 -3
  323. package/dist/collection/store/selection/selection.helpers.js +1 -1
  324. package/dist/collection/store/selection/selection.helpers.js.map +1 -1
  325. package/dist/collection/store/selection/selection.store.d.ts +12 -10
  326. package/dist/collection/store/selection/selection.store.js +4 -1
  327. package/dist/collection/store/selection/selection.store.js.map +1 -1
  328. package/dist/collection/store/selection/selection.store.service.d.ts +8 -9
  329. package/dist/collection/store/selection/selection.store.service.js +1 -1
  330. package/dist/collection/store/selection/selection.store.service.js.map +1 -1
  331. package/dist/collection/store/storeTypes.d.ts +4 -4
  332. package/dist/collection/store/storeTypes.js +6 -2
  333. package/dist/collection/store/storeTypes.js.map +1 -1
  334. package/dist/collection/store/viewPort/viewport.helpers.d.ts +13 -13
  335. package/dist/collection/store/viewPort/viewport.helpers.js +9 -6
  336. package/dist/collection/store/viewPort/viewport.helpers.js.map +1 -1
  337. package/dist/collection/store/viewPort/viewport.store.d.ts +13 -11
  338. package/dist/collection/store/viewPort/viewport.store.js +10 -4
  339. package/dist/collection/store/viewPort/viewport.store.js.map +1 -1
  340. package/dist/collection/themeManager/theme.compact.d.ts +2 -2
  341. package/dist/collection/themeManager/theme.compact.js +1 -1
  342. package/dist/collection/themeManager/theme.compact.js.map +1 -1
  343. package/dist/collection/themeManager/theme.default.d.ts +2 -2
  344. package/dist/collection/themeManager/theme.default.js +1 -1
  345. package/dist/collection/themeManager/theme.default.js.map +1 -1
  346. package/dist/collection/themeManager/theme.material.d.ts +2 -2
  347. package/dist/collection/themeManager/theme.material.js +1 -1
  348. package/dist/collection/themeManager/theme.material.js.map +1 -1
  349. package/dist/collection/themeManager/theme.service.d.ts +13 -0
  350. package/dist/collection/themeManager/{themeService.js → theme.service.js} +2 -2
  351. package/dist/collection/themeManager/theme.service.js.map +1 -0
  352. package/dist/collection/types/dimension.d.ts +8 -0
  353. package/dist/collection/types/dimension.js +2 -0
  354. package/dist/collection/types/dimension.js.map +1 -0
  355. package/dist/collection/types/interfaces.d.ts +239 -0
  356. package/dist/collection/types/interfaces.js +2 -0
  357. package/dist/collection/types/interfaces.js.map +1 -0
  358. package/dist/collection/types/plugin.d.ts +9 -0
  359. package/dist/collection/types/plugin.js +2 -0
  360. package/dist/collection/types/plugin.js.map +1 -0
  361. package/dist/collection/types/plugin.types.js.map +1 -0
  362. package/dist/collection/types/selection.d.ts +102 -0
  363. package/dist/collection/types/selection.js +2 -0
  364. package/dist/collection/types/selection.js.map +1 -0
  365. package/dist/collection/types/theme.d.ts +7 -0
  366. package/dist/collection/types/theme.js +2 -0
  367. package/dist/collection/types/theme.js.map +1 -0
  368. package/dist/collection/types/viewport.interfaces.d.ts +68 -0
  369. package/dist/collection/types/viewport.interfaces.js.map +1 -0
  370. package/dist/collection/utils/browser.js +1 -1
  371. package/dist/collection/utils/{closestPolifill.js → closest.polifill.js} +2 -2
  372. package/dist/collection/utils/closest.polifill.js.map +1 -0
  373. package/dist/collection/utils/consts.js +1 -1
  374. package/dist/collection/utils/events.js +1 -1
  375. package/dist/collection/utils/{generateAlphabetHeader.js → header.utils.js} +2 -2
  376. package/dist/collection/utils/header.utils.js.map +1 -0
  377. package/dist/collection/utils/index.js +1 -1
  378. package/dist/collection/utils/{keyCodes.js → key.codes.js} +2 -2
  379. package/dist/collection/utils/key.codes.js.map +1 -0
  380. package/dist/collection/utils/{keyCodes.utils.d.ts → key.utils.d.ts} +1 -1
  381. package/dist/collection/utils/{keyCodes.utils.js → key.utils.js} +3 -3
  382. package/dist/collection/utils/key.utils.js.map +1 -0
  383. package/dist/collection/utils/mobile.js +1 -1
  384. package/dist/collection/utils/platform.js +1 -1
  385. package/dist/collection/utils/{resizeObserver.js → resize-observer.polifill.js} +2 -2
  386. package/dist/collection/utils/resize-observer.polifill.js.map +1 -0
  387. package/dist/collection/utils/row-header-utils.d.ts +2 -2
  388. package/dist/collection/utils/row-header-utils.js +3 -2
  389. package/dist/collection/utils/row-header-utils.js.map +1 -1
  390. package/dist/collection/utils/store.utils.d.ts +1 -1
  391. package/dist/collection/utils/store.utils.js +1 -1
  392. package/dist/collection/utils/store.utils.js.map +1 -1
  393. package/dist/esm/{debounce-48584128.js → debounce-70352d57.js} +3 -3
  394. package/dist/esm/{debounce-48584128.js.map → debounce-70352d57.js.map} +1 -1
  395. package/dist/esm/dispatcher-5f10d7e9.js +30 -0
  396. package/dist/esm/dispatcher-5f10d7e9.js.map +1 -0
  397. package/dist/esm/{events-a9d2c5b9.js → events-41a99ccd.js} +22 -12
  398. package/dist/esm/events-41a99ccd.js.map +1 -0
  399. package/dist/esm/{filter.button-143a6a60.js → filter.button-ba558704.js} +3 -3
  400. package/dist/esm/filter.button-ba558704.js.map +1 -0
  401. package/dist/esm/{index-a937c03b.js → index-181f47b4.js} +11 -7
  402. package/dist/esm/index-181f47b4.js.map +1 -0
  403. package/dist/esm/{index-7fd83173.js → index-3a0f4c4f.js} +52 -55
  404. package/dist/esm/index-3a0f4c4f.js.map +1 -0
  405. package/dist/esm/index.js +2 -1
  406. package/dist/esm/{keyCodes.utils-152ac850.js → key.utils-ff45a1e8.js} +4 -4
  407. package/dist/esm/key.utils-ff45a1e8.js.map +1 -0
  408. package/dist/esm/loader.js +4 -4
  409. package/dist/esm/{resize-observer-87bd1e3c.js → resize-observer-d5cb22cf.js} +2 -2
  410. package/dist/esm/{resize-observer-87bd1e3c.js.map → resize-observer-d5cb22cf.js.map} +1 -1
  411. package/dist/esm/revo-grid.entry.js +116 -106
  412. package/dist/esm/revo-grid.entry.js.map +1 -1
  413. package/dist/esm/revo-grid.js +5 -5
  414. package/dist/esm/revo-grid.js.map +1 -1
  415. package/dist/esm/revogr-cell_4.entry.js +23 -84
  416. package/dist/esm/revogr-cell_4.entry.js.map +1 -1
  417. package/dist/esm/revogr-clipboard.entry.js +2 -2
  418. package/dist/esm/revogr-clipboard.entry.js.map +1 -1
  419. package/dist/esm/revogr-edit_2.entry.js +5 -5
  420. package/dist/esm/revogr-edit_2.entry.js.map +1 -1
  421. package/dist/esm/revogr-filter-panel.entry.js +4 -4
  422. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  423. package/dist/esm/revogr-focus_5.entry.js +13 -18
  424. package/dist/esm/revogr-focus_5.entry.js.map +1 -1
  425. package/dist/esm/{localScrollService-9c3949fd.js → throttle-4b724f6c.js} +140 -6
  426. package/dist/esm/throttle-4b724f6c.js.map +1 -0
  427. package/dist/esm/viewport.helpers-c5042845.js +536 -0
  428. package/dist/esm/viewport.helpers-c5042845.js.map +1 -0
  429. package/dist/revo-grid/{debounce-48584128.js → debounce-70352d57.js} +3 -3
  430. package/dist/revo-grid/dispatcher-5f10d7e9.js +5 -0
  431. package/dist/revo-grid/dispatcher-5f10d7e9.js.map +1 -0
  432. package/dist/revo-grid/{events-a9d2c5b9.js → events-41a99ccd.js} +3 -3
  433. package/dist/revo-grid/events-41a99ccd.js.map +1 -0
  434. package/dist/revo-grid/{filter.button-143a6a60.js → filter.button-ba558704.js} +3 -3
  435. package/dist/revo-grid/filter.button-ba558704.js.map +1 -0
  436. package/dist/revo-grid/{index-a937c03b.js → index-181f47b4.js} +3 -3
  437. package/dist/revo-grid/{index-a937c03b.js.map → index-181f47b4.js.map} +1 -1
  438. package/dist/revo-grid/index-3a0f4c4f.js +6 -0
  439. package/dist/revo-grid/index-3a0f4c4f.js.map +1 -0
  440. package/dist/revo-grid/index.esm.js +2 -2
  441. package/dist/revo-grid/{keyCodes.utils-152ac850.js → key.utils-ff45a1e8.js} +3 -3
  442. package/dist/revo-grid/key.utils-ff45a1e8.js.map +1 -0
  443. package/dist/revo-grid/{resize-observer-87bd1e3c.js → resize-observer-d5cb22cf.js} +2 -2
  444. package/dist/revo-grid/revo-grid.entry.js +2 -2
  445. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  446. package/dist/revo-grid/revo-grid.esm.js +2 -2
  447. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  448. package/dist/revo-grid/revogr-cell_4.entry.js +2 -2
  449. package/dist/revo-grid/revogr-cell_4.entry.js.map +1 -1
  450. package/dist/revo-grid/revogr-clipboard.entry.js +2 -2
  451. package/dist/revo-grid/revogr-clipboard.entry.js.map +1 -1
  452. package/dist/revo-grid/revogr-edit_2.entry.js +2 -2
  453. package/dist/revo-grid/revogr-edit_2.entry.js.map +1 -1
  454. package/dist/revo-grid/revogr-filter-panel.entry.js +2 -2
  455. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
  456. package/dist/revo-grid/revogr-focus_5.entry.js +2 -2
  457. package/dist/revo-grid/revogr-focus_5.entry.js.map +1 -1
  458. package/dist/revo-grid/throttle-4b724f6c.js +5 -0
  459. package/dist/revo-grid/throttle-4b724f6c.js.map +1 -0
  460. package/dist/revo-grid/viewport.helpers-c5042845.js +5 -0
  461. package/dist/revo-grid/viewport.helpers-c5042845.js.map +1 -0
  462. package/dist/types/components/clipboard/revogr-clipboard.d.ts +3 -3
  463. package/dist/types/components/data/column.service.d.ts +59 -0
  464. package/dist/types/components/data/revogr-cell.d.ts +3 -3
  465. package/dist/types/components/data/revogr-data.d.ts +11 -9
  466. package/dist/{collection/components/header/headerCellRenderer.d.ts → types/components/header/header-cell-renderer.d.ts} +3 -3
  467. package/dist/types/components/header/{headerRenderer.d.ts → header-renderer.d.ts} +7 -6
  468. package/dist/types/components/header/revogr-header.d.ts +13 -11
  469. package/dist/types/components/order/{orderRenderer.d.ts → order-renderer.d.ts} +5 -4
  470. package/dist/types/components/order/{rowOrderService.d.ts → order-row.service.d.ts} +8 -7
  471. package/dist/types/components/order/revogr-order-editor.d.ts +11 -9
  472. package/dist/types/components/overlay/autofill.service.d.ts +18 -16
  473. package/dist/types/components/overlay/clipboard.service.d.ts +10 -8
  474. package/dist/types/components/overlay/editors/text-editor.d.ts +20 -0
  475. package/dist/types/components/overlay/keyboard.service.d.ts +7 -6
  476. package/dist/types/components/overlay/revogr-edit.d.ts +7 -6
  477. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +27 -24
  478. package/dist/types/components/overlay/selection.utils.d.ts +8 -8
  479. package/dist/types/components/revoGrid/grid.helpers.d.ts +7 -7
  480. package/dist/types/components/revoGrid/revo-grid.d.ts +77 -66
  481. package/dist/types/components/revoGrid/viewport.d.ts +10 -9
  482. package/dist/types/components/revoGrid/viewport.helpers.d.ts +4 -3
  483. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +7 -6
  484. package/dist/types/components/revoGrid/viewport.section.d.ts +9 -7
  485. package/dist/types/components/revoGrid/viewport.service.d.ts +15 -13
  486. package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +4 -4
  487. package/dist/types/components/rowHeaders/row-header-render.d.ts +2 -2
  488. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +10 -9
  489. package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +8 -7
  490. package/dist/types/components/selectionFocus/revogr-focus.d.ts +11 -9
  491. package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +5 -4
  492. package/dist/types/components.d.ts +227 -188
  493. package/dist/types/index.d.ts +9 -0
  494. package/dist/types/plugins/base.plugin.d.ts +48 -0
  495. package/dist/types/plugins/{autoSizeColumn.d.ts → column.auto-size.plugin.d.ts} +2 -2
  496. package/dist/types/plugins/{stretchPlugin.d.ts → column.stretch.plugin.d.ts} +8 -3
  497. package/dist/types/plugins/dispatcher.d.ts +8 -2
  498. package/dist/types/plugins/export/export.plugin.d.ts +1 -1
  499. package/dist/types/plugins/export/types.d.ts +2 -2
  500. package/dist/types/plugins/filter/filter.button.d.ts +2 -2
  501. package/dist/types/plugins/filter/filter.plugin.d.ts +4 -4
  502. package/dist/types/plugins/filter/filter.pop.d.ts +4 -4
  503. package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +5 -4
  504. package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +9 -5
  505. package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +2 -2
  506. package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +3 -3
  507. package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +2 -3
  508. package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +4 -4
  509. package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +8 -7
  510. package/dist/types/plugins/groupingRow/grouping.service.d.ts +8 -8
  511. package/dist/{collection/plugins/moveColumn/columnDragPlugin.d.ts → types/plugins/moveColumn/column.drag.plugin.d.ts} +5 -4
  512. package/dist/types/plugins/sorting/sorting.plugin.d.ts +11 -10
  513. package/dist/types/plugins/sorting/sorting.sign.d.ts +2 -2
  514. package/dist/types/services/cell.helpers.d.ts +2 -2
  515. package/dist/types/services/column.data.provider.d.ts +24 -23
  516. package/dist/types/services/data.provider.d.ts +12 -10
  517. package/dist/types/services/dimension.provider.d.ts +17 -19
  518. package/dist/types/services/{localScrollService.d.ts → local.scroll.service.d.ts} +7 -6
  519. package/dist/types/services/resizable.element.d.ts +2 -2
  520. package/dist/types/services/selection.store.connector.d.ts +14 -15
  521. package/dist/types/services/viewport.provider.d.ts +5 -7
  522. package/dist/types/stencil-public-runtime.d.ts +5 -3
  523. package/dist/types/store/dataSource/data.proxy.d.ts +3 -3
  524. package/dist/types/store/dataSource/data.store.d.ts +16 -15
  525. package/dist/types/store/dataSource/trimmed.plugin.d.ts +3 -3
  526. package/dist/types/store/dimension/dimension.helpers.d.ts +9 -9
  527. package/dist/types/store/dimension/dimension.store.d.ts +10 -6
  528. package/dist/types/store/selection/selection.helpers.d.ts +1 -3
  529. package/dist/types/store/selection/selection.store.d.ts +12 -10
  530. package/dist/types/store/selection/selection.store.service.d.ts +8 -9
  531. package/dist/types/store/storeTypes.d.ts +4 -4
  532. package/dist/types/store/viewPort/viewport.helpers.d.ts +13 -13
  533. package/dist/types/store/viewPort/viewport.store.d.ts +13 -11
  534. package/dist/types/themeManager/theme.compact.d.ts +2 -2
  535. package/dist/types/themeManager/theme.default.d.ts +2 -2
  536. package/dist/types/themeManager/theme.material.d.ts +2 -2
  537. package/dist/types/themeManager/theme.service.d.ts +13 -0
  538. package/dist/types/types/dimension.d.ts +8 -0
  539. package/dist/types/types/interfaces.d.ts +239 -0
  540. package/dist/types/types/plugin.d.ts +9 -0
  541. package/dist/types/types/selection.d.ts +102 -0
  542. package/dist/types/types/theme.d.ts +7 -0
  543. package/dist/types/types/viewport.interfaces.d.ts +68 -0
  544. package/dist/types/utils/{keyCodes.utils.d.ts → key.utils.d.ts} +1 -1
  545. package/dist/types/utils/row-header-utils.d.ts +2 -2
  546. package/dist/types/utils/store.utils.d.ts +1 -1
  547. package/loader/cdn.js +1 -1
  548. package/loader/index.cjs.js +1 -1
  549. package/loader/index.es2017.js +1 -1
  550. package/loader/index.js +1 -1
  551. package/package.json +8 -8
  552. package/custom-element/columnService.js.map +0 -1
  553. package/custom-element/isSymbol.js +0 -35
  554. package/custom-element/isSymbol.js.map +0 -1
  555. package/custom-element/localScrollService.js.map +0 -1
  556. package/custom-element/lodash.js +0 -17198
  557. package/custom-element/lodash.js.map +0 -1
  558. package/dist/cjs/debounce-85a83584.js.map +0 -1
  559. package/dist/cjs/dispatcher-b36895c3.js +0 -21
  560. package/dist/cjs/dispatcher-b36895c3.js.map +0 -1
  561. package/dist/cjs/events-f11593cf.js.map +0 -1
  562. package/dist/cjs/filter.button-efd378ea.js.map +0 -1
  563. package/dist/cjs/index-5fcf71f2.js.map +0 -1
  564. package/dist/cjs/index-7bbf16f2.js.map +0 -1
  565. package/dist/cjs/keyCodes.utils-47847583.js.map +0 -1
  566. package/dist/cjs/localScrollService-948e38e3.js.map +0 -1
  567. package/dist/cjs/viewport.helpers-8b3442d2.js +0 -17749
  568. package/dist/cjs/viewport.helpers-8b3442d2.js.map +0 -1
  569. package/dist/collection/components/data/columnService.d.ts +0 -57
  570. package/dist/collection/components/data/columnService.js.map +0 -1
  571. package/dist/collection/components/data/rowRenderer.js.map +0 -1
  572. package/dist/collection/components/header/headerCellRenderer.js.map +0 -1
  573. package/dist/collection/components/header/headerRenderer.js.map +0 -1
  574. package/dist/collection/components/order/orderRenderer.js.map +0 -1
  575. package/dist/collection/components/order/rowOrderService.js.map +0 -1
  576. package/dist/collection/components/overlay/editors/text.d.ts +0 -19
  577. package/dist/collection/components/overlay/editors/text.js.map +0 -1
  578. package/dist/collection/components/revoGrid/viewport.interfaces.d.ts +0 -67
  579. package/dist/collection/components/revoGrid/viewport.interfaces.js.map +0 -1
  580. package/dist/collection/interfaces.d.ts +0 -397
  581. package/dist/collection/plugins/autoSizeColumn.js.map +0 -1
  582. package/dist/collection/plugins/basePlugin.d.ts +0 -58
  583. package/dist/collection/plugins/basePlugin.js.map +0 -1
  584. package/dist/collection/plugins/moveColumn/columnDragPlugin.js.map +0 -1
  585. package/dist/collection/plugins/moveColumn/columnOrderHandler.js.map +0 -1
  586. package/dist/collection/plugins/plugin.types.js.map +0 -1
  587. package/dist/collection/plugins/stretchPlugin.js.map +0 -1
  588. package/dist/collection/services/localScrollService.js.map +0 -1
  589. package/dist/collection/themeManager/themeService.d.ts +0 -13
  590. package/dist/collection/themeManager/themeService.js.map +0 -1
  591. package/dist/collection/utils/closestPolifill.js.map +0 -1
  592. package/dist/collection/utils/generateAlphabetHeader.js.map +0 -1
  593. package/dist/collection/utils/keyCodes.js.map +0 -1
  594. package/dist/collection/utils/keyCodes.utils.js.map +0 -1
  595. package/dist/collection/utils/resizeObserver.js.map +0 -1
  596. package/dist/esm/dispatcher-4a3d3038.js +0 -19
  597. package/dist/esm/dispatcher-4a3d3038.js.map +0 -1
  598. package/dist/esm/events-a9d2c5b9.js.map +0 -1
  599. package/dist/esm/filter.button-143a6a60.js.map +0 -1
  600. package/dist/esm/index-7fd83173.js.map +0 -1
  601. package/dist/esm/index-a937c03b.js.map +0 -1
  602. package/dist/esm/keyCodes.utils-152ac850.js.map +0 -1
  603. package/dist/esm/localScrollService-9c3949fd.js.map +0 -1
  604. package/dist/esm/viewport.helpers-b34b34b0.js +0 -17723
  605. package/dist/esm/viewport.helpers-b34b34b0.js.map +0 -1
  606. package/dist/revo-grid/dispatcher-4a3d3038.js +0 -5
  607. package/dist/revo-grid/dispatcher-4a3d3038.js.map +0 -1
  608. package/dist/revo-grid/events-a9d2c5b9.js.map +0 -1
  609. package/dist/revo-grid/filter.button-143a6a60.js.map +0 -1
  610. package/dist/revo-grid/index-7fd83173.js +0 -6
  611. package/dist/revo-grid/index-7fd83173.js.map +0 -1
  612. package/dist/revo-grid/keyCodes.utils-152ac850.js.map +0 -1
  613. package/dist/revo-grid/localScrollService-9c3949fd.js +0 -5
  614. package/dist/revo-grid/localScrollService-9c3949fd.js.map +0 -1
  615. package/dist/revo-grid/viewport.helpers-b34b34b0.js +0 -5
  616. package/dist/revo-grid/viewport.helpers-b34b34b0.js.map +0 -1
  617. package/dist/types/components/data/columnService.d.ts +0 -57
  618. package/dist/types/components/overlay/editors/text.d.ts +0 -19
  619. package/dist/types/components/revoGrid/viewport.interfaces.d.ts +0 -67
  620. package/dist/types/interfaces.d.ts +0 -397
  621. package/dist/types/plugins/basePlugin.d.ts +0 -58
  622. package/dist/types/themeManager/themeService.d.ts +0 -13
  623. /package/dist/collection/components/data/{rowRenderer.d.ts → row-renderer.d.ts} +0 -0
  624. /package/dist/collection/plugins/moveColumn/{columnOrderHandler.d.ts → order-column.handler.d.ts} +0 -0
  625. /package/dist/collection/{plugins → types}/plugin.types.d.ts +0 -0
  626. /package/dist/collection/{plugins → types}/plugin.types.js +0 -0
  627. /package/dist/collection/{components/revoGrid → types}/viewport.interfaces.js +0 -0
  628. /package/dist/collection/utils/{closestPolifill.d.ts → closest.polifill.d.ts} +0 -0
  629. /package/dist/collection/utils/{generateAlphabetHeader.d.ts → header.utils.d.ts} +0 -0
  630. /package/dist/collection/utils/{keyCodes.d.ts → key.codes.d.ts} +0 -0
  631. /package/dist/collection/utils/{resizeObserver.d.ts → resize-observer.polifill.d.ts} +0 -0
  632. /package/dist/revo-grid/{debounce-48584128.js.map → debounce-70352d57.js.map} +0 -0
  633. /package/dist/revo-grid/{resize-observer-87bd1e3c.js.map → resize-observer-d5cb22cf.js.map} +0 -0
  634. /package/dist/types/components/data/{rowRenderer.d.ts → row-renderer.d.ts} +0 -0
  635. /package/dist/types/plugins/moveColumn/{columnOrderHandler.d.ts → order-column.handler.d.ts} +0 -0
  636. /package/dist/types/{plugins → types}/plugin.types.d.ts +0 -0
  637. /package/dist/types/utils/{closestPolifill.d.ts → closest.polifill.d.ts} +0 -0
  638. /package/dist/types/utils/{generateAlphabetHeader.d.ts → header.utils.d.ts} +0 -0
  639. /package/dist/types/utils/{keyCodes.d.ts → key.codes.d.ts} +0 -0
  640. /package/dist/types/utils/{resizeObserver.d.ts → resize-observer.polifill.d.ts} +0 -0
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Built by Revolist
2
+ * Built by Revolist OU
3
3
  */
4
4
  import { h as _SetCache, e as eq_1, _ as _getTag, d as isBuffer_1, j as _Stack, k as _stringToPath, f as isLength_1, i as isArguments_1 } from './_stringToPath.js';
5
- import { b as _root, f as _Symbol, i as isObjectLike_1, a as isObject_1 } from './isObject.js';
5
+ import { b as _root, e as _Symbol, i as isObjectLike_1, a as isObject_1 } from './isObject.js';
6
6
  import { a as isArray_1, k as keys_1, d as isTypedArray_1, c as _isIndex, b as identity_1 } from './identity.js';
7
- import { i as isSymbol_1 } from './isSymbol.js';
7
+ import { i as isSymbol_1 } from './toNumber.js';
8
8
 
9
9
  /**
10
10
  * A specialized version of `_.some` for arrays without support for iteratee
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Built by Revolist
2
+ * Built by Revolist OU
3
3
  */
4
- import { i as isObjectLike_1, _ as _baseGetTag, c as createCommonjsModule, b as _root, e as _freeGlobal, a as isObject_1 } from './isObject.js';
4
+ import { i as isObjectLike_1, _ as _baseGetTag, c as createCommonjsModule, b as _root, d as _freeGlobal, a as isObject_1 } from './isObject.js';
5
5
 
6
6
  /** `Object#toString` result references. */
7
7
  var argsTag$1 = '[object Arguments]';
@@ -1,9 +1,8 @@
1
1
  /*!
2
- * Built by Revolist
2
+ * Built by Revolist OU
3
3
  */
4
- import { c as createStore, d as setStore, b as getVisibleSourceItem, g as getSourceItem, s as setSourceByVirtualIndex } from './data.store.js';
4
+ import { c as createStore, d as setStore, _ as _isIterateeCall, t as toInteger_1, b as getVisibleSourceItem, g as getSourceItem, s as setSourceByVirtualIndex } from './data.store.js';
5
5
  import { G as GRID_INTERNALS, k as CELL_CLASS, l as DISABLED_CLASS } from './consts.js';
6
- import { l as lodash } from './lodash.js';
7
6
 
8
7
  const GROUP_DEPTH = `${GRID_INTERNALS}-depth`;
9
8
  const PSEUDO_GROUP_ITEM = `${GRID_INTERNALS}-name`;
@@ -190,6 +189,9 @@ function isRangeSingleCell(a) {
190
189
  return a.x === a.x1 && a.y === a.y1;
191
190
  }
192
191
 
192
+ /**
193
+ * Selection store
194
+ */
193
195
  function defaultState() {
194
196
  return {
195
197
  range: null,
@@ -517,6 +519,72 @@ class SelectionStoreConnector {
517
519
  }
518
520
  }
519
521
 
522
+ /**
523
+ * The base implementation of `_.slice` without an iteratee call guard.
524
+ *
525
+ * @private
526
+ * @param {Array} array The array to slice.
527
+ * @param {number} [start=0] The start position.
528
+ * @param {number} [end=array.length] The end position.
529
+ * @returns {Array} Returns the slice of `array`.
530
+ */
531
+ function baseSlice(array, start, end) {
532
+ var index = -1,
533
+ length = array.length;
534
+
535
+ if (start < 0) {
536
+ start = -start > length ? 0 : (length + start);
537
+ }
538
+ end = end > length ? length : end;
539
+ if (end < 0) {
540
+ end += length;
541
+ }
542
+ length = start > end ? 0 : ((end - start) >>> 0);
543
+ start >>>= 0;
544
+
545
+ var result = Array(length);
546
+ while (++index < length) {
547
+ result[index] = array[index + start];
548
+ }
549
+ return result;
550
+ }
551
+
552
+ var _baseSlice = baseSlice;
553
+
554
+ /**
555
+ * Creates a slice of `array` from `start` up to, but not including, `end`.
556
+ *
557
+ * **Note:** This method is used instead of
558
+ * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
559
+ * returned.
560
+ *
561
+ * @static
562
+ * @memberOf _
563
+ * @since 3.0.0
564
+ * @category Array
565
+ * @param {Array} array The array to slice.
566
+ * @param {number} [start=0] The start position.
567
+ * @param {number} [end=array.length] The end position.
568
+ * @returns {Array} Returns the slice of `array`.
569
+ */
570
+ function slice(array, start, end) {
571
+ var length = array == null ? 0 : array.length;
572
+ if (!length) {
573
+ return [];
574
+ }
575
+ if (end && typeof end != 'number' && _isIterateeCall(array, start, end)) {
576
+ start = 0;
577
+ end = length;
578
+ }
579
+ else {
580
+ start = start == null ? 0 : toInteger_1(start);
581
+ end = end === undefined ? length : toInteger_1(end);
582
+ }
583
+ return _baseSlice(array, start, end);
584
+ }
585
+
586
+ var slice_1 = slice;
587
+
520
588
  class ColumnService {
521
589
  get columns() {
522
590
  return getVisibleSourceItem(this.source);
@@ -781,7 +849,7 @@ class ColumnService {
781
849
  }
782
850
  copyRangeArray(range, store) {
783
851
  const cols = [...this.columns];
784
- const props = lodash.slice(cols, range.x, range.x1 + 1).map(v => v.prop);
852
+ const props = slice_1(cols, range.x, range.x1 + 1).map(v => v.prop);
785
853
  const toCopy = [];
786
854
  const mapping = {};
787
855
  // rows indexes
@@ -819,4 +887,4 @@ class ColumnService {
819
887
 
820
888
  export { ColumnService as C, EMPTY_INDEX as E, GROUP_EXPANDED as G, PSEUDO_GROUP_ITEM_VALUE as P, SelectionStoreConnector as S, getParsedGroup as a, isSameGroup as b, GROUP_DEPTH as c, PSEUDO_GROUP_ITEM_ID as d, GROUPING_ROW_TYPE as e, PSEUDO_GROUP_COLUMN as f, getGroupingName as g, GROUP_EXPAND_EVENT as h, isGrouping as i, gatherGrouping as j, isGroupingColumn as k, GROUP_EXPAND_BTN as l, PSEUDO_GROUP_ITEM as m, getRange as n, isRangeSingleCell as o };
821
889
 
822
- //# sourceMappingURL=columnService.js.map
890
+ //# sourceMappingURL=column.service.js.map
@@ -0,0 +1 @@
1
+ {"file":"column.service.js","mappings":"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","names":["isIterateeCall","toInteger","baseSlice","slice"],"sources":["src/plugins/groupingRow/grouping.const.ts","src/plugins/groupingRow/grouping.service.ts","src/store/selection/selection.helpers.ts","src/store/selection/selection.store.ts","src/services/selection.store.connector.ts","node_modules/lodash/_baseSlice.js","node_modules/lodash/slice.js","src/components/data/column.service.ts"],"sourcesContent":["import { GRID_INTERNALS } from '../../utils/consts';\n\nexport const GROUP_DEPTH = `${GRID_INTERNALS}-depth`;\nexport const PSEUDO_GROUP_ITEM = `${GRID_INTERNALS}-name`;\nexport const PSEUDO_GROUP_ITEM_ID = `${GRID_INTERNALS}-id`;\nexport const PSEUDO_GROUP_ITEM_VALUE = `${GRID_INTERNALS}-value`;\nexport const PSEUDO_GROUP_COLUMN = `${GRID_INTERNALS}-column`;\nexport const GROUP_EXPANDED = `${GRID_INTERNALS}-expanded`;\nexport const GROUP_ORIGINAL_INDEX = `${GRID_INTERNALS}-original-index`;\nexport const GROUP_EXPAND_BTN = `group-expand`;\nexport const GROUP_EXPAND_EVENT = `groupExpandClick`;\nexport const GROUPING_ROW_TYPE = 'rgRow';\n","import { DataType, ColumnProp, ColumnRegular } from '../../types/interfaces';\nimport {\n GROUP_DEPTH,\n GROUP_EXPANDED,\n PSEUDO_GROUP_COLUMN,\n PSEUDO_GROUP_ITEM,\n PSEUDO_GROUP_ITEM_ID,\n PSEUDO_GROUP_ITEM_VALUE,\n GROUP_ORIGINAL_INDEX,\n} from './grouping.const';\nimport { GroupLabelTemplateFunc } from './grouping.row.types';\n\nexport type ExpandedOptions = {\n prevExpanded?: Record<string, boolean>;\n expandedAll?: boolean; // skip trim\n\n getGroupValue?(item: DataType, prop: string | number): any;\n groupLabelTemplate?: GroupLabelTemplateFunc;\n};\n\ntype GroupedData = Map<string, GroupedData | DataType[]>;\n\nfunction getGroupValueDefault(item: DataType, prop: string | number) {\n return item[prop] || null;\n}\n\n\n/**\n * Gather data for grouping\n * @param array - flat data array\n * @param groupIds - ids of groups\n * @param expanded - potentially expanded items if present\n */\nexport function gatherGrouping(\n array: DataType[],\n groupIds: ColumnProp[],\n { prevExpanded, expandedAll, getGroupValue = getGroupValueDefault }: ExpandedOptions,\n) {\n const groupedItems: GroupedData = new Map();\n array.forEach((item, originalIndex) => {\n const groupLevelValues = groupIds.map(groupId => getGroupValue(item, groupId));\n const lastLevelValue = groupLevelValues.pop();\n let currentGroupLevel = groupedItems;\n groupLevelValues.forEach(value => {\n if (!currentGroupLevel.has(value)) {\n currentGroupLevel.set(value, new Map());\n }\n currentGroupLevel = currentGroupLevel.get(value) as GroupedData;\n });\n if (!currentGroupLevel.has(lastLevelValue)) {\n currentGroupLevel.set(lastLevelValue, []);\n }\n const lastLevelItems = currentGroupLevel.get(\n lastLevelValue,\n ) as DataType[];\n lastLevelItems.push({\n ...item,\n [GROUP_ORIGINAL_INDEX]: originalIndex,\n });\n });\n\n let itemIndex = -1;\n const groupingDepth = groupIds.length;\n // collapse all groups in the beginning\n const trimmed: Record<number, boolean> = {};\n // index mapping\n const oldNewIndexMap: Record<number, number> = {};\n // check if group header exists\n const pseudoGroupTest: Record<string, number[]> = {};\n const sourceWithGroups: DataType[] = [];\n function flattenGroupMaps(\n groupedValues: GroupedData,\n parentIds: string[],\n isExpanded: boolean,\n ) {\n const depth = parentIds.length;\n groupedValues.forEach((innerGroupedValues, groupId) => {\n const levelIds = [...parentIds, groupId];\n const mergedIds = levelIds.join(',');\n const isGroupExpanded =\n isExpanded && (!!expandedAll || !!prevExpanded?.[mergedIds]);\n sourceWithGroups.push({\n [PSEUDO_GROUP_ITEM]: groupId,\n [GROUP_DEPTH]: depth,\n [PSEUDO_GROUP_ITEM_ID]: JSON.stringify(levelIds),\n [PSEUDO_GROUP_ITEM_VALUE]: mergedIds,\n [GROUP_EXPANDED]: isGroupExpanded,\n });\n itemIndex += 1;\n if (!isGroupExpanded && depth) {\n trimmed[itemIndex] = true;\n }\n if (Array.isArray(innerGroupedValues)) {\n innerGroupedValues.forEach(value => {\n itemIndex += 1;\n if (!isGroupExpanded) {\n trimmed[itemIndex] = true;\n }\n oldNewIndexMap[value[GROUP_ORIGINAL_INDEX]] = itemIndex;\n const pseudoGroupTestIds = levelIds.map((_value, index) =>\n levelIds.slice(0, index + 1).join(','),\n );\n pseudoGroupTestIds.forEach(pseudoGroupTestId => {\n if (!pseudoGroupTest[pseudoGroupTestId]) {\n pseudoGroupTest[pseudoGroupTestId] = [];\n }\n pseudoGroupTest[pseudoGroupTestId].push(itemIndex);\n });\n });\n sourceWithGroups.push(...innerGroupedValues);\n } else {\n flattenGroupMaps(innerGroupedValues, levelIds, isGroupExpanded);\n }\n });\n }\n flattenGroupMaps(groupedItems, [], true);\n\n return {\n sourceWithGroups, // updates source mirror\n depth: groupingDepth, // largest depth for grouping\n trimmed, // used for expand/collapse grouping values\n oldNewIndexMap, // used for mapping old values to new\n childrenByGroup: pseudoGroupTest, // used to get child items in group\n };\n}\n\nexport function getGroupingName(rgRow?: DataType) {\n return rgRow && rgRow[PSEUDO_GROUP_ITEM];\n}\n\nexport function isGrouping(rgRow?: DataType) {\n return rgRow && typeof rgRow[PSEUDO_GROUP_ITEM] !== 'undefined';\n}\n\nexport function isGroupingColumn(column?: ColumnRegular) {\n return column && typeof column[PSEUDO_GROUP_COLUMN] !== 'undefined';\n}\n\nexport function measureEqualDepth<T>(groupA: T[], groupB: T[]) {\n const ln = groupA.length;\n let i = 0;\n for (; i < ln; i++) {\n if (groupA[i] !== groupB[i]) {\n return i;\n }\n }\n return i;\n}\n\nexport function getParsedGroup(id: string): any[] {\n const parseGroup = JSON.parse(id);\n // extra precaution and type safe guard\n if (!Array.isArray(parseGroup)) {\n return null;\n }\n return parseGroup;\n}\n\n// check if items is child of current clicked group\nexport function isSameGroup(\n currentGroup: any[],\n currentModel: DataType,\n nextModel: DataType,\n) {\n const nextGroup = getParsedGroup(nextModel[PSEUDO_GROUP_ITEM_ID]);\n if (!nextGroup) {\n return false;\n }\n\n const depth = measureEqualDepth(currentGroup, nextGroup);\n return currentModel[GROUP_DEPTH] < depth;\n}\n","import { EMPTY_INDEX } from '../../services/selection.store.connector';\nimport { Cell, RangeArea } from '../../types/selection';\n\nexport function isHiddenStore(pos: number) {\n return pos === EMPTY_INDEX;\n}\n\nexport function nextCell(cell: Cell, lastCell: Cell): Partial<Cell> | null {\n const nextItem: Partial<Cell> = {};\n let types: (keyof Cell)[] = ['x', 'y'];\n\n // previous item check\n for (let t of types) {\n if (cell[t] < 0) {\n nextItem[t] = cell[t];\n return nextItem;\n }\n }\n // next item check\n for (let t of types) {\n if (cell[t] >= lastCell[t]) {\n nextItem[t] = cell[t] - lastCell[t];\n return nextItem;\n }\n }\n return null;\n}\n\nexport function cropCellToMax(cell: Cell, lastCell: Cell): Cell {\n const newCell: Cell = { ...cell };\n let types: (keyof Cell)[] = ['x', 'y'];\n // previous item check\n for (let t of types) {\n if (cell[t] < 0) {\n newCell[t] = 0;\n }\n }\n // next item check\n for (let t of types) {\n if (cell[t] >= lastCell[t]) {\n newCell[t] = lastCell[t] - 1;\n }\n }\n return newCell;\n}\n\nexport function getRange(start?: Cell, end?: Cell): RangeArea | null {\n return start && end\n ? {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n x1: Math.max(start.x, end.x),\n y1: Math.max(start.y, end.y),\n }\n : null;\n}\n\nexport function isRangeSingleCell(a: RangeArea): boolean {\n return a.x === a.x1 && a.y === a.y1;\n}\n","/**\n * Selection store\n */\n\nimport { createStore } from '@stencil/store';\nimport { setStore } from '../../utils/store.utils';\nimport { getRange } from './selection.helpers';\nimport { Observable } from '../../types/interfaces';\nimport { SelectionStoreState, Cell, TempRange, RangeArea } from '../../types/selection';\n\n\nfunction defaultState(): SelectionStoreState {\n return {\n range: null,\n tempRange: null,\n tempRangeType: null,\n focus: null,\n edit: null,\n lastCell: null,\n };\n}\n\nexport class SelectionStore {\n readonly store: Observable<SelectionStoreState>;\n private unsubscribe: { (): void }[] = [];\n constructor() {\n this.store = createStore(defaultState());\n this.store.on('set', (key, newVal) => {\n if (key === 'tempRange' && !newVal) {\n this.store.set('tempRangeType', null);\n }\n });\n }\n\n onChange<Key extends keyof SelectionStoreState>(propName: Key, cb: (newValue: SelectionStoreState[Key]) => void) {\n this.unsubscribe.push(this.store.onChange(propName, cb));\n }\n\n clearFocus() {\n setStore(this.store, { focus: null, range: null, edit: null, tempRange: null });\n }\n\n setFocus(focus: Cell, end?: Cell) {\n if (!end) {\n setStore(this.store, { focus });\n } else {\n setStore(this.store, {\n focus,\n range: getRange(focus, end),\n edit: null,\n tempRange: null,\n });\n }\n }\n\n setTempArea(range: TempRange | null) {\n setStore(this.store, { tempRange: range?.area, tempRangeType: range?.type, edit: null });\n }\n\n clearTemp() {\n setStore(this.store, { tempRange: null });\n }\n\n /** Can be applied from selection change or from simple keyboard change clicks */\n setRangeArea(range: RangeArea) {\n setStore(this.store, { range, edit: null, tempRange: null });\n }\n setRange(start: Cell, end: Cell) {\n this.setRangeArea(getRange(start, end));\n }\n\n setLastCell(lastCell: Cell) {\n setStore(this.store, { lastCell });\n }\n\n setEdit(val: string | boolean) {\n const focus = this.store.get('focus');\n if (focus && typeof val === 'string') {\n setStore(this.store, {\n edit: { x: focus.x, y: focus.y, val },\n });\n return;\n }\n setStore(this.store, { edit: null });\n }\n\n dispose() {\n this.unsubscribe.forEach(f => f());\n this.store.dispose();\n }\n}\n","import { cropCellToMax, isHiddenStore, nextCell } from '../store/selection/selection.helpers';\nimport { SelectionStore } from '../store/selection/selection.store';\nimport { MultiDimensionType, DimensionCols, DimensionRows } from '../types/dimension';\nimport { Cell, EditCellStore, RangeArea } from '../types/selection';\n\ntype StoreByDimension = Record<number, SelectionStore>;\ntype FocusedStore = {\n entity: SelectionStore;\n cell: Cell;\n position: Cell;\n};\n\ntype StoresMapping<T> = { [xOrY: number]: Partial<T> };\n\nexport const EMPTY_INDEX = -1;\n\nexport default class SelectionStoreConnector {\n // dirty flag required to cleanup whole store in case visibility of panels changed\n private dirty = false;\n readonly stores: { [y: number]: { [x: number]: SelectionStore } } = {};\n\n readonly columnStores: StoreByDimension = {};\n readonly rowStores: { [y: number]: SelectionStore } = {};\n\n /**\n * Helpers for data conversion\n */\n readonly storesByType: Partial<Record<MultiDimensionType, number>> = {};\n readonly storesXToType: StoresMapping<DimensionCols> = {};\n readonly storesYToType: StoresMapping<DimensionRows> = {};\n\n get focusedStore(): FocusedStore | null {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const focused = this.stores[y][x]?.store.get('focus');\n if (focused) {\n return {\n entity: this.stores[y][x],\n cell: focused,\n position: {\n x: parseInt(x, 10),\n y: parseInt(y, 10),\n },\n };\n }\n }\n }\n return null;\n }\n\n get edit(): EditCellStore | undefined {\n return this.focusedStore?.entity.store.get('edit');\n }\n\n get focused(): Cell | undefined {\n return this.focusedStore?.entity.store.get('focus');\n }\n\n get selectedRange(): RangeArea | undefined {\n return this.focusedStore?.entity.store.get('range');\n }\n\n private readonly sections: Element[] = [];\n\n registerSection(e?: Element) {\n if (!e) {\n this.sections.length = 0;\n // some elements removed, rebuild stores\n this.dirty = true;\n return;\n }\n if (this.sections.indexOf(e) === -1) {\n this.sections.push(e);\n }\n }\n\n // check if require to cleanup all stores\n beforeUpdate() {\n if (this.dirty) {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n this.stores[y][x].dispose();\n }\n }\n this.dirty = false;\n }\n }\n\n registerColumn(x: number, type: DimensionCols): SelectionStore {\n\n // if hidden just create store but no operations needed\n if (isHiddenStore(x)) {\n return new SelectionStore();\n }\n if (this.columnStores[x]) {\n return this.columnStores[x];\n }\n this.columnStores[x] = new SelectionStore();\n // build cross linking type to position\n this.storesByType[type] = x;\n this.storesXToType[x] = type;\n return this.columnStores[x];\n }\n\n registerRow(y: number, type: DimensionRows): SelectionStore {\n // if hidden just create store\n if (isHiddenStore(y)) {\n return new SelectionStore();\n }\n if (this.rowStores[y]) {\n return this.rowStores[y];\n }\n this.rowStores[y] = new SelectionStore();\n // build cross linking type to position\n this.storesByType[type] = y;\n this.storesYToType[y] = type;\n return this.rowStores[y];\n }\n\n /**\n * Cross store proxy, based on multiple dimensions\n */\n register({ x, y }: Cell): SelectionStore {\n // if hidden just create store\n if (isHiddenStore(x) || isHiddenStore(y)) {\n return new SelectionStore();\n }\n if (!this.stores[y]) {\n this.stores[y] = {};\n }\n if (this.stores[y][x]) {\n // Store already registered. Do not register twice\n return this.stores[y][x];\n }\n this.stores[y][x] = new SelectionStore();\n // proxy update, column store trigger only range area\n this.stores[y][x]?.onChange('range', c => {\n this.columnStores[x].setRangeArea(c);\n this.rowStores[y].setRangeArea(c);\n });\n // clean up on remove\n this.stores[y][x]?.store.on('dispose', () => this.destroy(x, y));\n return this.stores[y][x];\n }\n\n private destroy(x: number, y: number) {\n this.columnStores[x]?.dispose();\n this.rowStores[y]?.dispose();\n\n delete this.rowStores[y];\n delete this.columnStores[x];\n // clear x cross link\n if (this.storesXToType[x]) {\n const type = this.storesXToType[x];\n delete this.storesXToType[x];\n delete this.storesByType[type];\n }\n // clear y cross link\n if (this.storesYToType[y]) {\n const type = this.storesYToType[y];\n delete this.storesYToType[y];\n delete this.storesByType[type];\n }\n if (this.stores[y]) {\n delete this.stores[y][x];\n }\n // clear empty rows\n if (!Object.keys(this.stores[y] || {}).length) {\n delete this.stores[y];\n }\n }\n\n setEditByCell<T extends Cell>(storePos: T, editCell: T) {\n this.focusByCell(storePos, editCell, editCell);\n this.setEdit('');\n }\n\n focusByCell<T extends Cell>(storePos: T, start: T, end: T) {\n const store = this.stores[storePos.y][storePos.x];\n this.focus(store, { focus: start, end });\n }\n\n focus(store: SelectionStore, { focus, end }: { focus: Cell; end: Cell }) {\n let currentStorePointer: Cell;\n // clear all stores focus leave only active one\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const s = this.stores[y][x];\n // clear other stores, only one area can be selected\n if (s !== store) {\n s.clearFocus();\n } else {\n currentStorePointer = { x: parseInt(x, 10), y: parseInt(y, 10) };\n }\n }\n }\n if (!currentStorePointer) {\n return null;\n }\n\n // check is focus in next store\n const lastCell = store.store.get('lastCell');\n // item in new store\n const nextItem: Partial<Cell> | null = nextCell(focus, lastCell);\n\n let nextStore;\n if (nextItem) {\n for (let i in nextItem) {\n let type: keyof Cell = i as keyof Cell;\n let stores;\n switch (type) {\n case 'x':\n stores = this.getXStores(currentStorePointer.y);\n break;\n case 'y':\n stores = this.getYStores(currentStorePointer.x);\n break;\n }\n if (nextItem[type] >= 0) {\n nextStore = stores[++currentStorePointer[type]];\n } else {\n nextStore = stores[--currentStorePointer[type]];\n const nextLastCell = nextStore?.store.get('lastCell');\n if (nextLastCell) {\n nextItem[type] = nextLastCell[type] + nextItem[type];\n }\n }\n }\n }\n // if next store present - update\n if (nextStore) {\n let item = { ...focus, ...nextItem };\n this.focus(nextStore, { focus: item, end: item });\n return null;\n }\n\n focus = cropCellToMax(focus, lastCell);\n end = cropCellToMax(end, lastCell);\n\n store.setFocus(focus, end);\n return focus;\n }\n\n clearAll(): void {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n this.stores[y][x]?.clearFocus();\n }\n }\n }\n\n setEdit(val: string | boolean) {\n if (!this.focusedStore) {\n return;\n }\n this.focusedStore.entity.setEdit(val);\n }\n\n /**\n * Select all cells across all stores\n */\n selectAll() {\n for (let y in this.stores) {\n for (let x in this.stores[y]) {\n const store = this.stores[y][x];\n if (!store) {\n continue;\n }\n const lastCell = store.store.get('lastCell');\n store.setRange({ x: 0, y: 0 }, { x: lastCell.x - 1, y: lastCell.y - 1 });\n }\n }\n }\n\n private getXStores(y: number) {\n return this.stores[y];\n }\n\n private getYStores(x: number) {\n const stores: { [p: number]: SelectionStore } = {};\n for (let i in this.stores) {\n stores[i] = this.stores[i][x];\n }\n return stores;\n }\n}\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseSlice = require('./_baseSlice'),\n isIterateeCall = require('./_isIterateeCall'),\n toInteger = require('./toInteger');\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n}\n\nmodule.exports = slice;\n","import { DSourceState, getSourceItem, getVisibleSourceItem, setSourceByVirtualIndex } from '../../store/dataSource/data.store';\nimport { CELL_CLASS, DISABLED_CLASS } from '../../utils/consts';\nimport { getRange } from '../../store/selection/selection.helpers';\n\nimport { isGroupingColumn } from '../../plugins/groupingRow/grouping.service';\nimport slice from 'lodash/slice';\nimport { DimensionCols, DimensionRows } from '../../types/dimension';\nimport { ColumnRegular, Observable, DataType, ReadOnlyFormat, CellProps, ColumnDataSchemaModel, ColumnProp, DataLookup, DataFormat, DataSource } from '../../types/interfaces';\nimport { ChangedRange, OldNewRangeMapping, Cell, RangeArea, BeforeSaveDataDetails, EditorCtr, Editors } from '../../types/selection';\n\nexport type ColumnSource<T = ColumnRegular> = Observable<DSourceState<T, DimensionCols>>;\nexport type RowSource = Observable<DSourceState<DataType, DimensionRows>>;\n\nexport type ColumnStores = {\n [T in DimensionCols]: ColumnSource;\n};\nexport type RowStores = {\n [T in DimensionRows]: RowSource;\n};\n\nexport default class ColumnService {\n private unsubscribe: { (): void }[] = [];\n get columns(): ColumnRegular[] {\n return getVisibleSourceItem(this.source);\n }\n\n hasGrouping = false;\n type: DimensionCols;\n\n constructor(private dataStore: RowSource, private source: ColumnSource) {\n this.unsubscribe.push(source.onChange('source', s => this.checkGrouping(s)));\n this.checkGrouping(source.get('source'));\n this.type = source.get('type');\n }\n\n private checkGrouping(cols: ColumnRegular[]) {\n for (let rgCol of cols) {\n if (isGroupingColumn(rgCol)) {\n this.hasGrouping = true;\n return;\n }\n this.hasGrouping = false;\n }\n }\n\n isReadOnly(r: number, c: number): boolean {\n const readOnly: ReadOnlyFormat = this.columns[c]?.readonly;\n if (typeof readOnly === 'function') {\n const data = this.rowDataModel(r, c);\n return readOnly(data);\n }\n return readOnly;\n }\n\n static doMerge(existing: CellProps, extra: CellProps) {\n let props: CellProps = { ...extra, ...existing };\n // extend existing props\n if (extra.class) {\n if (typeof extra.class === 'object' && typeof props.class === 'object') {\n props.class = { ...extra.class, ...props.class };\n } else if (typeof extra.class === 'string' && typeof props.class === 'object') {\n props.class[extra.class] = true;\n } else if (typeof props.class === 'string') {\n props.class += ' ' + extra.class;\n }\n }\n if (extra.style) {\n props.style = { ...extra.style, ...props.style };\n }\n return props;\n }\n\n mergeProperties(r: number, c: number, defaultProps: CellProps): CellProps {\n const cellClass: { [key: string]: boolean } = {\n [CELL_CLASS]: true,\n [DISABLED_CLASS]: this.isReadOnly(r, c),\n };\n let props: CellProps = {\n ...defaultProps,\n class: cellClass,\n };\n const extraPropsFunc = this.columns[c]?.cellProperties;\n if (extraPropsFunc) {\n const data = this.rowDataModel(r, c);\n const extra = extraPropsFunc(data);\n if (!extra) {\n return props;\n }\n return ColumnService.doMerge(props, extra);\n }\n return props;\n }\n\n getRowClass(r: number, prop: string): string {\n const model = getSourceItem(this.dataStore, r) || {};\n return model[prop] || '';\n }\n\n getCellData(r: number, c: number): string {\n const data = this.rowDataModel(r, c);\n return ColumnService.getData(data.model[data.prop as number]);\n }\n\n getSaveData(rowIndex: number, colIndex: number, val?: string): BeforeSaveDataDetails {\n if (typeof val === 'undefined') {\n val = this.getCellData(rowIndex, colIndex);\n }\n const data = this.rowDataModel(rowIndex, colIndex);\n return {\n prop: data.prop,\n rowIndex,\n colIndex,\n val,\n model: data.model,\n colType: this.type,\n type: this.dataStore.get('type'),\n };\n }\n\n getCellEditor(_r: number, c: number, editors: Editors): EditorCtr | undefined {\n const editor = this.columns[c]?.editor;\n if (!editor) {\n return undefined;\n }\n // reference\n if (typeof editor === 'string') {\n return editors[editor];\n }\n return editor;\n }\n\n rowDataModel(rowIndex: number, colIndex: number): ColumnDataSchemaModel {\n const column = this.columns[colIndex];\n const prop: ColumnProp | undefined = column?.prop;\n const model = getSourceItem(this.dataStore, rowIndex) || {};\n const type = this.dataStore.get('type');\n return {\n prop,\n model,\n data: this.dataStore.get('source'),\n column,\n rowIndex,\n colIndex,\n colType: this.type,\n type,\n };\n }\n\n getRangeData(d: ChangedRange, columns: ColumnRegular[]): {\n changed: DataLookup,\n mapping: OldNewRangeMapping,\n } {\n const changed: DataLookup = {};\n\n // get original length sizes\n const copyColLength = d.oldRange.x1 - d.oldRange.x + 1;\n const copyRowLength = d.oldRange.y1 - d.oldRange.y + 1;\n const mapping: OldNewRangeMapping = {};\n\n // rows\n for (let rowIndex = d.newRange.y, i = 0; rowIndex < d.newRange.y1 + 1; rowIndex++, i++) {\n // copy original data link\n const oldRowIndex = d.oldRange.y + i % copyRowLength;\n const copyRow = getSourceItem(this.dataStore, oldRowIndex) || {};\n\n // columns\n for (let colIndex = d.newRange.x, j = 0; colIndex < d.newRange.x1 + 1; colIndex++, j++) {\n // check if old range area\n if (rowIndex >= d.oldRange.y && rowIndex <= d.oldRange.y1 && colIndex >= d.oldRange.x && colIndex <= d.oldRange.x1) {\n continue;\n }\n\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const prop = this.columns[colIndex]?.prop;\n const copyColIndex = d.oldRange.x + j % copyColLength;\n const copyColumnProp = columns[copyColIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][prop] = copyRow[copyColumnProp];\n /** Generate mapping object */\n if (!mapping[rowIndex]) {\n mapping[rowIndex] = {};\n }\n mapping[rowIndex][prop] = {\n colIndex: copyColIndex,\n colProp: copyColumnProp,\n rowIndex: oldRowIndex\n };\n }\n }\n }\n return {\n changed,\n mapping,\n };\n }\n\n getTransformedDataToApply(\n start: Cell,\n data: DataFormat[][],\n ): {\n changed: DataLookup;\n range: RangeArea;\n } {\n const changed: DataLookup = {};\n const copyRowLength = data.length;\n const colLength = this.columns.length;\n const rowLength = this.dataStore.get('items').length;\n // rows\n let rowIndex = start.y;\n let maxCol = 0;\n for (let i = 0; rowIndex < rowLength && i < copyRowLength; rowIndex++, i++) {\n // copy original data link\n const copyRow = data[i % copyRowLength];\n const copyColLength = copyRow?.length || 0;\n // columns\n let colIndex = start.x;\n for (let j = 0; colIndex < colLength && j < copyColLength; colIndex++, j++) {\n const p = this.columns[colIndex].prop;\n const currentCol = j % colLength;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = copyRow[currentCol];\n }\n }\n maxCol = Math.max(maxCol, colIndex - 1);\n }\n const range = getRange(start, {\n y: rowIndex - 1,\n x: maxCol,\n });\n return {\n changed,\n range,\n };\n }\n\n applyRangeData(data: DataLookup) {\n const items: Record<number, DataType> = {};\n for (let rowIndex in data) {\n const oldModel = (items[rowIndex] = getSourceItem(this.dataStore, parseInt(rowIndex, 10)));\n if (!oldModel) {\n continue;\n }\n for (let prop in data[rowIndex]) {\n oldModel[prop] = data[rowIndex][prop];\n }\n }\n setSourceByVirtualIndex(this.dataStore, items);\n }\n\n getRangeStaticData(d: RangeArea, value: DataFormat): DataLookup {\n const changed: DataLookup = {};\n\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const p = this.columns[colIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = value;\n }\n }\n }\n return changed;\n }\n\n getRangeTransformedToProps(\n d: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const area: {\n prop: ColumnProp,\n rowIndex: number,\n colIndex: number,\n model: DataSource,\n colType: DimensionCols,\n type: DimensionRows,\n }[] = [];\n\n const type = this.dataStore.get('type');\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n const prop = this.columns[colIndex]?.prop;\n area.push({\n prop,\n rowIndex,\n colIndex,\n model: getSourceItem(store, rowIndex),\n type,\n colType: this.type,\n });\n }\n }\n return area;\n }\n\n copyRangeArray(\n range: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const cols = [...this.columns];\n const props = slice(cols, range.x, range.x1 + 1).map(v => v.prop);\n const toCopy: DataFormat[][] = [];\n const mapping: { [rowIndex: number]: { [colProp: ColumnProp]: any } } = {};\n\n // rows indexes\n for (let i = range.y; i <= range.y1; i++) {\n const rgRow: DataFormat[] = [];\n mapping[i] = {};\n\n // columns indexes\n for (let prop of props) {\n const item = getSourceItem(store, i);\n\n // if no item - skip\n if (!item) {\n continue;\n }\n const val = item[prop];\n rgRow.push(val);\n mapping[i][prop] = val;\n }\n\n toCopy.push(rgRow);\n }\n return {\n data: toCopy,\n mapping\n };\n }\n\n static getData(val?: any) {\n if (typeof val === 'undefined' || val === null) {\n return '';\n }\n return val;\n }\n\n destroy() {\n this.unsubscribe.forEach(f => f());\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Built by Revolist
2
+ * Built by Revolist OU
3
3
  */
4
4
  const MIN_COL_SIZE = 30;
5
5
  const RESIZE_INTERVAL = 40;
@@ -25,6 +25,6 @@ const DRAGG_TEXT = 'Draggable item';
25
25
  const GRID_INTERNALS = '__rvgr';
26
26
  const ROW_FOCUSED_CLASS = 'focused-rgRow';
27
27
 
28
- export { CELL_HANDLER_CLASS as C, DATA_ROW as D, EDIT_INPUT_WR as E, FOCUS_CLASS as F, GRID_INTERNALS as G, HEADER_CLASS as H, MIN_COL_SIZE as M, RESIZE_INTERVAL as R, SELECTION_BORDER_CLASS as S, TMP_SELECTION_BG_CLASS as T, UUID as U, DRAGGABLE_CLASS as a, DRAG_ICON_CLASS as b, DATA_COL as c, ROW_FOCUSED_CLASS as d, HEADER_SORTABLE_CLASS as e, HEADER_ROW_CLASS as f, HEADER_ACTUAL_ROW_CLASS as g, DRAGG_TEXT as h, MOBILE_CLASS as i, ROW_HEADER_TYPE as j, CELL_CLASS as k, DISABLED_CLASS as l };
28
+ export { CELL_HANDLER_CLASS as C, DATA_COL as D, EDIT_INPUT_WR as E, FOCUS_CLASS as F, GRID_INTERNALS as G, HEADER_CLASS as H, MIN_COL_SIZE as M, RESIZE_INTERVAL as R, SELECTION_BORDER_CLASS as S, TMP_SELECTION_BG_CLASS as T, UUID as U, HEADER_SORTABLE_CLASS as a, HEADER_ROW_CLASS as b, HEADER_ACTUAL_ROW_CLASS as c, DATA_ROW as d, DRAGGABLE_CLASS as e, DRAG_ICON_CLASS as f, ROW_FOCUSED_CLASS as g, DRAGG_TEXT as h, MOBILE_CLASS as i, ROW_HEADER_TYPE as j, CELL_CLASS as k, DISABLED_CLASS as l };
29
29
 
30
30
  //# sourceMappingURL=consts.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Built by Revolist
2
+ * Built by Revolist OU
3
3
  */
4
4
  import { getRenderingRef, forceUpdate } from '@stencil/core/internal/client';
5
5
  import { _ as _baseIteratee } from './_baseIteratee.js';
@@ -1 +1 @@
1
- {"file":"data.store.js","mappings":"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","names":["toNumber","toFinite","nativeMax","toInteger","baseFindIndex","baseIteratee","isObject","isArrayLike","isIndex","eq","isIterateeCall","baseRange","createRange","range","findIndex"],"sources":["node_modules/lodash/_baseFindIndex.js","node_modules/lodash/toFinite.js","node_modules/lodash/toInteger.js","node_modules/lodash/findIndex.js","node_modules/@stencil/store/dist/index.mjs","node_modules/lodash/_baseRange.js","node_modules/lodash/_isIterateeCall.js","node_modules/lodash/_createRange.js","node_modules/lodash/range.js","src/store/dataSource/trimmed.plugin.ts","src/utils/store.utils.ts","src/store/dataSource/data.proxy.ts","src/store/dataSource/data.store.ts"],"sourcesContent":["/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","import { Observable, PluginSubscribe } from '../../interfaces';\nimport { DataSourceState } from './data.store';\n\nexport type TrimmedEntity = Record<number, boolean>;\nexport type Trimmed = Record<string, TrimmedEntity>;\n\n/**\n * Hide items from main collection\n * But keep them in store\n */\nexport const trimmedPlugin = <T>(store: Observable<DataSourceState<T, any>>): PluginSubscribe<DataSourceState<T, any>> => ({\n set(k, newVal) {\n switch (k) {\n case 'trimmed':\n const proxy = store.get('proxyItems');\n const trimmed = gatherTrimmedItems(newVal as Trimmed);\n\n const newItems = proxy.reduce((result: number[], v: number) => {\n // check if present in new trimmed remove from items (filter)\n if (!trimmed[v]) {\n result.push(v);\n }\n return result;\n }, []);\n\n store.set('items', newItems);\n break;\n }\n },\n});\n\nexport function gatherTrimmedItems(trimmedItems: Trimmed) {\n const trimmed: TrimmedEntity = {};\n\n for (let trimmedKey in trimmedItems) {\n // trimmed overweight not trimmed\n for (let t in trimmedItems[trimmedKey]) {\n trimmed[t] = trimmed[t] || trimmedItems[trimmedKey][t];\n }\n }\n return trimmed;\n}\n","/** Set stores data */\n\nimport { Observable } from '../interfaces';\nfunction setStore<T extends { [key: string]: any }>(store: Observable<T>, data: Partial<T>) {\n for (let key in data) {\n store.set(key, data[key]);\n }\n}\n\nexport { setStore };\n","import { Observable, PluginSubscribe } from '../../interfaces';\nimport { DataSourceState } from '../../store/dataSource/data.store';\n\ntype State = DataSourceState<any, any>;\n\n/**\n * All items\n * Used as proxy for sorting\n * Keep order but do not modify final source\n */\nexport const proxyPlugin = (store: Observable<State>): PluginSubscribe<State> => ({\n set(k, newVal) {\n if (!isProxy(k)) {\n return;\n }\n /**\n * Getting existing collection of items\n * Mark indexes as visible\n */\n const oldItems = store.get('items').reduce((r: Record<number, boolean>, v) => {\n r[v] = true;\n return r;\n }, {});\n /**\n * Check if new values where present in items\n * Filter item collection according presense\n */\n const newItems = newVal.reduce((r: number[], i: number) => {\n if (oldItems[i]) {\n r.push(i);\n }\n return r;\n }, []);\n store.set('items', newItems);\n },\n});\n\nfunction isProxy(k: keyof State): k is 'proxyItems' {\n return k === 'proxyItems';\n}\n","import { createStore } from '@stencil/store';\nimport findIndex from 'lodash/findIndex';\nimport range from 'lodash/range';\n\nimport { Trimmed, trimmedPlugin } from './trimmed.plugin';\nimport { setStore } from '../../utils/store.utils';\nimport { Observable, RevoGrid } from '../../interfaces';\nimport { proxyPlugin } from './data.proxy';\nimport { GroupLabelTemplateFunc } from '../../plugins/groupingRow/grouping.row.types';\n\nexport interface Group extends RevoGrid.ColumnProperties {\n name: string;\n children: (RevoGrid.ColumnGrouping | RevoGrid.ColumnRegular)[];\n // props/ids\n ids: (string | number)[];\n}\nexport type Groups = Record<any, any>;\nexport type GDataType = RevoGrid.DataType | RevoGrid.ColumnRegular;\nexport type GDimension = RevoGrid.DimensionRows | RevoGrid.DimensionCols;\nexport type DataSourceState<T1 extends GDataType, T2 extends GDimension> = RevoGrid.DataSourceState<T1, T2> & {\n groupingCustomRenderer?: GroupLabelTemplateFunc | null;\n};\n\nexport default class DataStore<T extends GDataType, ST extends GDimension> {\n private readonly dataStore: Observable<DataSourceState<T, ST>>;\n get store(): Observable<DataSourceState<T, ST>> {\n return this.dataStore;\n }\n constructor(type: ST) {\n const store = (this.dataStore = createStore<DataSourceState<T, ST>>({\n items: [],\n proxyItems: [],\n source: [],\n groupingDepth: 0,\n groups: {},\n type,\n trimmed: {},\n groupingCustomRenderer: undefined,\n }));\n store.use(proxyPlugin(store));\n store.use(trimmedPlugin(store));\n }\n\n /**\n * full data source update\n * @param source - data column/rgRow source\n * @param grouping - grouping information if present\n */\n updateData(\n source: T[],\n grouping?: { depth: number; groups?: Groups; customRenderer?: GroupLabelTemplateFunc },\n silent = false,\n ) {\n // during full update we do drop trim\n if (!silent) {\n this.store.set('trimmed', {});\n }\n // clear items\n this.store.set('items', []);\n const items = range(0, source?.length || 0);\n\n // set proxy first\n setStore(this.store, {\n source,\n proxyItems: [...items],\n });\n // update data items\n this.store.set('items', items);\n // apply grouping if present\n if (grouping) {\n setStore(this.store, {\n groupingDepth: grouping.depth,\n groups: grouping.groups,\n groupingCustomRenderer: grouping.customRenderer,\n });\n }\n }\n\n addTrimmed(some: Partial<Trimmed>) {\n let trimmed = this.store.get('trimmed');\n trimmed = { ...trimmed, ...some };\n setStore(this.store, { trimmed });\n }\n\n // local data update\n setData(input: Partial<DataSourceState<T, ST>>) {\n const data: Partial<DataSourceState<T, ST>> = {\n ...input,\n };\n setStore(this.store, data);\n }\n\n refresh() {\n const source = this.store.get('source');\n this.store.set('source', [...source]);\n }\n}\n/**\n * get physical index by virtual\n * @param store - store to process\n */\nexport function getPhysical(store: Observable<DataSourceState<any, any>>, virtualIndex: number) {\n const items = store.get('items');\n return items[virtualIndex];\n}\n\n/**\n * get all visible items\n * @param store - store to process\n */\nexport function getVisibleSourceItem(store: Observable<DataSourceState<any, any>>) {\n const source = store.get('source');\n return store.get('items').map(v => source[v]);\n}\n\n/**\n * get mapped item from source\n * @param store - store to process\n * @param virtualIndex - virtual index to process\n */\nexport function getSourceItem(store: Observable<DataSourceState<any, any>>, virtualIndex: number): any | undefined {\n const items = store.get('items');\n const source = store.get('source');\n return source[items[virtualIndex]];\n}\n\n/**\n * set item to source\n * @param store - store to process\n * @param modelByIndex - collection of rows with virtual indexes to setup\n */\nexport function setSourceByVirtualIndex<T>(store: Observable<DataSourceState<T, any>>, modelByIndex: Record<number, T>) {\n const items = store.get('items');\n const source = store.get('source');\n\n for (let virtualIndex in modelByIndex) {\n const realIndex = items[virtualIndex];\n source[realIndex] = modelByIndex[virtualIndex];\n }\n store.set('source', [...source]);\n}\n\n/**\n * set item to source\n * @param store - store to process\n * @param modelByIndex - collection of rows with physical indexes to setup\n */\nexport function setSourceByPhysicalIndex<T>(store: Observable<DataSourceState<T, any>>, modelByIndex: Record<number, T>) {\n const source = store.get('source');\n for (let index in modelByIndex) {\n source[index] = modelByIndex[index];\n }\n store.set('source', [...source]);\n}\n\nexport function setItems<T>(store: Observable<DataSourceState<T, any>>, items: number[]) {\n store.set('items', items);\n}\n\nexport function getSourceItemVirtualIndexByProp(store: Observable<DataSourceState<any, any>>, prop: RevoGrid.ColumnProp) {\n const items = store.get('items');\n const source = store.get('source');\n const physicalIndex = findIndex(source, { prop });\n return items.indexOf(physicalIndex);\n}\n"],"version":3}
1
+ {"file":"data.store.js","mappings":"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","names":["toNumber","toFinite","nativeMax","toInteger","baseFindIndex","baseIteratee","isObject","isArrayLike","isIndex","eq","isIterateeCall","baseRange","createRange","range","findIndex"],"sources":["node_modules/lodash/_baseFindIndex.js","node_modules/lodash/toFinite.js","node_modules/lodash/toInteger.js","node_modules/lodash/findIndex.js","node_modules/@stencil/store/dist/index.mjs","node_modules/lodash/_baseRange.js","node_modules/lodash/_isIterateeCall.js","node_modules/lodash/_createRange.js","node_modules/lodash/range.js","src/store/dataSource/trimmed.plugin.ts","src/utils/store.utils.ts","src/store/dataSource/data.proxy.ts","src/store/dataSource/data.store.ts"],"sourcesContent":["/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","import { Observable, PluginSubscribe } from '../../types/interfaces';\nimport { DSourceState } from './data.store';\n\nexport type TrimmedEntity = Record<number, boolean>;\nexport type Trimmed = Record<string, TrimmedEntity>;\n\n/**\n * Hide items from main collection\n * But keep them in store\n */\nexport const trimmedPlugin = <T>(store: Observable<DSourceState<T, any>>): PluginSubscribe<DSourceState<T, any>> => ({\n set(k, newVal) {\n switch (k) {\n case 'trimmed':\n const proxy = store.get('proxyItems');\n const trimmed = gatherTrimmedItems(newVal as Trimmed);\n\n const newItems = proxy.reduce((result: number[], v: number) => {\n // check if present in new trimmed remove from items (filter)\n if (!trimmed[v]) {\n result.push(v);\n }\n return result;\n }, []);\n\n store.set('items', newItems);\n break;\n }\n },\n});\n\nexport function gatherTrimmedItems(trimmedItems: Trimmed) {\n const trimmed: TrimmedEntity = {};\n\n for (let trimmedKey in trimmedItems) {\n // trimmed overweight not trimmed\n for (let t in trimmedItems[trimmedKey]) {\n trimmed[t] = trimmed[t] || trimmedItems[trimmedKey][t];\n }\n }\n return trimmed;\n}\n","import { Observable } from '../types/interfaces';\n\n/** Set stores data */\nfunction setStore<T extends { [key: string]: any }>(\n store: Observable<T>,\n data: Partial<T>,\n) {\n for (let key in data) {\n store.set(key, data[key]);\n }\n}\n\nexport { setStore };\n","import { DSourceState } from '../../store/dataSource/data.store';\nimport { Observable, PluginSubscribe } from '../../types/interfaces';\n\ntype State = DSourceState<any, any>;\n\n/**\n * All items\n * Used as proxy for sorting\n * Keep order but do not modify final source\n */\nexport const proxyPlugin = (store: Observable<State>): PluginSubscribe<State> => ({\n set(k, newVal) {\n if (!isProxy(k)) {\n return;\n }\n /**\n * Getting existing collection of items\n * Mark indexes as visible\n */\n const oldItems = store.get('items').reduce((r: Record<number, boolean>, v: number) => {\n r[v] = true;\n return r;\n }, {});\n /**\n * Check if new values where present in items\n * Filter item collection according presense\n */\n const newItems = newVal.reduce((r: number[], i: number) => {\n if (oldItems[i]) {\n r.push(i);\n }\n return r;\n }, []);\n store.set('items', newItems);\n },\n});\n\nfunction isProxy(k: keyof State): k is 'proxyItems' {\n return k === 'proxyItems';\n}\n","import { createStore } from '@stencil/store';\nimport findIndex from 'lodash/findIndex';\nimport range from 'lodash/range';\n\nimport { Trimmed, trimmedPlugin } from './trimmed.plugin';\nimport { setStore } from '../../utils/store.utils';\nimport { proxyPlugin } from './data.proxy';\nimport { GroupLabelTemplateFunc } from '../../plugins/groupingRow/grouping.row.types';\nimport { DimensionRows, DimensionCols } from '../../types/dimension';\nimport {\n ColumnProperties,\n ColumnGrouping,\n ColumnRegular,\n DataType,\n DataSourceState,\n Observable,\n ColumnProp,\n} from '../../types/interfaces';\n\nexport interface Group extends ColumnProperties {\n name: string;\n children: (ColumnGrouping | ColumnRegular)[];\n // props/ids\n ids: (string | number)[];\n}\nexport type Groups = Record<any, any>;\nexport type GDataType = DataType | ColumnRegular;\nexport type GDimension = DimensionRows | DimensionCols;\nexport type DSourceState<\n T1 extends GDataType,\n T2 extends GDimension,\n> = DataSourceState<T1, T2> & {\n groupingCustomRenderer?: GroupLabelTemplateFunc | null;\n};\n\nexport default class DataStore<T extends GDataType, ST extends GDimension> {\n private readonly dataStore: Observable<DSourceState<T, ST>>;\n get store(): Observable<DSourceState<T, ST>> {\n return this.dataStore;\n }\n constructor(type: ST) {\n const store = (this.dataStore = createStore<DSourceState<T, ST>>({\n items: [],\n proxyItems: [],\n source: [],\n groupingDepth: 0,\n groups: {},\n type,\n trimmed: {},\n groupingCustomRenderer: undefined,\n }));\n store.use(proxyPlugin(store));\n store.use(trimmedPlugin(store));\n }\n\n /**\n * full data source update\n * @param source - data column/rgRow source\n * @param grouping - grouping information if present\n */\n updateData(\n source: T[],\n grouping?: {\n depth: number;\n groups?: Groups;\n customRenderer?: GroupLabelTemplateFunc;\n },\n silent = false,\n ) {\n // during full update we do drop trim\n if (!silent) {\n this.store.set('trimmed', {});\n }\n // clear items\n this.store.set('items', []);\n const items = range(0, source?.length || 0);\n\n // set proxy first\n setStore(this.store, {\n source,\n proxyItems: [...items],\n });\n // update data items\n this.store.set('items', items);\n // apply grouping if present\n if (grouping) {\n setStore(this.store, {\n groupingDepth: grouping.depth,\n groups: grouping.groups,\n groupingCustomRenderer: grouping.customRenderer,\n });\n }\n }\n\n addTrimmed(some: Partial<Trimmed>) {\n let trimmed = this.store.get('trimmed');\n trimmed = { ...trimmed, ...some };\n setStore(this.store, { trimmed });\n }\n\n // local data update\n setData(input: Partial<DSourceState<T, ST>>) {\n const data: Partial<DSourceState<T, ST>> = {\n ...input,\n };\n setStore(this.store, data);\n }\n\n refresh() {\n const source = this.store.get('source');\n this.store.set('source', [...source]);\n }\n}\n/**\n * get physical index by virtual\n * @param store - store to process\n */\nexport function getPhysical(\n store: Observable<DSourceState<any, any>>,\n virtualIndex: number,\n) {\n const items = store.get('items');\n return items[virtualIndex];\n}\n\n/**\n * get all visible items\n * @param store - store to process\n */\nexport function getVisibleSourceItem(\n store: Observable<DSourceState<any, any>>,\n) {\n const source = store.get('source');\n return store.get('items').map(v => source[v]);\n}\n\n/**\n * get mapped item from source\n * @param store - store to process\n * @param virtualIndex - virtual index to process\n */\nexport function getSourceItem(\n store: Observable<DSourceState<any, any>>,\n virtualIndex: number,\n): any | undefined {\n const items = store.get('items');\n const source = store.get('source');\n return source[items[virtualIndex]];\n}\n\n/**\n * set item to source\n * @param store - store to process\n * @param modelByIndex - collection of rows with virtual indexes to setup\n */\nexport function setSourceByVirtualIndex<T>(\n store: Observable<DSourceState<T, any>>,\n modelByIndex: Record<number, T>,\n) {\n const items = store.get('items');\n const source = store.get('source');\n\n for (let virtualIndex in modelByIndex) {\n const realIndex = items[virtualIndex];\n source[realIndex] = modelByIndex[virtualIndex];\n }\n store.set('source', [...source]);\n}\n\n/**\n * set item to source\n * @param store - store to process\n * @param modelByIndex - collection of rows with physical indexes to setup\n */\nexport function setSourceByPhysicalIndex<T>(\n store: Observable<DSourceState<T, any>>,\n modelByIndex: Record<number, T>,\n) {\n const source = store.get('source');\n for (let index in modelByIndex) {\n source[index] = modelByIndex[index];\n }\n store.set('source', [...source]);\n}\n\nexport function setItems<T>(\n store: Observable<DSourceState<T, any>>,\n items: number[],\n) {\n store.set('items', items);\n}\n\nexport function getSourceItemVirtualIndexByProp(\n store: Observable<DSourceState<any, any>>,\n prop: ColumnProp,\n) {\n const items = store.get('items');\n const source = store.get('source');\n const physicalIndex = findIndex(source, { prop });\n return items.indexOf(physicalIndex);\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Built by Revolist
2
+ * Built by Revolist OU
3
3
  */
4
4
  import { b as _root, a as isObject_1 } from './isObject.js';
5
5
  import { t as toNumber_1 } from './toNumber.js';
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Built by Revolist
2
+ * Built by Revolist OU
3
3
  */
4
4
  import { _ as _baseEach, e as each } from './each.js';
5
- import { i as isSymbol_1 } from './isSymbol.js';
5
+ import { i as isSymbol_1 } from './toNumber.js';
6
6
  import { a as isArray_1, b as identity_1 } from './identity.js';
7
7
  import { _ as _baseIteratee } from './_baseIteratee.js';
8
8
 
@@ -279,7 +279,7 @@ function calculateDimensionData(originItemSize, newSizes = {}) {
279
279
  /**
280
280
  * Calculate item by position
281
281
  */
282
- function getItemByPosition({ indexes, positionIndexes, originItemSize, positionIndexToItem }, pos) {
282
+ function getItemByPosition({ indexes, positionIndexes, originItemSize, positionIndexToItem, }, pos) {
283
283
  const item = {
284
284
  itemIndex: 0,
285
285
  start: 0,
@@ -316,7 +316,9 @@ function getItemByIndex(dimension, index) {
316
316
  if (dimension.indexToItem[index]) {
317
317
  return dimension.indexToItem[index];
318
318
  }
319
- const currentPlace = dimension.indexes.length ? sortedIndex_1(dimension.indexes, index) : 0;
319
+ const currentPlace = dimension.indexes.length
320
+ ? sortedIndex_1(dimension.indexes, index)
321
+ : 0;
320
322
  // not found or first index
321
323
  if (!currentPlace) {
322
324
  item.start = item.itemIndex * dimension.originItemSize;
@@ -325,7 +327,9 @@ function getItemByIndex(dimension, index) {
325
327
  }
326
328
  // special size item was present before
327
329
  const positionItem = dimension.indexToItem[dimension.indexes[currentPlace - 1]];
328
- item.start = positionItem.end + (index - positionItem.itemIndex - 1) * dimension.originItemSize;
330
+ item.start =
331
+ positionItem.end +
332
+ (index - positionItem.itemIndex - 1) * dimension.originItemSize;
329
333
  item.end = item.start + dimension.originItemSize;
330
334
  return item;
331
335
  }