@revolist/revogrid 4.9.1 → 4.9.3

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 (262) hide show
  1. package/dist/cjs/{base.plugin-d48d867d.js → base.plugin-bf5f43a0.js} +2 -2
  2. package/dist/cjs/{base.plugin-d48d867d.js.map → base.plugin-bf5f43a0.js.map} +1 -1
  3. package/dist/cjs/{column.service-6f691f50.js → column.service-01f4a6c7.js} +25 -6
  4. package/dist/cjs/column.service-01f4a6c7.js.map +1 -0
  5. package/dist/cjs/{dimension.helpers-e9d22516.js → dimension.helpers-a6788214.js} +10 -5
  6. package/dist/cjs/dimension.helpers-a6788214.js.map +1 -0
  7. package/dist/cjs/{header-cell-renderer-81a22b00.js → header-cell-renderer-3bc70679.js} +10 -8
  8. package/dist/cjs/header-cell-renderer-3bc70679.js.map +1 -0
  9. package/dist/cjs/index.cjs.js +4 -4
  10. package/dist/cjs/revo-grid.cjs.entry.js +81 -93
  11. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  12. package/dist/cjs/revogr-attribution_6.cjs.entry.js +71 -46
  13. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
  14. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +12 -7
  15. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/revogr-data_4.cjs.entry.js +45 -36
  17. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  18. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  19. package/dist/cjs/{selection.helpers-8fa19c04.js → selection.helpers-1a8c8d49.js} +32 -31
  20. package/dist/cjs/selection.helpers-1a8c8d49.js.map +1 -0
  21. package/dist/cjs/{throttle-bcc4740d.js → throttle-52be9e67.js} +4 -3
  22. package/dist/cjs/throttle-52be9e67.js.map +1 -0
  23. package/dist/cjs/{viewport.store-9cf01c71.js → viewport.store-35a3e7ee.js} +13 -9
  24. package/dist/cjs/viewport.store-35a3e7ee.js.map +1 -0
  25. package/dist/collection/components/clipboard/revogr-clipboard.js +68 -89
  26. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
  27. package/dist/collection/components/data/cell-renderer.js +7 -4
  28. package/dist/collection/components/data/cell-renderer.js.map +1 -1
  29. package/dist/collection/components/data/column.service.js +1 -1
  30. package/dist/collection/components/data/column.service.js.map +1 -1
  31. package/dist/collection/components/data/revogr-data.js +1 -1
  32. package/dist/collection/components/data/revogr-data.js.map +1 -1
  33. package/dist/collection/components/editors/revogr-edit.js +6 -6
  34. package/dist/collection/components/editors/revogr-edit.js.map +1 -1
  35. package/dist/collection/components/editors/text-editor.js +3 -1
  36. package/dist/collection/components/editors/text-editor.js.map +1 -1
  37. package/dist/collection/components/header/header-renderer.js +2 -1
  38. package/dist/collection/components/header/header-renderer.js.map +1 -1
  39. package/dist/collection/components/header/resizable.directive.js +7 -5
  40. package/dist/collection/components/header/resizable.directive.js.map +1 -1
  41. package/dist/collection/components/header/resizable.element.js +1 -1
  42. package/dist/collection/components/header/resizable.element.js.map +1 -1
  43. package/dist/collection/components/overlay/autofill.service.js +11 -12
  44. package/dist/collection/components/overlay/autofill.service.js.map +1 -1
  45. package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
  46. package/dist/collection/components/overlay/revogr-overlay-selection.js +74 -39
  47. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
  48. package/dist/collection/components/overlay/selection.utils.js +13 -5
  49. package/dist/collection/components/overlay/selection.utils.js.map +1 -1
  50. package/dist/collection/components/revoGrid/grid.helpers.js +10 -8
  51. package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -1
  52. package/dist/collection/components/revoGrid/revo-grid.js +42 -42
  53. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  54. package/dist/collection/components/revoGrid/viewport.helpers.js +19 -0
  55. package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -1
  56. package/dist/collection/components/revoGrid/viewport.scrolling.service.js +4 -3
  57. package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -1
  58. package/dist/collection/components/revoGrid/viewport.service.js +27 -37
  59. package/dist/collection/components/revoGrid/viewport.service.js.map +1 -1
  60. package/dist/collection/components/rowHeaders/revogr-row-headers.js +2 -2
  61. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
  62. package/dist/collection/components/scroll/revogr-viewport-scroll.js +34 -29
  63. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
  64. package/dist/collection/components/scrollable/autohide-scroll.plugin.js +1 -1
  65. package/dist/collection/components/scrollable/autohide-scroll.plugin.js.map +1 -1
  66. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +3 -3
  67. package/dist/collection/components/selectionFocus/revogr-focus.js +1 -1
  68. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
  69. package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -1
  70. package/dist/collection/components/vnode/vnode-converter.js +6 -6
  71. package/dist/collection/components/vnode/vnode-converter.js.map +1 -1
  72. package/dist/collection/components/vnode/vnode.utils.js.map +1 -1
  73. package/dist/collection/global/global.js.map +1 -1
  74. package/dist/collection/plugins/export/export.plugin.js +2 -2
  75. package/dist/collection/plugins/export/export.plugin.js.map +1 -1
  76. package/dist/collection/plugins/filter/filter.panel.js +4 -4
  77. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +1 -1
  78. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -1
  79. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +2 -2
  80. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
  81. package/dist/collection/plugins/groupingRow/grouping.service.js +1 -1
  82. package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -1
  83. package/dist/collection/plugins/moveColumn/column.drag.plugin.js +1 -1
  84. package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -1
  85. package/dist/collection/plugins/sorting/sorting.plugin.js +9 -12
  86. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
  87. package/dist/collection/services/cell.helpers.js +3 -2
  88. package/dist/collection/services/cell.helpers.js.map +1 -1
  89. package/dist/collection/services/column.data.provider.js.map +1 -1
  90. package/dist/collection/services/data.provider.js.map +1 -1
  91. package/dist/collection/services/dimension.provider.js +2 -1
  92. package/dist/collection/services/dimension.provider.js.map +1 -1
  93. package/dist/collection/services/local.scroll.service.js +3 -2
  94. package/dist/collection/services/local.scroll.service.js.map +1 -1
  95. package/dist/collection/services/selection.store.connector.js +20 -16
  96. package/dist/collection/services/selection.store.connector.js.map +1 -1
  97. package/dist/collection/store/selection/selection.helpers.js +8 -12
  98. package/dist/collection/store/selection/selection.helpers.js.map +1 -1
  99. package/dist/collection/store/selection/selection.store.js +2 -1
  100. package/dist/collection/store/selection/selection.store.js.map +1 -1
  101. package/dist/collection/store/vp/viewport.helpers.js +10 -6
  102. package/dist/collection/store/vp/viewport.helpers.js.map +1 -1
  103. package/dist/collection/store/vp/viewport.store.js +1 -1
  104. package/dist/collection/store/vp/viewport.store.js.map +1 -1
  105. package/dist/collection/themeManager/theme.service.js +1 -1
  106. package/dist/collection/themeManager/theme.service.js.map +1 -1
  107. package/dist/collection/types/interfaces.js.map +1 -1
  108. package/dist/collection/types/selection.js.map +1 -1
  109. package/dist/collection/types/viewport.interfaces.js.map +1 -1
  110. package/dist/collection/utils/closest.polifill.js.map +1 -1
  111. package/dist/collection/utils/store.utils.js +9 -4
  112. package/dist/collection/utils/store.utils.js.map +1 -1
  113. package/dist/esm/{base.plugin-78393655.js → base.plugin-5e7a3c51.js} +2 -2
  114. package/dist/esm/{base.plugin-78393655.js.map → base.plugin-5e7a3c51.js.map} +1 -1
  115. package/dist/esm/{column.service-0e41057a.js → column.service-5d14e7e9.js} +25 -6
  116. package/dist/esm/column.service-5d14e7e9.js.map +1 -0
  117. package/dist/esm/{dimension.helpers-91398565.js → dimension.helpers-56298828.js} +10 -5
  118. package/dist/esm/dimension.helpers-56298828.js.map +1 -0
  119. package/dist/esm/{header-cell-renderer-6d8ac25d.js → header-cell-renderer-fc999784.js} +10 -8
  120. package/dist/esm/header-cell-renderer-fc999784.js.map +1 -0
  121. package/dist/esm/index.js +4 -4
  122. package/dist/esm/revo-grid.entry.js +81 -93
  123. package/dist/esm/revo-grid.entry.js.map +1 -1
  124. package/dist/esm/revogr-attribution_6.entry.js +71 -46
  125. package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
  126. package/dist/esm/revogr-clipboard_3.entry.js +12 -7
  127. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  128. package/dist/esm/revogr-data_4.entry.js +45 -36
  129. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  130. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  131. package/dist/esm/{selection.helpers-50e9f09d.js → selection.helpers-accaad4a.js} +32 -31
  132. package/dist/esm/selection.helpers-accaad4a.js.map +1 -0
  133. package/dist/esm/{throttle-1b1dd9d2.js → throttle-7283692c.js} +4 -3
  134. package/dist/esm/throttle-7283692c.js.map +1 -0
  135. package/dist/esm/{viewport.store-bfd0b036.js → viewport.store-d8e03528.js} +13 -9
  136. package/dist/esm/viewport.store-d8e03528.js.map +1 -0
  137. package/dist/revo-grid/{base.plugin-78393655.js → base.plugin-5e7a3c51.js} +2 -2
  138. package/dist/revo-grid/column.service-5d14e7e9.js +5 -0
  139. package/dist/revo-grid/column.service-5d14e7e9.js.map +1 -0
  140. package/dist/revo-grid/{dimension.helpers-91398565.js → dimension.helpers-56298828.js} +2 -2
  141. package/dist/revo-grid/{dimension.helpers-91398565.js.map → dimension.helpers-56298828.js.map} +1 -1
  142. package/dist/revo-grid/header-cell-renderer-fc999784.js +5 -0
  143. package/dist/revo-grid/header-cell-renderer-fc999784.js.map +1 -0
  144. package/dist/revo-grid/index.esm.js +1 -1
  145. package/dist/revo-grid/revo-grid.entry.js +1 -1
  146. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  147. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  148. package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -1
  149. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  150. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
  151. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  152. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  153. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
  154. package/dist/revo-grid/selection.helpers-accaad4a.js +5 -0
  155. package/dist/revo-grid/selection.helpers-accaad4a.js.map +1 -0
  156. package/dist/revo-grid/{throttle-1b1dd9d2.js → throttle-7283692c.js} +2 -2
  157. package/dist/revo-grid/throttle-7283692c.js.map +1 -0
  158. package/dist/revo-grid/viewport.store-d8e03528.js +5 -0
  159. package/dist/revo-grid/viewport.store-d8e03528.js.map +1 -0
  160. package/dist/types/components/clipboard/revogr-clipboard.d.ts +32 -24
  161. package/dist/types/components/data/column.service.d.ts +1 -1
  162. package/dist/types/components/data/row-highlight.plugin.d.ts +1 -1
  163. package/dist/types/components/editors/revogr-edit.d.ts +1 -1
  164. package/dist/types/components/editors/text-editor.d.ts +3 -3
  165. package/dist/types/components/header/header-renderer.d.ts +2 -2
  166. package/dist/types/components/header/resizable.directive.d.ts +2 -2
  167. package/dist/types/components/overlay/autofill.service.d.ts +9 -7
  168. package/dist/types/components/overlay/keyboard.service.d.ts +4 -4
  169. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +20 -11
  170. package/dist/types/components/overlay/selection.utils.d.ts +7 -4
  171. package/dist/types/components/revoGrid/revo-grid.d.ts +7 -6
  172. package/dist/types/components/revoGrid/viewport.helpers.d.ts +18 -3
  173. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +1 -1
  174. package/dist/types/components/revoGrid/viewport.service.d.ts +2 -6
  175. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +6 -6
  176. package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +1 -1
  177. package/dist/types/components/vnode/vnode-converter.d.ts +1 -1
  178. package/dist/types/components/vnode/vnode.utils.d.ts +1 -1
  179. package/dist/types/components.d.ts +80 -54
  180. package/dist/types/plugins/column.auto-size.plugin.d.ts +2 -2
  181. package/dist/types/plugins/export/export.plugin.d.ts +3 -3
  182. package/dist/types/plugins/filter/filter.button.d.ts +1 -1
  183. package/dist/types/plugins/filter/filter.panel.d.ts +1 -1
  184. package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +1 -1
  185. package/dist/types/plugins/groupingRow/grouping.service.d.ts +3 -3
  186. package/dist/types/plugins/sorting/sorting.plugin.d.ts +8 -8
  187. package/dist/types/services/column.data.provider.d.ts +1 -1
  188. package/dist/types/services/data.provider.d.ts +1 -1
  189. package/dist/types/services/dimension.provider.d.ts +3 -2
  190. package/dist/types/services/selection.store.connector.d.ts +9 -9
  191. package/dist/types/store/selection/selection.helpers.d.ts +1 -1
  192. package/dist/types/store/selection/selection.store.d.ts +4 -4
  193. package/dist/types/store/vp/viewport.helpers.d.ts +2 -2
  194. package/dist/types/themeManager/theme.service.d.ts +1 -1
  195. package/dist/types/types/interfaces.d.ts +18 -1
  196. package/dist/types/types/viewport.interfaces.d.ts +2 -2
  197. package/dist/types/utils/store.utils.d.ts +7 -4
  198. package/hydrate/index.js +274 -215
  199. package/hydrate/index.mjs +274 -215
  200. package/package.json +1 -1
  201. package/standalone/column.service.js +33 -33
  202. package/standalone/column.service.js.map +1 -1
  203. package/standalone/data.store.js +2959 -7
  204. package/standalone/data.store.js.map +1 -1
  205. package/standalone/debounce.js +1 -1
  206. package/standalone/dimension.helpers.js +2 -2
  207. package/standalone/index.js.map +1 -1
  208. package/standalone/local.scroll.timer.js +3 -2
  209. package/standalone/local.scroll.timer.js.map +1 -1
  210. package/standalone/revo-grid.js +77 -90
  211. package/standalone/revo-grid.js.map +1 -1
  212. package/standalone/revogr-clipboard2.js +6 -3
  213. package/standalone/revogr-clipboard2.js.map +1 -1
  214. package/standalone/revogr-data2.js +7 -5
  215. package/standalone/revogr-data2.js.map +1 -1
  216. package/standalone/revogr-edit2.js +5 -3
  217. package/standalone/revogr-edit2.js.map +1 -1
  218. package/standalone/revogr-filter-panel.js.map +1 -1
  219. package/standalone/revogr-focus2.js +0 -1
  220. package/standalone/revogr-focus2.js.map +1 -1
  221. package/standalone/revogr-header2.js +12 -10
  222. package/standalone/revogr-header2.js.map +1 -1
  223. package/standalone/revogr-order-editor2.js +0 -1
  224. package/standalone/revogr-order-editor2.js.map +1 -1
  225. package/standalone/revogr-overlay-selection2.js +54 -38
  226. package/standalone/revogr-overlay-selection2.js.map +1 -1
  227. package/standalone/revogr-row-headers2.js +12 -9
  228. package/standalone/revogr-row-headers2.js.map +1 -1
  229. package/standalone/revogr-scroll-virtual2.js +1 -1
  230. package/standalone/revogr-scroll-virtual2.js.map +1 -1
  231. package/standalone/revogr-temp-range2.js.map +1 -1
  232. package/standalone/revogr-viewport-scroll2.js +47 -23
  233. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  234. package/standalone/selection.utils.js +14 -6
  235. package/standalone/selection.utils.js.map +1 -1
  236. package/standalone/toNumber.js +1 -1
  237. package/standalone/vnode-converter.js +3 -3
  238. package/standalone/vnode-converter.js.map +1 -1
  239. package/dist/cjs/column.service-6f691f50.js.map +0 -1
  240. package/dist/cjs/dimension.helpers-e9d22516.js.map +0 -1
  241. package/dist/cjs/header-cell-renderer-81a22b00.js.map +0 -1
  242. package/dist/cjs/selection.helpers-8fa19c04.js.map +0 -1
  243. package/dist/cjs/throttle-bcc4740d.js.map +0 -1
  244. package/dist/cjs/viewport.store-9cf01c71.js.map +0 -1
  245. package/dist/esm/column.service-0e41057a.js.map +0 -1
  246. package/dist/esm/dimension.helpers-91398565.js.map +0 -1
  247. package/dist/esm/header-cell-renderer-6d8ac25d.js.map +0 -1
  248. package/dist/esm/selection.helpers-50e9f09d.js.map +0 -1
  249. package/dist/esm/throttle-1b1dd9d2.js.map +0 -1
  250. package/dist/esm/viewport.store-bfd0b036.js.map +0 -1
  251. package/dist/revo-grid/column.service-0e41057a.js +0 -5
  252. package/dist/revo-grid/column.service-0e41057a.js.map +0 -1
  253. package/dist/revo-grid/header-cell-renderer-6d8ac25d.js +0 -5
  254. package/dist/revo-grid/header-cell-renderer-6d8ac25d.js.map +0 -1
  255. package/dist/revo-grid/selection.helpers-50e9f09d.js +0 -5
  256. package/dist/revo-grid/selection.helpers-50e9f09d.js.map +0 -1
  257. package/dist/revo-grid/throttle-1b1dd9d2.js.map +0 -1
  258. package/dist/revo-grid/viewport.store-bfd0b036.js +0 -5
  259. package/dist/revo-grid/viewport.store-bfd0b036.js.map +0 -1
  260. package/standalone/_baseIteratee.js +0 -2956
  261. package/standalone/_baseIteratee.js.map +0 -1
  262. /package/dist/revo-grid/{base.plugin-78393655.js.map → base.plugin-5e7a3c51.js.map} +0 -0
@@ -3,15 +3,15 @@
3
3
  */
4
4
  import { r as registerInstance, h, H as Host, c as createEvent, a as getElement } from './index-a61f225b.js';
5
5
  import { F as FOCUS_CLASS, t as timeout, R as RESIZE_INTERVAL, a as CELL_HANDLER_CLASS, M as MOBILE_CLASS, S as SELECTION_BORDER_CLASS, b as ROW_HEADER_TYPE, g as getScrollbarSize, T as TMP_SELECTION_BG_CLASS } from './index-4e881436.js';
6
- import { i as getItemByPosition, j as getItemByIndex, b as getSourceItem, D as DataStore } from './dimension.helpers-91398565.js';
6
+ import { b as getSourceItem, i as getItemByPosition, j as getItemByIndex, D as DataStore } from './dimension.helpers-56298828.js';
7
7
  import './toNumber-8de324a7.js';
8
8
  import { g as getPropertyFromEvent, v as verifyTouchTarget, c as calculateRowHeaderSize } from './events-77b43b40.js';
9
- import { n as ColumnService, H as HEADER_SLOT } from './column.service-0e41057a.js';
9
+ import { m as ColumnService, H as HEADER_SLOT } from './column.service-5d14e7e9.js';
10
10
  import { c as codesLetter, i as isClear, a as isEnterKeyValue, b as isCopy, d as isCut, e as isPaste, f as isAll, g as isLetterKey, h as isEditInput } from './key.utils-425c987d.js';
11
- import { g as getRange, a as isRangeSingleCell } from './selection.helpers-50e9f09d.js';
11
+ import { g as getRange, a as isRangeSingleCell } from './selection.helpers-accaad4a.js';
12
12
  import { d as debounce_1 } from './debounce-7781346d.js';
13
- import { V as ViewportStore } from './viewport.store-bfd0b036.js';
14
- import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle_1 } from './throttle-1b1dd9d2.js';
13
+ import { V as ViewportStore } from './viewport.store-d8e03528.js';
14
+ import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle_1 } from './throttle-7283692c.js';
15
15
 
16
16
  const Attribution = class {
17
17
  constructor(hostRef) {
@@ -22,6 +22,14 @@ const Attribution = class {
22
22
  }
23
23
  };
24
24
 
25
+ function collectModelsOfRange(data, store) {
26
+ const models = {};
27
+ for (let i in data) {
28
+ const rowIndex = parseInt(i, 10);
29
+ models[rowIndex] = getSourceItem(store, rowIndex);
30
+ }
31
+ return models;
32
+ }
25
33
  function getFocusCellBasedOnEvent(e, data) {
26
34
  // If event default is prevented, return
27
35
  if (e.defaultPrevented) {
@@ -72,18 +80,18 @@ function getCurrentCell({ x, y }, { el, rows, cols }) {
72
80
  return { x: rgCol.itemIndex, y: rgRow.itemIndex };
73
81
  }
74
82
  function getCoordinate(range, focus, changes, isMulti = false) {
75
- const updateCoordinate = (c) => {
83
+ const updateCoordinate = (c, pos = 0) => {
76
84
  const start = { x: range.x, y: range.y };
77
85
  const end = isMulti ? { x: range.x1, y: range.y1 } : start;
78
86
  const point = end[c] > focus[c] ? end : start;
79
- point[c] += changes[c];
87
+ point[c] += pos;
80
88
  return { start, end };
81
89
  };
82
90
  if (changes.x) {
83
- return updateCoordinate('x');
91
+ return updateCoordinate('x', changes['x']);
84
92
  }
85
93
  if (changes.y) {
86
- return updateCoordinate('y');
94
+ return updateCoordinate('y', changes['y']);
87
95
  }
88
96
  return null;
89
97
  }
@@ -463,8 +471,9 @@ class AutoFillService {
463
471
  this.sv.setTempRange(null);
464
472
  }
465
473
  else {
474
+ const area = getRange(this.autoFillInitial, this.autoFillLast);
466
475
  this.sv.setTempRange({
467
- area: getRange(this.autoFillInitial, this.autoFillLast),
476
+ area,
468
477
  type: this.autoFillType,
469
478
  });
470
479
  }
@@ -499,7 +508,7 @@ class AutoFillService {
499
508
  range,
500
509
  });
501
510
  // If data apply was not prevented, apply new range
502
- if (!stopApply) {
511
+ if (!stopApply && oldRange) {
503
512
  this.applyRangeWithData(newRange, oldRange);
504
513
  }
505
514
  else {
@@ -525,28 +534,26 @@ class AutoFillService {
525
534
  this.autoFillLast = null;
526
535
  this.autoFillStart = null;
527
536
  }
528
- /** Trigger range apply events and handle responses */
537
+ /**
538
+ * Trigger range apply events and handle responses
539
+ */
529
540
  onRangeApply(data, range) {
530
- const models = {};
531
- for (let rowIndex in data) {
532
- models[rowIndex] = getSourceItem(this.sv.dataStore, parseInt(rowIndex, 10));
533
- }
534
541
  this.sv.rangeDataApply({
535
542
  data,
536
- models,
543
+ models: collectModelsOfRange(data, this.sv.dataStore),
537
544
  type: this.sv.dataStore.get('type'),
538
545
  });
539
546
  this.sv.setRange(range);
540
547
  }
541
548
  /** Apply range and copy data during range application */
542
- applyRangeWithData(newRange, oldRange) {
549
+ applyRangeWithData(newRange, rangeToCopy) {
543
550
  const rangeData = {
544
551
  type: this.sv.dataStore.get('type'),
545
552
  colType: this.sv.columnService.type,
546
553
  newData: {},
547
554
  mapping: {},
548
555
  newRange,
549
- oldRange,
556
+ oldRange: rangeToCopy,
550
557
  };
551
558
  const { mapping, changed } = this.sv.columnService.getRangeData(rangeData, this.sv.columnService.columns);
552
559
  rangeData.newData = changed;
@@ -610,7 +617,6 @@ const OverlaySelection = class {
610
617
  this.beforeCellSave = createEvent(this, "beforecellsave", 7);
611
618
  this.keyboardService = null;
612
619
  this.autoFillService = null;
613
- this.revogrEdit = null;
614
620
  this.unsubscribeSelectionStore = [];
615
621
  this.readonly = undefined;
616
622
  this.range = undefined;
@@ -630,19 +636,21 @@ const OverlaySelection = class {
630
636
  // #endregion
631
637
  // #region Listeners
632
638
  onMouseMove(e) {
639
+ var _a;
633
640
  if (this.selectionStore.get('focus')) {
634
- this.autoFillService.selectionMouseMove(e);
641
+ (_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.selectionMouseMove(e);
635
642
  }
636
643
  }
637
644
  /**
638
- * Action finished inside of the document.
645
+ * Action finished inside the document.
639
646
  * Pointer left document, clear any active operation.
640
647
  */
641
648
  onMouseUp() {
642
- // Clear auto fill selection
649
+ var _a;
650
+ // Clear autofill selection
643
651
  // when pointer left document,
644
652
  // clear any active operation.
645
- this.autoFillService.clearAutoFillSelection(this.selectionStore.get('focus'), this.selectionStore.get('range'));
653
+ (_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.clearAutoFillSelection(this.selectionStore.get('focus'), this.selectionStore.get('range'));
646
654
  }
647
655
  /**
648
656
  * Row drag started.
@@ -686,10 +694,10 @@ const OverlaySelection = class {
686
694
  // clear subscriptions
687
695
  this.unsubscribeSelectionStore.forEach(v => v());
688
696
  this.unsubscribeSelectionStore.length = 0;
689
- this.unsubscribeSelectionStore.push(s.onChange('nextFocus', (v) => this.doFocus(v, v)));
697
+ this.unsubscribeSelectionStore.push(s.onChange('nextFocus', (v) => v && this.doFocus(v, v)));
690
698
  this.keyboardService = new KeyboardService({
691
699
  selectionStore: s,
692
- range: r => this.triggerRangeEvent(r),
700
+ range: r => !!r && this.triggerRangeEvent(r),
693
701
  focus: (f, changes, focusNextViewport) => {
694
702
  if (focusNextViewport) {
695
703
  this.beforeNextViewportFocus.emit(f);
@@ -706,7 +714,8 @@ const OverlaySelection = class {
706
714
  this.doEdit(val);
707
715
  },
708
716
  cancel: async () => {
709
- await this.revogrEdit.cancelChanges();
717
+ var _a;
718
+ await ((_a = this.revogrEdit) === null || _a === void 0 ? void 0 : _a.cancelChanges());
710
719
  this.closeEdit();
711
720
  },
712
721
  clearCell: () => !this.readonly && this.clearCell(),
@@ -728,7 +737,7 @@ const OverlaySelection = class {
728
737
  selectionChanged: e => this.selectionChange.emit(e),
729
738
  rangeCopy: e => this.beforeRangeCopyApply.emit(e),
730
739
  rangeDataApply: e => this.rangeEditApply.emit(e),
731
- setRange: e => this.triggerRangeEvent(e),
740
+ setRange: e => !!e && this.triggerRangeEvent(e),
732
741
  getData: () => this.getData(),
733
742
  });
734
743
  }
@@ -790,6 +799,7 @@ const OverlaySelection = class {
790
799
  } }));
791
800
  }
792
801
  render() {
802
+ var _a;
793
803
  const nodes = [];
794
804
  const editCell = this.renderEditor();
795
805
  // Editor
@@ -809,14 +819,14 @@ const OverlaySelection = class {
809
819
  }
810
820
  // Autofill
811
821
  if (focus && !this.readonly && this.range) {
812
- nodes.push(this.autoFillService.renderAutofill(range, focus));
822
+ nodes.push((_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.renderAutofill(range, focus));
813
823
  }
814
824
  // Order
815
825
  if (this.canDrag) {
816
826
  nodes.push(h("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, onRowdragstartinit: e => this.rowDragStart(e) }));
817
827
  }
818
828
  }
819
- return (h(Host, { key: '81dee4cfcce410cefb2bd9ff2661261472fc3a75', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, h("slot", { key: '6ac75c388ae3fbc5539a27c3acd58178dd53d1af', name: "data" })));
829
+ return (h(Host, { key: '0767a5d015d0c8fe99444ef26b136a3a11792724', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, h("slot", { key: '8551244579316e0d4ab61defa1c1c9bc1011f446', name: "data" })));
820
830
  }
821
831
  /**
822
832
  * Executes the focus operation on the specified range of cells.
@@ -871,6 +881,7 @@ const OverlaySelection = class {
871
881
  * Handle mouse down event on Host element
872
882
  */
873
883
  onElementMouseDown(e, touch = false) {
884
+ var _a;
874
885
  // Get the target element from the event object
875
886
  const targetElement = e.target;
876
887
  // Ignore focus if clicked input
@@ -887,7 +898,7 @@ const OverlaySelection = class {
887
898
  this.focus(focusCell, this.range && e.shiftKey);
888
899
  // Initiate autofill selection
889
900
  if (this.range) {
890
- this.autoFillService.selectionStart(targetElement, this.getData());
901
+ targetElement && ((_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.selectionStart(targetElement, this.getData()));
891
902
  // Prevent default behavior for mouse events,
892
903
  // but only if target element is not a mobile input
893
904
  if (!touch) {
@@ -907,18 +918,21 @@ const OverlaySelection = class {
907
918
  var _a;
908
919
  if (this.canEdit()) {
909
920
  const focus = this.selectionStore.get('focus');
921
+ if (!focus) {
922
+ return;
923
+ }
910
924
  const data = this.columnService.getSaveData(focus.y, focus.x);
911
925
  (_a = this.setEdit) === null || _a === void 0 ? void 0 : _a.emit(Object.assign(Object.assign({}, data), { val }));
912
926
  }
913
927
  }
914
928
  /**
915
929
  * Close editor event triggered
916
- * @param details - if requires focus next
930
+ * @param details - if it requires focus next
917
931
  */
918
- closeEdit(e) {
932
+ async closeEdit(e) {
919
933
  this.cancelEdit.emit();
920
934
  if (e === null || e === void 0 ? void 0 : e.detail) {
921
- this.focusNext();
935
+ await this.focusNext();
922
936
  }
923
937
  }
924
938
  /**
@@ -938,6 +952,7 @@ const OverlaySelection = class {
938
952
  return range;
939
953
  }
940
954
  onCopy(e) {
955
+ var _a;
941
956
  const range = this.getRegion();
942
957
  const canCopyEvent = this.beforeCopyRegion.emit(range);
943
958
  if (canCopyEvent.defaultPrevented) {
@@ -953,38 +968,45 @@ const OverlaySelection = class {
953
968
  rangeData = event.detail.data;
954
969
  }
955
970
  }
956
- this.clipboard.doCopy(e, rangeData);
971
+ (_a = this.clipboard) === null || _a === void 0 ? void 0 : _a.doCopy(e, rangeData);
957
972
  return true;
958
973
  }
959
974
  onPaste(data) {
975
+ var _a;
960
976
  const focus = this.selectionStore.get('focus');
961
977
  const isEditing = this.selectionStore.get('edit') !== null;
962
978
  if (!focus || isEditing) {
963
979
  return;
964
980
  }
965
981
  let { changed, range } = this.columnService.getTransformedDataToApply(focus, data);
966
- const { defaultPrevented: canPaste } = this.rangeClipboardPaste.emit(Object.assign({ data: changed, range }, this.types));
982
+ const { defaultPrevented: canPaste } = this.rangeClipboardPaste.emit(Object.assign({ data: changed, models: collectModelsOfRange(changed, this.dataStore), range }, this.types));
967
983
  if (canPaste) {
968
984
  return;
969
985
  }
970
- this.autoFillService.onRangeApply(changed, range);
986
+ (_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.onRangeApply(changed, range);
971
987
  }
972
988
  async focusNext() {
973
- const canFocus = await this.keyboardService.keyChangeSelection(new KeyboardEvent('keydown', {
989
+ var _a;
990
+ const canFocus = await ((_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.keyChangeSelection(new KeyboardEvent('keydown', {
974
991
  code: codesLetter.ARROW_DOWN,
975
- }), this.range);
992
+ }), this.range));
976
993
  if (!canFocus) {
977
994
  this.closeEdit();
978
995
  }
979
996
  }
980
997
  clearCell() {
981
- if (this.selectionStore.get('range') &&
982
- !isRangeSingleCell(this.selectionStore.get('range'))) {
983
- const data = this.columnService.getRangeStaticData(this.selectionStore.get('range'), '');
984
- this.autoFillService.onRangeApply(data, this.selectionStore.get('range'));
998
+ var _a;
999
+ const range = this.selectionStore.get('range');
1000
+ if (range &&
1001
+ !isRangeSingleCell(range)) {
1002
+ const data = this.columnService.getRangeStaticData(range, '');
1003
+ (_a = this.autoFillService) === null || _a === void 0 ? void 0 : _a.onRangeApply(data, range);
985
1004
  }
986
1005
  else if (this.canEdit()) {
987
1006
  const focused = this.selectionStore.get('focus');
1007
+ if (!focused) {
1008
+ return;
1009
+ }
988
1010
  const cell = this.columnService.getSaveData(focused.y, focused.x);
989
1011
  this.cellEdit({
990
1012
  rgRow: focused.y,
@@ -1021,7 +1043,10 @@ const OverlaySelection = class {
1021
1043
  const end = cell;
1022
1044
  const start = this.selectionStore.get('focus');
1023
1045
  if (isRangeEdit && start) {
1024
- return this.triggerRangeEvent(getRange(start, end));
1046
+ const range = getRange(start, end);
1047
+ if (range) {
1048
+ return this.triggerRangeEvent(range);
1049
+ }
1025
1050
  }
1026
1051
  return this.doFocus(cell, end);
1027
1052
  }
@@ -1112,7 +1137,7 @@ const RevogrRowHeaders = class {
1112
1137
  const viewportHeader = Object.assign(Object.assign({}, this.headerProp), { colData: typeof this.rowHeaderColumn === 'object' ? [this.rowHeaderColumn] : [], viewportCol: viewport.store, canResize: false, type: ROW_HEADER_TYPE,
1113
1138
  // parent,
1114
1139
  slot: HEADER_SLOT });
1115
- return (h(Host, { class: { [ROW_HEADER_TYPE]: true }, key: ROW_HEADER_TYPE }, h("revogr-viewport-scroll", Object.assign({ key: 'efaaa386cb5ea8b848d42e3407dbde8ad99d1db8' }, viewportScroll, { "row-header": true }), h("revogr-header", Object.assign({ key: '57fb6d08cd094f9b19145ff65c3ab805992fbb68' }, viewportHeader)), dataViews)));
1140
+ return (h(Host, { class: { [ROW_HEADER_TYPE]: true }, key: ROW_HEADER_TYPE }, h("revogr-viewport-scroll", Object.assign({ key: '743c1dbaed3edf679c0616a2b79171a43d94806f' }, viewportScroll, { "row-header": true }), h("revogr-header", Object.assign({ key: '53f1f64b1358d7828a5e45807915740ef198df21' }, viewportHeader)), dataViews)));
1116
1141
  }
1117
1142
  };
1118
1143
 
@@ -1149,7 +1174,7 @@ class AutohideScrollPlugin {
1149
1174
  show(element, timeout) {
1150
1175
  clearTimeout(timeout);
1151
1176
  return Number(setTimeout(() => {
1152
- element.removeAttribute('visible');
1177
+ element === null || element === void 0 ? void 0 : element.removeAttribute('visible');
1153
1178
  }, 1000));
1154
1179
  }
1155
1180
  clear() {