@revolist/revogrid 4.9.22 → 4.9.24

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 (232) hide show
  1. package/dist/cjs/{app-globals-a6bcda2f.js → app-globals-c0b20747.js} +2 -2
  2. package/dist/cjs/{app-globals-a6bcda2f.js.map → app-globals-c0b20747.js.map} +1 -1
  3. package/dist/cjs/{column.drag.plugin-3644bda6.js → column.drag.plugin-d971a91a.js} +61 -58
  4. package/dist/cjs/column.drag.plugin-d971a91a.js.map +1 -0
  5. package/dist/cjs/{column.service-caec759a.js → column.service-6089b047.js} +10 -20
  6. package/dist/cjs/column.service-6089b047.js.map +1 -0
  7. package/dist/{esm/debounce-e8e9464a.js → cjs/debounce-ec7a04b4.js} +36 -78
  8. package/dist/cjs/debounce-ec7a04b4.js.map +1 -0
  9. package/dist/cjs/{edit.utils-18840bb3.js → edit.utils-093fe9cd.js} +2 -2
  10. package/dist/cjs/{edit.utils-18840bb3.js.map → edit.utils-093fe9cd.js.map} +1 -1
  11. package/dist/cjs/{filter.button-1e1e16be.js → filter.button-b8debe72.js} +6 -2
  12. package/dist/cjs/filter.button-b8debe72.js.map +1 -0
  13. package/dist/cjs/{header-cell-renderer-4fd62cec.js → header-cell-renderer-2d56e8f5.js} +3 -3
  14. package/dist/cjs/{header-cell-renderer-4fd62cec.js.map → header-cell-renderer-2d56e8f5.js.map} +1 -1
  15. package/dist/cjs/{index-34dfb0db.js → index-10d10c55.js} +14 -20
  16. package/dist/cjs/index-10d10c55.js.map +1 -0
  17. package/dist/cjs/{index-71b783e2.js → index-a9ee8eef.js} +290 -854
  18. package/dist/cjs/index-a9ee8eef.js.map +1 -0
  19. package/dist/cjs/index.cjs.js +23 -13
  20. package/dist/cjs/index.cjs.js.map +1 -1
  21. package/dist/cjs/{key.utils-48b178d1.js → key.utils-1438f2ac.js} +2 -2
  22. package/dist/cjs/{key.utils-48b178d1.js.map → key.utils-1438f2ac.js.map} +1 -1
  23. package/dist/cjs/loader.cjs.js +3 -3
  24. package/dist/cjs/revo-grid.cjs.entry.js +43 -74
  25. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  26. package/dist/cjs/revo-grid.cjs.js +4 -4
  27. package/dist/cjs/revo-grid.cjs.js.map +1 -1
  28. package/dist/cjs/revogr-attribution_6.cjs.entry.js +10 -10
  29. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
  30. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +7 -7
  31. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  32. package/dist/cjs/revogr-data_4.cjs.entry.js +24 -47
  33. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  34. package/dist/cjs/revogr-filter-panel.cjs.entry.js +46 -46
  35. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  36. package/dist/cjs/{row-header-utils-baf917a2.js → row-header-utils-eb5949b3.js} +7 -9
  37. package/dist/cjs/row-header-utils-eb5949b3.js.map +1 -0
  38. package/dist/cjs/{sorting.sign-54938069.js → sorting.sign-ca5a1045.js} +2 -6
  39. package/dist/cjs/sorting.sign-ca5a1045.js.map +1 -0
  40. package/dist/cjs/{text-editor-bdc757b1.js → text-editor-ea3badef.js} +3 -3
  41. package/dist/cjs/{text-editor-bdc757b1.js.map → text-editor-ea3badef.js.map} +1 -1
  42. package/dist/cjs/{throttle-b5d436ca.js → throttle-6fecba1e.js} +6 -11
  43. package/dist/cjs/throttle-6fecba1e.js.map +1 -0
  44. package/dist/collection/collection-manifest.json +1 -1
  45. package/dist/collection/components/revoGrid/revo-grid.js +9 -13
  46. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  47. package/dist/collection/plugins/filter/filter.button.js.map +1 -1
  48. package/dist/collection/plugins/filter/filter.panel.js +42 -42
  49. package/dist/collection/plugins/filter/filter.panel.js.map +1 -1
  50. package/dist/collection/plugins/filter/filter.plugin.js +10 -4
  51. package/dist/collection/plugins/filter/filter.plugin.js.map +1 -1
  52. package/dist/collection/plugins/sorting/sorting.sign.js +0 -2
  53. package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -1
  54. package/dist/collection/services/dimension.provider.js +4 -3
  55. package/dist/collection/services/dimension.provider.js.map +1 -1
  56. package/dist/collection/store/dimension/dimension.store.js +19 -6
  57. package/dist/collection/store/dimension/dimension.store.js.map +1 -1
  58. package/dist/collection/store/vp/viewport.store.js +5 -7
  59. package/dist/collection/store/vp/viewport.store.js.map +1 -1
  60. package/dist/esm/{app-globals-43714036.js → app-globals-3a760941.js} +2 -2
  61. package/dist/esm/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +1 -1
  62. package/dist/esm/{column.drag.plugin-49737eae.js → column.drag.plugin-170c12a3.js} +56 -56
  63. package/dist/esm/column.drag.plugin-170c12a3.js.map +1 -0
  64. package/dist/esm/{column.service-dc98409c.js → column.service-407956dd.js} +7 -17
  65. package/dist/esm/column.service-407956dd.js.map +1 -0
  66. package/dist/{cjs/debounce-cb5f4e35.js → esm/debounce-7b511afc.js} +26 -88
  67. package/dist/esm/debounce-7b511afc.js.map +1 -0
  68. package/dist/esm/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
  69. package/dist/esm/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +1 -1
  70. package/dist/esm/{filter.button-91088160.js → filter.button-d40ab17b.js} +3 -3
  71. package/dist/esm/filter.button-d40ab17b.js.map +1 -0
  72. package/dist/esm/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +3 -3
  73. package/dist/esm/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +1 -1
  74. package/dist/esm/{index-70354f39.js → index-a61f225b.js} +14 -20
  75. package/dist/esm/index-a61f225b.js.map +1 -0
  76. package/dist/esm/{index-29a9a87a.js → index-b6586f9b.js} +270 -834
  77. package/dist/esm/index-b6586f9b.js.map +1 -0
  78. package/dist/esm/index.js +11 -11
  79. package/dist/esm/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
  80. package/dist/esm/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +1 -1
  81. package/dist/esm/loader.js +4 -4
  82. package/dist/esm/revo-grid.entry.js +39 -70
  83. package/dist/esm/revo-grid.entry.js.map +1 -1
  84. package/dist/esm/revo-grid.js +5 -5
  85. package/dist/esm/revo-grid.js.map +1 -1
  86. package/dist/esm/revogr-attribution_6.entry.js +10 -10
  87. package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
  88. package/dist/esm/revogr-clipboard_3.entry.js +7 -7
  89. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  90. package/dist/esm/revogr-data_4.entry.js +20 -43
  91. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  92. package/dist/esm/revogr-filter-panel.entry.js +46 -46
  93. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  94. package/dist/esm/{row-header-utils-32049c13.js → row-header-utils-e043f744.js} +7 -9
  95. package/dist/esm/row-header-utils-e043f744.js.map +1 -0
  96. package/dist/esm/sorting.sign-1a675bf7.js +13 -0
  97. package/dist/esm/sorting.sign-1a675bf7.js.map +1 -0
  98. package/dist/esm/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +3 -3
  99. package/dist/esm/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +1 -1
  100. package/dist/esm/{throttle-c6f34cc0.js → throttle-bb3169c7.js} +4 -9
  101. package/dist/esm/throttle-bb3169c7.js.map +1 -0
  102. package/dist/revo-grid/app-globals-3a760941.js +5 -0
  103. package/dist/revo-grid/column.drag.plugin-170c12a3.js +5 -0
  104. package/dist/revo-grid/column.drag.plugin-170c12a3.js.map +1 -0
  105. package/dist/revo-grid/column.service-407956dd.js +5 -0
  106. package/dist/revo-grid/column.service-407956dd.js.map +1 -0
  107. package/dist/revo-grid/debounce-7b511afc.js +5 -0
  108. package/dist/revo-grid/debounce-7b511afc.js.map +1 -0
  109. package/dist/revo-grid/{edit.utils-177d6b9e.js → edit.utils-1eeabeab.js} +2 -2
  110. package/dist/revo-grid/filter.button-d40ab17b.js +5 -0
  111. package/dist/revo-grid/filter.button-d40ab17b.js.map +1 -0
  112. package/dist/revo-grid/{header-cell-renderer-07c6f845.js → header-cell-renderer-da468bd2.js} +2 -2
  113. package/dist/revo-grid/index-a61f225b.js +6 -0
  114. package/dist/revo-grid/index-a61f225b.js.map +1 -0
  115. package/dist/revo-grid/index-b6586f9b.js +5 -0
  116. package/dist/revo-grid/index-b6586f9b.js.map +1 -0
  117. package/dist/revo-grid/index.esm.js +1 -1
  118. package/dist/revo-grid/{key.utils-0bbb3bc6.js → key.utils-562c749e.js} +2 -2
  119. package/dist/revo-grid/revo-grid.entry.js +1 -1
  120. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  121. package/dist/revo-grid/revo-grid.esm.js +1 -1
  122. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  123. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  124. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  125. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  126. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  127. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  128. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
  129. package/dist/revo-grid/row-header-utils-e043f744.js +5 -0
  130. package/dist/revo-grid/row-header-utils-e043f744.js.map +1 -0
  131. package/dist/revo-grid/sorting.sign-1a675bf7.js +5 -0
  132. package/dist/revo-grid/sorting.sign-1a675bf7.js.map +1 -0
  133. package/dist/revo-grid/{text-editor-b1bb2bd3.js → text-editor-654f5d53.js} +2 -2
  134. package/dist/revo-grid/throttle-bb3169c7.js +5 -0
  135. package/dist/revo-grid/throttle-bb3169c7.js.map +1 -0
  136. package/dist/types/plugins/filter/filter.panel.d.ts +3 -3
  137. package/dist/types/plugins/filter/filter.plugin.d.ts +8 -4
  138. package/dist/types/plugins/sorting/sorting.sign.d.ts +0 -2
  139. package/dist/types/store/dimension/dimension.store.d.ts +2 -1
  140. package/dist/types/store/vp/viewport.store.d.ts +0 -1
  141. package/hydrate/index.d.ts +4 -4
  142. package/hydrate/index.js +477 -1174
  143. package/hydrate/index.mjs +477 -1174
  144. package/package.json +3 -3
  145. package/standalone/column.service.js +5 -16
  146. package/standalone/column.service.js.map +1 -1
  147. package/standalone/debounce.js +7 -16
  148. package/standalone/debounce.js.map +1 -1
  149. package/standalone/dimension.helpers.js +15 -45
  150. package/standalone/dimension.helpers.js.map +1 -1
  151. package/standalone/filter.button.js +1 -1
  152. package/standalone/filter.button.js.map +1 -1
  153. package/standalone/index.js +3 -4
  154. package/standalone/index.js.map +1 -1
  155. package/standalone/index2.js +0 -2
  156. package/standalone/index2.js.map +1 -1
  157. package/standalone/reduce.js +1319 -474
  158. package/standalone/reduce.js.map +1 -1
  159. package/standalone/revo-grid.js +85 -117
  160. package/standalone/revo-grid.js.map +1 -1
  161. package/standalone/revogr-data2.js +0 -2
  162. package/standalone/revogr-data2.js.map +1 -1
  163. package/standalone/revogr-filter-panel.js +46 -46
  164. package/standalone/revogr-filter-panel.js.map +1 -1
  165. package/standalone/revogr-focus2.js +0 -2
  166. package/standalone/revogr-focus2.js.map +1 -1
  167. package/standalone/revogr-header.js +1 -1
  168. package/standalone/revogr-header2.js +14 -41
  169. package/standalone/revogr-header2.js.map +1 -1
  170. package/standalone/revogr-order-editor2.js +2 -4
  171. package/standalone/revogr-order-editor2.js.map +1 -1
  172. package/standalone/revogr-overlay-selection2.js +2 -4
  173. package/standalone/revogr-overlay-selection2.js.map +1 -1
  174. package/standalone/revogr-row-headers2.js +6 -10
  175. package/standalone/revogr-row-headers2.js.map +1 -1
  176. package/standalone/revogr-temp-range2.js +2 -2
  177. package/standalone/revogr-temp-range2.js.map +1 -1
  178. package/standalone/revogr-viewport-scroll2.js +2 -2
  179. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  180. package/standalone/selection.utils.js +0 -2
  181. package/standalone/selection.utils.js.map +1 -1
  182. package/standalone/throttle.js +3 -8
  183. package/standalone/throttle.js.map +1 -1
  184. package/standalone/toNumber.js +165 -22
  185. package/standalone/toNumber.js.map +1 -1
  186. package/dist/cjs/column.drag.plugin-3644bda6.js.map +0 -1
  187. package/dist/cjs/column.service-caec759a.js.map +0 -1
  188. package/dist/cjs/debounce-cb5f4e35.js.map +0 -1
  189. package/dist/cjs/filter.button-1e1e16be.js.map +0 -1
  190. package/dist/cjs/index-34dfb0db.js.map +0 -1
  191. package/dist/cjs/index-71b783e2.js.map +0 -1
  192. package/dist/cjs/row-header-utils-baf917a2.js.map +0 -1
  193. package/dist/cjs/sorting.sign-54938069.js.map +0 -1
  194. package/dist/cjs/throttle-b5d436ca.js.map +0 -1
  195. package/dist/esm/column.drag.plugin-49737eae.js.map +0 -1
  196. package/dist/esm/column.service-dc98409c.js.map +0 -1
  197. package/dist/esm/debounce-e8e9464a.js.map +0 -1
  198. package/dist/esm/filter.button-91088160.js.map +0 -1
  199. package/dist/esm/index-29a9a87a.js.map +0 -1
  200. package/dist/esm/index-70354f39.js.map +0 -1
  201. package/dist/esm/row-header-utils-32049c13.js.map +0 -1
  202. package/dist/esm/sorting.sign-569a1f3c.js +0 -15
  203. package/dist/esm/sorting.sign-569a1f3c.js.map +0 -1
  204. package/dist/esm/throttle-c6f34cc0.js.map +0 -1
  205. package/dist/revo-grid/app-globals-43714036.js +0 -5
  206. package/dist/revo-grid/column.drag.plugin-49737eae.js +0 -5
  207. package/dist/revo-grid/column.drag.plugin-49737eae.js.map +0 -1
  208. package/dist/revo-grid/column.service-dc98409c.js +0 -5
  209. package/dist/revo-grid/column.service-dc98409c.js.map +0 -1
  210. package/dist/revo-grid/debounce-e8e9464a.js +0 -5
  211. package/dist/revo-grid/debounce-e8e9464a.js.map +0 -1
  212. package/dist/revo-grid/filter.button-91088160.js +0 -5
  213. package/dist/revo-grid/filter.button-91088160.js.map +0 -1
  214. package/dist/revo-grid/index-29a9a87a.js +0 -5
  215. package/dist/revo-grid/index-29a9a87a.js.map +0 -1
  216. package/dist/revo-grid/index-70354f39.js +0 -6
  217. package/dist/revo-grid/index-70354f39.js.map +0 -1
  218. package/dist/revo-grid/row-header-utils-32049c13.js +0 -5
  219. package/dist/revo-grid/row-header-utils-32049c13.js.map +0 -1
  220. package/dist/revo-grid/sorting.sign-569a1f3c.js +0 -5
  221. package/dist/revo-grid/sorting.sign-569a1f3c.js.map +0 -1
  222. package/dist/revo-grid/throttle-c6f34cc0.js +0 -5
  223. package/dist/revo-grid/throttle-c6f34cc0.js.map +0 -1
  224. package/standalone/_stringToPath.js +0 -1389
  225. package/standalone/_stringToPath.js.map +0 -1
  226. package/standalone/isObjectLike.js +0 -195
  227. package/standalone/isObjectLike.js.map +0 -1
  228. /package/dist/revo-grid/{app-globals-43714036.js.map → app-globals-3a760941.js.map} +0 -0
  229. /package/dist/revo-grid/{edit.utils-177d6b9e.js.map → edit.utils-1eeabeab.js.map} +0 -0
  230. /package/dist/revo-grid/{header-cell-renderer-07c6f845.js.map → header-cell-renderer-da468bd2.js.map} +0 -0
  231. /package/dist/revo-grid/{key.utils-0bbb3bc6.js.map → key.utils-562c749e.js.map} +0 -0
  232. /package/dist/revo-grid/{text-editor-b1bb2bd3.js.map → text-editor-654f5d53.js.map} +0 -0
@@ -2,19 +2,18 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
4
  import { h, proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, Host } from '@stencil/core/internal/client';
5
- import { i as createStore, r as reduce_1, h as setStore, b as getSourceItem, j as toInteger_1, _ as _isIterateeCall, g as getPhysical, d as setItems, k as isArray_1, l as _baseProperty, m as _baseKeys, n as isArrayLike_1, o as range_1, D as DataStore, e as getSourceItemVirtualIndexByProp, s as setSourceByVirtualIndex, a as getVisibleSourceItem, f as gatherTrimmedItems } from './reduce.js';
6
- import { c as calculateDimensionData, e as each, g as getItemByPosition, a as getItemByIndex } from './dimension.helpers.js';
7
- import { _ as _getTag } from './_stringToPath.js';
8
- import { _ as _baseGetTag, i as isObjectLike_1 } from './isObjectLike.js';
5
+ import { i as createStore, r as reduce, h as setStore, b as getSourceItem, j as toInteger, k as isIterateeCall, g as getPhysical, d as setItems, l as isArray, m as baseProperty, n as isArrayLike, o as getTag, q as baseKeys, u as range, D as DataStore, e as getSourceItemVirtualIndexByProp, s as setSourceByVirtualIndex, a as getVisibleSourceItem, f as gatherTrimmedItems } from './reduce.js';
9
6
  import { e as getColumnType, m as isGrouping, o as getGroupingName, d as getCellDataParsed, G as GROUP_EXPANDED, p as getParsedGroup, q as isSameGroup, r as GROUP_DEPTH, P as PSEUDO_GROUP_ITEM_VALUE, s as PSEUDO_GROUP_ITEM_ID, t as GROUPING_ROW_TYPE, u as PSEUDO_GROUP_COLUMN, v as GROUP_EXPAND_EVENT, w as gatherGrouping, x as isGroupingColumn, h as isColGrouping, l as getColumnByProp, f as getColumnSizes, E as EMPTY_INDEX, j as getColumns, y as SelectionStoreConnector } from './column.service.js';
10
- import { d as debounce_1 } from './debounce.js';
7
+ import { c as calculateDimensionData, f as forEach, g as getItemByPosition, a as getItemByIndex } from './dimension.helpers.js';
8
+ import { d as debounce } from './debounce.js';
11
9
  import { R as RESIZE_INTERVAL } from './consts.js';
12
10
  import { f as calculateRowHeaderSize, V as ViewportStore, h as defineCustomElement$6 } from './revogr-row-headers2.js';
13
11
  import { g as getScrollbarSize, t as timeout } from './index2.js';
14
- import { F as FILTER_PROP, i as isFilterBtn } from './filter.button.js';
12
+ import { b as FILTER_PROP, i as isFilterBtn } from './filter.button.js';
15
13
  import './platform.js';
14
+ import { i as isObjectLike, b as baseGetTag } from './toNumber.js';
16
15
  import { v as viewportDataPartition, H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT, D as DATA_SLOT, d as defineCustomElement$3 } from './revogr-viewport-scroll2.js';
17
- import { d as dispatch, O as ON_COLUMN_CLICK, c as defineCustomElement$9 } from './revogr-header2.js';
16
+ import { d as dispatch, O as ON_COLUMN_CLICK, b as defineCustomElement$9 } from './revogr-header2.js';
18
17
  import { g as getPropertyFromEvent } from './selection.utils.js';
19
18
  import { d as defineCustomElement$e } from './revogr-attribution2.js';
20
19
  import { d as defineCustomElement$d } from './revogr-clipboard2.js';
@@ -123,20 +122,32 @@ const trimmedPlugin = (store) => {
123
122
  },
124
123
  };
125
124
  };
126
- const realSizePlugin = (store) => {
125
+ /**
126
+ * Plugin which recalculates realSize on changes of sizes, originItemSize and count
127
+ */
128
+ const recalculateRealSizePlugin = (storeService) => {
129
+ /**
130
+ * Recalculates realSize if size, origin size or count changes
131
+ */
127
132
  return {
133
+ /**
134
+ * Reacts on changes of count, sizes and originItemSize
135
+ */
128
136
  set(k) {
129
137
  switch (k) {
130
138
  case 'count':
131
139
  case 'sizes':
132
140
  case 'originItemSize':
141
+ // recalculate realSize
133
142
  let realSize = 0;
134
- const count = store.store.get('count');
143
+ const count = storeService.store.get('count');
135
144
  for (let i = 0; i < count; i++) {
136
145
  realSize +=
137
- store.store.get('sizes')[i] || store.store.get('originItemSize');
146
+ storeService.store.get('sizes')[i] ||
147
+ storeService.store.get('originItemSize');
138
148
  }
139
- store.setStore({ realSize });
149
+ storeService.setStore({ realSize });
150
+ break;
140
151
  }
141
152
  },
142
153
  };
@@ -166,15 +177,16 @@ function initialState() {
166
177
  originItemSize: 0 });
167
178
  }
168
179
  class DimensionStore {
169
- constructor() {
180
+ constructor(type) {
181
+ this.type = type;
170
182
  this.store = createStore(initialState());
171
183
  this.store.use(trimmedPlugin(this));
172
- this.store.use(realSizePlugin(this));
184
+ this.store.use(recalculateRealSizePlugin(this));
173
185
  }
174
186
  getCurrentState() {
175
187
  const state = initialState();
176
188
  const keys = Object.keys(state);
177
- return reduce_1(keys, (r, k) => {
189
+ return reduce(keys, (r, k) => {
178
190
  const data = this.store.get(k);
179
191
  r[k] = data;
180
192
  return r;
@@ -381,9 +393,9 @@ class AutoSizeColumnPlugin extends BasePlugin {
381
393
  }
382
394
  }
383
395
  // calculate sizes
384
- each(autoSize, (_v, type) => {
396
+ forEach(autoSize, (_v, type) => {
385
397
  const sizes = {};
386
- each(autoSize[type], rgCol => {
398
+ forEach(autoSize[type], rgCol => {
387
399
  // calculate size
388
400
  rgCol.size = sizes[rgCol.index] = source.reduce((prev, rgRow) => Math.max(prev, this.getLength(rgRow[rgCol.prop])), this.getLength(rgCol.name || ''));
389
401
  });
@@ -417,12 +429,12 @@ class AutoSizeColumnPlugin extends BasePlugin {
417
429
  else {
418
430
  data = { 0: { [e.prop]: e.val } };
419
431
  }
420
- each(this.autoSizeColumns, (columns, type) => {
432
+ forEach(this.autoSizeColumns, (columns, type) => {
421
433
  const sizes = {};
422
- each(columns, rgCol => {
434
+ forEach(columns, rgCol => {
423
435
  var _a;
424
436
  // calculate size
425
- const size = reduce_1(data, (prev, rgRow) => {
437
+ const size = reduce(data, (prev, rgRow) => {
426
438
  if (typeof rgRow[rgCol.prop] === 'undefined') {
427
439
  return prev;
428
440
  }
@@ -438,14 +450,14 @@ class AutoSizeColumnPlugin extends BasePlugin {
438
450
  afterEditAll(e) {
439
451
  const props = {};
440
452
  if (this.isRangeEdit(e)) {
441
- each(e.data, r => each(r, (_v, p) => (props[p] = true)));
453
+ forEach(e.data, r => forEach(r, (_v, p) => (props[p] = true)));
442
454
  }
443
455
  else {
444
456
  props[e.prop] = true;
445
457
  }
446
- each(this.autoSizeColumns, (columns, type) => {
458
+ forEach(this.autoSizeColumns, (columns, type) => {
447
459
  const sizes = {};
448
- each(columns, rgCol => {
460
+ forEach(columns, rgCol => {
449
461
  if (props[rgCol.prop]) {
450
462
  const size = this.getColumnSize(rgCol.index, type);
451
463
  if (size) {
@@ -462,8 +474,8 @@ class AutoSizeColumnPlugin extends BasePlugin {
462
474
  if (!rgCol) {
463
475
  return 0;
464
476
  }
465
- return reduce_1(this.providers.data.stores, (r, s) => {
466
- const perStore = reduce_1(s.store.get('items'), (prev, _row, i) => {
477
+ return reduce(this.providers.data.stores, (r, s) => {
478
+ const perStore = reduce(s.store.get('items'), (prev, _row, i) => {
467
479
  const item = getSourceItem(s.store, i);
468
480
  return Math.max(prev || 0, this.getLength(item === null || item === void 0 ? void 0 : item[rgCol.prop]));
469
481
  }, 0);
@@ -571,7 +583,7 @@ class StretchColumn extends BasePlugin {
571
583
  this.dropChanges();
572
584
  // calculate grid size
573
585
  let sizeDifference = this.revogrid.clientWidth - 1;
574
- each(columns, (_, type) => {
586
+ forEach(columns, (_, type) => {
575
587
  const realSize = this.providers.dimension.stores[type].store.get('realSize');
576
588
  sizeDifference -= realSize;
577
589
  });
@@ -622,8 +634,7 @@ function isStretchPlugin(plugin) {
622
634
  * @param {number} upper The upper bound.
623
635
  * @returns {number} Returns the clamped number.
624
636
  */
625
-
626
- function baseClamp$1(number, lower, upper) {
637
+ function baseClamp(number, lower, upper) {
627
638
  if (number === number) {
628
639
  if (upper !== undefined) {
629
640
  number = number <= upper ? number : upper;
@@ -635,11 +646,6 @@ function baseClamp$1(number, lower, upper) {
635
646
  return number;
636
647
  }
637
648
 
638
- var _baseClamp = baseClamp$1;
639
-
640
- var baseClamp = _baseClamp,
641
- toInteger$1 = toInteger_1;
642
-
643
649
  /** Used as references for the maximum length and index of an array. */
644
650
  var MAX_ARRAY_LENGTH = 4294967295;
645
651
 
@@ -670,15 +676,10 @@ var MAX_ARRAY_LENGTH = 4294967295;
670
676
  * _.toLength('3.2');
671
677
  * // => 3
672
678
  */
673
- function toLength$1(value) {
674
- return value ? baseClamp(toInteger$1(value), 0, MAX_ARRAY_LENGTH) : 0;
679
+ function toLength(value) {
680
+ return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;
675
681
  }
676
682
 
677
- var toLength_1 = toLength$1;
678
-
679
- var toInteger = toInteger_1,
680
- toLength = toLength_1;
681
-
682
683
  /**
683
684
  * The base implementation of `_.fill` without an iteratee call guard.
684
685
  *
@@ -689,7 +690,7 @@ var toInteger = toInteger_1,
689
690
  * @param {number} [end=array.length] The end position.
690
691
  * @returns {Array} Returns `array`.
691
692
  */
692
- function baseFill$1(array, value, start, end) {
693
+ function baseFill(array, value, start, end) {
693
694
  var length = array.length;
694
695
 
695
696
  start = toInteger(start);
@@ -707,11 +708,6 @@ function baseFill$1(array, value, start, end) {
707
708
  return array;
708
709
  }
709
710
 
710
- var _baseFill = baseFill$1;
711
-
712
- var baseFill = _baseFill,
713
- isIterateeCall = _isIterateeCall;
714
-
715
711
  /**
716
712
  * Fills elements of `array` with `value` from `start` up to, but not
717
713
  * including, `end`.
@@ -753,8 +749,6 @@ function fill(array, value, start, end) {
753
749
  return baseFill(array, value, start, end);
754
750
  }
755
751
 
756
- var fill_1 = fill;
757
-
758
752
  const INITIAL = {
759
753
  mime: 'text/csv',
760
754
  fileKind: 'csv',
@@ -928,7 +922,7 @@ class ExportFilePlugin extends BasePlugin {
928
922
  }
929
923
  getGroupHeaders(depth, groups, items, visibleItems) {
930
924
  const rows = [];
931
- const template = fill_1(new Array(items.length), '');
925
+ const template = fill(new Array(items.length), '');
932
926
  for (let d = 0; d < depth; d++) {
933
927
  const rgRow = [...template];
934
928
  rows.push(rgRow);
@@ -1111,6 +1105,8 @@ const filterNames = {
1111
1105
  lte: '<=',
1112
1106
  };
1113
1107
 
1108
+ const FILTER_TRIMMED_TYPE = 'filter';
1109
+ const FILTER_CONFIG_CHANGED_EVENT = 'filterconfigchanged';
1114
1110
  /**
1115
1111
  * @typedef ColumnFilterConfig
1116
1112
  * @type {object}
@@ -1125,8 +1121,6 @@ const filterNames = {
1125
1121
  /**
1126
1122
  * @internal
1127
1123
  */
1128
- const FILTER_TRIMMED_TYPE = 'filter';
1129
- const FILTER_CONFIG_CHANGED_EVENT = 'filterconfigchanged';
1130
1124
  class FilterPlugin extends BasePlugin {
1131
1125
  constructor(revogrid, providers, config) {
1132
1126
  var _a;
@@ -1176,9 +1170,14 @@ class FilterPlugin extends BasePlugin {
1176
1170
  const existingNodes = this.revogrid.registerVNode.filter(n => n.$tag$ !== 'revogr-filter-panel');
1177
1171
  this.revogrid.registerVNode = [
1178
1172
  ...existingNodes,
1179
- h("revogr-filter-panel", { filterItems: this.multiFilterItems, filterNames: this.filterNameIndexByType, filterEntities: this.filterFunctionsIndexedByType, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
1173
+ h("revogr-filter-panel", { filterItems: this.multiFilterItems, filterNames: this.filterNameIndexByType, filterEntities: this.filterFunctionsIndexedByType, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) },
1174
+ " ",
1175
+ this.extraContent()),
1180
1176
  ];
1181
1177
  }
1178
+ extraContent() {
1179
+ return null;
1180
+ }
1182
1181
  initConfig(config) {
1183
1182
  if (config.multiFilterItems) {
1184
1183
  this.multiFilterItems = Object.assign({}, config.multiFilterItems);
@@ -1219,7 +1218,7 @@ class FilterPlugin extends BasePlugin {
1219
1218
  }
1220
1219
  }
1221
1220
  if (config.collection) {
1222
- this.filterCollection = reduce_1(config.collection, (result, item, prop) => {
1221
+ this.filterCollection = reduce(config.collection, (result, item, prop) => {
1223
1222
  if (this.filterFunctionsIndexedByType[item.type]) {
1224
1223
  result[prop] = item;
1225
1224
  }
@@ -1895,7 +1894,7 @@ class ColumnPlugin extends BasePlugin {
1895
1894
  super(revogrid, providers);
1896
1895
  this.revogrid = revogrid;
1897
1896
  this.providers = providers;
1898
- this.moveFunc = debounce_1((e) => this.doMove(e), 5);
1897
+ this.moveFunc = debounce((e) => this.doMove(e), 5);
1899
1898
  this.staticDragData = null;
1900
1899
  this.dragData = null;
1901
1900
  this.localSubscriptions = {};
@@ -2003,7 +2002,7 @@ class ColumnPlugin extends BasePlugin {
2003
2002
  this.clearOrder();
2004
2003
  }
2005
2004
  clearLocalSubscriptions() {
2006
- each(this.localSubscriptions, ({ target, callback }, key) => target.removeEventListener(key, callback));
2005
+ forEach(this.localSubscriptions, ({ target, callback }, key) => target.removeEventListener(key, callback));
2007
2006
  }
2008
2007
  clearOrder() {
2009
2008
  this.staticDragData = null;
@@ -2037,10 +2036,6 @@ function getLeftRelative(absoluteX, gridPos, offset) {
2037
2036
  return absoluteX - gridPos - offset;
2038
2037
  }
2039
2038
 
2040
- var baseGetTag = _baseGetTag,
2041
- isArray = isArray_1,
2042
- isObjectLike = isObjectLike_1;
2043
-
2044
2039
  /** `Object#toString` result references. */
2045
2040
  var stringTag = '[object String]';
2046
2041
 
@@ -2061,15 +2056,11 @@ var stringTag = '[object String]';
2061
2056
  * _.isString(1);
2062
2057
  * // => false
2063
2058
  */
2064
- function isString$1(value) {
2059
+ function isString(value) {
2065
2060
  return typeof value == 'string' ||
2066
2061
  (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);
2067
2062
  }
2068
2063
 
2069
- var isString_1 = isString$1;
2070
-
2071
- var baseProperty = _baseProperty;
2072
-
2073
2064
  /**
2074
2065
  * Gets the size of an ASCII `string`.
2075
2066
  *
@@ -2077,12 +2068,11 @@ var baseProperty = _baseProperty;
2077
2068
  * @param {string} string The string inspect.
2078
2069
  * @returns {number} Returns the string size.
2079
2070
  */
2080
- var asciiSize$1 = baseProperty('length');
2071
+ var asciiSize = baseProperty('length');
2081
2072
 
2082
- var _asciiSize = asciiSize$1;
2073
+ const asciiSize$1 = asciiSize;
2083
2074
 
2084
2075
  /** Used to compose unicode character classes. */
2085
-
2086
2076
  var rsAstralRange$1 = '\\ud800-\\udfff',
2087
2077
  rsComboMarksRange$1 = '\\u0300-\\u036f',
2088
2078
  reComboHalfMarksRange$1 = '\\ufe20-\\ufe2f',
@@ -2103,14 +2093,11 @@ var reHasUnicode = RegExp('[' + rsZWJ$1 + rsAstralRange$1 + rsComboRange$1 + rs
2103
2093
  * @param {string} string The string to inspect.
2104
2094
  * @returns {boolean} Returns `true` if a symbol is found, else `false`.
2105
2095
  */
2106
- function hasUnicode$1(string) {
2096
+ function hasUnicode(string) {
2107
2097
  return reHasUnicode.test(string);
2108
2098
  }
2109
2099
 
2110
- var _hasUnicode = hasUnicode$1;
2111
-
2112
2100
  /** Used to compose unicode character classes. */
2113
-
2114
2101
  var rsAstralRange = '\\ud800-\\udfff',
2115
2102
  rsComboMarksRange = '\\u0300-\\u036f',
2116
2103
  reComboHalfMarksRange = '\\ufe20-\\ufe2f',
@@ -2145,7 +2132,7 @@ var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
2145
2132
  * @param {string} string The string inspect.
2146
2133
  * @returns {number} Returns the string size.
2147
2134
  */
2148
- function unicodeSize$1(string) {
2135
+ function unicodeSize(string) {
2149
2136
  var result = reUnicode.lastIndex = 0;
2150
2137
  while (reUnicode.test(string)) {
2151
2138
  ++result;
@@ -2153,12 +2140,6 @@ function unicodeSize$1(string) {
2153
2140
  return result;
2154
2141
  }
2155
2142
 
2156
- var _unicodeSize = unicodeSize$1;
2157
-
2158
- var asciiSize = _asciiSize,
2159
- hasUnicode = _hasUnicode,
2160
- unicodeSize = _unicodeSize;
2161
-
2162
2143
  /**
2163
2144
  * Gets the number of symbols in `string`.
2164
2145
  *
@@ -2166,20 +2147,12 @@ var asciiSize = _asciiSize,
2166
2147
  * @param {string} string The string to inspect.
2167
2148
  * @returns {number} Returns the string size.
2168
2149
  */
2169
- function stringSize$1(string) {
2150
+ function stringSize(string) {
2170
2151
  return hasUnicode(string)
2171
2152
  ? unicodeSize(string)
2172
- : asciiSize(string);
2153
+ : asciiSize$1(string);
2173
2154
  }
2174
2155
 
2175
- var _stringSize = stringSize$1;
2176
-
2177
- var baseKeys = _baseKeys,
2178
- getTag = _getTag,
2179
- isArrayLike = isArrayLike_1,
2180
- isString = isString_1,
2181
- stringSize = _stringSize;
2182
-
2183
2156
  /** `Object#toString` result references. */
2184
2157
  var mapTag = '[object Map]',
2185
2158
  setTag = '[object Set]';
@@ -2219,8 +2192,6 @@ function size(collection) {
2219
2192
  return baseKeys(collection).length;
2220
2193
  }
2221
2194
 
2222
- var size_1 = size;
2223
-
2224
2195
  /**
2225
2196
  * Lifecycle
2226
2197
  * 1. @event `beforesorting` - Triggered when sorting just starts. Nothing has happened yet. This can be triggered from a column or from the source. If the type is from rows, the column will be undefined.
@@ -2241,7 +2212,7 @@ class SortingPlugin extends BasePlugin {
2241
2212
  super(revogrid, providers);
2242
2213
  this.revogrid = revogrid;
2243
2214
  this.sortingPromise = null;
2244
- this.postponeSort = debounce_1(async (order, comparison) => this.runSorting(order, comparison), 50);
2215
+ this.postponeSort = debounce(async (order, comparison) => this.runSorting(order, comparison), 50);
2245
2216
  const beforeanysource = async ({ detail: { type }, }) => {
2246
2217
  // if sorting was provided - sort data
2247
2218
  if (!!this.sorting && this.sortingFunc) {
@@ -2324,7 +2295,7 @@ class SortingPlugin extends BasePlugin {
2324
2295
  this.sorting = Object.assign(Object.assign({}, this.sorting), sorting);
2325
2296
  // extend sorting function with new sorting for multiple columns sorting
2326
2297
  this.sortingFunc = Object.assign(Object.assign({}, this.sortingFunc), sortingFunc);
2327
- if (column.prop in sorting && size_1(sorting) > 1 && order === undefined) {
2298
+ if (column.prop in sorting && size(sorting) > 1 && order === undefined) {
2328
2299
  delete sorting[column.prop];
2329
2300
  delete sortingFunc[column.prop];
2330
2301
  }
@@ -2356,7 +2327,7 @@ class SortingPlugin extends BasePlugin {
2356
2327
  */
2357
2328
  async sort(sorting, sortingFunc, types = ['rgRow', 'rowPinStart', 'rowPinEnd']) {
2358
2329
  // if no sorting - reset
2359
- if (!size_1(sorting)) {
2330
+ if (!size(sorting)) {
2360
2331
  this.sorting = undefined;
2361
2332
  this.sortingFunc = undefined;
2362
2333
  for (let type of types) {
@@ -2364,7 +2335,7 @@ class SortingPlugin extends BasePlugin {
2364
2335
  // row data
2365
2336
  const source = store.get('source');
2366
2337
  // row indexes
2367
- const proxyItems = range_1(0, source.length);
2338
+ const proxyItems = range(0, source.length);
2368
2339
  setStore(store, {
2369
2340
  proxyItems,
2370
2341
  source: [...source],
@@ -2471,7 +2442,7 @@ class ColumnDataProvider {
2471
2442
  return getSourceItem(this.dataSources[type].store, virtualIndex);
2472
2443
  }
2473
2444
  getRawColumns() {
2474
- return reduce_1(this.dataSources, (result, item, type) => {
2445
+ return reduce(this.dataSources, (result, item, type) => {
2475
2446
  result[type] = item.store.get('source');
2476
2447
  return result;
2477
2448
  }, {
@@ -2572,14 +2543,14 @@ class ColumnDataProvider {
2572
2543
  return column;
2573
2544
  }
2574
2545
  clearSorting() {
2575
- const types = reduce_1(this.sorting, (r, c) => {
2546
+ const types = reduce(this.sorting, (r, c) => {
2576
2547
  const k = getColumnType(c);
2577
2548
  r[k] = true;
2578
2549
  return r;
2579
2550
  }, {});
2580
- each(types, (_, type) => {
2551
+ forEach(types, (_, type) => {
2581
2552
  const cols = this.dataSources[type].store.get('source');
2582
- each(cols, (c) => (c.order = undefined));
2553
+ forEach(cols, (c) => (c.order = undefined));
2583
2554
  this.dataSources[type].setData({ source: [...cols] });
2584
2555
  });
2585
2556
  this.sorting = {};
@@ -2592,7 +2563,7 @@ class ColumnDataProvider {
2592
2563
  class DataProvider {
2593
2564
  constructor(dimensionProvider) {
2594
2565
  this.dimensionProvider = dimensionProvider;
2595
- this.stores = reduce_1(rowTypes, (sources, k) => {
2566
+ this.stores = reduce(rowTypes, (sources, k) => {
2596
2567
  sources[k] = new DataStore(k);
2597
2568
  return sources;
2598
2569
  }, {});
@@ -2659,10 +2630,10 @@ class DataProvider {
2659
2630
  class DimensionProvider {
2660
2631
  constructor(viewports, config) {
2661
2632
  this.viewports = viewports;
2662
- const sizeChanged = debounce_1((k) => config.realSizeChanged(k), RESIZE_INTERVAL);
2663
- this.stores = reduce_1([...rowTypes, ...columnTypes], (sources, k) => {
2664
- sources[k] = new DimensionStore();
2665
- sources[k].store.onChange('realSize', () => sizeChanged(k));
2633
+ const sizeChanged = debounce((k) => config.realSizeChanged(k), RESIZE_INTERVAL);
2634
+ this.stores = reduce([...rowTypes, ...columnTypes], (sources, t) => {
2635
+ sources[t] = new DimensionStore(t);
2636
+ sources[t].store.onChange('realSize', () => sizeChanged(t));
2666
2637
  return sources;
2667
2638
  }, {});
2668
2639
  }
@@ -2744,6 +2715,7 @@ class DimensionProvider {
2744
2715
  if (noVirtual) {
2745
2716
  vpUpdate.virtualSize = this.stores[type].getCurrentState().realSize;
2746
2717
  }
2718
+ // if virtualSize present this would trigger viewport clear
2747
2719
  this.viewports.stores[type].setViewport(vpUpdate);
2748
2720
  this.setViewPortCoordinate({
2749
2721
  coordinate: this.viewports.stores[type].lastCoordinate,
@@ -2797,7 +2769,7 @@ class DimensionProvider {
2797
2769
 
2798
2770
  class ViewportProvider {
2799
2771
  constructor() {
2800
- this.stores = reduce_1([...rowTypes, ...columnTypes], (sources, k) => {
2772
+ this.stores = reduce([...rowTypes, ...columnTypes], (sources, k) => {
2801
2773
  sources[k] = new ViewportStore(k);
2802
2774
  return sources;
2803
2775
  }, {});
@@ -2909,7 +2881,7 @@ class ViewportService {
2909
2881
  onColumnResize(type, { detail }, store) {
2910
2882
  var _a;
2911
2883
  (_a = this.config.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setCustomSizes(type, detail, true);
2912
- const changedItems = reduce_1(detail || {}, (r, size, i) => {
2884
+ const changedItems = reduce(detail || {}, (r, size, i) => {
2913
2885
  const index = parseInt(i, 10);
2914
2886
  const item = getSourceItem(store, index);
2915
2887
  if (item) {
@@ -3796,7 +3768,7 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
3796
3768
  vals: after,
3797
3769
  oldVals: before,
3798
3770
  });
3799
- // apply new vals
3771
+ // apply new values
3800
3772
  const newRows = rowDefinitionByType(newVal);
3801
3773
  // clear current defs
3802
3774
  if (oldVal) {
@@ -3811,18 +3783,14 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
3811
3783
  }
3812
3784
  }
3813
3785
  }
3814
- if (!newVal.length) {
3815
- if (forceUpdate) {
3816
- this.dimensionProvider.setCustomSizes('rgRow', {});
3817
- }
3818
- else {
3819
- return;
3820
- }
3821
- }
3822
- Object.entries(newRows).forEach(([k, r]) => {
3786
+ // set new sizes
3787
+ rowTypes.forEach((t) => {
3823
3788
  var _a;
3824
- const type = k;
3825
- (_a = this.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setCustomSizes(type, r.sizes || {});
3789
+ const newSizes = newRows[t];
3790
+ // apply new sizes or force update
3791
+ if (newSizes || forceUpdate) {
3792
+ (_a = this.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setCustomSizes(t, (newSizes === null || newSizes === void 0 ? void 0 : newSizes.sizes) || {});
3793
+ }
3826
3794
  });
3827
3795
  }
3828
3796
  trimmedRowsChanged(newVal = {}) {
@@ -4275,6 +4243,6 @@ function defineCustomElement$1() {
4275
4243
  const RevoGrid = RevoGridComponent;
4276
4244
  const defineCustomElement = defineCustomElement$1;
4277
4245
 
4278
- export { BasePlugin as B, DimensionStore as D, FILTER_TRIMMED_TYPE as F, RevoGrid, isStretchPlugin as a, FILTER_CONFIG_CHANGED_EVENT as b, columnTypes as c, FilterPlugin as d, defineCustomElement, getLeftRelative as e, getTheme as g, isRowType as i, rowTypes as r };
4246
+ export { BasePlugin as B, DimensionStore as D, FILTER_TRIMMED_TYPE as F, RevoGrid, isStretchPlugin as a, FILTER_CONFIG_CHANGED_EVENT as b, columnTypes as c, FilterPlugin as d, defineCustomElement, filterTypes as e, filterCoreFunctionsIndexedByType as f, getTheme as g, filterNames as h, isRowType as i, getLeftRelative as j, rowTypes as r };
4279
4247
 
4280
4248
  //# sourceMappingURL=revo-grid.js.map