@revolist/revogrid 4.0.2-next → 4.0.2

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 (805) hide show
  1. package/LICENSE +1 -1
  2. package/dist/cjs/app-globals-53fde1aa.js +14 -0
  3. package/dist/cjs/app-globals-53fde1aa.js.map +1 -0
  4. package/dist/cjs/column.service-2066d651.js +545 -0
  5. package/dist/cjs/column.service-2066d651.js.map +1 -0
  6. package/dist/cjs/debounce-e2b7c6fb.js +226 -0
  7. package/dist/cjs/debounce-e2b7c6fb.js.map +1 -0
  8. package/dist/cjs/dimension.helpers-ee39d6c4.js +4218 -0
  9. package/dist/cjs/dimension.helpers-ee39d6c4.js.map +1 -0
  10. package/dist/cjs/dispatcher-a58fa91a.js +34 -0
  11. package/dist/cjs/dispatcher-a58fa91a.js.map +1 -0
  12. package/dist/cjs/events-7ccd6894.js +233 -0
  13. package/dist/cjs/events-7ccd6894.js.map +1 -0
  14. package/dist/cjs/filter.button-db6cbd2e.js +44 -0
  15. package/dist/cjs/filter.button-db6cbd2e.js.map +1 -0
  16. package/dist/cjs/header-cell-renderer-3df76829.js +304 -0
  17. package/dist/cjs/header-cell-renderer-3df76829.js.map +1 -0
  18. package/dist/cjs/index-73c149e3.js +106 -0
  19. package/dist/cjs/index-73c149e3.js.map +1 -0
  20. package/dist/cjs/index-84e32c2a.js +1868 -0
  21. package/dist/cjs/index-84e32c2a.js.map +1 -0
  22. package/dist/cjs/index.cjs.js +53 -0
  23. package/dist/cjs/index.cjs.js.map +1 -0
  24. package/dist/cjs/key.utils-dc4ac217.js +129 -0
  25. package/dist/cjs/key.utils-dc4ac217.js.map +1 -0
  26. package/dist/cjs/loader.cjs.js +12 -27
  27. package/dist/cjs/loader.cjs.js.map +1 -0
  28. package/dist/cjs/{resize-observer-8dc80084.js → resize-observer-d009a220.js} +30 -13
  29. package/dist/cjs/resize-observer-d009a220.js.map +1 -0
  30. package/dist/cjs/revo-grid.cjs.entry.js +3992 -0
  31. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -0
  32. package/dist/cjs/revo-grid.cjs.js +22 -65
  33. package/dist/cjs/revo-grid.cjs.js.map +1 -0
  34. package/dist/cjs/revogr-attribution_6.cjs.entry.js +1270 -0
  35. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -0
  36. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +508 -0
  37. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -0
  38. package/dist/cjs/revogr-data_4.cjs.entry.js +958 -0
  39. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -0
  40. package/dist/cjs/revogr-filter-panel.cjs.entry.js +268 -115
  41. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -0
  42. package/dist/cjs/selection.store-2e110a67.js +400 -0
  43. package/dist/cjs/selection.store-2e110a67.js.map +1 -0
  44. package/dist/cjs/storeTypes-b3f924b2.js +106 -0
  45. package/dist/cjs/storeTypes-b3f924b2.js.map +1 -0
  46. package/dist/cjs/throttle-f7aee21b.js +240 -0
  47. package/dist/cjs/throttle-f7aee21b.js.map +1 -0
  48. package/dist/cjs/toNumber-838e6ff5.js +340 -0
  49. package/dist/cjs/toNumber-838e6ff5.js.map +1 -0
  50. package/dist/cjs/viewport.helpers-6670177c.js +262 -0
  51. package/dist/cjs/viewport.helpers-6670177c.js.map +1 -0
  52. package/dist/collection/collection-manifest.json +18 -16
  53. package/dist/collection/components/attribution/revogr-attribution.js +20 -0
  54. package/dist/collection/components/attribution/revogr-attribution.js.map +1 -0
  55. package/dist/collection/components/clipboard/revogr-clipboard.js +410 -115
  56. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -0
  57. package/dist/collection/components/data/cell-renderer.js +39 -0
  58. package/dist/collection/components/data/cell-renderer.js.map +1 -0
  59. package/dist/collection/components/data/column.service.js +302 -0
  60. package/dist/collection/components/data/column.service.js.map +1 -0
  61. package/dist/collection/components/data/revogr-data-style.css +18 -11
  62. package/dist/collection/components/data/revogr-data.js +626 -301
  63. package/dist/collection/components/data/revogr-data.js.map +1 -0
  64. package/dist/collection/components/data/row-highlight.plugin.js +51 -0
  65. package/dist/collection/components/data/row-highlight.plugin.js.map +1 -0
  66. package/dist/collection/components/data/row-renderer.js +16 -0
  67. package/dist/collection/components/data/row-renderer.js.map +1 -0
  68. package/dist/collection/components/editors/edit.utils.js +9 -0
  69. package/dist/collection/components/editors/edit.utils.js.map +1 -0
  70. package/dist/collection/components/{overlay → editors}/revogr-edit-style.css +15 -9
  71. package/dist/collection/components/editors/revogr-edit.js +316 -0
  72. package/dist/collection/components/editors/revogr-edit.js.map +1 -0
  73. package/dist/collection/components/editors/text-editor.js +73 -0
  74. package/dist/collection/components/editors/text-editor.js.map +1 -0
  75. package/dist/collection/components/header/header-cell-renderer.js +28 -0
  76. package/dist/collection/components/header/header-cell-renderer.js.map +1 -0
  77. package/dist/collection/components/header/header-renderer.js +47 -0
  78. package/dist/collection/components/header/header-renderer.js.map +1 -0
  79. package/dist/collection/components/header/revogr-header-style.css +15 -9
  80. package/dist/collection/components/header/revogr-header.js +421 -297
  81. package/dist/collection/components/header/revogr-header.js.map +1 -0
  82. package/dist/collection/components/order/order-renderer.js +50 -0
  83. package/dist/collection/components/order/order-renderer.js.map +1 -0
  84. package/dist/collection/components/order/order-row.service.js +72 -0
  85. package/dist/collection/components/order/order-row.service.js.map +1 -0
  86. package/dist/collection/components/order/revogr-order-editor.js +381 -350
  87. package/dist/collection/components/order/revogr-order-editor.js.map +1 -0
  88. package/dist/collection/components/overlay/autofill.service.js +206 -179
  89. package/dist/collection/components/overlay/autofill.service.js.map +1 -0
  90. package/dist/collection/components/overlay/keyboard.service.js +137 -124
  91. package/dist/collection/components/overlay/keyboard.service.js.map +1 -0
  92. package/dist/collection/components/overlay/revogr-overlay-selection.js +1208 -703
  93. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -0
  94. package/dist/collection/components/overlay/revogr-overlay-style.css +86 -13
  95. package/dist/collection/components/overlay/selection.utils.js +86 -82
  96. package/dist/collection/components/overlay/selection.utils.js.map +1 -0
  97. package/dist/collection/components/revoGrid/grid.helpers.js +28 -13
  98. package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -0
  99. package/dist/collection/components/revoGrid/revo-grid-style.css +143 -51
  100. package/dist/collection/components/revoGrid/revo-grid.js +2834 -2181
  101. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -0
  102. package/dist/collection/components/revoGrid/viewport.helpers.js +9 -4
  103. package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -0
  104. package/dist/collection/components/revoGrid/viewport.resize.service.js +23 -19
  105. package/dist/collection/components/revoGrid/viewport.resize.service.js.map +1 -0
  106. package/dist/collection/components/revoGrid/viewport.scrolling.service.js +78 -50
  107. package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -0
  108. package/dist/collection/components/revoGrid/viewport.service.js +224 -204
  109. package/dist/collection/components/revoGrid/viewport.service.js.map +1 -0
  110. package/dist/collection/components/rowHeaders/revogr-row-headers.js +262 -204
  111. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -0
  112. package/dist/collection/components/rowHeaders/row-header-render.js +4 -0
  113. package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -0
  114. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +20 -13
  115. package/dist/collection/components/scroll/revogr-viewport-scroll.js +535 -369
  116. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -0
  117. package/dist/collection/components/scrollable/autohide-scroll.plugin.js +44 -0
  118. package/dist/collection/components/scrollable/autohide-scroll.plugin.js.map +1 -0
  119. package/dist/collection/components/scrollable/revogr-scroll-style.css +24 -18
  120. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +286 -247
  121. package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -0
  122. package/dist/collection/components/selectionFocus/revogr-focus-style.css +16 -10
  123. package/dist/collection/components/selectionFocus/revogr-focus.js +366 -96
  124. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -0
  125. package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +16 -10
  126. package/dist/collection/components/selectionTempRange/revogr-temp-range.js +149 -128
  127. package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -0
  128. package/dist/collection/components/vnode/vnode-converter.js +81 -0
  129. package/dist/collection/components/vnode/vnode-converter.js.map +1 -0
  130. package/dist/collection/components/vnode/vnode.utils.js +18 -0
  131. package/dist/collection/components/vnode/vnode.utils.js.map +1 -0
  132. package/dist/collection/global/global.js +15 -11
  133. package/dist/collection/global/global.js.map +1 -0
  134. package/dist/collection/index.js +18 -0
  135. package/dist/collection/index.js.map +1 -0
  136. package/dist/collection/plugins/base.plugin.js +88 -0
  137. package/dist/collection/plugins/base.plugin.js.map +1 -0
  138. package/dist/collection/plugins/column.auto-size.plugin.js +234 -0
  139. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -0
  140. package/dist/collection/plugins/column.stretch.plugin.js +96 -0
  141. package/dist/collection/plugins/column.stretch.plugin.js.map +1 -0
  142. package/dist/collection/plugins/dispatcher.js +27 -0
  143. package/dist/collection/plugins/dispatcher.js.map +1 -0
  144. package/dist/collection/plugins/export/csv.js +57 -53
  145. package/dist/collection/plugins/export/csv.js.map +1 -0
  146. package/dist/collection/plugins/export/export.plugin.js +154 -150
  147. package/dist/collection/plugins/export/export.plugin.js.map +1 -0
  148. package/dist/collection/plugins/export/types.js +1 -0
  149. package/dist/collection/plugins/export/types.js.map +1 -0
  150. package/dist/collection/plugins/filter/conditions/equal.js +15 -7
  151. package/dist/collection/plugins/filter/conditions/equal.js.map +1 -0
  152. package/dist/collection/plugins/filter/conditions/number/greaterThan.js +10 -6
  153. package/dist/collection/plugins/filter/conditions/number/greaterThan.js.map +1 -0
  154. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +7 -3
  155. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js.map +1 -0
  156. package/dist/collection/plugins/filter/conditions/number/lessThan.js +12 -8
  157. package/dist/collection/plugins/filter/conditions/number/lessThan.js.map +1 -0
  158. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +7 -3
  159. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js.map +1 -0
  160. package/dist/collection/plugins/filter/conditions/set.js +4 -0
  161. package/dist/collection/plugins/filter/conditions/set.js.map +1 -0
  162. package/dist/collection/plugins/filter/conditions/string/beginswith.js +17 -13
  163. package/dist/collection/plugins/filter/conditions/string/beginswith.js.map +1 -0
  164. package/dist/collection/plugins/filter/conditions/string/contains.js +17 -10
  165. package/dist/collection/plugins/filter/conditions/string/contains.js.map +1 -0
  166. package/dist/collection/plugins/filter/filter.button.js +21 -13
  167. package/dist/collection/plugins/filter/filter.button.js.map +1 -0
  168. package/dist/collection/plugins/filter/filter.plugin.js +280 -185
  169. package/dist/collection/plugins/filter/filter.plugin.js.map +1 -0
  170. package/dist/collection/plugins/filter/filter.pop.js +492 -246
  171. package/dist/collection/plugins/filter/filter.pop.js.map +1 -0
  172. package/dist/collection/plugins/filter/filter.service.js +42 -38
  173. package/dist/collection/plugins/filter/filter.service.js.map +1 -0
  174. package/dist/collection/plugins/filter/filter.style.css +68 -15
  175. package/dist/collection/plugins/filter/filter.types.js +1 -0
  176. package/dist/collection/plugins/filter/filter.types.js.map +1 -0
  177. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +30 -26
  178. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -0
  179. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +38 -30
  180. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js.map +1 -0
  181. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +22 -18
  182. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -0
  183. package/dist/collection/plugins/groupingRow/grouping.const.js +7 -2
  184. package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -0
  185. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +64 -61
  186. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -0
  187. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +239 -237
  188. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -0
  189. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +27 -24
  190. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -0
  191. package/dist/collection/plugins/groupingRow/grouping.row.types.js +1 -0
  192. package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -0
  193. package/dist/collection/plugins/groupingRow/grouping.service.js +101 -131
  194. package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -0
  195. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +47 -43
  196. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js.map +1 -0
  197. package/dist/collection/plugins/moveColumn/column.drag.plugin.js +167 -0
  198. package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -0
  199. package/dist/collection/plugins/moveColumn/order-column.handler.js +69 -0
  200. package/dist/collection/plugins/moveColumn/order-column.handler.js.map +1 -0
  201. package/dist/collection/plugins/sorting/sorting.plugin.js +218 -163
  202. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -0
  203. package/dist/collection/plugins/sorting/sorting.sign.js +6 -2
  204. package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -0
  205. package/dist/collection/serve/controller.js +233 -0
  206. package/dist/collection/{utilsExternal/generate-data.js → serve/data.js} +72 -32
  207. package/dist/collection/services/cell.helpers.js +9 -5
  208. package/dist/collection/services/cell.helpers.js.map +1 -0
  209. package/dist/collection/services/column.data.provider.js +201 -185
  210. package/dist/collection/services/column.data.provider.js.map +1 -0
  211. package/dist/collection/services/data.provider.js +70 -45
  212. package/dist/collection/services/data.provider.js.map +1 -0
  213. package/dist/collection/services/dimension.provider.js +143 -84
  214. package/dist/collection/services/dimension.provider.js.map +1 -0
  215. package/dist/collection/services/local.scroll.service.js +120 -0
  216. package/dist/collection/services/local.scroll.service.js.map +1 -0
  217. package/dist/collection/services/local.scroll.timer.js +42 -0
  218. package/dist/collection/services/local.scroll.timer.js.map +1 -0
  219. package/dist/collection/services/resizable.directive.js +211 -226
  220. package/dist/collection/services/resizable.directive.js.map +1 -0
  221. package/dist/collection/services/resizable.element.js +39 -0
  222. package/dist/collection/services/resizable.element.js.map +1 -0
  223. package/dist/collection/services/selection.store.connector.js +257 -208
  224. package/dist/collection/services/selection.store.connector.js.map +1 -0
  225. package/dist/collection/services/viewport.provider.js +16 -12
  226. package/dist/collection/services/viewport.provider.js.map +1 -0
  227. package/dist/collection/store/dataSource/data.proxy.js +29 -25
  228. package/dist/collection/store/dataSource/data.proxy.js.map +1 -0
  229. package/dist/collection/store/dataSource/data.store.js +100 -93
  230. package/dist/collection/store/dataSource/data.store.js.map +1 -0
  231. package/dist/collection/store/dataSource/index.js +7 -0
  232. package/dist/collection/store/dataSource/index.js.map +1 -0
  233. package/dist/collection/store/dataSource/trimmed.plugin.js +36 -0
  234. package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -0
  235. package/dist/collection/store/dimension/dimension.helpers.js +97 -95
  236. package/dist/collection/store/dimension/dimension.helpers.js.map +1 -0
  237. package/dist/collection/store/dimension/dimension.store.js +106 -48
  238. package/dist/collection/store/dimension/dimension.store.js.map +1 -0
  239. package/dist/collection/store/dimension/index.js +6 -0
  240. package/dist/collection/store/dimension/index.js.map +1 -0
  241. package/dist/collection/store/selection/index.js +7 -0
  242. package/dist/collection/store/selection/index.js.map +1 -0
  243. package/dist/collection/store/selection/selection.helpers.js +43 -39
  244. package/dist/collection/store/selection/selection.helpers.js.map +1 -0
  245. package/dist/collection/store/selection/selection.store.js +75 -63
  246. package/dist/collection/store/selection/selection.store.js.map +1 -0
  247. package/dist/collection/store/selection/selection.store.service.js +35 -31
  248. package/dist/collection/store/selection/selection.store.service.js.map +1 -0
  249. package/dist/collection/store/storeTypes.js +10 -2
  250. package/dist/collection/store/storeTypes.js.map +1 -0
  251. package/dist/collection/store/viewport/index.js +6 -0
  252. package/dist/collection/store/viewport/index.js.map +1 -0
  253. package/dist/collection/store/viewport/viewport.helpers.js +247 -0
  254. package/dist/collection/store/viewport/viewport.helpers.js.map +1 -0
  255. package/dist/collection/store/viewport/viewport.store.js +193 -0
  256. package/dist/collection/store/viewport/viewport.store.js.map +1 -0
  257. package/dist/collection/themeManager/theme.compact.js +7 -3
  258. package/dist/collection/themeManager/theme.compact.js.map +1 -0
  259. package/dist/collection/themeManager/theme.default.js +7 -3
  260. package/dist/collection/themeManager/theme.default.js.map +1 -0
  261. package/dist/collection/themeManager/theme.material.js +7 -3
  262. package/dist/collection/themeManager/theme.material.js.map +1 -0
  263. package/dist/collection/themeManager/theme.service.js +53 -0
  264. package/dist/collection/themeManager/theme.service.js.map +1 -0
  265. package/dist/collection/types/dimension.js +2 -0
  266. package/dist/collection/types/dimension.js.map +1 -0
  267. package/dist/collection/types/interfaces.js +2 -0
  268. package/dist/collection/types/interfaces.js.map +1 -0
  269. package/dist/collection/types/plugin.js +2 -0
  270. package/dist/collection/types/plugin.js.map +1 -0
  271. package/dist/collection/types/plugin.types.js +2 -0
  272. package/dist/collection/types/plugin.types.js.map +1 -0
  273. package/dist/collection/types/selection.js +2 -0
  274. package/dist/collection/types/selection.js.map +1 -0
  275. package/dist/collection/types/theme.js +2 -0
  276. package/dist/collection/types/theme.js.map +1 -0
  277. package/dist/collection/types/viewport.interfaces.js +2 -0
  278. package/dist/collection/types/viewport.interfaces.js.map +1 -0
  279. package/dist/collection/utils/browser.js +7 -0
  280. package/dist/collection/utils/browser.js.map +1 -0
  281. package/dist/collection/utils/closest.polifill.js +22 -0
  282. package/dist/collection/utils/closest.polifill.js.map +1 -0
  283. package/dist/collection/utils/consts.js +8 -0
  284. package/dist/collection/utils/consts.js.map +1 -0
  285. package/dist/collection/utils/events.js +29 -0
  286. package/dist/collection/utils/events.js.map +1 -0
  287. package/dist/collection/utils/header.utils.js +24 -0
  288. package/dist/collection/utils/header.utils.js.map +1 -0
  289. package/dist/collection/utils/index.js +125 -0
  290. package/dist/collection/utils/index.js.map +1 -0
  291. package/dist/collection/utils/key.codes.js +76 -0
  292. package/dist/collection/utils/key.codes.js.map +1 -0
  293. package/dist/collection/utils/key.utils.js +84 -0
  294. package/dist/collection/utils/key.utils.js.map +1 -0
  295. package/dist/collection/utils/mobile.js +7 -0
  296. package/dist/collection/utils/mobile.js.map +1 -0
  297. package/dist/collection/utils/platform.js +5 -1
  298. package/dist/collection/utils/platform.js.map +1 -0
  299. package/dist/collection/utils/resize-observer.polifill.js +10 -0
  300. package/dist/collection/utils/resize-observer.polifill.js.map +1 -0
  301. package/dist/collection/utils/row-header-utils.js +9 -0
  302. package/dist/collection/utils/row-header-utils.js.map +1 -0
  303. package/dist/collection/utils/store.utils.js +7 -3
  304. package/dist/collection/utils/store.utils.js.map +1 -0
  305. package/dist/esm/app-globals-ef1fca59.js +12 -0
  306. package/dist/esm/app-globals-ef1fca59.js.map +1 -0
  307. package/dist/esm/column.service-21a3af74.js +520 -0
  308. package/dist/esm/column.service-21a3af74.js.map +1 -0
  309. package/dist/esm/debounce-7781346d.js +224 -0
  310. package/dist/esm/debounce-7781346d.js.map +1 -0
  311. package/dist/esm/dimension.helpers-a3065cb1.js +4185 -0
  312. package/dist/esm/dimension.helpers-a3065cb1.js.map +1 -0
  313. package/dist/esm/dispatcher-8ea9187d.js +30 -0
  314. package/dist/esm/dispatcher-8ea9187d.js.map +1 -0
  315. package/dist/esm/events-3dd8ee7c.js +228 -0
  316. package/dist/esm/events-3dd8ee7c.js.map +1 -0
  317. package/dist/esm/filter.button-46ce4f80.js +38 -0
  318. package/dist/esm/filter.button-46ce4f80.js.map +1 -0
  319. package/dist/esm/header-cell-renderer-1ca84d5f.js +301 -0
  320. package/dist/esm/header-cell-renderer-1ca84d5f.js.map +1 -0
  321. package/dist/esm/index-21436631.js +1837 -0
  322. package/dist/esm/index-21436631.js.map +1 -0
  323. package/dist/esm/index-98fd0168.js +79 -0
  324. package/dist/esm/index-98fd0168.js.map +1 -0
  325. package/dist/esm/index.js +11 -0
  326. package/dist/esm/index.js.map +1 -0
  327. package/dist/esm/key.utils-4586a3d6.js +120 -0
  328. package/dist/esm/key.utils-4586a3d6.js.map +1 -0
  329. package/dist/esm/loader.js +11 -26
  330. package/dist/esm/loader.js.map +1 -0
  331. package/dist/esm/{resize-observer-56b7b34f.js → resize-observer-83c9e167.js} +30 -14
  332. package/dist/esm/resize-observer-83c9e167.js.map +1 -0
  333. package/dist/esm/revo-grid.entry.js +3988 -0
  334. package/dist/esm/revo-grid.entry.js.map +1 -0
  335. package/dist/esm/revo-grid.js +19 -65
  336. package/dist/esm/revo-grid.js.map +1 -0
  337. package/dist/esm/revogr-attribution_6.entry.js +1261 -0
  338. package/dist/esm/revogr-attribution_6.entry.js.map +1 -0
  339. package/dist/esm/revogr-clipboard_3.entry.js +502 -0
  340. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -0
  341. package/dist/esm/revogr-data_4.entry.js +951 -0
  342. package/dist/esm/revogr-data_4.entry.js.map +1 -0
  343. package/dist/esm/revogr-filter-panel.entry.js +268 -115
  344. package/dist/esm/revogr-filter-panel.entry.js.map +1 -0
  345. package/dist/esm/selection.store-2577ddf9.js +391 -0
  346. package/dist/esm/selection.store-2577ddf9.js.map +1 -0
  347. package/dist/esm/storeTypes-f2647985.js +101 -0
  348. package/dist/esm/storeTypes-f2647985.js.map +1 -0
  349. package/dist/esm/throttle-cfd527d6.js +235 -0
  350. package/dist/esm/throttle-cfd527d6.js.map +1 -0
  351. package/dist/esm/toNumber-8de324a7.js +331 -0
  352. package/dist/esm/toNumber-8de324a7.js.map +1 -0
  353. package/dist/esm/viewport.helpers-6591d423.js +251 -0
  354. package/dist/esm/viewport.helpers-6591d423.js.map +1 -0
  355. package/dist/index.js +1 -1
  356. package/dist/loader/cdn.js +4 -0
  357. package/dist/loader/index.cjs.js +4 -0
  358. package/{loader → dist/loader}/index.d.ts +11 -3
  359. package/dist/loader/index.es2017.js +4 -0
  360. package/dist/{esm/polyfills/es5-html-element.js → loader/index.js} +5 -1
  361. package/{loader → dist/loader}/package.json +1 -0
  362. package/dist/revo-grid/app-globals-ef1fca59.js +5 -0
  363. package/dist/revo-grid/app-globals-ef1fca59.js.map +1 -0
  364. package/dist/revo-grid/column.service-21a3af74.js +5 -0
  365. package/dist/revo-grid/column.service-21a3af74.js.map +1 -0
  366. package/dist/revo-grid/debounce-7781346d.js +5 -0
  367. package/dist/revo-grid/debounce-7781346d.js.map +1 -0
  368. package/dist/revo-grid/dimension.helpers-a3065cb1.js +5 -0
  369. package/dist/revo-grid/dimension.helpers-a3065cb1.js.map +1 -0
  370. package/dist/revo-grid/dispatcher-8ea9187d.js +5 -0
  371. package/dist/revo-grid/dispatcher-8ea9187d.js.map +1 -0
  372. package/dist/revo-grid/events-3dd8ee7c.js +5 -0
  373. package/dist/revo-grid/events-3dd8ee7c.js.map +1 -0
  374. package/dist/revo-grid/filter.button-46ce4f80.js +5 -0
  375. package/dist/revo-grid/filter.button-46ce4f80.js.map +1 -0
  376. package/dist/revo-grid/header-cell-renderer-1ca84d5f.js +5 -0
  377. package/dist/revo-grid/header-cell-renderer-1ca84d5f.js.map +1 -0
  378. package/dist/revo-grid/index-21436631.js +6 -0
  379. package/dist/revo-grid/index-21436631.js.map +1 -0
  380. package/dist/revo-grid/index-98fd0168.js +5 -0
  381. package/dist/revo-grid/index-98fd0168.js.map +1 -0
  382. package/dist/revo-grid/index.esm.js +5 -0
  383. package/dist/revo-grid/index.esm.js.map +1 -0
  384. package/dist/revo-grid/key.utils-4586a3d6.js +5 -0
  385. package/dist/revo-grid/key.utils-4586a3d6.js.map +1 -0
  386. package/dist/revo-grid/resize-observer-83c9e167.js +5 -0
  387. package/dist/revo-grid/resize-observer-83c9e167.js.map +1 -0
  388. package/dist/revo-grid/revo-grid.entry.js +5 -0
  389. package/dist/revo-grid/revo-grid.entry.js.map +1 -0
  390. package/dist/revo-grid/revo-grid.esm.js +5 -1
  391. package/dist/revo-grid/revo-grid.esm.js.map +1 -0
  392. package/dist/revo-grid/revogr-attribution_6.entry.js +5 -0
  393. package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -0
  394. package/dist/revo-grid/revogr-clipboard_3.entry.js +5 -0
  395. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -0
  396. package/dist/revo-grid/revogr-data_4.entry.js +5 -0
  397. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -0
  398. package/dist/revo-grid/revogr-filter-panel.entry.js +5 -1
  399. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -0
  400. package/dist/revo-grid/selection.store-2577ddf9.js +5 -0
  401. package/dist/revo-grid/selection.store-2577ddf9.js.map +1 -0
  402. package/dist/revo-grid/storeTypes-f2647985.js +5 -0
  403. package/dist/revo-grid/storeTypes-f2647985.js.map +1 -0
  404. package/dist/revo-grid/throttle-cfd527d6.js +5 -0
  405. package/dist/revo-grid/throttle-cfd527d6.js.map +1 -0
  406. package/dist/revo-grid/toNumber-8de324a7.js +5 -0
  407. package/dist/revo-grid/toNumber-8de324a7.js.map +1 -0
  408. package/dist/revo-grid/viewport.helpers-6591d423.js +5 -0
  409. package/dist/revo-grid/viewport.helpers-6591d423.js.map +1 -0
  410. package/dist/types/components/attribution/revogr-attribution.d.ts +12 -0
  411. package/dist/types/components/clipboard/revogr-clipboard.d.ts +78 -10
  412. package/dist/types/components/data/cell-renderer.d.ts +14 -0
  413. package/dist/types/components/data/column.service.d.ts +60 -0
  414. package/dist/types/components/data/revogr-data.d.ts +101 -27
  415. package/dist/types/components/data/row-highlight.plugin.d.ts +10 -0
  416. package/dist/types/components/data/{rowRenderer.d.ts → row-renderer.d.ts} +6 -5
  417. package/dist/types/components/editors/revogr-edit.d.ts +63 -0
  418. package/dist/types/components/editors/text-editor.d.ts +46 -0
  419. package/dist/types/components/header/header-cell-renderer.d.ts +11 -0
  420. package/dist/types/components/header/header-renderer.d.ts +17 -0
  421. package/dist/types/components/header/revogr-header.d.ts +70 -22
  422. package/dist/types/components/order/order-renderer.d.ts +29 -0
  423. package/dist/types/components/order/order-row.service.d.ts +28 -0
  424. package/dist/types/components/order/revogr-order-editor.d.ts +43 -41
  425. package/dist/types/components/overlay/autofill.service.d.ts +69 -54
  426. package/dist/types/components/overlay/keyboard.service.d.ts +24 -23
  427. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +216 -75
  428. package/dist/types/components/overlay/selection.utils.d.ts +24 -27
  429. package/dist/types/components/revoGrid/grid.helpers.d.ts +16 -11
  430. package/dist/types/components/revoGrid/revo-grid.d.ts +555 -403
  431. package/dist/types/components/revoGrid/viewport.helpers.d.ts +4 -3
  432. package/dist/types/components/revoGrid/viewport.resize.service.d.ts +7 -7
  433. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +20 -21
  434. package/dist/types/components/revoGrid/viewport.service.d.ts +54 -56
  435. package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +45 -12
  436. package/dist/types/components/rowHeaders/row-header-render.d.ts +5 -5
  437. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +115 -76
  438. package/dist/types/components/scrollable/autohide-scroll.plugin.d.ts +22 -0
  439. package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +39 -22
  440. package/dist/types/components/selectionFocus/revogr-focus.d.ts +61 -9
  441. package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +26 -11
  442. package/dist/types/components/vnode/vnode-converter.d.ts +19 -0
  443. package/dist/types/components/vnode/vnode.utils.d.ts +8 -0
  444. package/dist/types/components.d.ts +1595 -274
  445. package/dist/types/index.d.ts +14 -0
  446. package/dist/types/plugins/base.plugin.d.ts +49 -0
  447. package/dist/types/plugins/column.auto-size.plugin.d.ts +47 -0
  448. package/dist/types/plugins/column.stretch.plugin.d.ts +22 -0
  449. package/dist/types/plugins/dispatcher.d.ts +16 -0
  450. package/dist/types/plugins/export/csv.d.ts +6 -6
  451. package/dist/types/plugins/export/export.plugin.d.ts +18 -18
  452. package/dist/types/plugins/export/types.d.ts +15 -15
  453. package/dist/types/plugins/filter/filter.button.d.ts +7 -3
  454. package/dist/types/plugins/filter/filter.plugin.d.ts +61 -43
  455. package/dist/types/plugins/filter/filter.pop.d.ts +60 -35
  456. package/dist/types/plugins/filter/filter.service.d.ts +15 -15
  457. package/dist/types/plugins/filter/filter.types.d.ts +7 -7
  458. package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +16 -13
  459. package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +10 -6
  460. package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +12 -10
  461. package/dist/types/plugins/groupingRow/grouping.const.d.ts +8 -7
  462. package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +6 -6
  463. package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +32 -37
  464. package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +7 -5
  465. package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +23 -15
  466. package/dist/types/plugins/groupingRow/grouping.service.d.ts +18 -16
  467. package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +1 -1
  468. package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +56 -0
  469. package/dist/types/plugins/moveColumn/order-column.handler.d.ts +16 -0
  470. package/dist/types/plugins/sorting/sorting.plugin.d.ts +40 -27
  471. package/dist/types/plugins/sorting/sorting.sign.d.ts +3 -3
  472. package/dist/types/services/cell.helpers.d.ts +2 -2
  473. package/dist/types/services/column.data.provider.d.ts +33 -35
  474. package/dist/types/services/data.provider.d.ts +27 -21
  475. package/dist/types/services/dimension.provider.d.ts +52 -32
  476. package/dist/types/services/local.scroll.service.d.ts +37 -0
  477. package/dist/types/services/local.scroll.timer.d.ts +26 -0
  478. package/dist/types/services/resizable.directive.d.ts +52 -51
  479. package/dist/types/services/resizable.element.d.ts +4 -0
  480. package/dist/types/services/selection.store.connector.d.ts +54 -36
  481. package/dist/types/services/viewport.provider.d.ts +6 -8
  482. package/dist/types/stencil-public-runtime.d.ts +331 -217
  483. package/dist/types/store/dataSource/data.proxy.d.ts +3 -3
  484. package/dist/types/store/dataSource/data.store.d.ts +45 -46
  485. package/dist/types/store/dataSource/index.d.ts +3 -0
  486. package/dist/types/store/dataSource/trimmed.plugin.d.ts +10 -0
  487. package/dist/types/store/dimension/dimension.helpers.d.ts +24 -9
  488. package/dist/types/store/dimension/dimension.store.d.ts +29 -11
  489. package/dist/types/store/dimension/index.d.ts +2 -0
  490. package/dist/types/store/selection/index.d.ts +3 -0
  491. package/dist/types/store/selection/selection.helpers.d.ts +1 -3
  492. package/dist/types/store/selection/selection.store.d.ts +19 -17
  493. package/dist/types/store/selection/selection.store.service.d.ts +12 -13
  494. package/dist/types/store/storeTypes.d.ts +4 -4
  495. package/dist/types/store/viewport/index.d.ts +2 -0
  496. package/dist/types/store/viewport/viewport.helpers.d.ts +54 -0
  497. package/dist/types/store/viewport/viewport.store.d.ts +36 -0
  498. package/dist/types/themeManager/theme.compact.d.ts +3 -3
  499. package/dist/types/themeManager/theme.default.d.ts +3 -3
  500. package/dist/types/themeManager/theme.material.d.ts +3 -3
  501. package/dist/types/themeManager/theme.service.d.ts +13 -0
  502. package/dist/types/types/dimension.d.ts +8 -0
  503. package/dist/types/types/interfaces.d.ts +243 -0
  504. package/dist/types/types/plugin.d.ts +9 -0
  505. package/dist/types/types/plugin.types.d.ts +12 -0
  506. package/dist/types/types/selection.d.ts +115 -0
  507. package/dist/types/types/theme.d.ts +7 -0
  508. package/dist/types/types/viewport.interfaces.d.ts +51 -0
  509. package/dist/types/utils/browser.d.ts +1 -0
  510. package/dist/types/utils/consts.d.ts +5 -1
  511. package/dist/types/utils/events.d.ts +2 -0
  512. package/dist/types/utils/{utils.d.ts → index.d.ts} +17 -1
  513. package/dist/types/utils/key.codes.d.ts +70 -0
  514. package/dist/types/utils/{keyCodes.utils.d.ts → key.utils.d.ts} +5 -1
  515. package/dist/types/utils/mobile.d.ts +1 -0
  516. package/dist/types/utils/platform.d.ts +1 -1
  517. package/dist/types/utils/row-header-utils.d.ts +2 -0
  518. package/dist/types/utils/store.utils.d.ts +2 -2
  519. package/hydrate/index.d.ts +218 -0
  520. package/hydrate/index.js +32381 -0
  521. package/hydrate/package.json +6 -0
  522. package/package.json +94 -52
  523. package/readme.md +135 -98
  524. package/standalone/_baseIteratee.js +1237 -0
  525. package/standalone/_baseIteratee.js.map +1 -0
  526. package/standalone/_stringToPath.js +1389 -0
  527. package/standalone/_stringToPath.js.map +1 -0
  528. package/standalone/column.service.js +889 -0
  529. package/standalone/column.service.js.map +1 -0
  530. package/standalone/consts.js +30 -0
  531. package/standalone/consts.js.map +1 -0
  532. package/standalone/data.store.js +705 -0
  533. package/standalone/data.store.js.map +1 -0
  534. package/standalone/debounce.js +225 -0
  535. package/standalone/debounce.js.map +1 -0
  536. package/standalone/dimension.helpers.js +355 -0
  537. package/standalone/dimension.helpers.js.map +1 -0
  538. package/standalone/each.js +200 -0
  539. package/standalone/each.js.map +1 -0
  540. package/standalone/filter.button.js +38 -0
  541. package/standalone/filter.button.js.map +1 -0
  542. package/standalone/identity.js +349 -0
  543. package/standalone/identity.js.map +1 -0
  544. package/standalone/index.d.ts +66 -0
  545. package/standalone/index.js +42 -0
  546. package/standalone/index.js.map +1 -0
  547. package/standalone/index2.js +55 -0
  548. package/standalone/index2.js.map +1 -0
  549. package/standalone/isObjectLike.js +195 -0
  550. package/standalone/isObjectLike.js.map +1 -0
  551. package/standalone/local.scroll.timer.js +163 -0
  552. package/standalone/local.scroll.timer.js.map +1 -0
  553. package/{custom-element → standalone}/resize-observer.js +30 -14
  554. package/standalone/resize-observer.js.map +1 -0
  555. package/standalone/revo-grid.d.ts +11 -0
  556. package/standalone/revo-grid.js +4252 -0
  557. package/standalone/revo-grid.js.map +1 -0
  558. package/standalone/revogr-attribution.d.ts +11 -0
  559. package/standalone/revogr-attribution.js +11 -0
  560. package/standalone/revogr-attribution.js.map +1 -0
  561. package/standalone/revogr-attribution2.js +31 -0
  562. package/standalone/revogr-attribution2.js.map +1 -0
  563. package/standalone/revogr-clipboard.d.ts +11 -0
  564. package/standalone/revogr-clipboard.js +11 -0
  565. package/standalone/revogr-clipboard.js.map +1 -0
  566. package/standalone/revogr-clipboard2.js +159 -0
  567. package/standalone/revogr-clipboard2.js.map +1 -0
  568. package/standalone/revogr-data.d.ts +11 -0
  569. package/standalone/revogr-data.js +11 -0
  570. package/standalone/revogr-data.js.map +1 -0
  571. package/standalone/revogr-data2.js +368 -0
  572. package/standalone/revogr-data2.js.map +1 -0
  573. package/standalone/revogr-edit.d.ts +11 -0
  574. package/standalone/revogr-edit.js +11 -0
  575. package/standalone/revogr-edit.js.map +1 -0
  576. package/standalone/revogr-edit2.js +335 -0
  577. package/standalone/revogr-edit2.js.map +1 -0
  578. package/standalone/revogr-filter-panel.d.ts +11 -0
  579. package/standalone/revogr-filter-panel.js +310 -0
  580. package/standalone/revogr-filter-panel.js.map +1 -0
  581. package/standalone/revogr-focus.d.ts +11 -0
  582. package/standalone/revogr-focus.js +11 -0
  583. package/standalone/revogr-focus.js.map +1 -0
  584. package/standalone/revogr-focus2.js +106 -0
  585. package/standalone/revogr-focus2.js.map +1 -0
  586. package/standalone/revogr-header.d.ts +11 -0
  587. package/standalone/revogr-header.js +11 -0
  588. package/standalone/revogr-header.js.map +1 -0
  589. package/standalone/revogr-header2.js +667 -0
  590. package/standalone/revogr-header2.js.map +1 -0
  591. package/standalone/revogr-order-editor.d.ts +11 -0
  592. package/standalone/revogr-order-editor.js +11 -0
  593. package/standalone/revogr-order-editor.js.map +1 -0
  594. package/standalone/revogr-order-editor2.js +199 -0
  595. package/standalone/revogr-order-editor2.js.map +1 -0
  596. package/standalone/revogr-overlay-selection.d.ts +11 -0
  597. package/standalone/revogr-overlay-selection.js +11 -0
  598. package/standalone/revogr-overlay-selection.js.map +1 -0
  599. package/standalone/revogr-overlay-selection2.js +876 -0
  600. package/standalone/revogr-overlay-selection2.js.map +1 -0
  601. package/standalone/revogr-row-headers.d.ts +11 -0
  602. package/standalone/revogr-row-headers.js +11 -0
  603. package/standalone/revogr-row-headers.js.map +1 -0
  604. package/standalone/revogr-row-headers2.js +555 -0
  605. package/standalone/revogr-row-headers2.js.map +1 -0
  606. package/standalone/revogr-scroll-virtual.d.ts +11 -0
  607. package/standalone/revogr-scroll-virtual.js +11 -0
  608. package/standalone/revogr-scroll-virtual.js.map +1 -0
  609. package/standalone/revogr-scroll-virtual2.js +187 -0
  610. package/standalone/revogr-scroll-virtual2.js.map +1 -0
  611. package/standalone/revogr-temp-range.d.ts +11 -0
  612. package/standalone/revogr-temp-range.js +11 -0
  613. package/standalone/revogr-temp-range.js.map +1 -0
  614. package/standalone/revogr-temp-range2.js +90 -0
  615. package/standalone/revogr-temp-range2.js.map +1 -0
  616. package/standalone/revogr-viewport-scroll.d.ts +11 -0
  617. package/standalone/revogr-viewport-scroll.js +11 -0
  618. package/standalone/revogr-viewport-scroll.js.map +1 -0
  619. package/standalone/revogr-viewport-scroll2.js +336 -0
  620. package/standalone/revogr-viewport-scroll2.js.map +1 -0
  621. package/standalone/selection.utils.js +108 -0
  622. package/standalone/selection.utils.js.map +1 -0
  623. package/standalone/throttle.js +79 -0
  624. package/standalone/throttle.js.map +1 -0
  625. package/standalone/toNumber.js +144 -0
  626. package/standalone/toNumber.js.map +1 -0
  627. package/standalone/vnode-converter.js +45 -0
  628. package/standalone/vnode-converter.js.map +1 -0
  629. package/standalone/vnode-html.d.ts +11 -0
  630. package/standalone/vnode-html.js +11 -0
  631. package/standalone/vnode-html.js.map +1 -0
  632. package/custom-element/index.d.ts +0 -117
  633. package/custom-element/index.js +0 -28857
  634. package/dist/cjs/css-shim-e33df79c.js +0 -6
  635. package/dist/cjs/dom-c8b6d1a7.js +0 -75
  636. package/dist/cjs/filter.button-2396a488.js +0 -27
  637. package/dist/cjs/index-d3f67f2e.js +0 -1729
  638. package/dist/cjs/revo-grid_11.cjs.entry.js +0 -28621
  639. package/dist/cjs/revogr-clipboard.cjs.entry.js +0 -53
  640. package/dist/collection/components/button/button.js +0 -4
  641. package/dist/collection/components/data/cellRenderer.js +0 -19
  642. package/dist/collection/components/data/columnService.js +0 -243
  643. package/dist/collection/components/data/rowRenderer.js +0 -6
  644. package/dist/collection/components/header/headerCellRenderer.js +0 -19
  645. package/dist/collection/components/header/headerRenderer.js +0 -45
  646. package/dist/collection/components/order/orderRenderer.js +0 -50
  647. package/dist/collection/components/order/rowOrderService.js +0 -68
  648. package/dist/collection/components/overlay/clipboard.service.js +0 -39
  649. package/dist/collection/components/overlay/editors/edit.utils.js +0 -5
  650. package/dist/collection/components/overlay/editors/text.js +0 -35
  651. package/dist/collection/components/overlay/revogr-edit.js +0 -163
  652. package/dist/collection/components/revoGrid/viewport.interfaces.js +0 -1
  653. package/dist/collection/components/revoGrid/viewport.js +0 -18
  654. package/dist/collection/components/revoGrid/viewport.section.js +0 -28
  655. package/dist/collection/components/rowHeaders/row-header-utils.js +0 -4
  656. package/dist/collection/plugins/autoSizeColumn.d.ts +0 -54
  657. package/dist/collection/plugins/autoSizeColumn.js +0 -230
  658. package/dist/collection/plugins/basePlugin.d.ts +0 -37
  659. package/dist/collection/plugins/basePlugin.js +0 -53
  660. package/dist/collection/plugins/export/csv.d.ts +0 -9
  661. package/dist/collection/plugins/export/export.plugin.d.ts +0 -24
  662. package/dist/collection/plugins/export/types.d.ts +0 -23
  663. package/dist/collection/plugins/filter/conditions/equal.d.ts +0 -4
  664. package/dist/collection/plugins/filter/conditions/number/greaterThan.d.ts +0 -3
  665. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +0 -3
  666. package/dist/collection/plugins/filter/conditions/number/lessThan.d.ts +0 -3
  667. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.d.ts +0 -3
  668. package/dist/collection/plugins/filter/conditions/set.d.ts +0 -4
  669. package/dist/collection/plugins/filter/conditions/string/beginswith.d.ts +0 -3
  670. package/dist/collection/plugins/filter/conditions/string/contains.d.ts +0 -4
  671. package/dist/collection/plugins/filter/filter.button.d.ts +0 -10
  672. package/dist/collection/plugins/filter/filter.plugin.d.ts +0 -59
  673. package/dist/collection/plugins/filter/filter.pop.d.ts +0 -42
  674. package/dist/collection/plugins/filter/filter.service.d.ts +0 -20
  675. package/dist/collection/plugins/filter/filter.types.d.ts +0 -8
  676. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.d.ts +0 -16
  677. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.d.ts +0 -13
  678. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.d.ts +0 -14
  679. package/dist/collection/plugins/groupingRow/grouping.const.d.ts +0 -9
  680. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.d.ts +0 -15
  681. package/dist/collection/plugins/groupingRow/grouping.row.plugin.d.ts +0 -40
  682. package/dist/collection/plugins/groupingRow/grouping.row.renderer.d.ts +0 -9
  683. package/dist/collection/plugins/groupingRow/grouping.row.types.d.ts +0 -19
  684. package/dist/collection/plugins/groupingRow/grouping.service.d.ts +0 -25
  685. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.d.ts +0 -10
  686. package/dist/collection/plugins/sorting/sorting.plugin.d.ts +0 -32
  687. package/dist/collection/plugins/sorting/sorting.sign.d.ts +0 -8
  688. package/dist/collection/plugins/stretchPlugin.d.ts +0 -29
  689. package/dist/collection/plugins/stretchPlugin.js +0 -90
  690. package/dist/collection/plugins/trimmed/trimmed.plugin.d.ts +0 -10
  691. package/dist/collection/plugins/trimmed/trimmed.plugin.js +0 -32
  692. package/dist/collection/services/localScrollService.js +0 -80
  693. package/dist/collection/store/viewPort/viewport.helpers.js +0 -180
  694. package/dist/collection/store/viewPort/viewport.store.js +0 -121
  695. package/dist/collection/themeManager/themeService.js +0 -43
  696. package/dist/collection/utils/closestPolifill.js +0 -18
  697. package/dist/collection/utils/generateAlphabetHeader.js +0 -20
  698. package/dist/collection/utils/keyCodes.js +0 -70
  699. package/dist/collection/utils/keyCodes.utils.js +0 -64
  700. package/dist/collection/utils/resizeObserver.js +0 -6
  701. package/dist/collection/utils/utils.js +0 -104
  702. package/dist/esm/css-shim-8d75038b.js +0 -4
  703. package/dist/esm/dom-1b195079.js +0 -73
  704. package/dist/esm/filter.button-53ebca66.js +0 -23
  705. package/dist/esm/index-42c84e7c.js +0 -1694
  706. package/dist/esm/polyfills/core-js.js +0 -11
  707. package/dist/esm/polyfills/css-shim.js +0 -1
  708. package/dist/esm/polyfills/dom.js +0 -79
  709. package/dist/esm/polyfills/index.js +0 -34
  710. package/dist/esm/polyfills/system.js +0 -6
  711. package/dist/esm/revo-grid_11.entry.js +0 -28607
  712. package/dist/esm/revogr-clipboard.entry.js +0 -49
  713. package/dist/esm-es5/css-shim-8d75038b.js +0 -1
  714. package/dist/esm-es5/dom-1b195079.js +0 -21
  715. package/dist/esm-es5/filter.button-53ebca66.js +0 -1
  716. package/dist/esm-es5/index-42c84e7c.js +0 -1
  717. package/dist/esm-es5/loader.js +0 -1
  718. package/dist/esm-es5/resize-observer-56b7b34f.js +0 -1
  719. package/dist/esm-es5/revo-grid.js +0 -1
  720. package/dist/esm-es5/revo-grid_11.entry.js +0 -1
  721. package/dist/esm-es5/revogr-clipboard.entry.js +0 -1
  722. package/dist/esm-es5/revogr-filter-panel.entry.js +0 -1
  723. package/dist/revo-grid/css-shim-88bfb262.system.js +0 -1
  724. package/dist/revo-grid/css-shim-8d75038b.js +0 -1
  725. package/dist/revo-grid/dom-1b195079.js +0 -19
  726. package/dist/revo-grid/dom-ee2dd1b3.system.js +0 -21
  727. package/dist/revo-grid/filter.button-1509c206.js +0 -1
  728. package/dist/revo-grid/filter.button-4bd87101.system.js +0 -1
  729. package/dist/revo-grid/index-a15e7527.system.js +0 -1
  730. package/dist/revo-grid/index-a7f99799.js +0 -1
  731. package/dist/revo-grid/index.system.js +0 -1
  732. package/dist/revo-grid/plugins/autoSizeColumn.d.ts +0 -54
  733. package/dist/revo-grid/plugins/basePlugin.d.ts +0 -37
  734. package/dist/revo-grid/plugins/export/csv.d.ts +0 -9
  735. package/dist/revo-grid/plugins/export/export.plugin.d.ts +0 -24
  736. package/dist/revo-grid/plugins/export/types.d.ts +0 -23
  737. package/dist/revo-grid/plugins/filter/conditions/equal.d.ts +0 -4
  738. package/dist/revo-grid/plugins/filter/conditions/number/greaterThan.d.ts +0 -3
  739. package/dist/revo-grid/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +0 -3
  740. package/dist/revo-grid/plugins/filter/conditions/number/lessThan.d.ts +0 -3
  741. package/dist/revo-grid/plugins/filter/conditions/number/lessThanOrEqual.d.ts +0 -3
  742. package/dist/revo-grid/plugins/filter/conditions/set.d.ts +0 -4
  743. package/dist/revo-grid/plugins/filter/conditions/string/beginswith.d.ts +0 -3
  744. package/dist/revo-grid/plugins/filter/conditions/string/contains.d.ts +0 -4
  745. package/dist/revo-grid/plugins/filter/filter.button.d.ts +0 -10
  746. package/dist/revo-grid/plugins/filter/filter.plugin.d.ts +0 -59
  747. package/dist/revo-grid/plugins/filter/filter.pop.d.ts +0 -42
  748. package/dist/revo-grid/plugins/filter/filter.service.d.ts +0 -20
  749. package/dist/revo-grid/plugins/filter/filter.types.d.ts +0 -8
  750. package/dist/revo-grid/plugins/groupingColumn/columnGroupsRenderer.d.ts +0 -16
  751. package/dist/revo-grid/plugins/groupingColumn/grouping.col.plugin.d.ts +0 -13
  752. package/dist/revo-grid/plugins/groupingColumn/headerGroupRenderer.d.ts +0 -14
  753. package/dist/revo-grid/plugins/groupingRow/grouping.const.d.ts +0 -9
  754. package/dist/revo-grid/plugins/groupingRow/grouping.row.expand.service.d.ts +0 -15
  755. package/dist/revo-grid/plugins/groupingRow/grouping.row.plugin.d.ts +0 -40
  756. package/dist/revo-grid/plugins/groupingRow/grouping.row.renderer.d.ts +0 -9
  757. package/dist/revo-grid/plugins/groupingRow/grouping.row.types.d.ts +0 -19
  758. package/dist/revo-grid/plugins/groupingRow/grouping.service.d.ts +0 -25
  759. package/dist/revo-grid/plugins/groupingRow/grouping.trimmed.service.d.ts +0 -10
  760. package/dist/revo-grid/plugins/sorting/sorting.plugin.d.ts +0 -32
  761. package/dist/revo-grid/plugins/sorting/sorting.sign.d.ts +0 -8
  762. package/dist/revo-grid/plugins/stretchPlugin.d.ts +0 -29
  763. package/dist/revo-grid/plugins/trimmed/trimmed.plugin.d.ts +0 -10
  764. package/dist/revo-grid/resize-observer-56b7b34f.js +0 -1
  765. package/dist/revo-grid/resize-observer-7a7b9757.system.js +0 -1
  766. package/dist/revo-grid/revo-grid.js +0 -132
  767. package/dist/revo-grid/revo-grid.system.js +0 -1
  768. package/dist/revo-grid/revo-grid_11.entry.js +0 -1
  769. package/dist/revo-grid/revo-grid_11.system.entry.js +0 -1
  770. package/dist/revo-grid/revogr-clipboard.entry.js +0 -1
  771. package/dist/revo-grid/revogr-clipboard.system.entry.js +0 -1
  772. package/dist/revo-grid/revogr-filter-panel.system.entry.js +0 -1
  773. package/dist/types/components/button/button.d.ts +0 -5
  774. package/dist/types/components/data/cellRenderer.d.ts +0 -8
  775. package/dist/types/components/data/columnService.d.ts +0 -42
  776. package/dist/types/components/header/headerCellRenderer.d.ts +0 -8
  777. package/dist/types/components/header/headerRenderer.d.ts +0 -15
  778. package/dist/types/components/order/orderRenderer.d.ts +0 -28
  779. package/dist/types/components/order/rowOrderService.d.ts +0 -27
  780. package/dist/types/components/overlay/clipboard.service.d.ts +0 -20
  781. package/dist/types/components/overlay/editors/text.d.ts +0 -13
  782. package/dist/types/components/overlay/revogr-edit.d.ts +0 -19
  783. package/dist/types/components/revoGrid/viewport.d.ts +0 -19
  784. package/dist/types/components/revoGrid/viewport.interfaces.d.ts +0 -66
  785. package/dist/types/components/revoGrid/viewport.section.d.ts +0 -24
  786. package/dist/types/components/rowHeaders/row-header-utils.d.ts +0 -2
  787. package/dist/types/interfaces.d.ts +0 -437
  788. package/dist/types/plugins/autoSizeColumn.d.ts +0 -54
  789. package/dist/types/plugins/basePlugin.d.ts +0 -37
  790. package/dist/types/plugins/stretchPlugin.d.ts +0 -29
  791. package/dist/types/plugins/trimmed/trimmed.plugin.d.ts +0 -10
  792. package/dist/types/services/localScrollService.d.ts +0 -28
  793. package/dist/types/store/viewPort/viewport.helpers.d.ts +0 -30
  794. package/dist/types/store/viewPort/viewport.store.d.ts +0 -18
  795. package/dist/types/themeManager/themeService.d.ts +0 -13
  796. package/dist/types/utils/closestPolifill.d.ts +0 -0
  797. package/dist/types/utils/keyCodes.d.ts +0 -68
  798. package/loader/cdn.js +0 -3
  799. package/loader/index.cjs.js +0 -3
  800. package/loader/index.es2017.js +0 -3
  801. package/loader/index.js +0 -4
  802. /package/dist/types/components/{overlay/editors → editors}/edit.utils.d.ts +0 -0
  803. /package/dist/{esm-es5/index.js → types/utils/closest.polifill.d.ts} +0 -0
  804. /package/dist/types/utils/{generateAlphabetHeader.d.ts → header.utils.d.ts} +0 -0
  805. /package/dist/types/utils/{resizeObserver.d.ts → resize-observer.polifill.d.ts} +0 -0
@@ -1,213 +1,233 @@
1
- import { EMPTY_INDEX } from '../../services/selection.store.connector';
2
- import { getSourceItem, getVisibleSourceItem } from '../../store/dataSource/data.store';
3
- import { columnTypes, rowTypes } from '../../store/storeTypes';
4
- import { UUID } from '../../utils/consts';
5
- import { CONTENT_SLOT, FOOTER_SLOT, getLastCell, HEADER_SLOT } from './viewport.helpers';
6
- import { reduce } from 'lodash';
7
- export default class ViewportService {
8
- constructor(sv, contentHeight) {
9
- var _a, _b;
10
- this.sv = sv;
11
- this.storesByType = {};
12
- this.storesXToType = {};
13
- this.storesYToType = {};
14
- (_a = this.sv.selectionStoreConnector) === null || _a === void 0 ? void 0 : _a.beforeUpdate();
15
- this.columns = this.getViewportColumnData(contentHeight);
16
- (_b = this.sv.scrollingService) === null || _b === void 0 ? void 0 : _b.unregister();
17
- }
18
- onColumnResize(type, e, store) {
19
- var _a;
20
- (_a = this.sv.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setDimensionSize(type, e.detail);
21
- const changedItems = reduce(e.detail || {}, (r, size, index) => {
22
- const item = getSourceItem(store, parseInt(index, 10));
23
- if (item) {
24
- r[item.prop] = Object.assign(Object.assign({}, item), { size });
25
- }
26
- return r;
27
- }, {});
28
- this.sv.resize(changedItems);
29
- }
30
- /**
31
- * Transform data from stores and apply it to different components
32
- */
33
- getViewportColumnData(contentHeight) {
34
- const columns = [];
35
- let x = 0; // we increase x only if column present
36
- columnTypes.forEach(val => {
37
- const colStore = this.sv.columnProvider.stores[val].store;
38
- // only columns that have data show
39
- if (!colStore.get('items').length) {
40
- return;
41
- }
42
- const column = {
43
- colType: val,
44
- position: { x, y: 1 },
45
- contentHeight,
46
- fixWidth: val !== 'rgCol',
47
- uuid: `${this.sv.uuid}-${x}`,
48
- viewports: this.sv.viewportProvider.stores,
49
- dimensions: this.sv.dimensionProvider.stores,
50
- rowStores: this.sv.dataProvider.stores,
51
- colStore,
52
- onHeaderresize: e => this.onColumnResize(val, e, colStore)
53
- };
54
- if (val === 'rgCol') {
55
- column.onResizeViewport = (e) => { var _a; return (_a = this.sv.viewportProvider) === null || _a === void 0 ? void 0 : _a.setViewport(e.detail.dimension, { virtualSize: e.detail.size }); };
56
- }
57
- const colData = this.gatherColumnData(column);
58
- const columnSelectionStore = this.registerCol(colData.position.x, val);
59
- // render per each column data collections vertically
60
- const dataPorts = this.dataViewPort(column).reduce((r, rgRow) => {
61
- // register selection store for Segment
62
- const segmentSelection = this.registerSegment(rgRow.position);
63
- segmentSelection.setLastCell(rgRow.lastCell);
64
- // register selection store for Row
65
- const rowSelectionStore = this.registerRow(rgRow.position.y, rgRow.type);
66
- const rowDef = Object.assign(Object.assign({}, rgRow), { rowSelectionStore, segmentSelectionStore: segmentSelection.store, ref: (e) => this.sv.selectionStoreConnector.registerSection(e), onSetRange: e => segmentSelection.setRangeArea(e.detail), onSetTempRange: e => segmentSelection.setTempArea(e.detail), onFocusCell: e => {
67
- segmentSelection.clearFocus();
68
- this.sv.selectionStoreConnector.focus(segmentSelection, e.detail);
69
- } });
70
- r.push(rowDef);
71
- return r;
72
- }, []);
73
- columns.push(Object.assign(Object.assign({}, colData), { columnSelectionStore,
74
- dataPorts }));
75
- x++;
76
- });
77
- return columns;
78
- }
79
- /** register selection store for Segment */
80
- registerSegment(position) {
81
- return this.sv.selectionStoreConnector.register(position);
82
- }
83
- /** register selection store for Row */
84
- registerRow(y, type) {
85
- // link to position
86
- this.storesByType[type] = y;
87
- this.storesYToType[y] = type;
88
- return this.sv.selectionStoreConnector.registerRow(y).store;
89
- }
90
- /** register selection store for Column */
91
- registerCol(x, type) {
92
- // link to position
93
- this.storesByType[type] = x;
94
- this.storesXToType[x] = type;
95
- return this.sv.selectionStoreConnector.registerColumn(x).store;
96
- }
97
- /** Collect Column data */
98
- gatherColumnData(data) {
99
- const parent = data.uuid;
100
- const realSize = data.dimensions[data.colType].store.get('realSize');
1
+ /*!
2
+ * Built by Revolist OU ❤️
3
+ */
4
+ import reduce from "lodash/reduce";
5
+ import { EMPTY_INDEX, } from "../../services/selection.store.connector";
6
+ import { getSourceItem, getVisibleSourceItem, } from "../../store/dataSource/data.store";
7
+ import { columnTypes, rowTypes } from "../../store/storeTypes";
8
+ import { CONTENT_SLOT, FOOTER_SLOT, getLastCell, HEADER_SLOT, } from "./viewport.helpers";
9
+ /** Collect Column data */
10
+ function gatherColumnData(data) {
11
+ const colDimension = data.dimensions[data.colType].store;
12
+ const realWidth = colDimension.get('realSize');
101
13
  const prop = {
102
- contentWidth: realSize,
103
- class: data.colType,
104
- [`${UUID}`]: data.uuid,
105
- contentHeight: data.contentHeight,
106
- key: data.colType,
107
- onResizeViewport: data.onResizeViewport,
14
+ contentWidth: realWidth,
15
+ class: data.colType,
16
+ contentHeight: data.contentHeight,
17
+ key: data.colType,
18
+ colType: data.colType,
19
+ onResizeviewport: data.onResizeviewport,
20
+ // set viewport size to real size
21
+ style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,
108
22
  };
109
- if (data.fixWidth) {
110
- prop.style = { minWidth: `${realSize}px` };
111
- }
112
23
  const headerProp = {
113
- parent,
114
- colData: getVisibleSourceItem(data.colStore),
115
- dimensionCol: data.dimensions[data.colType].store,
116
- groups: data.colStore.get('groups'),
117
- groupingDepth: data.colStore.get('groupingDepth'),
118
- onHeaderresize: data.onHeaderresize,
119
- };
120
- return {
121
- prop,
122
- position: data.position,
123
- headerProp,
124
- parent,
125
- viewportCol: data.viewports[data.colType].store,
126
- };
127
- }
128
- /** Collect Row data */
129
- dataViewPort(data) {
130
- const slots = {
131
- rowPinStart: HEADER_SLOT,
132
- rgRow: CONTENT_SLOT,
133
- rowPinEnd: FOOTER_SLOT,
24
+ colData: getVisibleSourceItem(data.colStore),
25
+ dimensionCol: colDimension,
26
+ type: data.colType,
27
+ groups: data.colStore.get('groups'),
28
+ groupingDepth: data.colStore.get('groupingDepth'),
29
+ resizeHandler: data.colType === 'colPinEnd' ? ['l'] : undefined,
30
+ onHeaderresize: data.onHeaderresize,
134
31
  };
135
- // y position for selection
136
- let y = 0;
137
- return rowTypes.reduce((r, type) => {
138
- // filter out empty sources, we still need to return source to keep slot working
139
- const isPresent = data.viewports[type].store.get('realCount') || type === 'rgRow';
140
- const rgCol = Object.assign(Object.assign({}, data), { position: Object.assign(Object.assign({}, data.position), { y: isPresent ? y : EMPTY_INDEX }) });
141
- r.push(this.dataPartition(rgCol, type, slots[type], type !== 'rgRow'));
142
- if (isPresent) {
143
- y++;
144
- }
145
- return r;
146
- }, []);
147
- }
148
- dataPartition(data, type, slot, fixed) {
149
32
  return {
150
- colData: data.colStore,
151
- viewportCol: data.viewports[data.colType].store,
152
- viewportRow: data.viewports[type].store,
153
- lastCell: getLastCell(data, type),
154
- slot,
155
- type,
156
- canDrag: !fixed,
157
- position: data.position,
158
- uuid: `${data.uuid}-${data.position.x}-${data.position.y}`,
159
- dataStore: data.rowStores[type].store,
160
- dimensionCol: data.dimensions[data.colType].store,
161
- dimensionRow: data.dimensions[type].store,
162
- style: fixed ? { height: `${data.dimensions[type].store.get('realSize')}px` } : undefined,
33
+ prop,
34
+ type: data.colType,
35
+ position: data.position,
36
+ headerProp,
37
+ viewportCol: data.viewports[data.colType].store,
163
38
  };
164
- }
165
- scrollToCell(cell) {
166
- for (let key in cell) {
167
- const coordinate = cell[key];
168
- this.sv.scrollingService.onScroll({ dimension: key === 'x' ? 'rgCol' : 'rgRow', coordinate });
39
+ }
40
+ export default class ViewportService {
41
+ constructor(config, contentHeight) {
42
+ var _a, _b;
43
+ this.config = config;
44
+ (_a = this.config.selectionStoreConnector) === null || _a === void 0 ? void 0 : _a.beforeUpdate();
45
+ // ----------- Handle columns ----------- //
46
+ // Transform data from stores and apply it to different components
47
+ const columns = [];
48
+ let x = 0; // we increase x only if column present
49
+ columnTypes.forEach(val => {
50
+ const colStore = config.columnProvider.stores[val].store;
51
+ // only columns that have data show
52
+ if (!colStore.get('items').length) {
53
+ return;
54
+ }
55
+ const column = {
56
+ colType: val,
57
+ position: { x, y: 1 },
58
+ contentHeight,
59
+ // only central column has dynamic width
60
+ fixWidth: val !== 'rgCol',
61
+ viewports: config.viewportProvider.stores,
62
+ dimensions: config.dimensionProvider.stores,
63
+ rowStores: config.dataProvider.stores,
64
+ colStore,
65
+ onHeaderresize: e => this.onColumnResize(val, e, colStore),
66
+ };
67
+ if (val === 'rgCol') {
68
+ column.onResizeviewport = (e) => {
69
+ var _a;
70
+ if (config.disableVirtualY && e.detail.dimension === 'rgRow') {
71
+ return;
72
+ }
73
+ else if (config.disableVirtualX && e.detail.dimension === 'rgCol') {
74
+ return;
75
+ }
76
+ (_a = config.viewportProvider) === null || _a === void 0 ? void 0 : _a.setViewport(e.detail.dimension, {
77
+ virtualSize: e.detail.size,
78
+ });
79
+ };
80
+ }
81
+ const colData = gatherColumnData(column);
82
+ const columnSelectionStore = this.registerCol(colData.position.x, val);
83
+ // render per each column data collections vertically
84
+ const dataPorts = this.dataViewPort(column).reduce((r, rgRow) => {
85
+ // register selection store for Segment
86
+ const segmentSelection = this.registerSegment(rgRow.position);
87
+ segmentSelection.setLastCell(rgRow.lastCell);
88
+ // register selection store for Row
89
+ const rowSelectionStore = this.registerRow(rgRow.position.y, rgRow.type);
90
+ const rowDef = Object.assign(Object.assign({}, rgRow), { rowSelectionStore, segmentSelectionStore: segmentSelection.store, ref: (e) => config.selectionStoreConnector.registerSection(e), onSetrange: e => {
91
+ segmentSelection.setRangeArea(e.detail);
92
+ }, onSettemprange: e => {
93
+ segmentSelection.setTempArea(e.detail);
94
+ }, onFocuscell: e => {
95
+ // todo: multi focus
96
+ segmentSelection.clearFocus();
97
+ config.selectionStoreConnector.focus(segmentSelection, e.detail);
98
+ } });
99
+ r.push(rowDef);
100
+ return r;
101
+ }, []);
102
+ columns.push(Object.assign(Object.assign({}, colData), { columnSelectionStore,
103
+ dataPorts }));
104
+ x++;
105
+ });
106
+ this.columns = columns;
107
+ // ----------- Handle columns end ----------- //
108
+ (_b = this.config.scrollingService) === null || _b === void 0 ? void 0 : _b.unregister();
169
109
  }
170
- }
171
- /**
172
- * Clear current grid focus
173
- */
174
- clearFocused() {
175
- this.sv.selectionStoreConnector.clearAll();
176
- }
177
- clearEdit() {
178
- this.sv.selectionStoreConnector.setEdit(false);
179
- }
180
- getFocused() {
181
- const focused = this.sv.selectionStoreConnector.focusedStore;
182
- if (!focused) {
183
- return null;
110
+ onColumnResize(type, { detail }, store) {
111
+ var _a;
112
+ (_a = this.config.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setCustomSizes(type, detail, true);
113
+ const changedItems = reduce(detail || {}, (r, size, i) => {
114
+ const index = parseInt(i, 10);
115
+ const item = getSourceItem(store, index);
116
+ if (item) {
117
+ r[index] = Object.assign(Object.assign({}, item), { size });
118
+ }
119
+ return r;
120
+ }, {});
121
+ this.config.resize(changedItems);
122
+ }
123
+ /** register selection store for Segment */
124
+ registerSegment(position) {
125
+ return this.config.selectionStoreConnector.register(position);
126
+ }
127
+ /** register selection store for Row */
128
+ registerRow(y, type) {
129
+ return this.config.selectionStoreConnector.registerRow(y, type).store;
130
+ }
131
+ /** register selection store for Column */
132
+ registerCol(x, type) {
133
+ return this.config.selectionStoreConnector.registerColumn(x, type).store;
134
+ }
135
+ /** Collect Row data */
136
+ dataViewPort(data) {
137
+ const slots = {
138
+ rowPinStart: HEADER_SLOT,
139
+ rgRow: CONTENT_SLOT,
140
+ rowPinEnd: FOOTER_SLOT,
141
+ };
142
+ // y position for selection
143
+ let y = 0;
144
+ return rowTypes.reduce((r, type) => {
145
+ // filter out empty sources, we still need to return source to keep slot working
146
+ const isPresent = data.viewports[type].store.get('realCount') || type === 'rgRow';
147
+ const rgCol = Object.assign(Object.assign({}, data), { position: Object.assign(Object.assign({}, data.position), { y: isPresent ? y : EMPTY_INDEX }) });
148
+ r.push(this.dataPartition(rgCol, type, slots[type], type !== 'rgRow'));
149
+ if (isPresent) {
150
+ y++;
151
+ }
152
+ return r;
153
+ }, []);
154
+ }
155
+ dataPartition(data, type, slot, fixed) {
156
+ return {
157
+ colData: data.colStore,
158
+ viewportCol: data.viewports[data.colType].store,
159
+ viewportRow: data.viewports[type].store,
160
+ lastCell: getLastCell(data, type),
161
+ slot,
162
+ type,
163
+ canDrag: !fixed,
164
+ position: data.position,
165
+ dataStore: data.rowStores[type].store,
166
+ dimensionCol: data.dimensions[data.colType].store,
167
+ dimensionRow: data.dimensions[type].store,
168
+ style: fixed
169
+ ? { height: `${data.dimensions[type].store.get('realSize')}px` }
170
+ : undefined,
171
+ };
172
+ }
173
+ scrollToCell(cell) {
174
+ for (let key in cell) {
175
+ const coordinate = cell[key];
176
+ this.config.scrollingService.proxyScroll({
177
+ dimension: key === 'x' ? 'rgCol' : 'rgRow',
178
+ coordinate,
179
+ });
180
+ }
181
+ }
182
+ /**
183
+ * Clear current grid focus
184
+ */
185
+ clearFocused() {
186
+ this.config.selectionStoreConnector.clearAll();
187
+ }
188
+ clearEdit() {
189
+ this.config.selectionStoreConnector.setEdit(false);
190
+ }
191
+ /**
192
+ * Collect focused element data
193
+ */
194
+ getFocused() {
195
+ const focused = this.config.selectionStoreConnector.focusedStore;
196
+ if (!focused) {
197
+ return null;
198
+ }
199
+ // get column data
200
+ const colType = this.config.selectionStoreConnector.storesXToType[focused.position.x];
201
+ const column = this.config.columnProvider.getColumn(focused.cell.x, colType);
202
+ // get row data
203
+ const rowType = this.config.selectionStoreConnector.storesYToType[focused.position.y];
204
+ const model = this.config.dataProvider.getModel(focused.cell.y, rowType);
205
+ return {
206
+ column,
207
+ model,
208
+ cell: focused.cell,
209
+ colType,
210
+ rowType,
211
+ };
212
+ }
213
+ getStoreCoordinateByType(colType, rowType) {
214
+ const stores = this.config.selectionStoreConnector.storesByType;
215
+ const storeCoordinate = {
216
+ x: stores[colType],
217
+ y: stores[rowType],
218
+ };
219
+ return storeCoordinate;
220
+ }
221
+ setFocus(colType, rowType, start, end) {
222
+ var _a;
223
+ (_a = this.config.selectionStoreConnector) === null || _a === void 0 ? void 0 : _a.focusByCell(this.getStoreCoordinateByType(colType, rowType), start, end);
224
+ }
225
+ getSelectedRange() {
226
+ return this.config.selectionStoreConnector.selectedRange;
227
+ }
228
+ setEdit(rowIndex, colIndex, colType, rowType) {
229
+ var _a;
230
+ (_a = this.config.selectionStoreConnector) === null || _a === void 0 ? void 0 : _a.setEditByCell(this.getStoreCoordinateByType(colType, rowType), { x: colIndex, y: rowIndex });
184
231
  }
185
- const colType = this.storesXToType[focused.position.x];
186
- const column = this.sv.columnProvider.getColumn(focused.cell.x, colType);
187
- const rowType = this.storesYToType[focused.position.x];
188
- const model = this.sv.dataProvider.getModel(focused.cell.x, rowType);
189
- return {
190
- column,
191
- model,
192
- cell: focused.cell,
193
- colType,
194
- rowType
195
- };
196
- }
197
- getStoreCoordinateByType(colType, rowType) {
198
- const stores = this.storesByType;
199
- const storeCoordinate = {
200
- x: stores[colType],
201
- y: stores[rowType],
202
- };
203
- return storeCoordinate;
204
- }
205
- setFocus(colType, rowType, start, end) {
206
- var _a;
207
- (_a = this.sv.selectionStoreConnector) === null || _a === void 0 ? void 0 : _a.focusByCell(this.getStoreCoordinateByType(colType, rowType), start, end);
208
- }
209
- setEdit(rowIndex, colIndex, colType, rowType) {
210
- var _a;
211
- (_a = this.sv.selectionStoreConnector) === null || _a === void 0 ? void 0 : _a.setEditByCell(this.getStoreCoordinateByType(colType, rowType), { x: colIndex, y: rowIndex });
212
- }
213
232
  }
233
+ //# sourceMappingURL=viewport.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport.service.js","sourceRoot":"","sources":["../../../src/components/revoGrid/viewport.service.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,eAAe,CAAC;AAGnC,OAAgC,EAC9B,WAAW,GACZ,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAEL,aAAa,EACb,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,oBAAoB,CAAC;AA6C5B,0BAA0B;AAC1B,SAAS,gBAAgB,CAAC,IAAoB;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;IACzD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAG/C,MAAM,IAAI,GAAuB;QAC/B,YAAY,EAAE,SAAS;QACvB,KAAK,EAAE,IAAI,CAAC,OAAO;QACnB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,GAAG,EAAE,IAAI,CAAC,OAAO;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,iCAAiC;QACjC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;KAClE,CAAC;IAEF,MAAM,UAAU,GAAqB;QACnC,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC5C,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE,IAAI,CAAC,OAAO;QAClB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QACjD,aAAa,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/D,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,OAAO;QAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU;QACV,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,eAAe;IAElC,YACU,MAAc,EACtB,aAAqB;;QADb,WAAM,GAAN,MAAM,CAAQ;QAGtB,MAAA,IAAI,CAAC,MAAM,CAAC,uBAAuB,0CAAE,YAAY,EAAE,CAAC;QAEpD,4CAA4C;QAE5C,kEAAkE;QAClE,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,uCAAuC;QAClD,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YACzD,mCAAmC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAmB;gBAC7B,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAErB,aAAa;gBACb,wCAAwC;gBACxC,QAAQ,EAAE,GAAG,KAAK,OAAO;gBAEzB,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM;gBACzC,UAAU,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM;gBAC3C,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;gBAErC,QAAQ;gBACR,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC;aAC3D,CAAC;YACF,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAmC,EAAE,EAAE;;oBAChE,IAAI,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;wBAC7D,OAAO;oBACT,CAAC;yBAAM,IAAI,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;wBACpE,OAAO;oBACT,CAAC;oBACD,MAAA,MAAM,CAAC,gBAAgB,0CAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;wBACvD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;qBAC3B,CAAC,CAAC;gBACL,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAEvE,qDAAqD;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBACX,uCAAuC;gBACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC9D,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAE7C,mCAAmC;gBACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CACxC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAChB,KAAK,CAAC,IAAI,CACX,CAAC;gBACF,MAAM,MAAM,mCACP,KAAK,KACR,iBAAiB,EACjB,qBAAqB,EAAE,gBAAgB,CAAC,KAAK,EAC7C,GAAG,EAAE,CAAC,CAAU,EAAE,EAAE,CAClB,MAAM,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC,EACnD,UAAU,EAAE,CAAC,CAAC,EAAE;wBACd,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC1C,CAAC,EACD,cAAc,EAAE,CAAC,CAAC,EAAE;wBAClB,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACzC,CAAC,EACD,WAAW,EAAE,CAAC,CAAC,EAAE;wBACf,oBAAoB;wBACpB,gBAAgB,CAAC,UAAU,EAAE,CAAC;wBAC9B,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnE,CAAC,GACF,CAAC;gBACF,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACf,OAAO,CAAC,CAAC;YACX,CAAC,EACD,EAAE,CACH,CAAC;YACF,OAAO,CAAC,IAAI,iCACP,OAAO,KACV,oBAAoB;gBACpB,SAAS,IACT,CAAC;YACH,CAAC,EAAE,CAAC;QACN,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,gDAAgD;QAEhD,MAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,0CAAE,UAAU,EAAE,CAAC;IAC7C,CAAC;IAEO,cAAc,CACpB,IAAmB,EACnB,EAAE,MAAM,EAAoC,EAC5C,KAA6D;;QAE7D,MAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,0CAAE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,MAAM,CACzB,MAAM,IAAI,EAAE,EACZ,CAAC,CAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,IAAI,EAAE,CAAC;gBACT,CAAC,CAAC,KAAK,CAAC,mCAAQ,IAAI,KAAE,IAAI,GAAE,CAAC;YAC/B,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,EACD,EAAE,CACH,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,2CAA2C;IACnC,eAAe,CAAC,QAAc;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,uCAAuC;IAC/B,WAAW,CAAC,CAAS,EAAE,IAAmB;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;IACxE,CAAC;IAED,0CAA0C;IAClC,WAAW,CAAC,CAAS,EAAE,IAAmB;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;IAC3E,CAAC;IAED,uBAAuB;IACf,YAAY,CAAC,IAAoB;QACvC,MAAM,KAAK,GAAyC;YAClD,WAAW,EAAE,WAAW;YACxB,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,WAAW;SACvB,CAAC;QAEF,2BAA2B;QAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACjC,gFAAgF;YAChF,MAAM,SAAS,GACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,KAAK,OAAO,CAAC;YAClE,MAAM,KAAK,mCACN,IAAI,KACP,QAAQ,kCAAO,IAAI,CAAC,QAAQ,KAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,MAC7D,CAAC;YACF,CAAC,CAAC,IAAI,CACJ,IAAI,CAAC,aAAa,CAChB,KAAK,EACL,IAAI,EACJ,KAAK,CAAC,IAAI,CAAC,EACX,IAAI,KAAK,OAAO,CACjB,CACF,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,CAAC,EAAE,CAAC;YACN,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAEO,aAAa,CACnB,IAAoB,EACpB,IAAmB,EACnB,IAAc,EACd,KAAe;QAEf,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK;YAC/C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK;YACvC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;YACjC,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,CAAC,KAAK;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK;YACrC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK;YACjD,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK;YACzC,KAAK,EAAE,KAAK;gBACV,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;gBAChE,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,IAAmB;QAC9B,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAiB,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC;gBACvC,SAAS,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;gBAC1C,UAAU;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;IACjD,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,YAAY,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,kBAAkB;QAClB,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CACjD,OAAO,CAAC,IAAI,CAAC,CAAC,EACd,OAAO,CACR,CAAC;QAEF,eAAe;QACf,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACzE,OAAO;YACL,MAAM;YACN,KAAK;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO;YACP,OAAO;SACR,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,OAAsB,EAAE,OAAsB;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,YAAY,CAAC;QAChE,MAAM,eAAe,GAAG;YACtB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;YAClB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;SACnB,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,OAAe,EAAE,KAAW,EAAE,GAAS;;QAC/D,MAAA,IAAI,CAAC,MAAM,CAAC,uBAAuB,0CAAE,WAAW,CAC9C,IAAI,CAAC,wBAAwB,CAC3B,OAAwB,EACxB,OAAwB,CACzB,EACD,KAAK,EACL,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,aAAa,CAAC;IAC3D,CAAC;IAED,OAAO,CACL,QAAgB,EAChB,QAAgB,EAChB,OAAsB,EACtB,OAAsB;;QAEtB,MAAA,IAAI,CAAC,MAAM,CAAC,uBAAuB,0CAAE,aAAa,CAChD,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,EAC/C,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAC7B,CAAC;IACJ,CAAC;CACF","sourcesContent":["import reduce from 'lodash/reduce';\n\nimport DimensionProvider from '../../services/dimension.provider';\nimport SelectionStoreConnector, {\n EMPTY_INDEX,\n} from '../../services/selection.store.connector';\nimport ViewportProvider from '../../services/viewport.provider';\nimport {\n DSourceState,\n getSourceItem,\n getVisibleSourceItem,\n} from '../../store/dataSource/data.store';\nimport { columnTypes, rowTypes } from '../../store/storeTypes';\nimport { OrdererService } from '../order/order-renderer';\nimport GridScrollingService from './viewport.scrolling.service';\nimport {\n CONTENT_SLOT,\n FOOTER_SLOT,\n getLastCell,\n HEADER_SLOT,\n} from './viewport.helpers';\n\nimport ColumnDataProvider from '../../services/column.data.provider';\nimport { DataProvider } from '../../services/data.provider';\nimport {\n ColumnRegular,\n Observable,\n ViewPortResizeEvent,\n ViewSettingSizeProp,\n} from '../..';\nimport { DimensionCols, DimensionRows } from '../..';\nimport {\n HeaderProperties,\n SlotType,\n ViewportColumn,\n ViewportData,\n ViewportProperties,\n ViewportProps,\n} from '../../types/viewport.interfaces';\nimport { Cell, RangeArea } from '../..';\n\nexport type ResizeDetails = { [index: number]: ColumnRegular };\ntype Config = {\n columnProvider: ColumnDataProvider;\n dataProvider: DataProvider;\n dimensionProvider: DimensionProvider;\n viewportProvider: ViewportProvider;\n scrollingService: GridScrollingService;\n orderService: OrdererService;\n selectionStoreConnector: SelectionStoreConnector;\n\n disableVirtualX?: boolean;\n disableVirtualY?: boolean;\n\n resize(r: ResizeDetails): void;\n};\n\nexport type FocusedData = {\n model: any;\n cell: Cell;\n colType: DimensionCols;\n rowType: DimensionRows;\n column?: ColumnRegular;\n};\n\n/** Collect Column data */\nfunction gatherColumnData(data: ViewportColumn) {\n const colDimension = data.dimensions[data.colType].store;\n const realWidth = colDimension.get('realSize');\n\n\n const prop: ViewportProperties = {\n contentWidth: realWidth,\n class: data.colType,\n contentHeight: data.contentHeight,\n key: data.colType,\n colType: data.colType,\n onResizeviewport: data.onResizeviewport,\n // set viewport size to real size\n style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,\n };\n\n const headerProp: HeaderProperties = {\n colData: getVisibleSourceItem(data.colStore),\n dimensionCol: colDimension,\n type: data.colType,\n groups: data.colStore.get('groups'),\n groupingDepth: data.colStore.get('groupingDepth'),\n resizeHandler: data.colType === 'colPinEnd' ? ['l'] : undefined,\n onHeaderresize: data.onHeaderresize,\n };\n\n return {\n prop,\n type: data.colType,\n position: data.position,\n headerProp,\n viewportCol: data.viewports[data.colType].store,\n };\n}\n\nexport default class ViewportService {\n readonly columns: ViewportProps[];\n constructor(\n private config: Config,\n contentHeight: number,\n ) {\n this.config.selectionStoreConnector?.beforeUpdate();\n\n // ----------- Handle columns ----------- //\n\n // Transform data from stores and apply it to different components\n const columns: ViewportProps[] = [];\n let x = 0; // we increase x only if column present\n columnTypes.forEach(val => {\n const colStore = config.columnProvider.stores[val].store;\n // only columns that have data show\n if (!colStore.get('items').length) {\n return;\n }\n const column: ViewportColumn = {\n colType: val,\n position: { x, y: 1 },\n\n contentHeight,\n // only central column has dynamic width\n fixWidth: val !== 'rgCol',\n\n viewports: config.viewportProvider.stores,\n dimensions: config.dimensionProvider.stores,\n rowStores: config.dataProvider.stores,\n\n colStore,\n onHeaderresize: e => this.onColumnResize(val, e, colStore),\n };\n if (val === 'rgCol') {\n column.onResizeviewport = (e: CustomEvent<ViewPortResizeEvent>) => {\n if (config.disableVirtualY && e.detail.dimension === 'rgRow') {\n return;\n } else if (config.disableVirtualX && e.detail.dimension === 'rgCol') {\n return;\n }\n config.viewportProvider?.setViewport(e.detail.dimension, {\n virtualSize: e.detail.size,\n });\n };\n }\n const colData = gatherColumnData(column);\n const columnSelectionStore = this.registerCol(colData.position.x, val);\n\n // render per each column data collections vertically\n const dataPorts = this.dataViewPort(column).reduce<ViewportData[]>(\n (r, rgRow) => {\n // register selection store for Segment\n const segmentSelection = this.registerSegment(rgRow.position);\n segmentSelection.setLastCell(rgRow.lastCell);\n\n // register selection store for Row\n const rowSelectionStore = this.registerRow(\n rgRow.position.y,\n rgRow.type,\n );\n const rowDef: ViewportData = {\n ...rgRow,\n rowSelectionStore,\n segmentSelectionStore: segmentSelection.store,\n ref: (e: Element) =>\n config.selectionStoreConnector.registerSection(e),\n onSetrange: e => {\n segmentSelection.setRangeArea(e.detail);\n },\n onSettemprange: e => {\n segmentSelection.setTempArea(e.detail);\n },\n onFocuscell: e => {\n // todo: multi focus\n segmentSelection.clearFocus();\n config.selectionStoreConnector.focus(segmentSelection, e.detail);\n },\n };\n r.push(rowDef);\n return r;\n },\n [],\n );\n columns.push({\n ...colData,\n columnSelectionStore,\n dataPorts,\n });\n x++;\n });\n this.columns = columns;\n // ----------- Handle columns end ----------- //\n\n this.config.scrollingService?.unregister();\n }\n\n private onColumnResize(\n type: DimensionCols,\n { detail }: CustomEvent<ViewSettingSizeProp>,\n store: Observable<DSourceState<ColumnRegular, DimensionCols>>,\n ) {\n this.config.dimensionProvider?.setCustomSizes(type, detail, true);\n const changedItems = reduce(\n detail || {},\n (r: ResizeDetails, size, i) => {\n const index = parseInt(i, 10);\n const item = getSourceItem(store, index);\n if (item) {\n r[index] = { ...item, size };\n }\n return r;\n },\n {},\n );\n this.config.resize(changedItems);\n }\n\n /** register selection store for Segment */\n private registerSegment(position: Cell) {\n return this.config.selectionStoreConnector.register(position);\n }\n\n /** register selection store for Row */\n private registerRow(y: number, type: DimensionRows) {\n return this.config.selectionStoreConnector.registerRow(y, type).store;\n }\n\n /** register selection store for Column */\n private registerCol(x: number, type: DimensionCols) {\n return this.config.selectionStoreConnector.registerColumn(x, type).store;\n }\n\n /** Collect Row data */\n private dataViewPort(data: ViewportColumn) {\n const slots: { [key in DimensionRows]: SlotType } = {\n rowPinStart: HEADER_SLOT,\n rgRow: CONTENT_SLOT,\n rowPinEnd: FOOTER_SLOT,\n };\n\n // y position for selection\n let y = 0;\n return rowTypes.reduce((r, type) => {\n // filter out empty sources, we still need to return source to keep slot working\n const isPresent =\n data.viewports[type].store.get('realCount') || type === 'rgRow';\n const rgCol = {\n ...data,\n position: { ...data.position, y: isPresent ? y : EMPTY_INDEX },\n };\n r.push(\n this.dataPartition(\n rgCol,\n type,\n slots[type],\n type !== 'rgRow', // is fixed\n ),\n );\n if (isPresent) {\n y++;\n }\n return r;\n }, []);\n }\n\n private dataPartition(\n data: ViewportColumn,\n type: DimensionRows,\n slot: SlotType,\n fixed?: boolean,\n ) {\n return {\n colData: data.colStore,\n viewportCol: data.viewports[data.colType].store,\n viewportRow: data.viewports[type].store,\n lastCell: getLastCell(data, type),\n slot,\n type,\n canDrag: !fixed,\n position: data.position,\n dataStore: data.rowStores[type].store,\n dimensionCol: data.dimensions[data.colType].store,\n dimensionRow: data.dimensions[type].store,\n style: fixed\n ? { height: `${data.dimensions[type].store.get('realSize')}px` }\n : undefined,\n };\n }\n\n scrollToCell(cell: Partial<Cell>) {\n for (let key in cell) {\n const coordinate = cell[key as keyof Cell];\n this.config.scrollingService.proxyScroll({\n dimension: key === 'x' ? 'rgCol' : 'rgRow',\n coordinate,\n });\n }\n }\n\n /**\n * Clear current grid focus\n */\n clearFocused() {\n this.config.selectionStoreConnector.clearAll();\n }\n\n clearEdit() {\n this.config.selectionStoreConnector.setEdit(false);\n }\n\n /**\n * Collect focused element data\n */\n getFocused(): FocusedData | null {\n const focused = this.config.selectionStoreConnector.focusedStore;\n if (!focused) {\n return null;\n }\n // get column data\n const colType =\n this.config.selectionStoreConnector.storesXToType[focused.position.x];\n const column = this.config.columnProvider.getColumn(\n focused.cell.x,\n colType,\n );\n\n // get row data\n const rowType =\n this.config.selectionStoreConnector.storesYToType[focused.position.y];\n const model = this.config.dataProvider.getModel(focused.cell.y, rowType);\n return {\n column,\n model,\n cell: focused.cell,\n colType,\n rowType,\n };\n }\n\n getStoreCoordinateByType(colType: DimensionCols, rowType: DimensionRows) {\n const stores = this.config.selectionStoreConnector.storesByType;\n const storeCoordinate = {\n x: stores[colType],\n y: stores[rowType],\n };\n return storeCoordinate;\n }\n\n setFocus(colType: string, rowType: string, start: Cell, end: Cell) {\n this.config.selectionStoreConnector?.focusByCell(\n this.getStoreCoordinateByType(\n colType as DimensionCols,\n rowType as DimensionRows,\n ),\n start,\n end,\n );\n }\n\n getSelectedRange(): RangeArea | null {\n return this.config.selectionStoreConnector.selectedRange;\n }\n\n setEdit(\n rowIndex: number,\n colIndex: number,\n colType: DimensionCols,\n rowType: DimensionRows,\n ) {\n this.config.selectionStoreConnector?.setEditByCell(\n this.getStoreCoordinateByType(colType, rowType),\n { x: colIndex, y: rowIndex },\n );\n }\n}\n"]}