@revolist/revogrid 3.6.2 → 3.6.4

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 (451) hide show
  1. package/custom-element/_baseIteratee.js +3 -1
  2. package/custom-element/_baseIteratee.js.map +1 -0
  3. package/custom-element/columnService.js +6 -4
  4. package/custom-element/columnService.js.map +1 -0
  5. package/custom-element/consts.js +3 -1
  6. package/custom-element/consts.js.map +1 -0
  7. package/custom-element/data.store.js +55 -33
  8. package/custom-element/data.store.js.map +1 -0
  9. package/custom-element/debounce.js +3 -1
  10. package/custom-element/debounce.js.map +1 -0
  11. package/custom-element/dimension.helpers.js +3 -1
  12. package/custom-element/dimension.helpers.js.map +1 -0
  13. package/custom-element/each.js +2 -0
  14. package/custom-element/each.js.map +1 -0
  15. package/custom-element/filter.button.js +2 -0
  16. package/custom-element/filter.button.js.map +1 -0
  17. package/custom-element/identity.js +2 -0
  18. package/custom-element/identity.js.map +1 -0
  19. package/custom-element/index.d.ts +9 -16
  20. package/custom-element/index.js +4 -15
  21. package/custom-element/index.js.map +1 -0
  22. package/custom-element/isSymbol.js +3 -1
  23. package/custom-element/isSymbol.js.map +1 -0
  24. package/custom-element/keys.js +3 -1
  25. package/custom-element/keys.js.map +1 -0
  26. package/custom-element/localScrollService.js +2 -0
  27. package/custom-element/localScrollService.js.map +1 -0
  28. package/custom-element/resize-observer.js +5 -3
  29. package/custom-element/resize-observer.js.map +1 -0
  30. package/custom-element/revo-grid.js +39 -159
  31. package/custom-element/revo-grid.js.map +1 -0
  32. package/custom-element/revogr-clipboard.js +4 -4
  33. package/custom-element/revogr-clipboard.js.map +1 -0
  34. package/custom-element/revogr-data.js +2 -0
  35. package/custom-element/revogr-data.js.map +1 -0
  36. package/custom-element/revogr-data2.js +14 -3
  37. package/custom-element/revogr-data2.js.map +1 -0
  38. package/custom-element/revogr-edit.js +2 -0
  39. package/custom-element/revogr-edit.js.map +1 -0
  40. package/custom-element/revogr-edit2.js +7 -3
  41. package/custom-element/revogr-edit2.js.map +1 -0
  42. package/custom-element/revogr-filter-panel.js +10 -6
  43. package/custom-element/revogr-filter-panel.js.map +1 -0
  44. package/custom-element/revogr-focus.js +2 -0
  45. package/custom-element/revogr-focus.js.map +1 -0
  46. package/custom-element/revogr-focus2.js +8 -2
  47. package/custom-element/revogr-focus2.js.map +1 -0
  48. package/custom-element/revogr-header.js +2 -0
  49. package/custom-element/revogr-header.js.map +1 -0
  50. package/custom-element/revogr-header2.js +11 -3
  51. package/custom-element/revogr-header2.js.map +1 -0
  52. package/custom-element/revogr-order-editor.js +2 -0
  53. package/custom-element/revogr-order-editor.js.map +1 -0
  54. package/custom-element/revogr-order-editor2.js +8 -3
  55. package/custom-element/revogr-order-editor2.js.map +1 -0
  56. package/custom-element/revogr-overlay-selection.js +2 -0
  57. package/custom-element/revogr-overlay-selection.js.map +1 -0
  58. package/custom-element/revogr-overlay-selection2.js +15 -3
  59. package/custom-element/revogr-overlay-selection2.js.map +1 -0
  60. package/custom-element/revogr-row-headers.js +2 -0
  61. package/custom-element/revogr-row-headers.js.map +1 -0
  62. package/custom-element/revogr-row-headers2.js +9 -3
  63. package/custom-element/revogr-row-headers2.js.map +1 -0
  64. package/custom-element/revogr-scroll-virtual.js +2 -0
  65. package/custom-element/revogr-scroll-virtual.js.map +1 -0
  66. package/custom-element/revogr-scroll-virtual2.js +5 -2
  67. package/custom-element/revogr-scroll-virtual2.js.map +1 -0
  68. package/custom-element/revogr-temp-range.js +2 -0
  69. package/custom-element/revogr-temp-range.js.map +1 -0
  70. package/custom-element/revogr-temp-range2.js +8 -4
  71. package/custom-element/revogr-temp-range2.js.map +1 -0
  72. package/custom-element/revogr-viewport-scroll.js +2 -0
  73. package/custom-element/revogr-viewport-scroll.js.map +1 -0
  74. package/custom-element/revogr-viewport-scroll2.js +6 -11
  75. package/custom-element/revogr-viewport-scroll2.js.map +1 -0
  76. package/custom-element/selection.utils.js +2 -0
  77. package/custom-element/selection.utils.js.map +1 -0
  78. package/custom-element/themeService.js +65 -0
  79. package/custom-element/themeService.js.map +1 -0
  80. package/custom-element/toInteger.js +2 -0
  81. package/custom-element/toInteger.js.map +1 -0
  82. package/custom-element/toNumber.js +3 -1
  83. package/custom-element/toNumber.js.map +1 -0
  84. package/custom-element/utils.js +2 -0
  85. package/custom-element/utils.js.map +1 -0
  86. package/dist/cjs/{debounce-6cea2774.js → debounce-25dce8a1.js} +3 -1
  87. package/dist/cjs/debounce-25dce8a1.js.map +1 -0
  88. package/dist/cjs/{index-cb904e00.js → index-5f3dfe40.js} +577 -283
  89. package/dist/cjs/index-5f3dfe40.js.map +1 -0
  90. package/dist/cjs/index.cjs.js +2 -0
  91. package/dist/cjs/index.cjs.js.map +1 -0
  92. package/dist/cjs/loader.cjs.js +5 -16
  93. package/dist/cjs/loader.cjs.js.map +1 -0
  94. package/dist/cjs/{resize-observer-bf327d6a.js → resize-observer-7f159b88.js} +5 -3
  95. package/dist/cjs/resize-observer-7f159b88.js.map +1 -0
  96. package/dist/cjs/revo-grid.cjs.js +11 -59
  97. package/dist/cjs/revo-grid.cjs.js.map +1 -0
  98. package/dist/cjs/revo-grid_11.cjs.entry.js +153 -150
  99. package/dist/cjs/revo-grid_11.cjs.entry.js.map +1 -0
  100. package/dist/cjs/revogr-clipboard.cjs.entry.js +4 -3
  101. package/dist/cjs/revogr-clipboard.cjs.entry.js.map +1 -0
  102. package/dist/cjs/revogr-filter-panel.cjs.entry.js +11 -6
  103. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -0
  104. package/dist/collection/collection-manifest.json +2 -2
  105. package/dist/collection/components/button/button.js +1 -0
  106. package/dist/collection/components/button/button.js.map +1 -0
  107. package/dist/collection/components/clipboard/revogr-clipboard.js +82 -80
  108. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -0
  109. package/dist/collection/components/data/cellRenderer.js +2 -2
  110. package/dist/collection/components/data/cellRenderer.js.map +1 -0
  111. package/dist/collection/components/data/columnService.js +4 -3
  112. package/dist/collection/components/data/columnService.js.map +1 -0
  113. package/dist/collection/components/data/revogr-data.js +240 -219
  114. package/dist/collection/components/data/revogr-data.js.map +1 -0
  115. package/dist/collection/components/data/rowRenderer.js +1 -0
  116. package/dist/collection/components/data/rowRenderer.js.map +1 -0
  117. package/dist/collection/components/header/headerCellRenderer.js +2 -3
  118. package/dist/collection/components/header/headerCellRenderer.js.map +1 -0
  119. package/dist/collection/components/header/headerRenderer.js +2 -3
  120. package/dist/collection/components/header/headerRenderer.js.map +1 -0
  121. package/dist/collection/components/header/revogr-header.js +244 -229
  122. package/dist/collection/components/header/revogr-header.js.map +1 -0
  123. package/dist/collection/components/order/orderRenderer.js +2 -5
  124. package/dist/collection/components/order/orderRenderer.js.map +1 -0
  125. package/dist/collection/components/order/revogr-order-editor.js +257 -248
  126. package/dist/collection/components/order/revogr-order-editor.js.map +1 -0
  127. package/dist/collection/components/order/rowOrderService.js +1 -0
  128. package/dist/collection/components/order/rowOrderService.js.map +1 -0
  129. package/dist/collection/components/overlay/autofill.service.js +1 -0
  130. package/dist/collection/components/overlay/autofill.service.js.map +1 -0
  131. package/dist/collection/components/overlay/clipboard.service.js +1 -0
  132. package/dist/collection/components/overlay/clipboard.service.js.map +1 -0
  133. package/dist/collection/components/overlay/editors/edit.utils.js +1 -0
  134. package/dist/collection/components/overlay/editors/edit.utils.js.map +1 -0
  135. package/dist/collection/components/overlay/editors/text.js +1 -0
  136. package/dist/collection/components/overlay/editors/text.js.map +1 -0
  137. package/dist/collection/components/overlay/keyboard.service.js +1 -0
  138. package/dist/collection/components/overlay/keyboard.service.js.map +1 -0
  139. package/dist/collection/components/overlay/revogr-edit.js +106 -94
  140. package/dist/collection/components/overlay/revogr-edit.js.map +1 -0
  141. package/dist/collection/components/overlay/revogr-overlay-selection.js +488 -466
  142. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -0
  143. package/dist/collection/components/overlay/selection.utils.js +1 -0
  144. package/dist/collection/components/overlay/selection.utils.js.map +1 -0
  145. package/dist/collection/components/revo-grid/revo-grid-style.css +7 -13
  146. package/dist/collection/components/revo-grid/revo-grid.js +1565 -1618
  147. package/dist/collection/components/revo-grid/revo-grid.js.map +1 -0
  148. package/dist/collection/components/revo-grid/viewport.helpers.js +1 -0
  149. package/dist/collection/components/revo-grid/viewport.helpers.js.map +1 -0
  150. package/dist/collection/components/revo-grid/viewport.interfaces.js +1 -3
  151. package/dist/collection/components/revo-grid/viewport.interfaces.js.map +1 -0
  152. package/dist/collection/components/revo-grid/viewport.js +2 -5
  153. package/dist/collection/components/revo-grid/viewport.js.map +1 -0
  154. package/dist/collection/components/revo-grid/viewport.resize.service.js +1 -0
  155. package/dist/collection/components/revo-grid/viewport.resize.service.js.map +1 -0
  156. package/dist/collection/components/revo-grid/viewport.scrolling.service.js +1 -0
  157. package/dist/collection/components/revo-grid/viewport.scrolling.service.js.map +1 -0
  158. package/dist/collection/components/revo-grid/viewport.section.js +2 -4
  159. package/dist/collection/components/revo-grid/viewport.section.js.map +1 -0
  160. package/dist/collection/components/revo-grid/viewport.service.js +8 -2
  161. package/dist/collection/components/revo-grid/viewport.service.js.map +1 -0
  162. package/dist/collection/components/rowHeaders/revogr-row-headers.js +151 -142
  163. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -0
  164. package/dist/collection/components/rowHeaders/row-header-render.js +1 -0
  165. package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -0
  166. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +2 -4
  167. package/dist/collection/components/scroll/revogr-viewport-scroll.js +161 -164
  168. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -0
  169. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +147 -135
  170. package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -0
  171. package/dist/collection/components/selection-focus/revogr-focus.js +141 -125
  172. package/dist/collection/components/selection-focus/revogr-focus.js.map +1 -0
  173. package/dist/collection/components/selection-temp-range/revogr-temp-range-style.css +1 -1
  174. package/dist/collection/components/selection-temp-range/revogr-temp-range.js +83 -74
  175. package/dist/collection/components/selection-temp-range/revogr-temp-range.js.map +1 -0
  176. package/dist/collection/global/global.js +1 -0
  177. package/dist/collection/global/global.js.map +1 -0
  178. package/dist/collection/index.js +1 -0
  179. package/dist/collection/index.js.map +1 -0
  180. package/dist/collection/plugins/autoSizeColumn.js +1 -0
  181. package/dist/collection/plugins/autoSizeColumn.js.map +1 -0
  182. package/dist/collection/plugins/basePlugin.js +1 -0
  183. package/dist/collection/plugins/basePlugin.js.map +1 -0
  184. package/dist/collection/plugins/dispatcher.js +1 -0
  185. package/dist/collection/plugins/dispatcher.js.map +1 -0
  186. package/dist/collection/plugins/export/csv.js +1 -0
  187. package/dist/collection/plugins/export/csv.js.map +1 -0
  188. package/dist/collection/plugins/export/export.plugin.js +1 -0
  189. package/dist/collection/plugins/export/export.plugin.js.map +1 -0
  190. package/dist/collection/plugins/export/types.js +1 -3
  191. package/dist/collection/plugins/export/types.js.map +1 -0
  192. package/dist/collection/plugins/filter/conditions/equal.js +1 -0
  193. package/dist/collection/plugins/filter/conditions/equal.js.map +1 -0
  194. package/dist/collection/plugins/filter/conditions/number/greaterThan.js +1 -0
  195. package/dist/collection/plugins/filter/conditions/number/greaterThan.js.map +1 -0
  196. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +1 -0
  197. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js.map +1 -0
  198. package/dist/collection/plugins/filter/conditions/number/lessThan.js +1 -0
  199. package/dist/collection/plugins/filter/conditions/number/lessThan.js.map +1 -0
  200. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +1 -0
  201. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js.map +1 -0
  202. package/dist/collection/plugins/filter/conditions/set.js +1 -0
  203. package/dist/collection/plugins/filter/conditions/set.js.map +1 -0
  204. package/dist/collection/plugins/filter/conditions/string/beginswith.js +1 -0
  205. package/dist/collection/plugins/filter/conditions/string/beginswith.js.map +1 -0
  206. package/dist/collection/plugins/filter/conditions/string/contains.js +1 -0
  207. package/dist/collection/plugins/filter/conditions/string/contains.js.map +1 -0
  208. package/dist/collection/plugins/filter/filter.button.js +6 -11
  209. package/dist/collection/plugins/filter/filter.button.js.map +1 -0
  210. package/dist/collection/plugins/filter/filter.plugin.js +1 -0
  211. package/dist/collection/plugins/filter/filter.plugin.js.map +1 -0
  212. package/dist/collection/plugins/filter/filter.pop.js +239 -234
  213. package/dist/collection/plugins/filter/filter.pop.js.map +1 -0
  214. package/dist/collection/plugins/filter/filter.service.js +1 -0
  215. package/dist/collection/plugins/filter/filter.service.js.map +1 -0
  216. package/dist/collection/plugins/filter/filter.style.css +2 -3
  217. package/dist/collection/plugins/filter/filter.types.js +1 -3
  218. package/dist/collection/plugins/filter/filter.types.js.map +1 -0
  219. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +1 -0
  220. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -0
  221. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +1 -0
  222. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js.map +1 -0
  223. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +1 -0
  224. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -0
  225. package/dist/collection/plugins/groupingRow/grouping.const.js +1 -0
  226. package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -0
  227. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +1 -0
  228. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -0
  229. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +6 -5
  230. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -0
  231. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +3 -7
  232. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -0
  233. package/dist/collection/plugins/groupingRow/grouping.row.types.js +1 -3
  234. package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -0
  235. package/dist/collection/plugins/groupingRow/grouping.service.js +1 -0
  236. package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -0
  237. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +1 -0
  238. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js.map +1 -0
  239. package/dist/collection/plugins/moveColumn/columnDragPlugin.js +1 -0
  240. package/dist/collection/plugins/moveColumn/columnDragPlugin.js.map +1 -0
  241. package/dist/collection/plugins/moveColumn/columnOrderHandler.js +1 -0
  242. package/dist/collection/plugins/moveColumn/columnOrderHandler.js.map +1 -0
  243. package/dist/collection/plugins/sorting/sorting.plugin.js +4 -3
  244. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -0
  245. package/dist/collection/plugins/sorting/sorting.sign.js +1 -0
  246. package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -0
  247. package/dist/collection/plugins/stretchPlugin.js +1 -0
  248. package/dist/collection/plugins/stretchPlugin.js.map +1 -0
  249. package/dist/collection/plugins/trimmed/trimmed.plugin.js +1 -0
  250. package/dist/collection/plugins/trimmed/trimmed.plugin.js.map +1 -0
  251. package/dist/collection/services/cell.helpers.js +1 -0
  252. package/dist/collection/services/cell.helpers.js.map +1 -0
  253. package/dist/collection/services/column.data.provider.js +8 -7
  254. package/dist/collection/services/column.data.provider.js.map +1 -0
  255. package/dist/collection/services/data.provider.js +1 -0
  256. package/dist/collection/services/data.provider.js.map +1 -0
  257. package/dist/collection/services/dimension.provider.js +1 -0
  258. package/dist/collection/services/dimension.provider.js.map +1 -0
  259. package/dist/collection/services/localScrollService.js +1 -0
  260. package/dist/collection/services/localScrollService.js.map +1 -0
  261. package/dist/collection/services/resizable.directive.js +2 -3
  262. package/dist/collection/services/resizable.directive.js.map +1 -0
  263. package/dist/collection/services/selection.store.connector.js +1 -0
  264. package/dist/collection/services/selection.store.connector.js.map +1 -0
  265. package/dist/collection/services/viewport.provider.js +1 -0
  266. package/dist/collection/services/viewport.provider.js.map +1 -0
  267. package/dist/collection/store/dataSource/data.proxy.js +1 -0
  268. package/dist/collection/store/dataSource/data.proxy.js.map +1 -0
  269. package/dist/collection/store/dataSource/data.store.js +4 -3
  270. package/dist/collection/store/dataSource/data.store.js.map +1 -0
  271. package/dist/collection/store/dimension/dimension.helpers.js +1 -0
  272. package/dist/collection/store/dimension/dimension.helpers.js.map +1 -0
  273. package/dist/collection/store/dimension/dimension.store.js +5 -3
  274. package/dist/collection/store/dimension/dimension.store.js.map +1 -0
  275. package/dist/collection/store/selection/selection.helpers.js +1 -0
  276. package/dist/collection/store/selection/selection.helpers.js.map +1 -0
  277. package/dist/collection/store/selection/selection.store.js +1 -0
  278. package/dist/collection/store/selection/selection.store.js.map +1 -0
  279. package/dist/collection/store/selection/selection.store.service.js +1 -0
  280. package/dist/collection/store/selection/selection.store.service.js.map +1 -0
  281. package/dist/collection/store/storeTypes.js +1 -0
  282. package/dist/collection/store/storeTypes.js.map +1 -0
  283. package/dist/collection/store/viewPort/viewport.helpers.js +1 -0
  284. package/dist/collection/store/viewPort/viewport.helpers.js.map +1 -0
  285. package/dist/collection/store/viewPort/viewport.store.js +1 -1
  286. package/dist/collection/store/viewPort/viewport.store.js.map +1 -0
  287. package/dist/collection/themeManager/theme.compact.js +1 -0
  288. package/dist/collection/themeManager/theme.compact.js.map +1 -0
  289. package/dist/collection/themeManager/theme.default.js +1 -0
  290. package/dist/collection/themeManager/theme.default.js.map +1 -0
  291. package/dist/collection/themeManager/theme.material.js +1 -0
  292. package/dist/collection/themeManager/theme.material.js.map +1 -0
  293. package/dist/collection/themeManager/themeService.js +6 -5
  294. package/dist/collection/themeManager/themeService.js.map +1 -0
  295. package/dist/collection/utils/closestPolifill.js +1 -0
  296. package/dist/collection/utils/closestPolifill.js.map +1 -0
  297. package/dist/collection/utils/consts.js +1 -0
  298. package/dist/collection/utils/consts.js.map +1 -0
  299. package/dist/collection/utils/generateAlphabetHeader.js +1 -0
  300. package/dist/collection/utils/generateAlphabetHeader.js.map +1 -0
  301. package/dist/collection/utils/keyCodes.js +1 -0
  302. package/dist/collection/utils/keyCodes.js.map +1 -0
  303. package/dist/collection/utils/keyCodes.utils.js +1 -0
  304. package/dist/collection/utils/keyCodes.utils.js.map +1 -0
  305. package/dist/collection/utils/platform.js +1 -0
  306. package/dist/collection/utils/platform.js.map +1 -0
  307. package/dist/collection/utils/resizeObserver.js +1 -0
  308. package/dist/collection/utils/resizeObserver.js.map +1 -0
  309. package/dist/collection/utils/store.utils.js +1 -0
  310. package/dist/collection/utils/store.utils.js.map +1 -0
  311. package/dist/collection/utils/utils.js +1 -0
  312. package/dist/collection/utils/utils.js.map +1 -0
  313. package/dist/esm/{debounce-e4e6dd45.js → debounce-7221834a.js} +3 -1
  314. package/dist/esm/debounce-7221834a.js.map +1 -0
  315. package/dist/esm/{index-6f753b3c.js → index-068eebfc.js} +577 -279
  316. package/dist/esm/index-068eebfc.js.map +1 -0
  317. package/dist/esm/index.js +2 -0
  318. package/dist/esm/index.js.map +1 -0
  319. package/dist/esm/loader.js +5 -16
  320. package/dist/esm/loader.js.map +1 -0
  321. package/dist/esm/polyfills/css-shim.js +1 -1
  322. package/dist/esm/{resize-observer-00c48d78.js → resize-observer-d817c4b6.js} +5 -3
  323. package/dist/esm/resize-observer-d817c4b6.js.map +1 -0
  324. package/dist/esm/revo-grid.js +9 -60
  325. package/dist/esm/revo-grid.js.map +1 -0
  326. package/dist/esm/revo-grid_11.entry.js +153 -150
  327. package/dist/esm/revo-grid_11.entry.js.map +1 -0
  328. package/dist/esm/revogr-clipboard.entry.js +4 -3
  329. package/dist/esm/revogr-clipboard.entry.js.map +1 -0
  330. package/dist/esm/revogr-filter-panel.entry.js +11 -6
  331. package/dist/esm/revogr-filter-panel.entry.js.map +1 -0
  332. package/dist/esm-es5/{debounce-e4e6dd45.js → debounce-7221834a.js} +2 -1
  333. package/dist/esm-es5/debounce-7221834a.js.map +1 -0
  334. package/dist/esm-es5/index-068eebfc.js +5 -0
  335. package/dist/esm-es5/index-068eebfc.js.map +1 -0
  336. package/dist/esm-es5/index.js +1 -0
  337. package/dist/esm-es5/index.js.map +1 -0
  338. package/dist/esm-es5/loader.js +2 -1
  339. package/dist/esm-es5/loader.js.map +1 -0
  340. package/dist/esm-es5/{resize-observer-00c48d78.js → resize-observer-d817c4b6.js} +2 -1
  341. package/dist/esm-es5/resize-observer-d817c4b6.js.map +1 -0
  342. package/dist/esm-es5/revo-grid.js +2 -1
  343. package/dist/esm-es5/revo-grid.js.map +1 -0
  344. package/dist/esm-es5/revo-grid_11.entry.js +3 -2
  345. package/dist/esm-es5/revo-grid_11.entry.js.map +1 -0
  346. package/dist/esm-es5/revogr-clipboard.entry.js +3 -2
  347. package/dist/esm-es5/revogr-clipboard.entry.js.map +1 -0
  348. package/dist/esm-es5/revogr-filter-panel.entry.js +3 -2
  349. package/dist/esm-es5/revogr-filter-panel.entry.js.map +1 -0
  350. package/dist/revo-grid/debounce-7221834a.js +5 -0
  351. package/dist/revo-grid/debounce-7221834a.js.map +1 -0
  352. package/dist/revo-grid/{debounce-5a33c710.system.js → debounce-fa358fc7.system.js} +2 -1
  353. package/dist/revo-grid/debounce-fa358fc7.system.js.map +1 -0
  354. package/dist/revo-grid/index-068eebfc.js +6 -0
  355. package/dist/revo-grid/index-068eebfc.js.map +1 -0
  356. package/dist/revo-grid/index-36847b63.system.js +6 -0
  357. package/dist/revo-grid/index-36847b63.system.js.map +1 -0
  358. package/dist/revo-grid/index.esm.js +2 -0
  359. package/dist/revo-grid/index.esm.js.map +1 -0
  360. package/dist/revo-grid/index.system.js +2 -1
  361. package/dist/revo-grid/index.system.js.map +1 -0
  362. package/dist/revo-grid/{resize-observer-8af0bc0e.system.js → resize-observer-64c845eb.system.js} +2 -1
  363. package/dist/revo-grid/resize-observer-64c845eb.system.js.map +1 -0
  364. package/dist/revo-grid/resize-observer-d817c4b6.js +5 -0
  365. package/dist/revo-grid/resize-observer-d817c4b6.js.map +1 -0
  366. package/dist/revo-grid/revo-grid.esm.js +2 -1
  367. package/dist/revo-grid/revo-grid.esm.js.map +1 -0
  368. package/dist/revo-grid/revo-grid.js +0 -2
  369. package/dist/revo-grid/revo-grid.system.js +2 -1
  370. package/dist/revo-grid/revo-grid.system.js.map +1 -0
  371. package/dist/revo-grid/revo-grid_11.entry.js +2 -1
  372. package/dist/revo-grid/revo-grid_11.entry.js.map +1 -0
  373. package/dist/revo-grid/revo-grid_11.system.entry.js +3 -2
  374. package/dist/revo-grid/revo-grid_11.system.entry.js.map +1 -0
  375. package/dist/revo-grid/revogr-clipboard.entry.js +2 -1
  376. package/dist/revo-grid/revogr-clipboard.entry.js.map +1 -0
  377. package/dist/revo-grid/revogr-clipboard.system.entry.js +3 -2
  378. package/dist/revo-grid/revogr-clipboard.system.entry.js.map +1 -0
  379. package/dist/revo-grid/revogr-filter-panel.entry.js +2 -1
  380. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -0
  381. package/dist/revo-grid/revogr-filter-panel.system.entry.js +3 -2
  382. package/dist/revo-grid/revogr-filter-panel.system.entry.js.map +1 -0
  383. package/dist/types/components/data/cellRenderer.d.ts +1 -1
  384. package/dist/types/components/data/columnService.d.ts +4 -4
  385. package/dist/types/components/header/headerCellRenderer.d.ts +1 -1
  386. package/dist/types/components/header/headerRenderer.d.ts +1 -1
  387. package/dist/types/components/order/orderRenderer.d.ts +1 -1
  388. package/dist/types/components/order/rowOrderService.d.ts +1 -1
  389. package/dist/types/components/overlay/autofill.service.d.ts +1 -1
  390. package/dist/types/components/overlay/clipboard.service.d.ts +1 -1
  391. package/dist/types/components/overlay/editors/text.d.ts +1 -1
  392. package/dist/types/components/overlay/keyboard.service.d.ts +1 -1
  393. package/dist/types/components/overlay/selection.utils.d.ts +1 -1
  394. package/dist/types/components/revo-grid/viewport.d.ts +1 -1
  395. package/dist/types/components/revo-grid/viewport.interfaces.d.ts +5 -5
  396. package/dist/types/components/revo-grid/viewport.scrolling.service.d.ts +1 -1
  397. package/dist/types/components/revo-grid/viewport.section.d.ts +1 -1
  398. package/dist/types/components/revo-grid/viewport.service.d.ts +6 -3
  399. package/dist/types/components/rowHeaders/row-header-render.d.ts +1 -1
  400. package/dist/types/components.d.ts +26 -0
  401. package/dist/types/plugins/autoSizeColumn.d.ts +1 -1
  402. package/dist/types/plugins/dispatcher.d.ts +1 -1
  403. package/dist/types/plugins/export/csv.d.ts +1 -1
  404. package/dist/types/plugins/export/export.plugin.d.ts +1 -1
  405. package/dist/types/plugins/export/types.d.ts +2 -2
  406. package/dist/types/plugins/filter/filter.button.d.ts +1 -1
  407. package/dist/types/plugins/filter/filter.plugin.d.ts +6 -6
  408. package/dist/types/plugins/filter/filter.pop.d.ts +4 -4
  409. package/dist/types/plugins/filter/filter.service.d.ts +1 -1
  410. package/dist/types/plugins/filter/filter.types.d.ts +5 -5
  411. package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +1 -1
  412. package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +1 -1
  413. package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +1 -1
  414. package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +1 -1
  415. package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +5 -5
  416. package/dist/types/plugins/groupingRow/grouping.service.d.ts +1 -1
  417. package/dist/types/plugins/moveColumn/columnDragPlugin.d.ts +5 -5
  418. package/dist/types/plugins/sorting/sorting.plugin.d.ts +1 -1
  419. package/dist/types/plugins/sorting/sorting.sign.d.ts +1 -1
  420. package/dist/types/plugins/trimmed/trimmed.plugin.d.ts +2 -2
  421. package/dist/types/services/column.data.provider.d.ts +4 -4
  422. package/dist/types/services/data.provider.d.ts +1 -1
  423. package/dist/types/services/dimension.provider.d.ts +2 -2
  424. package/dist/types/services/localScrollService.d.ts +1 -1
  425. package/dist/types/services/resizable.directive.d.ts +2 -2
  426. package/dist/types/services/selection.store.connector.d.ts +2 -2
  427. package/dist/types/services/viewport.provider.d.ts +1 -1
  428. package/dist/types/stencil-public-runtime.d.ts +91 -19
  429. package/dist/types/store/dataSource/data.proxy.d.ts +1 -1
  430. package/dist/types/store/dataSource/data.store.d.ts +4 -4
  431. package/dist/types/store/dimension/dimension.helpers.d.ts +3 -3
  432. package/dist/types/store/selection/selection.store.d.ts +1 -1
  433. package/dist/types/store/viewPort/viewport.helpers.d.ts +2 -2
  434. package/loader/index.d.ts +9 -0
  435. package/loader/package.json +1 -0
  436. package/package.json +1 -1
  437. package/dist/cjs/css-shim-9f5bc84d.js +0 -9
  438. package/dist/cjs/dom-fcb646f0.js +0 -78
  439. package/dist/esm/css-shim-e1e1ea5e.js +0 -7
  440. package/dist/esm/dom-21bd1807.js +0 -76
  441. package/dist/esm-es5/css-shim-e1e1ea5e.js +0 -4
  442. package/dist/esm-es5/dom-21bd1807.js +0 -24
  443. package/dist/esm-es5/index-6f753b3c.js +0 -4
  444. package/dist/revo-grid/css-shim-bcf89cc0.system.js +0 -4
  445. package/dist/revo-grid/css-shim-e1e1ea5e.js +0 -4
  446. package/dist/revo-grid/debounce-726bdadb.js +0 -4
  447. package/dist/revo-grid/dom-21bd1807.js +0 -22
  448. package/dist/revo-grid/dom-726246e2.system.js +0 -24
  449. package/dist/revo-grid/index-f14b41a0.system.js +0 -5
  450. package/dist/revo-grid/index-f30d1de1.js +0 -5
  451. package/dist/revo-grid/resize-observer-00c48d78.js +0 -4
@@ -249,7 +249,6 @@ export const ResizableElement = (props, children) => {
249
249
  }
250
250
  }
251
251
  }
252
- return (h("div", Object.assign({}, props, { ref: (e) => directive === null || directive === void 0 ? void 0 : directive.set(e) }),
253
- children,
254
- resizeEls));
252
+ return (h("div", Object.assign({}, props, { ref: (e) => directive === null || directive === void 0 ? void 0 : directive.set(e) }), children, resizeEls));
255
253
  };
254
+ //# sourceMappingURL=resizable.directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizable.directive.js","sourceRoot":"","sources":["../../src/services/resizable.directive.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, VNode } from '@stencil/core';\nimport { RevoGrid } from '../interfaces';\n\ntype Props = {\n active: ('r' | 'rb' | 'b' | 'lb' | 'l' | 'lt' | 't' | 'rt')[]; // all\n fitParent: boolean; // false\n minWidth: number; // 0\n minHeight: number; // 0\n\n disableAttributes: ('l' | 't' | 'w' | 'h')[]; // []\n maxWidth?: number;\n maxHeight?: number;\n\n onResize?(e: ResizeEvent): void;\n onDoubleClick?(): void;\n};\n\nexport type ResizeEvent = {\n eventName: string;\n changedX?: number;\n changedY?: number;\n width?: number;\n height?: number;\n};\n\nenum ResizeEvents {\n start = 'resize:start',\n move = 'resize:move',\n end = 'resize:end',\n}\n\nconst RESIZE_MASK: { [key: string]: any } = {\n 'resizable-r': { bit: 0b0001, cursor: 'ew-resize' },\n 'resizable-rb': { bit: 0b0011, cursor: 'se-resize' },\n 'resizable-b': { bit: 0b0010, cursor: 's-resize' },\n 'resizable-lb': { bit: 0b0110, cursor: 'sw-resize' },\n 'resizable-l': { bit: 0b0100, cursor: 'w-resize' },\n 'resizable-lt': { bit: 0b1100, cursor: 'nw-resize' },\n 'resizable-t': { bit: 0b1000, cursor: 'n-resize' },\n 'resizable-rt': { bit: 0b1001, cursor: 'ne-resize' },\n};\n\nconst DISABLE_MASK = {\n l: 0b0001,\n t: 0b0010,\n w: 0b0100,\n h: 0b1000,\n};\n\nconst defaultProps = (props: Partial<Props>): Props => {\n return {\n ...props,\n fitParent: props.fitParent || false,\n active: props.active || [],\n disableAttributes: props.disableAttributes || [],\n minWidth: props.minWidth || 0,\n minHeight: props.minHeight || 0,\n };\n};\n\nexport class ResizeDirective {\n private $el: HTMLElement;\n private props: Props;\n private minW: number;\n private minH: number;\n private maxW: number;\n private maxH: number;\n\n private mouseX: number = 0;\n private mouseY: number = 0;\n\n private width: number = 0;\n private height: number = 0;\n\n private changeX: number = 0;\n private changeY: number = 0;\n\n private parent: { width: number; height: number };\n private resizeState: number;\n private activeResizer: HTMLElement | null;\n private disableCalcMap: number = 0b1111;\n\n private mouseMoveFunc: () => void;\n private mouseUpFunc: () => void;\n\n constructor(private initialProps: Partial<Props>, private $event?: (e: ResizeEvent) => void) {\n this.props = defaultProps(initialProps);\n this.mouseMoveFunc = this.handleMove.bind(this);\n this.mouseUpFunc = this.handleUp.bind(this);\n\n this.minW = this.props.minWidth;\n this.minH = this.props.minHeight;\n this.maxW = this.props.maxWidth;\n this.maxH = this.props.maxHeight;\n this.parent = { width: 0, height: 0 };\n this.resizeState = 0;\n }\n\n set($el: HTMLElement) {\n this.$el = $el;\n this.props.disableAttributes.forEach(attr => {\n switch (attr) {\n case 'l':\n this.disableCalcMap &= ~DISABLE_MASK.l;\n break;\n case 't':\n this.disableCalcMap &= ~DISABLE_MASK.t;\n break;\n case 'w':\n this.disableCalcMap &= ~DISABLE_MASK.w;\n break;\n case 'h':\n this.disableCalcMap &= ~DISABLE_MASK.h;\n }\n });\n }\n emitEvent(eventName: string, additionalOptions?: any) {\n if (!this.$event) {\n return;\n }\n this.$event({\n eventName,\n width: this.width + this.changeX,\n height: this.height + this.changeY,\n changedX: this.changeX,\n changedY: this.changeY,\n ...additionalOptions,\n });\n }\n\n private static isTouchEvent(e: MouseEvent | TouchEvent): e is TouchEvent {\n const event = e as TouchEvent;\n return event.touches?.length >= 0;\n }\n\n handleMove(event: MouseEvent | TouchEvent) {\n if (!this.resizeState) {\n return;\n }\n let eventY, eventX;\n if (ResizeDirective.isTouchEvent(event)) {\n eventY = event.touches[0].clientY;\n eventX = event.touches[0].clientX;\n } else {\n eventY = event.clientY;\n eventX = event.clientX;\n }\n let isX = this.resizeState & RESIZE_MASK['resizable-r'].bit || this.resizeState & RESIZE_MASK['resizable-l'].bit;\n\n let isY = this.resizeState & RESIZE_MASK['resizable-t'].bit || this.resizeState & RESIZE_MASK['resizable-b'].bit;\n\n if (isY && this.disableCalcMap & DISABLE_MASK.h) {\n let diffY = eventY - this.mouseY;\n let changedY = this.changeY + diffY;\n const newHeight = this.height + changedY;\n // if overcrossed min height\n if (newHeight < this.minH) {\n changedY = -(this.height - this.minH);\n }\n // if overcrossed max heiht\n if (this.maxH && newHeight > this.maxH) {\n changedY = this.maxH - this.height;\n }\n\n this.changeY = changedY;\n this.mouseY = eventY;\n\n if (this.activeResizer) {\n this.activeResizer.style.bottom = `${-this.changeY}px`;\n }\n }\n if (isX && this.disableCalcMap & DISABLE_MASK.w) {\n let diffX = eventX - this.mouseX;\n let changedX = this.changeX + diffX;\n const newWidth = this.width + changedX;\n\n // if overcrossed min width\n if (newWidth < this.minW) {\n changedX = -(this.width - this.minW);\n }\n // if overcrossed max width\n if (this.maxW && newWidth > this.maxW) {\n changedX = this.maxW - this.width;\n }\n\n this.changeX = changedX;\n this.mouseX = eventX;\n\n if (this.activeResizer) {\n this.activeResizer.style.right = `${-this.changeX}px`;\n }\n }\n this.emitEvent(ResizeEvents.move);\n }\n\n handleDown(event: MouseEvent | TouchEvent) {\n if (event.defaultPrevented) {\n return;\n }\n // stop other events if resize in progress\n event.preventDefault();\n\n this.dropInitial();\n for (let elClass in RESIZE_MASK) {\n const target = event.target as HTMLElement | null;\n if (this.$el.contains(target) && target?.classList.contains(elClass)) {\n document.body.style.cursor = RESIZE_MASK[elClass].cursor;\n if (ResizeDirective.isTouchEvent(event)) {\n this.setInitials(event.touches[0], target);\n } else {\n event.preventDefault && event.preventDefault();\n this.setInitials(event, target);\n }\n this.resizeState = RESIZE_MASK[elClass].bit;\n const eventName = ResizeEvents.start;\n this.emitEvent(eventName);\n break;\n }\n }\n this.bindMove();\n }\n\n handleUp(e: MouseEvent) {\n e.preventDefault();\n if (this.resizeState !== 0) {\n this.resizeState = 0;\n document.body.style.cursor = '';\n const eventName = ResizeEvents.end;\n this.emitEvent(eventName);\n }\n this.dropInitial();\n this.unbindMove();\n }\n\n private setInitials({ clientX, clientY }: { clientX: number; clientY: number }, target?: HTMLElement) {\n const computedStyle = getComputedStyle(this.$el);\n this.$el.classList.add('active');\n this.activeResizer = target;\n\n if (this.disableCalcMap & DISABLE_MASK.w) {\n this.mouseX = clientX;\n this.width = this.$el.clientWidth;\n this.parent.width = this.$el.parentElement.clientWidth;\n\n // min width\n const minPaddingX = parseFloat(computedStyle.paddingLeft) + parseFloat(computedStyle.paddingRight);\n this.minW = Math.max(minPaddingX, this.initialProps.minWidth || 0);\n\n // max width\n if (this.initialProps.maxWidth) {\n this.maxW = Math.max(this.width, this.initialProps.maxWidth);\n }\n }\n\n if (this.disableCalcMap & DISABLE_MASK.h) {\n this.mouseY = clientY;\n this.height = this.$el.clientHeight;\n this.parent.height = this.$el.parentElement.clientHeight;\n\n // min height\n const minPaddingY = parseFloat(computedStyle.paddingTop) + parseFloat(computedStyle.paddingBottom);\n this.minH = Math.max(minPaddingY, this.initialProps.minHeight || 0);\n // max height\n if (this.initialProps.maxHeight) {\n this.maxH = Math.max(this.height, this.initialProps.maxHeight);\n }\n }\n }\n\n private dropInitial() {\n this.changeX = this.changeY = this.minW = this.minH;\n this.width = this.height = 0;\n if (this.activeResizer) {\n this.activeResizer.removeAttribute('style');\n }\n this.$el.classList.remove('active');\n this.activeResizer = null;\n }\n\n private bindMove() {\n document.documentElement.addEventListener('mouseup', this.mouseUpFunc, true);\n document.documentElement.addEventListener('touchend', this.mouseUpFunc, true);\n document.documentElement.addEventListener('mousemove', this.mouseMoveFunc, true);\n document.documentElement.addEventListener('touchmove', this.mouseMoveFunc, true);\n document.documentElement.addEventListener('mouseleave', this.mouseUpFunc);\n }\n\n private unbindMove() {\n document.documentElement.removeEventListener('mouseup', this.mouseUpFunc, true);\n document.documentElement.removeEventListener('touchend', this.mouseUpFunc, true);\n document.documentElement.removeEventListener('mousemove', this.mouseMoveFunc, true);\n document.documentElement.removeEventListener('touchmove', this.mouseMoveFunc, true);\n document.documentElement.removeEventListener('mouseleave', this.mouseUpFunc);\n }\n}\n\nexport const ResizableElement = (props: Partial<Props> & RevoGrid.CellProps, children: VNode[]) => {\n const resizeEls: VNode[] = [];\n const directive =\n (props.canResize &&\n new ResizeDirective(props, e => {\n if (e.eventName === ResizeEvents.end) {\n props.onResize && props.onResize(e);\n }\n })) ||\n null;\n if (props.canResize) {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick && props.onDoubleClick();\n }}\n onMouseDown={(e: MouseEvent) => directive?.handleDown(e)}\n onTouchStart={(e: TouchEvent) => directive?.handleDown(e)}\n class={`resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n } else {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick && props.onDoubleClick();\n }}\n class={`no-resize resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n }\n return (\n <div {...props} ref={(e: HTMLElement) => directive?.set(e)}>\n {children}\n {resizeEls}\n </div>\n );\n};\n"]}
@@ -214,3 +214,4 @@ export default class SelectionStoreConnector {
214
214
  return stores;
215
215
  }
216
216
  }
217
+ //# sourceMappingURL=selection.store.connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.store.connector.js","sourceRoot":"","sources":["../../src/services/selection.store.connector.ts"],"names":[],"mappings":"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","sourcesContent":["import { Edition, Selection } from '../interfaces';\nimport { cropCellToMax, isHiddenStore, nextCell } from '../store/selection/selection.helpers';\nimport { SelectionStore } from '../store/selection/selection.store';\n\nimport Cell = Selection.Cell;\nimport EditCellStore = Edition.EditCellStore;\n\ntype StoresMatrix = { [y: number]: { [x: number]: SelectionStore } };\ntype StoreByDimension = Record<number, SelectionStore>;\ntype FocusedStore = {\n entity: SelectionStore;\n cell: Selection.Cell;\n position: Selection.Cell;\n};\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 private readonly stores: StoresMatrix = {};\n\n readonly columnStores: StoreByDimension = {};\n readonly rowStores: { [y: number]: SelectionStore } = {};\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(): Selection.RangeArea | undefined {\n return this.focusedStore?.entity.store.get('range');\n }\n\n private readonly sections: Element[] = [];\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): SelectionStore {\n // if hidden just create store\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 return this.columnStores[x];\n }\n\n registerRow(y: number): 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 return this.rowStores[y];\n }\n\n /**\n * Cross store proxy, based on multiple dimensions\n */\n register({ x, y }: Selection.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\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', () => {\n this.columnStores[x]?.dispose();\n this.rowStores[y]?.dispose();\n delete this.rowStores[y];\n delete this.columnStores[x];\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 return this.stores[y][x];\n }\n\n setEditByCell({ x, y }: Selection.Cell, editCell: Selection.Cell) {\n const store = this.stores[y][x];\n this.focus(store, { focus: editCell, end: editCell });\n this.setEdit('');\n }\n\n focus(store: SelectionStore, { focus, end }: { focus: Cell; end: Cell }) {\n let currentStorePointer: Selection.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;\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\n // if next store present - update\n if (nextStore) {\n let item = { ...focus, ...nextItem };\n this.focus(nextStore, { focus: item, end: item });\n return;\n }\n\n focus = cropCellToMax(focus, lastCell);\n end = cropCellToMax(focus, lastCell);\n\n store.setFocus(focus, end);\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 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"]}
@@ -15,3 +15,4 @@ export default class ViewportProvider {
15
15
  this.stores[dimensionType].setViewport(data);
16
16
  }
17
17
  }
18
+ //# sourceMappingURL=viewport.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport.provider.js","sourceRoot":"","sources":["../../src/services/viewport.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAI7D,MAAM,CAAC,OAAO,OAAO,gBAAgB;EAEnC;IACE,IAAI,CAAC,MAAM,GAAG,MAAM,CAClB,CAAC,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC,EAC7B,CAAC,OAAgC,EAAE,CAA8B,EAAE,EAAE;MACnE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;MACjC,OAAO,OAAO,CAAC;IACjB,CAAC,EACD,EAAE,CACe,CAAC;EACtB,CAAC;EAED,WAAW,CAAC,aAA0C,EAAE,IAAqC;IAC3F,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;EAC/C,CAAC;CACF","sourcesContent":["import reduce from 'lodash/reduce';\nimport { columnTypes, rowTypes } from '../store/storeTypes';\nimport ViewportStore from '../store/viewPort/viewport.store';\nimport { RevoGrid } from '../interfaces';\n\nexport type ViewportStores = { [T in RevoGrid.MultiDimensionType]: ViewportStore };\nexport default class ViewportProvider {\n readonly stores: ViewportStores;\n constructor() {\n this.stores = reduce(\n [...rowTypes, ...columnTypes],\n (sources: Partial<ViewportStores>, k: RevoGrid.MultiDimensionType) => {\n sources[k] = new ViewportStore();\n return sources;\n },\n {},\n ) as ViewportStores;\n }\n\n setViewport(dimensionType: RevoGrid.MultiDimensionType, data: Partial<RevoGrid.ViewportState>): void {\n this.stores[dimensionType].setViewport(data);\n }\n}\n"]}
@@ -35,3 +35,4 @@ export const proxyPlugin = (store) => ({
35
35
  function isProxy(k) {
36
36
  return k === 'proxyItems';
37
37
  }
38
+ //# sourceMappingURL=data.proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.proxy.js","sourceRoot":"","sources":["../../../src/store/dataSource/data.proxy.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAwB,EAA0B,EAAE,CAAC,CAAC;EAChF,GAAG,CAAC,CAAC,EAAE,MAAM;IACX,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;MACf,OAAO;KACR;IACD;;;OAGG;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAA0B,EAAE,CAAC,EAAE,EAAE;MAC3E,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;MACZ,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,EAAE,CAAC,CAAC;IACP;;;OAGG;IACH,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAW,EAAE,CAAS,EAAE,EAAE;MACxD,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;QACf,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;OACX;MACD,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;EAC/B,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,OAAO,CAAC,CAAc;EAC7B,OAAO,CAAC,KAAK,YAAY,CAAC;AAC5B,CAAC","sourcesContent":["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"]}
@@ -8,6 +8,9 @@ import { trimmedPlugin } from '../../plugins/trimmed/trimmed.plugin';
8
8
  import { setStore } from '../../utils/store.utils';
9
9
  import { proxyPlugin } from './data.proxy';
10
10
  export default class DataStore {
11
+ get store() {
12
+ return this.dataStore;
13
+ }
11
14
  constructor(type) {
12
15
  const store = (this.dataStore = createStore({
13
16
  items: [],
@@ -21,9 +24,6 @@ export default class DataStore {
21
24
  store.use(proxyPlugin(store));
22
25
  store.use(trimmedPlugin(store));
23
26
  }
24
- get store() {
25
- return this.dataStore;
26
- }
27
27
  /**
28
28
  * full data source update
29
29
  * @param source - data column/rgRow source
@@ -129,3 +129,4 @@ export function getSourceItemVirtualIndexByProp(store, prop) {
129
129
  const physicalIndex = findIndex(source, { prop });
130
130
  return items.indexOf(physicalIndex);
131
131
  }
132
+ //# sourceMappingURL=data.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.store.js","sourceRoot":"","sources":["../../../src/store/dataSource/data.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAW,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiC3C,MAAM,CAAC,OAAO,OAAO,SAAS;EAE5B,IAAI,KAAK;IACP,OAAO,IAAI,CAAC,SAAS,CAAC;EACxB,CAAC;EACD,YAAY,IAAQ;IAClB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;MAC1C,KAAK,EAAE,EAAE;MACT,UAAU,EAAE,EAAE;MACd,MAAM,EAAE,EAAE;MACV,aAAa,EAAE,CAAC;MAChB,MAAM,EAAE,EAAE;MACV,IAAI;MACJ,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC,CAAC;IACJ,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;EAClC,CAAC;EAED;;;;KAIG;EACH,UAAU,CACR,MAAW,EACX,QAAsF,EACtF,MAAM,GAAG,KAAK;IAEd,qCAAqC;IACrC,IAAI,CAAC,MAAM,EAAE;MACX,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;KAC/B;IACD,cAAc;IACd,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,CAAC,CAAC,CAAC;IAE5C,kBAAkB;IAClB,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;MACnB,MAAM;MACN,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC;KACvB,CAAC,CAAC;IACH,oBAAoB;IACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/B,4BAA4B;IAC5B,IAAI,QAAQ,EAAE;MACZ,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;QACnB,aAAa,EAAE,QAAQ,CAAC,KAAK;QAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,sBAAsB,EAAE,QAAQ,CAAC,cAAc;OAChD,CAAC,CAAC;KACJ;EACH,CAAC;EAED,UAAU,CAAC,IAAsB;IAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,mCAAQ,OAAO,GAAK,IAAI,CAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;EACpC,CAAC;EAED,oBAAoB;EACpB,OAAO,CAAC,KAAsC;IAC5C,MAAM,IAAI,qBACL,KAAK,CACT,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;EAC7B,CAAC;EAED,OAAO;IACL,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;EACxC,CAAC;CACF;AACD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAA4C,EAAE,YAAoB;EAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EACjC,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA4C;EAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EACnC,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAA4C,EAAE,YAAoB;EAC9F,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EACjC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EACnC,OAAO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAI,KAA0C,EAAE,YAA+B;EACpH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EACjC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EAEnC,KAAK,IAAI,YAAY,IAAI,YAAY,EAAE;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;GAChD;EACD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAI,KAA0C,EAAE,YAA+B;EACrH,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EACnC,KAAK,IAAI,KAAK,IAAI,YAAY,EAAE;IAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;GACrC;EACD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,KAA0C,EAAE,KAAe;EACrF,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAA4C,EAAE,IAAyB;EACrH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EACjC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EACnC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;EAClD,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC","sourcesContent":["import { createStore } from '@stencil/store';\nimport findIndex from 'lodash/findIndex';\nimport range from 'lodash/range';\n\nimport { Trimmed, trimmedPlugin } from '../../plugins/trimmed/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';\nimport DataType = RevoGrid.DataType;\nimport ColumnRegular = RevoGrid.ColumnRegular;\nimport DimensionRows = RevoGrid.DimensionRows;\nimport DimensionCols = RevoGrid.DimensionCols;\n\nexport interface Group extends RevoGrid.ColumnProperties {\n name: string;\n children: RevoGrid.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 DataSourceState<T extends GDataType, ST extends GDimension> = {\n // items - index based array for mapping to source tree\n items: number[];\n // all items, used as proxy for sorting, trimming and others\n proxyItems: number[];\n // original data source\n source: T[];\n // grouping\n groupingDepth: number;\n groups: Groups;\n groupingCustomRenderer?: GroupLabelTemplateFunc;\n // data source type\n type: ST;\n // trim data, to hide entities from visible data source\n trimmed: Trimmed;\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({\n items: [],\n proxyItems: [],\n source: [],\n groupingDepth: 0,\n groups: {},\n type,\n trimmed: {},\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 grooping 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) {\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"]}
@@ -108,3 +108,4 @@ export function getItemByIndex(dimension, index) {
108
108
  item.end = item.start + dimension.originItemSize;
109
109
  return item;
110
110
  }
111
+ //# sourceMappingURL=dimension.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimension.helpers.js","sourceRoot":"","sources":["../../../src/store/dimension/dimension.helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import each from 'lodash/each';\nimport sortedIndex from 'lodash/sortedIndex';\nimport reduce from 'lodash/reduce';\n\nimport { mergeSortedArray } from '../../utils/utils';\nimport { RevoGrid } from '../../interfaces';\n\nexport type DimensionPosition = Pick<RevoGrid.DimensionSettingsState, 'indexes' | 'positionIndexes' | 'originItemSize' | 'positionIndexToItem'>;\ntype DimensionIndexInput = Pick<RevoGrid.DimensionSettingsState, 'indexes' | 'originItemSize' | 'indexToItem'>;\nexport type DimensionSize = Pick<RevoGrid.DimensionSettingsState, 'indexes' | 'positionIndexes' | 'positionIndexToItem' | 'indexToItem' | 'realSize' | 'sizes'>;\n/**\n * Pre-calculation\n * Dimension sizes for each cell\n */\nexport function calculateDimensionData(\n state: RevoGrid.DimensionSettingsState,\n newSizes: RevoGrid.ViewSettingSizeProp): DimensionSize {\n let positionIndexes: number[] = [];\n\n const positionIndexToItem: { [position: number]: RevoGrid.PositionItem } = {};\n const indexToItem: { [index: number]: RevoGrid.PositionItem } = {};\n\n // to compare how real width changed\n let newTotal = 0;\n\n // combine all sizes\n const sizes: RevoGrid.ViewSettingSizeProp = { ...state.sizes, ...newSizes };\n // prepare order sorted new sizes and calculate changed real size\n let newIndexes: number[] = [];\n each(newSizes, (size: number, index: string) => {\n // if first introduced custom size\n if (!state.sizes[index]) {\n newTotal += size - (state.realSize ? state.originItemSize : 0);\n newIndexes.splice(sortedIndex(newIndexes, parseInt(index, 10)), 0, parseInt(index, 10));\n } else {\n newTotal += size - state.sizes[index];\n }\n });\n\n // add order to cached order collection for faster linking\n const updatedIndexesCache: number[] = mergeSortedArray(state.indexes, newIndexes);\n\n // fill new coordinates\n reduce(\n updatedIndexesCache,\n (previous: RevoGrid.PositionItem | undefined, itemIndex: number, i: number) => {\n const newItem: RevoGrid.PositionItem = {\n itemIndex,\n start: 0,\n end: 0,\n };\n if (previous) {\n newItem.start = (itemIndex - previous.itemIndex - 1) * state.originItemSize + previous.end;\n } else {\n newItem.start = itemIndex * state.originItemSize;\n }\n newItem.end = newItem.start + sizes[itemIndex];\n positionIndexes.push(newItem.start);\n indexToItem[itemIndex] = positionIndexToItem[i] = newItem;\n return newItem;\n },\n undefined,\n );\n\n return {\n indexes: updatedIndexesCache,\n positionIndexes: [...positionIndexes],\n positionIndexToItem: { ...positionIndexToItem },\n indexToItem,\n realSize: state.realSize + newTotal,\n sizes,\n };\n}\n\nexport function getItemByPosition({ indexes, positionIndexes, originItemSize, positionIndexToItem }: DimensionPosition, pos: number) {\n const item: RevoGrid.PositionItem = {\n itemIndex: 0,\n start: 0,\n end: 0,\n };\n const currentPlace: number = indexes.length ? sortedIndex(positionIndexes, pos) : 0;\n // not found or first index\n if (!currentPlace) {\n item.itemIndex = Math.floor(pos / originItemSize);\n item.start = item.itemIndex * originItemSize;\n item.end = item.start + originItemSize;\n return item;\n }\n const positionItem: RevoGrid.PositionItem = positionIndexToItem[currentPlace - 1];\n // if item has specified size\n if (positionItem.end > pos) {\n return positionItem;\n }\n // special size item was present before\n const relativePos: number = pos - positionItem.end;\n const relativeIndex: number = Math.floor(relativePos / originItemSize);\n item.itemIndex = positionItem.itemIndex + 1 + relativeIndex;\n item.start = positionItem.end + relativeIndex * originItemSize;\n item.end = item.start + originItemSize;\n return item;\n}\n\n\nexport function getItemByIndex(dimension: DimensionIndexInput, index: number) {\n let item: RevoGrid.PositionItem = {\n itemIndex: index,\n start: 0,\n end: 0,\n };\n // if item has specified size\n if (dimension.indexToItem[index]) {\n return dimension.indexToItem[index];\n }\n\n const currentPlace: number = dimension.indexes.length ? sortedIndex(dimension.indexes, index) : 0;\n // not found or first index\n if (!currentPlace) {\n item.start = item.itemIndex * dimension.originItemSize;\n item.end = item.start + dimension.originItemSize;\n return item;\n }\n // special size item was present before\n\n const positionItem: RevoGrid.PositionItem = dimension.indexToItem[dimension.indexes[currentPlace - 1]];\n item.start = positionItem.end + (index - positionItem.itemIndex - 1) * dimension.originItemSize;\n item.end = item.start + dimension.originItemSize;\n return item;\n}\n"]}
@@ -22,11 +22,12 @@ function initialBase() {
22
22
  };
23
23
  }
24
24
  function initialState() {
25
- return Object.assign(Object.assign({}, initialBase()), {
25
+ return Object.assign(Object.assign({}, initialBase()), {
26
26
  // size which all items can take
27
- realSize: 0,
27
+ realSize: 0,
28
28
  // initial item size if it wasn't changed
29
- originItemSize: 0, frameOffset: 0 });
29
+ originItemSize: 0, frameOffset: 0
30
+ });
30
31
  }
31
32
  export default class DimensionStore {
32
33
  constructor() {
@@ -60,3 +61,4 @@ export default class DimensionStore {
60
61
  return dimensionData;
61
62
  }
62
63
  }
64
+ //# sourceMappingURL=dimension.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimension.store.js","sourceRoot":"","sources":["../../../src/store/dimension/dimension.store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAiB,MAAM,qBAAqB,CAAC;AAK5E,SAAS,WAAW;EAClB,OAAO;IACL,OAAO,EAAE,EAAE;IACX,qBAAqB;IACrB,KAAK,EAAE,EAAE;IACT,mCAAmC;IACnC,mBAAmB,EAAE,EAAE;IACvB,kCAAkC;IAClC,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,EAAE;GACpB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;EACnB,uCACK,WAAW,EAAE;IAChB,gCAAgC;IAChC,QAAQ,EAAE,CAAC;IAEX,yCAAyC;IACzC,cAAc,EAAE,CAAC,EACjB,WAAW,EAAE,CAAC,IACd;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;EAEjC;IACE,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;EAC3C,CAAC;EAED,eAAe;IACb,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAW,MAAM,CAAC,IAAI,CAAC,KAAK,CAAW,CAAC;IAClD,OAAO,MAAM,CACX,IAAI,EACJ,CAAC,CAAkC,EAAE,CAAO,EAAE,EAAE;MAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MAC/B,CAAC,CAAC,CAAC,CAAC,GAAG,IAAa,CAAC;MACrB,OAAO,CAAC,CAAC;IACX,CAAC,EACD,KAAK,CACN,CAAC;EACJ,CAAC;EAED,WAAW,CAAC,KAAa;IACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;MAC9B,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;KAC5E;IACD,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;EACrC,CAAC;EAED,QAAQ,CAAmC,IAAgB;IACzD,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;EAC7B,CAAC;EAED,IAAI;IACF,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;EACtC,CAAC;EAED,gBAAgB,CAAC,KAAmC;IAClD,MAAM,aAAa,GAAkB,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3F,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACpC,OAAO,aAAa,CAAC;EACvB,CAAC;CACF","sourcesContent":["/**\n * Storing pre-calculated\n * Dimension information and sizes\n */\n\nimport { createStore } from '@stencil/store';\nimport reduce from 'lodash/reduce';\n\nimport { setStore } from '../../utils/store.utils';\nimport { calculateDimensionData, DimensionSize } from './dimension.helpers';\nimport { Observable, RevoGrid } from '../../interfaces';\n\ntype Item = keyof RevoGrid.DimensionSettingsState;\n\nfunction initialBase(): RevoGrid.DimensionCalc {\n return {\n indexes: [],\n // item index to size\n sizes: {},\n // order in indexes[] to coordinate\n positionIndexToItem: {},\n // initial element to coordinate ^\n indexToItem: {},\n positionIndexes: []\n };\n}\n\nfunction initialState(): RevoGrid.DimensionSettingsState {\n return {\n ...initialBase(),\n // size which all items can take\n realSize: 0,\n\n // initial item size if it wasn't changed\n originItemSize: 0,\n frameOffset: 0,\n };\n}\n\nexport default class DimensionStore {\n readonly store: Observable<RevoGrid.DimensionSettingsState>;\n constructor() {\n this.store = createStore(initialState());\n }\n\n getCurrentState(): RevoGrid.DimensionSettingsState {\n const state = initialState();\n const keys: Item[] = Object.keys(state) as Item[];\n return reduce(\n keys,\n (r: RevoGrid.DimensionSettingsState, k: Item) => {\n const data = this.store.get(k);\n r[k] = data as never;\n return r;\n },\n state,\n );\n }\n\n setRealSize(count: number): void {\n let realSize = 0;\n for (let i = 0; i < count; i++) {\n realSize += this.store.get('sizes')[i] || this.store.get('originItemSize');\n }\n setStore(this.store, { realSize });\n }\n\n setStore<T extends { [key: string]: any }>(data: Partial<T>) {\n setStore(this.store, data);\n }\n\n drop() {\n setStore(this.store, initialBase());\n }\n\n setDimensionSize(sizes: RevoGrid.ViewSettingSizeProp) {\n const dimensionData: DimensionSize = calculateDimensionData(this.getCurrentState(), sizes);\n setStore(this.store, dimensionData);\n return dimensionData;\n }\n}\n"]}
@@ -54,3 +54,4 @@ export function getRange(start, end) {
54
54
  export function isRangeSingleCell(a) {
55
55
  return a.x === a.x1 && a.y === a.y1;
56
56
  }
57
+ //# sourceMappingURL=selection.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.helpers.js","sourceRoot":"","sources":["../../../src/store/selection/selection.helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAIvE,MAAM,UAAU,aAAa,CAAC,GAAW;EACvC,OAAO,GAAG,KAAK,WAAW,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAU,EAAE,QAAc;EACjD,MAAM,QAAQ,GAAkB,EAAE,CAAC;EACnC,IAAI,KAAK,GAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EAEvC,sBAAsB;EACtB,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;IACnB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;MACf,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;MACtB,OAAO,QAAQ,CAAC;KACjB;GACF;EACD,kBAAkB;EAClB,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;IACnB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;MAC1B,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;MACpC,OAAO,QAAQ,CAAC;KACjB;GACF;EACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAU,EAAE,QAAc;EACtD,MAAM,OAAO,qBAAc,IAAI,CAAE,CAAC;EAClC,IAAI,KAAK,GAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EACvC,sBAAsB;EACtB,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;IACnB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;MACf,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KAChB;GACF;EACD,kBAAkB;EAClB,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;IACnB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;MAC1B,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KAC9B;GACF;EACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAY,EAAE,GAAU;EAC/C,OAAO,KAAK,IAAI,GAAG;IACjB,CAAC,CAAC;MACE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;MAC3B,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;MAC3B,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;MAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;KAC7B;IACH,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,CAAY;EAC5C,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC","sourcesContent":["import { Selection } from '../../interfaces';\nimport { EMPTY_INDEX } from '../../services/selection.store.connector';\nimport Cell = Selection.Cell;\nimport RangeArea = Selection.RangeArea;\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"]}
@@ -69,3 +69,4 @@ export class SelectionStore {
69
69
  this.store.dispose();
70
70
  }
71
71
  }
72
+ //# sourceMappingURL=selection.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.store.js","sourceRoot":"","sources":["../../../src/store/selection/selection.store.ts"],"names":[],"mappings":"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","sourcesContent":["import { createStore } from '@stencil/store';\nimport { Observable, Selection } from '../../interfaces';\nimport { setStore } from '../../utils/store.utils';\nimport { getRange } from './selection.helpers';\n\ntype StoreState = Selection.SelectionStoreState;\n\nfunction defaultState(): StoreState {\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<Selection.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 StoreState>(propName: Key, cb: (newValue: StoreState[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: Selection.Cell, end: Selection.Cell) {\n setStore(this.store, {\n focus,\n range: getRange(focus, end),\n edit: null,\n tempRange: null,\n });\n }\n\n setTempArea(range: Selection.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: Selection.RangeArea) {\n setStore(this.store, { range, edit: null, tempRange: null });\n }\n setRange(start: Selection.Cell, end: Selection.Cell) {\n this.setRangeArea(getRange(start, end));\n }\n\n setLastCell(lastCell: Selection.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"]}
@@ -36,3 +36,4 @@ export default class SelectionStoreService {
36
36
  return this.config.focus(cell, end);
37
37
  }
38
38
  }
39
+ //# sourceMappingURL=selection.store.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.store.service.js","sourceRoot":"","sources":["../../../src/store/selection/selection.store.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAS/C,MAAM,CAAC,OAAO,OAAO,qBAAqB;EACxC,YAAmB,KAAgD,EAAU,MAAc;IAAxE,UAAK,GAAL,KAAK,CAA2C;IAAU,WAAM,GAAN,MAAM,CAAQ;IACzF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;EACrB,CAAC;EAED,IAAI,MAAM;IACR,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;EAChC,CAAC;EAED,IAAI,OAAO;IACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EACjC,CAAC;EAED,IAAI,MAAM;IACR,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EACjC,CAAC;EAED,WAAW,CAAC,KAAY;IACtB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;EACxC,CAAC;EAED,KAAK,CAAC,IAAW,EAAE,OAAO,GAAG,KAAK;IAChC,IAAI,CAAC,IAAI,EAAE;MACT,OAAO,KAAK,CAAC;KACd;IACD,IAAI,GAAG,GAAS,IAAI,CAAC;IAErB,aAAa;IACb,IAAI,OAAO,EAAE;MACX,IAAI,KAAK,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;MACjD,IAAI,KAAK,EAAE;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;OACtD;KACF;IAED,eAAe;IACf,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;EACtC,CAAC;CACF","sourcesContent":["import { Edition, Observable, Selection } from '../../interfaces';\nimport { getRange } from './selection.helpers';\nimport Cell = Selection.Cell;\nimport Range = Selection.RangeArea;\n\ninterface Config {\n changeRange(range: Range): boolean;\n focus(focus: Cell, end: Cell): boolean;\n}\n\nexport default class SelectionStoreService {\n constructor(public store: Observable<Selection.SelectionStoreState>, private config: Config) {\n this.store = store;\n }\n\n get edited(): Edition.EditCellStore | null {\n return this.store.get('edit');\n }\n\n get focused(): Cell | null {\n return this.store.get('focus');\n }\n\n get ranged(): Range | null {\n return this.store.get('range');\n }\n\n changeRange(range: Range) {\n return this.config.changeRange(range);\n }\n\n focus(cell?: Cell, isMulti = false) {\n if (!cell) {\n return false;\n }\n let end: Cell = cell;\n\n // range edit\n if (isMulti) {\n let start: Cell | null = this.store.get('focus');\n if (start) {\n return this.config.changeRange(getRange(start, end));\n }\n }\n\n // single focus\n return this.config.focus(cell, end);\n }\n}\n"]}
@@ -6,3 +6,4 @@ export const columnTypes = ['colPinStart', 'rgCol', 'colPinEnd'];
6
6
  export function isRowType(type) {
7
7
  return rowTypes.indexOf(type) > -1;
8
8
  }
9
+ //# sourceMappingURL=storeTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storeTypes.js","sourceRoot":"","sources":["../../src/store/storeTypes.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAA6B,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,WAAW,GAA6B,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAE3F,MAAM,UAAU,SAAS,CAAC,IAAkC;EAC1D,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC","sourcesContent":["import { RevoGrid } from '../interfaces';\n\nexport const rowTypes: RevoGrid.DimensionRows[] = ['rowPinStart', 'rgRow', 'rowPinEnd'];\nexport const columnTypes: RevoGrid.DimensionCols[] = ['colPinStart', 'rgCol', 'colPinEnd'];\n\nexport function isRowType(type: RevoGrid.DimensionRows | any): type is RevoGrid.DimensionRows {\n return rowTypes.indexOf(type) > -1;\n}\n"]}
@@ -245,3 +245,4 @@ export function setItemSizes(vpItems, initialIndex, size, lastCoordinate) {
245
245
  }
246
246
  return items;
247
247
  }
248
+ //# sourceMappingURL=viewport.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport.helpers.js","sourceRoot":"","sources":["../../../src/store/viewPort/viewport.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AASnE;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,GAAW,EAAE,aAAa;AAC1B,KAAQ,EACR,SAAiB,EACjB,WAAmB,EACnB,SAAgC;EAEhC,MAAM,UAAU,GAA0B,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;EAC5E,MAAM,SAAS,GAA0B,YAAY,CAAC,KAAK,CAAC,CAAC;EAC7D,IAAI,QAAuB,CAAC;EAC5B,wEAAwE;EACxE,IAAI,SAAS,EAAE;IACb,IAAI,kBAAkB,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IAC3E,kBAAkB;IAClB,IAAI,kBAAkB,EAAE;MACtB,uBAAuB;MACvB,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,gCACvD,iBAAiB,EAAE,kBAAkB,GAAG,CAAC,CAAC,IACvC,SAAS,GACT,KAAK,EACR,CAAC;KACJ;GACF;EAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;EAC1F,0EAA0E;EAC1E,IAAI,QAAQ,EAAE;IACZ,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9F,IAAI,KAAK,CAAC,MAAM,EAAE;MAChB,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;KACxD;GACF;EAED,gEAAgE;EAChE,IAAI,CAAC,QAAQ,EAAE;IACb,MAAM,KAAK,GAAG,QAAQ,CAAC;MACrB,cAAc,EAAE,UAAU,CAAC,KAAK;MAChC,cAAc,EAAE,UAAU,CAAC,SAAS;MACpC,QAAQ,EAAE,SAAS,CAAC,cAAc;MAClC,OAAO,EAAE,kBAAkB;MAC3B,QAAQ,EAAE,SAAS;MACnB,KAAK,EAAE,SAAS,CAAC,KAAK;KACvB,CAAC,CAAC;IAEH,uCAAuC;IACvC,QAAQ,GAAG;MACT,KAAK;MACL,KAAK,EAAE,CAAC;MACR,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;KACtB,CAAC;GACH;EACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,iFAAiF;AACjF,sEAAsE;AACtE,8EAA8E;AAC9E,SAAS,iBAAiB,CAAC,WAAmB,EAAE,QAAgB,EAAE,UAAiC;EACjG,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAqC,EACrC,OAAuC,EACvC,KAAqB;EAErB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;EAC3C,mDAAmD;EACnD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;IACjF,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;GAC/B;EACD,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAgC,EAChC,SAAiB,EACjB,WAAmB,EACnB,kBAAqB,EACrB,SAA4E;EAE5E,MAAM,QAAQ,GAAiC,WAAW,CAAC,kBAAkB,CAAC,CAAC;EAC/E,MAAM,KAAK,GAAG,QAAQ,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC,KAAK;IACtB,cAAc,EAAE,QAAQ,CAAC,GAAG;IAC5B,cAAc,EAAE,QAAQ,CAAC,SAAS,GAAG,CAAC;IACtC,QAAQ,EAAE,SAAS,CAAC,cAAc;IAClC,OAAO,EAAE,WAAW,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC;IACvD,QAAQ,EAAE,SAAS;GACpB,CAAC,CAAC;EACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACtB,GAOC,EACD,WAAW,GAAG,CAAC;EAEf,MAAM,KAAK,GAAmC,EAAE,CAAC;EAEjD,IAAI,KAAK,GAAG,GAAG,CAAC,cAAc,CAAC;EAC/B,IAAI,IAAI,GAAG,WAAW,CAAC;EAEvB,wBAAwB;EACxB,OAAO,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE;IAClD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC;MACT,KAAK,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI;MAChC,GAAG,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,GAAG,OAAO;MACxC,SAAS,EAAE,KAAK;MAChB,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IACH,IAAI,IAAI,OAAO,CAAC;IAChB,KAAK,EAAE,CAAC;GACT;EACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,IAGgF;EAEhF,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;EACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;EACnC,IAAI,QAAQ,GAAG;IACb,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,GAAG,EAAE,IAAI,CAAC,GAAG;GACd,CAAC;EAEF,2DAA2D;EAC3D,IAAI,MAAM,GAAG,UAAU,EAAE;IACvB,OAAO,IAAI,CAAC;GACb;EAED,kCAAkC;EAClC,IAAI,IAAI,CAAC,iBAAiB,EAAE;IAC1B,uBAAuB;IACvB,IAAI,QAAQ,GAAiC,WAAW,CAAC,IAAI,CAAC,CAAC;IAE/D,IAAI,CAAC,GAAW,QAAQ,CAAC,KAAK,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;MACtB,MAAM,QAAQ,GAAW,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;MAChD,MAAM,IAAI,GAAW,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;MAE5E,wCAAwC;MACxC,IAAI,QAAQ,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;QACvC,MAAM;OACP;MAED,8BAA8B;MAC9B,IAAI,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC;MAE5B,2EAA2E;MAC3E,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;OACpC;MAED,mBAAmB;MACnB,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG;QAC5B,KAAK,EAAE,QAAQ,CAAC,GAAG;QACnB,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI;QACxB,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,IAAI;OACX,CAAC;MACF,eAAe;MACf,QAAQ,CAAC,KAAK,EAAE,CAAC;MACjB,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC;KACvB;IAED,wBAAwB;GACzB;OAAM;IACL,yBAAyB;IACzB,IAAI,SAAS,GAAiC,YAAY,CAAC,IAAI,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;MAC/B,MAAM,QAAQ,GAAW,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;MACjD,MAAM,IAAI,GAAW,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;MAE5E,8BAA8B;MAC9B,IAAI,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;MACvB,QAAQ,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;MAE1E,2EAA2E;MAC3E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;OACpC;MAED,mBAAmB;MACnB,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG;QAC/B,KAAK,EAAE,SAAS,CAAC,KAAK,GAAG,IAAI;QAC7B,GAAG,EAAE,SAAS,CAAC,KAAK;QACpB,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,IAAI;OACX,CAAC;MACF,eAAe;MACf,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;MAC1B,QAAQ,CAAC,GAAG,EAAE,CAAC;KAChB;GACF;EACD,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU;IACvF,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,UAAU;GAChF,CAAC;EACF,uBACE,KAAK,EAAE,QAAQ,IACZ,KAAK,EACR;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,KAAoC,EAAE,WAAmB,CAAC;EAC5F,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;IACzB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;GACrB;EACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAW,EACX,QAAgB,EAChB,KAA6B,EAC7B,IAA4B;EAE5B,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE;IACnB,OAAO,KAAK,CAAC;GACd;EACD,wCAAwC;EACxC,8EAA8E;EAC9E,OAAO,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG;IAC3C,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAW,EAAE,WAAmB,EAAE,SAAiC,EAAE,QAAgC;EAChJ,+CAA+C;EAC/C,IAAI,CAAC,SAAS,EAAE;IACd,OAAO,KAAK,CAAC;GACd;EACD,OAAO,WAAW,GAAG,GAAG,IAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAA,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAgB;EAC3C,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAgB;EAC1C,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAuC,EACvC,YAAoB,EACpB,IAAY,EACZ,cAAsB;EAEtB,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;EAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;EAE3B,IAAI,GAAG,GAAG,cAAc,CAAC;EACzB,IAAI,CAAC,GAAG,CAAC,CAAC;EACV,IAAI,KAAK,GAAG,YAAY,CAAC;EAEzB,sBAAsB;EACtB,IAAI,CAAC,KAAK,EAAE;IACV,OAAO,EAAE,CAAC;GACX;EACA,2DAA2D;EAC3D,OAAO,CAAC,GAAG,KAAK,EAAE;IACjB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAC7B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACf,sBAAsB;IACtB,KAAK,EAAE,CAAC;IACR,CAAC,EAAE,CAAC;IAEJ,wCAAwC;IACxC,IAAI,KAAK,KAAK,KAAK,EAAE;MACnB,KAAK,GAAG,CAAC,CAAC;KACX;GACF;EACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { getItemByPosition } from '../dimension/dimension.helpers';\nimport { RevoGrid } from '../../interfaces';\n\nexport type DimensionDataViewport = Pick<\n RevoGrid.DimensionSettingsState,\n 'indexes' | 'positionIndexes' | 'positionIndexToItem' | 'sizes' | 'originItemSize' | 'realSize' | 'frameOffset'\n>;\n\ntype ItemsToUpdate = Pick<RevoGrid.ViewportStateItems, 'items' | 'start' | 'end'>;\n/**\n * Update items based on new scroll position\n * If viewport wasn't changed fully simple recombination of positions\n * Otherwise rebuild viewport items\n */\nexport function getUpdatedItemsByPosition<T extends ItemsToUpdate>(\n pos: number, // coordinate\n items: T,\n realCount: number,\n virtualSize: number,\n dimension: DimensionDataViewport\n): ItemsToUpdate {\n const activeItem: RevoGrid.PositionItem = getItemByPosition(dimension, pos);\n const firstItem: RevoGrid.PositionItem = getFirstItem(items);\n let toUpdate: ItemsToUpdate;\n // do simple position recombination if items already present in viewport\n if (firstItem) {\n let changedOffsetStart = activeItem.itemIndex - (firstItem.itemIndex || 0);\n // if item changed\n if (changedOffsetStart) {\n // simple recombination\n toUpdate = recombineByOffset(Math.abs(changedOffsetStart), {\n positiveDirection: changedOffsetStart > -1,\n ...dimension,\n ...items,\n });\n }\n }\n\n const maxSizeVirtualSize = getMaxVirtualSize(virtualSize, dimension.realSize, activeItem);\n // if partial recombination add items if revo-viewport has some space left\n if (toUpdate) {\n const extra = addMissingItems(activeItem, realCount, maxSizeVirtualSize, toUpdate, dimension);\n if (extra.length) {\n updateMissingAndRange(toUpdate.items, extra, toUpdate);\n }\n }\n\n // new collection if no items after replacement full replacement\n if (!toUpdate) {\n const items = getItems({\n firstItemStart: activeItem.start,\n firstItemIndex: activeItem.itemIndex,\n origSize: dimension.originItemSize,\n maxSize: maxSizeVirtualSize,\n maxCount: realCount,\n sizes: dimension.sizes,\n });\n\n // range now comes from 0 to length - 1\n toUpdate = {\n items,\n start: 0,\n end: items.length - 1,\n };\n }\n return toUpdate;\n}\n\n// virtual size can differ based on scroll position if some big items are present\n// scroll can be in the middle of item and virtual size will be larger\n// so we need to exclude this part from virtual size hence it's already passed\nfunction getMaxVirtualSize(virtualSize: number, realSize: number, activeItem: RevoGrid.PositionItem) {\n return Math.min(virtualSize + (activeItem.end - activeItem.start), realSize)\n}\n\nexport function updateMissingAndRange(\n items: RevoGrid.VirtualPositionItem[],\n missing: RevoGrid.VirtualPositionItem[],\n range: RevoGrid.Range\n) {\n items.splice(range.end + 1, 0, ...missing);\n // update range if start larger after recombination\n if (range.start >= range.end && !(range.start === range.end && range.start === 0)) {\n range.start += missing.length;\n }\n range.end += missing.length;\n}\n\n/**\n * If partial replacement\n * this function adds items if viewport has some space left\n */\nexport function addMissingItems<T extends ItemsToUpdate>(\n firstItem: RevoGrid.PositionItem,\n realCount: number,\n virtualSize: number,\n existingCollection: T,\n dimension: Pick<RevoGrid.DimensionSettingsState, 'sizes' | 'originItemSize'>,\n): RevoGrid.VirtualPositionItem[] {\n const lastItem: RevoGrid.VirtualPositionItem = getLastItem(existingCollection);\n const items = getItems({\n sizes: dimension.sizes,\n firstItemStart: lastItem.end,\n firstItemIndex: lastItem.itemIndex + 1,\n origSize: dimension.originItemSize,\n maxSize: virtualSize - (lastItem.end - firstItem.start),\n maxCount: realCount,\n });\n return items;\n}\n\n/**\n * Get wiewport items parameters\n * caching position and calculating items count in viewport\n */\nexport function getItems(\n opt: {\n firstItemIndex: number;\n firstItemStart: number;\n origSize: number;\n maxSize: number; // virtual size\n maxCount: number; // real item count, where the last item\n sizes?: RevoGrid.ViewSettingSizeProp;\n },\n currentSize = 0,\n) {\n const items: RevoGrid.VirtualPositionItem[] = [];\n\n let index = opt.firstItemIndex;\n let size = currentSize;\n\n // max size or max count\n while (size <= opt.maxSize && index < opt.maxCount) {\n const newSize = getItemSize(index, opt.sizes, opt.origSize);\n items.push({\n start: opt.firstItemStart + size,\n end: opt.firstItemStart + size + newSize,\n itemIndex: index,\n size: newSize,\n });\n size += newSize;\n index++;\n }\n return items;\n}\n\n/**\n * Do batch items recombination\n * If items not overlapped with existing viewport returns null\n */\nexport function recombineByOffset(\n offset: number,\n data: {\n positiveDirection: boolean;\n } & ItemsToUpdate &\n Pick<RevoGrid.DimensionSettingsState, 'sizes' | 'realSize' | 'originItemSize'>,\n): ItemsToUpdate | null {\n const newItems = [...data.items];\n const itemsCount = newItems.length;\n let newRange = {\n start: data.start,\n end: data.end,\n };\n\n // if offset out of revo-viewport, makes sense whole redraw\n if (offset > itemsCount) {\n return null;\n }\n\n // is direction of scroll positive\n if (data.positiveDirection) {\n // push item to the end\n let lastItem: RevoGrid.VirtualPositionItem = getLastItem(data);\n\n let i: number = newRange.start;\n const length = i + offset;\n for (; i < length; i++) {\n const newIndex: number = lastItem.itemIndex + 1;\n const size: number = getItemSize(newIndex, data.sizes, data.originItemSize);\n\n // if item overlapped limit break a loop\n if (lastItem.end + size > data.realSize) {\n break;\n }\n\n // new item index to recombine\n let newEnd = i % itemsCount;\n\n // item should always present, we do not create new item, we recombine them\n if (!newItems[newEnd]) {\n throw new Error('incorrect index');\n }\n\n // do recombination\n newItems[newEnd] = lastItem = {\n start: lastItem.end,\n end: lastItem.end + size,\n itemIndex: newIndex,\n size: size,\n };\n // update range\n newRange.start++;\n newRange.end = newEnd;\n }\n\n // direction is negative\n } else {\n // push item to the start\n let firstItem: RevoGrid.VirtualPositionItem = getFirstItem(data);\n\n const end = newRange.end;\n for (let i = 0; i < offset; i++) {\n const newIndex: number = firstItem.itemIndex - 1;\n const size: number = getItemSize(newIndex, data.sizes, data.originItemSize);\n\n // new item index to recombine\n let newStart = end - i;\n newStart = (newStart < 0 ? itemsCount + newStart : newStart) % itemsCount;\n\n // item should always present, we do not create new item, we recombine them\n if (!newItems[newStart]) {\n throw new Error('incorrect index');\n }\n\n // do recombination\n newItems[newStart] = firstItem = {\n start: firstItem.start - size,\n end: firstItem.start,\n itemIndex: newIndex,\n size: size,\n };\n // update range\n newRange.start = newStart;\n newRange.end--;\n }\n }\n const range = {\n start: (newRange.start < 0 ? itemsCount + newRange.start : newRange.start) % itemsCount,\n end: (newRange.end < 0 ? itemsCount + newRange.end : newRange.end) % itemsCount,\n };\n return {\n items: newItems,\n ...range,\n };\n}\n\nfunction getItemSize(index: number, sizes?: RevoGrid.ViewSettingSizeProp, origSize: number = 0): number {\n if (sizes && sizes[index]) {\n return sizes[index];\n }\n return origSize;\n}\n\n/**\n * Verify if position is in range of the PositionItem, start and end are included\n */\nexport function isActiveRange(\n pos: number,\n realSize: number,\n first?: RevoGrid.PositionItem,\n last?: RevoGrid.PositionItem\n): boolean {\n if (!first || !last) {\n return false;\n }\n // if position is in range of first item\n // or position is after first item and last item is the last item in real size\n return pos >= first.start && pos <= first.end ||\n pos > first.end && last.end === realSize;\n}\n\nexport function isActiveRangeOutsideLastItem(pos: number, virtualSize: number, firstItem?: RevoGrid.PositionItem, lastItem?: RevoGrid.PositionItem) {\n // if no first item, means no items in viewport\n if (!firstItem) {\n return false;\n }\n return virtualSize + pos > lastItem?.end\n}\n\nexport function getFirstItem(s: ItemsToUpdate): RevoGrid.VirtualPositionItem | undefined {\n return s.items[s.start];\n}\n\nexport function getLastItem(s: ItemsToUpdate): RevoGrid.VirtualPositionItem {\n return s.items[s.end];\n}\n\n/**\n * Set items sizes from start index to end\n * @param vpItems\n * @param start\n * @param size\n * @param lastCoordinate\n * @returns\n */\nexport function setItemSizes(\n vpItems: RevoGrid.VirtualPositionItem[],\n initialIndex: number,\n size: number,\n lastCoordinate: number\n) {\n const items = [...vpItems];\n const count = items.length;\n\n let pos = lastCoordinate;\n let i = 0;\n let start = initialIndex;\n\n // viewport not inited\n if (!count) {\n return [];\n }\n // loop through array from initial item after recombination\n while (i < count) {\n const item = items[start];\n item.start = pos;\n item.size = size;\n item.end = item.start + size;\n pos = item.end;\n // loop by start index\n start++;\n i++;\n\n // if start index out of array, reset it\n if (start === count) {\n start = 0;\n }\n }\n return items;\n}\n"]}
@@ -95,7 +95,6 @@ export default class ViewportStore {
95
95
  if (dropToOriginalSize) {
96
96
  items = setItemSizes(items, start, dropToOriginalSize, this.store.get('lastCoordinate'));
97
97
  }
98
- console.log('items', items);
99
98
  // loop through array from initial item after recombination
100
99
  while (i < count) {
101
100
  const item = items[start];
@@ -135,3 +134,4 @@ export default class ViewportStore {
135
134
  this.store.set('items', []);
136
135
  }
137
136
  }
137
+ //# sourceMappingURL=viewport.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport.store.js","sourceRoot":"","sources":["../../../src/store/viewPort/viewport.store.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Store is responsible for visible\n * Viewport information for each dimension\n * Redraw items during scrolling\n */\n\nimport { createStore } from '@stencil/store';\n\nimport { addMissingItems, DimensionDataViewport, getFirstItem, getLastItem, getUpdatedItemsByPosition, isActiveRange, isActiveRangeOutsideLastItem, setItemSizes, updateMissingAndRange } from './viewport.helpers';\n\nimport { setStore } from '../../utils/store.utils';\nimport { Observable, RevoGrid } from '../../interfaces';\n\nfunction initialState(): RevoGrid.ViewportState {\n return {\n // virtual item information per rendered item\n items: [],\n // virtual dom item order to render\n start: 0,\n\n end: 0,\n\n // size of viewport in px\n virtualSize: 0,\n\n // total number of items\n realCount: 0,\n\n // last coordinate for store position restore\n lastCoordinate: 0,\n };\n}\n\nexport default class ViewportStore {\n readonly store: Observable<RevoGrid.ViewportState>;\n constructor() {\n this.store = createStore(initialState());\n this.store.onChange('realCount', () => this.clear());\n }\n\n /** Render viewport based on coordinate, this is main method for draw */\n setViewPortCoordinate(position: number, dimension: DimensionDataViewport): void {\n let virtualSize = this.store.get('virtualSize');\n // no visible data to calculate\n if (!virtualSize) {\n return;\n }\n\n const frameOffset = dimension.frameOffset;\n const singleOffsetInPx = dimension.originItemSize * frameOffset;\n // add offset to virtual size from both sides\n const outsize = singleOffsetInPx * 2;\n virtualSize += outsize;\n\n // expected no scroll if real size less than virtual size, position is 0\n let maxCoordinate = 0;\n // if there is nodes outside of viewport, max coordinate has to be adjusted\n if (dimension.realSize > virtualSize) {\n // max coordinate is real size minus virtual/rendered space\n maxCoordinate = dimension.realSize - virtualSize;\n }\n let toUpdate: Partial<RevoGrid.ViewportState> = {\n lastCoordinate: position,\n };\n let pos = position;\n pos -= singleOffsetInPx;\n pos = pos < 0 ? 0 : pos < maxCoordinate ? pos : maxCoordinate;\n\n const allItems = this.getItems();\n const firstItem: RevoGrid.VirtualPositionItem | undefined = getFirstItem(allItems);\n const lastItem: RevoGrid.VirtualPositionItem | undefined = getLastItem(allItems);\n\n // left position changed\n // verify if new position is in range of previously rendered first item\n if (!isActiveRange(pos, dimension.realSize, firstItem, lastItem)) {\n toUpdate = {\n ...toUpdate,\n ...getUpdatedItemsByPosition(pos, allItems, this.store.get('realCount'), virtualSize, dimension),\n };\n this.setViewport({ ...toUpdate });\n // right position changed\n } else if (isActiveRangeOutsideLastItem(pos, virtualSize, firstItem, lastItem)) {\n // check is any item missing for full fill content\n const missing = addMissingItems(firstItem, this.store.get('realCount'), virtualSize + pos - firstItem.start, allItems, dimension);\n\n // update missing items\n if (missing.length) {\n const items = [...this.store.get('items')];\n const range = {\n start: this.store.get('start'),\n end: this.store.get('end'),\n };\n updateMissingAndRange(items, missing, range);\n toUpdate = {\n ...toUpdate,\n items: [...items],\n ...range,\n };\n this.setViewport({ ...toUpdate });\n }\n }\n }\n\n /** Update viewport sizes */\n setViewPortDimension(sizes: RevoGrid.ViewSettingSizeProp, dropToOriginalSize?: number): void {\n let items = this.store.get('items');\n const count = items.length;\n // viewport not inited\n if (!count) {\n return;\n }\n\n let changedCoordinate = 0;\n let i = 0;\n let start = this.store.get('start');\n\n // drop to original size if requested\n if (dropToOriginalSize) {\n items = setItemSizes(\n items,\n start,\n dropToOriginalSize,\n this.store.get('lastCoordinate')\n );\n }\n\n // loop through array from initial item after recombination\n while (i < count) {\n const item = items[start];\n // change pos if size change present before\n if (changedCoordinate) {\n item.start += changedCoordinate;\n item.end += changedCoordinate;\n }\n // change size\n const size: number | undefined = sizes[item.itemIndex];\n if (size) {\n const changedSize = size - item.size;\n changedCoordinate += changedSize;\n item.size = size;\n item.end = item.start + size;\n }\n\n // loop by start index\n start++;\n i++;\n if (start === count) {\n start = 0;\n }\n }\n\n this.setViewport({ items: [...items] });\n }\n\n getItems(): Pick<RevoGrid.ViewportStateItems, 'items' | 'start' | 'end'> {\n return {\n items: this.store.get('items'),\n start: this.store.get('start'),\n end: this.store.get('end'),\n };\n }\n\n setViewport(data: Partial<RevoGrid.ViewportState>): void {\n setStore(this.store, data);\n }\n\n clear(): void {\n this.store.set('items', []);\n }\n}\n"]}
@@ -6,3 +6,4 @@ export default class ThemeCompact {
6
6
  this.defaultRowSize = 32;
7
7
  }
8
8
  }
9
+ //# sourceMappingURL=theme.compact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.compact.js","sourceRoot":"","sources":["../../src/themeManager/theme.compact.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,YAAY;EAAjC;IACE,mBAAc,GAAW,EAAE,CAAC;EAC9B,CAAC;CAAA","sourcesContent":["import { ThemeSpace } from '../interfaces';\n\nexport default class ThemeCompact implements ThemeSpace.ThemePackage {\n defaultRowSize: number = 32;\n}\n"]}
@@ -6,3 +6,4 @@ export default class ThemeDefault {
6
6
  this.defaultRowSize = 27;
7
7
  }
8
8
  }
9
+ //# sourceMappingURL=theme.default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.default.js","sourceRoot":"","sources":["../../src/themeManager/theme.default.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,YAAY;EAAjC;IACE,mBAAc,GAAW,EAAE,CAAC;EAC9B,CAAC;CAAA","sourcesContent":["import { ThemeSpace } from '../interfaces';\n\nexport default class ThemeDefault implements ThemeSpace.ThemePackage {\n defaultRowSize: number = 27;\n}\n"]}
@@ -6,3 +6,4 @@ export default class ThemeMaterial {
6
6
  this.defaultRowSize = 42;
7
7
  }
8
8
  }
9
+ //# sourceMappingURL=theme.material.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.material.js","sourceRoot":"","sources":["../../src/themeManager/theme.material.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,aAAa;EAAlC;IACE,mBAAc,GAAW,EAAE,CAAC;EAC9B,CAAC;CAAA","sourcesContent":["import { ThemeSpace } from '../interfaces';\n\nexport default class ThemeMaterial implements ThemeSpace.ThemePackage {\n defaultRowSize: number = 42;\n}\n"]}
@@ -7,11 +7,6 @@ import ThemeMaterial from './theme.material';
7
7
  export const DEFAULT_THEME = 'default';
8
8
  export const allowedThemes = [DEFAULT_THEME, 'material', 'compact', 'darkMaterial', 'darkCompact'];
9
9
  export default class ThemeService {
10
- constructor(cfg) {
11
- this.customRowSize = 0;
12
- this.customRowSize = cfg.rowSize;
13
- this.register('default');
14
- }
15
10
  get theme() {
16
11
  return this.currentTheme;
17
12
  }
@@ -21,6 +16,11 @@ export default class ThemeService {
21
16
  set rowSize(size) {
22
17
  this.customRowSize = size;
23
18
  }
19
+ constructor(cfg) {
20
+ this.customRowSize = 0;
21
+ this.customRowSize = cfg.rowSize;
22
+ this.register('default');
23
+ }
24
24
  register(theme) {
25
25
  const parsedTheme = ThemeService.getTheme(theme);
26
26
  switch (parsedTheme) {
@@ -44,3 +44,4 @@ export default class ThemeService {
44
44
  return DEFAULT_THEME;
45
45
  }
46
46
  }
47
+ //# sourceMappingURL=themeService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeService.js","sourceRoot":"","sources":["../../src/themeManager/themeService.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,aAAa,GAAuB,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AACvH,MAAM,CAAC,OAAO,OAAO,YAAY;EAI/B,IAAI,KAAK;IACP,OAAO,IAAI,CAAC,YAAY,CAAC;EAC3B,CAAC;EAED,IAAI,OAAO;IACT,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;EAChE,CAAC;EAED,IAAI,OAAO,CAAC,IAAY;IACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;EAC5B,CAAC;EAED,YAAY,GAA2B;IAd/B,kBAAa,GAAW,CAAC,CAAC;IAehC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC;IACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;EAC3B,CAAC;EAED,QAAQ,CAAC,KAAuB;IAC9B,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,QAAQ,WAAW,EAAE;MACnB,KAAK,UAAU,CAAC;MAChB,KAAK,cAAc;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC;QACxC,MAAM;MACR,KAAK,SAAS,CAAC;MACf,KAAK,aAAa;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM;MACR;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM;KACT;EACH,CAAC;EAED,MAAM,CAAC,QAAQ,CAAC,KAAa;IAC3B,IAAI,aAAa,CAAC,OAAO,CAAC,KAAyB,CAAC,GAAG,CAAC,CAAC,EAAE;MACzD,OAAO,KAAyB,CAAC;KAClC;IACD,OAAO,aAAa,CAAC;EACvB,CAAC;CACF","sourcesContent":["import { ThemeSpace } from '../interfaces';\nimport ThemeCompact from './theme.compact';\nimport ThemeDefault from './theme.default';\nimport ThemeMaterial from './theme.material';\n\nexport const DEFAULT_THEME = 'default';\nexport const allowedThemes: ThemeSpace.Theme[] = [DEFAULT_THEME, 'material', 'compact', 'darkMaterial', 'darkCompact'];\nexport default class ThemeService {\n private currentTheme: ThemeSpace.ThemePackage;\n private customRowSize: number = 0;\n\n get theme() {\n return this.currentTheme;\n }\n\n get rowSize(): number {\n return this.customRowSize || this.currentTheme.defaultRowSize;\n }\n\n set rowSize(size: number) {\n this.customRowSize = size;\n }\n\n constructor(cfg: ThemeSpace.ThemeConfig) {\n this.customRowSize = cfg.rowSize;\n this.register('default');\n }\n\n register(theme: ThemeSpace.Theme) {\n const parsedTheme = ThemeService.getTheme(theme);\n switch (parsedTheme) {\n case 'material':\n case 'darkMaterial':\n this.currentTheme = new ThemeMaterial();\n break;\n case 'compact':\n case 'darkCompact':\n this.currentTheme = new ThemeCompact();\n break;\n default:\n this.currentTheme = new ThemeDefault();\n break;\n }\n }\n\n static getTheme(theme: string): ThemeSpace.Theme {\n if (allowedThemes.indexOf(theme as ThemeSpace.Theme) > -1) {\n return theme as ThemeSpace.Theme;\n }\n return DEFAULT_THEME;\n }\n}\n"]}
@@ -19,3 +19,4 @@
19
19
  };
20
20
  }
21
21
  })();
22
+ //# sourceMappingURL=closestPolifill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closestPolifill.js","sourceRoot":"","sources":["../../src/utils/closestPolifill.ts"],"names":[],"mappings":"AAAA,CAAC,SAAS,OAAO;EACf,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;IAC9B,OAAO,CAAC,SAAS,CAAC,OAAO;MACrB,OAAO,CAAC,SAA+E,CAAC,iBAAiB,IAAI,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;GAC1J;EAED,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;IAC9B,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,CAAS;MAC7C,IAAI,EAAE,GAAgD,IAAI,CAAC;MAE3D,GAAG;QACD,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;UACzC,OAAO,EAAE,CAAC;SACX;QACD,EAAE,GAAG,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,UAAU,CAAC;OACxC,QAAQ,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,QAAQ,KAAK,CAAC,EAAE;MAC3C,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;GACH;AACH,CAAC,CAAC,EAAE,CAAC","sourcesContent":["(function closest() {\n if (!Element.prototype.matches) {\n Element.prototype.matches =\n ((Element.prototype as unknown) as { msMatchesSelector: (selectors: string) => boolean }).msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n\n if (!Element.prototype.closest) {\n Element.prototype.closest = function (s: string) {\n let el: HTMLElement | Element | (Node & ParentNode) = this;\n\n do {\n if (Element.prototype.matches.call(el, s)) {\n return el;\n }\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n }\n})();\n"]}
@@ -20,3 +20,4 @@ export const CELL_HANDLER_CLASS = 'autofill-handle';
20
20
  export const EDIT_INPUT_WR = 'edit-input-wrapper';
21
21
  export const DRAGG_TEXT = 'Draggable item';
22
22
  export const GRID_INTERNALS = '__rvgr';
23
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/utils/consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAW,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC;AACrC,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC;AAErC,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC;AACnC,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAC;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAC/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC","sourcesContent":["export const MIN_COL_SIZE: number = 30;\nexport const DATA_COL = 'data-rgCol';\nexport const DATA_ROW = 'data-rgRow';\n\nexport const UUID = 'grid-uuid';\n\nexport const DISABLED_CLASS = 'disabled';\nexport const CELL_CLASS = 'rgCell';\nexport const HEADER_CLASS = 'rgHeaderCell';\nexport const HEADER_SORTABLE_CLASS = 'sortable';\nexport const HEADER_ROW_CLASS = 'header-rgRow';\nexport const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';\n\nexport const DRAG_ICON_CLASS = 'revo-drag-icon';\nexport const DRAGGABLE_CLASS = 'revo-draggable';\n\nexport const FOCUS_CLASS = 'focused-cell';\nexport const SELECTION_BORDER_CLASS = 'selection-border-range';\nexport const TMP_SELECTION_BG_CLASS = 'temp-bg-range';\n\nexport const CELL_HANDLER_CLASS = 'autofill-handle';\n\nexport const EDIT_INPUT_WR = 'edit-input-wrapper';\n\nexport const DRAGG_TEXT = 'Draggable item';\nexport const GRID_INTERNALS = '__rvgr';\n"]}
@@ -21,3 +21,4 @@ export function generateHeaderByCount(colsNumber) {
21
21
  }
22
22
  return rowData;
23
23
  }
24
+ //# sourceMappingURL=generateAlphabetHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateAlphabetHeader.js","sourceRoot":"","sources":["../../src/utils/generateAlphabetHeader.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,KAAa;EAC1C,MAAM,gBAAgB,GAAW,EAAE,CAAC;EACpC,MAAM,YAAY,GAAW,EAAE,CAAC;EAChC,IAAI,GAAG,GAAW,KAAK,GAAG,CAAC,CAAC;EAC5B,IAAI,KAAK,GAAW,EAAE,CAAC;EACvB,IAAI,GAAW,CAAC;EAChB,OAAO,GAAG,GAAG,CAAC,EAAE;IACd,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;IAC/B,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5D,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;GAC7D;EACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAkB;EACtD,MAAM,OAAO,GAAa,EAAE,CAAC;EAC7B,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;IAC3C,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;GACjC;EACD,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["export function generateHeader(index: number): string {\n const asciiFirstLetter: number = 65;\n const lettersCount: number = 26;\n let div: number = index + 1;\n let label: string = '';\n let pos: number;\n while (div > 0) {\n pos = (div - 1) % lettersCount;\n label = String.fromCharCode(asciiFirstLetter + pos) + label;\n div = parseInt(((div - pos) / lettersCount).toString(), 10);\n }\n return label;\n}\n\nexport function generateHeaderByCount(colsNumber: number): string[] {\n const rowData: string[] = [];\n for (let j: number = 0; j < colsNumber; j++) {\n rowData.push(generateHeader(j));\n }\n return rowData;\n}\n"]}
@@ -71,3 +71,4 @@ var codesLetter;
71
71
  })(codesLetter || (codesLetter = {}));
72
72
  export default codes;
73
73
  export { codesLetter };
74
+ //# sourceMappingURL=keyCodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyCodes.js","sourceRoot":"","sources":["../../src/utils/keyCodes.ts"],"names":[],"mappings":"AAAA,IAAK,KAkDJ;AAlDD,WAAK,KAAK;EACR,6CAAc,CAAA;EACd,+CAAe,CAAA;EACf,iDAAgB,CAAA;EAChB,2CAAa,CAAA;EACb,qCAAW,CAAA;EACX,sCAAW,CAAA;EACX,sCAAW,CAAA;EACX,gCAAQ,CAAA;EACR,oCAAU,CAAA;EACV,sCAAW,CAAA;EACX,wCAAY,CAAA;EACZ,kDAAiB,CAAA;EACjB,oDAAkB,CAAA;EAClB,yDAAqB,CAAA;EACrB,gCAAQ,CAAA;EACR,kCAAS,CAAA;EACT,4CAAc,CAAA;EACd,wCAAY,CAAA;EACZ,uCAAY,CAAA;EACZ,oCAAU,CAAA;EACV,oCAAU,CAAA;EACV,4CAAc,CAAA;EACd,+BAAO,CAAA;EACP,gDAAgB,CAAA;EAChB,8CAAe,CAAA;EACf,0CAAa,CAAA;EACb,8CAAe,CAAA;EACf,+BAAQ,CAAA;EACR,+BAAQ,CAAA;EACR,+BAAQ,CAAA;EACR,+BAAQ,CAAA;EACR,+BAAQ,CAAA;EACR,+BAAQ,CAAA;EACR,+BAAQ,CAAA;EACR,+BAAQ,CAAA;EACR,+BAAQ,CAAA;EACR,iCAAS,CAAA;EACT,iCAAS,CAAA;EACT,iCAAS,CAAA;EACT,4BAAM,CAAA;EACN,4BAAM,CAAA;EACN,4BAAM,CAAA;EACN,4BAAM,CAAA;EACN,4BAAM,CAAA;EACN,4BAAM,CAAA;EACN,4BAAM,CAAA;EACN,4BAAM,CAAA;EACN,4BAAM,CAAA;EACN,4BAAM,CAAA;AACR,CAAC,EAlDI,KAAK,KAAL,KAAK,QAkDT;AAED,IAAK,WAcJ;AAdD,WAAK,WAAW;EACd,8BAAe,CAAA;EACf,wCAAyB,CAAA;EACzB,yBAAU,CAAA;EACV,yBAAU,CAAA;EACV,gCAAiB,CAAA;EACjB,0BAAW,CAAA;EACX,sCAAuB,CAAA;EACvB,gCAAiB,CAAA;EACjB,yCAA0B,CAAA;EAC1B,uCAAwB,CAAA;EACxB,mCAAoB,CAAA;EACpB,uCAAwB,CAAA;EACxB,8BAAe,CAAA;AACjB,CAAC,EAdI,WAAW,KAAX,WAAW,QAcf;AAED,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["enum codes {\n MOUSE_LEFT = 1,\n MOUSE_RIGHT = 3,\n MOUSE_MIDDLE = 2,\n BACKSPACE = 8,\n COMMA = 188,\n INSERT = 45,\n DELETE = 46,\n END = 35,\n ENTER = 13,\n ESCAPE = 27,\n CONTROL = 17,\n COMMAND_LEFT = 91,\n COMMAND_RIGHT = 93,\n COMMAND_FIREFOX = 224,\n ALT = 18,\n HOME = 36,\n PAGE_DOWN = 34,\n PAGE_UP = 33,\n PERIOD = 190,\n SPACE = 32,\n SHIFT = 16,\n CAPS_LOCK = 20,\n TAB = 9,\n ARROW_RIGHT = 39,\n ARROW_LEFT = 37,\n ARROW_UP = 38,\n ARROW_DOWN = 40,\n F1 = 112,\n F2 = 113,\n F3 = 114,\n F4 = 115,\n F5 = 116,\n F6 = 117,\n F7 = 118,\n F8 = 119,\n F9 = 120,\n F10 = 121,\n F11 = 122,\n F12 = 123,\n A = 65,\n C = 67,\n D = 68,\n F = 70,\n L = 76,\n O = 79,\n P = 80,\n S = 83,\n V = 86,\n X = 88,\n}\n\nenum codesLetter {\n ENTER = 'Enter',\n ENTER_NUM = 'NumpadEnter',\n V = 'KeyV',\n C = 'KeyC',\n ESCAPE = 'Escape',\n TAB = 'Tab',\n BACKSPACE = 'Backspace',\n DELETE = 'Delete',\n ARROW_RIGHT = 'ArrowRight',\n ARROW_LEFT = 'ArrowLeft',\n ARROW_UP = 'ArrowUp',\n ARROW_DOWN = 'ArrowDown',\n SHIFT = 'Shift',\n}\n\nexport default codes;\nexport { codesLetter };\n"]}
@@ -65,3 +65,4 @@ export function isTab(code) {
65
65
  export function isEnterKey(code) {
66
66
  return code === codesLetter.ENTER || code === codesLetter.ENTER_NUM;
67
67
  }
68
+ //# sourceMappingURL=keyCodes.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyCodes.utils.js","sourceRoot":"","sources":["../../src/utils/keyCodes.utils.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,EAAE,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,MAAM,UAAU,WAAW,CAAC,IAAY;EACtC,OAAO,CACL,IAAI,KAAK,EAAE,IAAI,QAAQ;IACvB,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;IAC1B,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC;IAC3B,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;IAC5B,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;IAC5B,IAAI,IAAI,GAAG;IACX,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAC3B,CAAC,CAAC,MAAM;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;EACpC,MAAM,IAAI,GAAmB;IAC3B,YAAY,CAAC,UAAU;IACvB,YAAY,CAAC,QAAQ;IACrB,YAAY,CAAC,UAAU;IACvB,YAAY,CAAC,WAAW;IACxB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,SAAS;IACtB,YAAY,CAAC,EAAE;IACf,YAAY,CAAC,EAAE;IACf,YAAY,CAAC,EAAE;IACf,YAAY,CAAC,EAAE;IACf,YAAY,CAAC,EAAE;IACf,YAAY,CAAC,EAAE;IACf,YAAY,CAAC,EAAE;IACf,YAAY,CAAC,EAAE;IACf,YAAY,CAAC,EAAE;IACf,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,SAAS;IACtB,YAAY,CAAC,OAAO;IACpB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,SAAS;IACtB,YAAY,CAAC,GAAG;GACjB,CAAC;EAEF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,QAAgB;EACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;IACrC,OAAO,QAAQ,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;GAC9G;EAED,OAAO,YAAY,CAAC,OAAO,KAAK,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAkB;EAC9C,OAAO,QAAQ,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;AACrI,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;EAClC,OAAO,WAAW,CAAC,SAAS,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;EAChC,OAAO,WAAW,CAAC,GAAG,KAAK,IAAI,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;EACrC,OAAO,IAAI,KAAK,WAAW,CAAC,KAAK,IAAI,IAAI,KAAK,WAAW,CAAC,SAAS,CAAC;AACtE,CAAC","sourcesContent":["import KeyCodesEnum, { codesLetter } from './keyCodes';\nimport OsPlatform from './platform';\nimport includes from 'lodash/includes';\n\nexport function isLetterKey(code: number): boolean {\n return (\n code === 32 || // space\n (code >= 48 && code <= 57) ||\n (code >= 96 && code <= 111) ||\n (code >= 186 && code <= 192) ||\n (code >= 219 && code <= 222) ||\n code >= 226 ||\n (code >= 65 && code <= 90)\n ); // a-z\n}\n\nexport function isMetaKey(code: number): boolean {\n const keys: KeyCodesEnum[] = [\n KeyCodesEnum.ARROW_DOWN,\n KeyCodesEnum.ARROW_UP,\n KeyCodesEnum.ARROW_LEFT,\n KeyCodesEnum.ARROW_RIGHT,\n KeyCodesEnum.HOME,\n KeyCodesEnum.END,\n KeyCodesEnum.DELETE,\n KeyCodesEnum.BACKSPACE,\n KeyCodesEnum.F1,\n KeyCodesEnum.F2,\n KeyCodesEnum.F3,\n KeyCodesEnum.F4,\n KeyCodesEnum.F5,\n KeyCodesEnum.F6,\n KeyCodesEnum.F7,\n KeyCodesEnum.F8,\n KeyCodesEnum.F9,\n KeyCodesEnum.F10,\n KeyCodesEnum.F11,\n KeyCodesEnum.F12,\n KeyCodesEnum.TAB,\n KeyCodesEnum.PAGE_DOWN,\n KeyCodesEnum.PAGE_UP,\n KeyCodesEnum.ENTER,\n KeyCodesEnum.ESCAPE,\n KeyCodesEnum.SHIFT,\n KeyCodesEnum.CAPS_LOCK,\n KeyCodesEnum.ALT,\n ];\n\n return keys.indexOf(code) !== -1;\n}\n\n// navigator.platform\nexport function isCtrlKey(code: number, platform: string): boolean {\n if (platform.includes(OsPlatform.mac)) {\n return includes([KeyCodesEnum.COMMAND_LEFT, KeyCodesEnum.COMMAND_RIGHT, KeyCodesEnum.COMMAND_FIREFOX], code);\n }\n\n return KeyCodesEnum.CONTROL === code;\n}\n\nexport function isCtrlMetaKey(code: KeyCodesEnum): boolean {\n return includes([KeyCodesEnum.CONTROL, KeyCodesEnum.COMMAND_LEFT, KeyCodesEnum.COMMAND_RIGHT, KeyCodesEnum.COMMAND_FIREFOX], code);\n}\n\nexport function isClear(code: string): boolean {\n return codesLetter.BACKSPACE === code || codesLetter.DELETE === code;\n}\n\nexport function isTab(code: string): boolean {\n return codesLetter.TAB === code;\n}\n\nexport function isEnterKey(code: string): boolean {\n return code === codesLetter.ENTER || code === codesLetter.ENTER_NUM;\n}\n"]}
@@ -6,3 +6,4 @@ var osPlatform;
6
6
  osPlatform["mac"] = "Mac";
7
7
  })(osPlatform || (osPlatform = {}));
8
8
  export default osPlatform;
9
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAAA,IAAK,UAEJ;AAFD,WAAK,UAAU;EACb,yBAAW,CAAA;AACb,CAAC,EAFI,UAAU,KAAV,UAAU,QAEd;AACD,eAAe,UAAU,CAAC","sourcesContent":["enum osPlatform {\n mac = 'Mac',\n}\nexport default osPlatform;\n"]}
@@ -7,3 +7,4 @@ export async function resizeObserver() {
7
7
  window.ResizeObserver = module.ResizeObserver;
8
8
  }
9
9
  }
10
+ //# sourceMappingURL=resizeObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizeObserver.js","sourceRoot":"","sources":["../../src/utils/resizeObserver.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,cAAc;EAClC,IAAI,CAAC,CAAC,gBAAgB,IAAI,MAAM,CAAC,EAAE;IACjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACtD,MAAqC,CAAC,cAAc,GAAI,MAAM,CAAC,cAAmD,CAAC;GACrH;AACH,CAAC","sourcesContent":["export async function resizeObserver() {\n if (!('ResizeObserver' in window)) {\n const module = await import('@juggle/resize-observer');\n (window as Window & typeof globalThis).ResizeObserver = (module.ResizeObserver as unknown) as typeof ResizeObserver;\n }\n}\n"]}
@@ -8,3 +8,4 @@ function setStore(store, data) {
8
8
  }
9
9
  }
10
10
  export { setStore };
11
+ //# sourceMappingURL=store.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.utils.js","sourceRoot":"","sources":["../../src/utils/store.utils.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAGtB,SAAS,QAAQ,CAAmC,KAAoB,EAAE,IAAgB;EACxF,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;IACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;GAC3B;AACH,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["/** 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"]}
@@ -105,3 +105,4 @@ export function applyMixins(derivedCtor, constructors) {
105
105
  });
106
106
  });
107
107
  }
108
+ //# sourceMappingURL=utils.js.map