@revolist/revogrid 4.4.0-next.2 → 4.4.0-next.21

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 (243) hide show
  1. package/custom-element/columnService.js +1 -1
  2. package/custom-element/consts.js +2 -1
  3. package/custom-element/consts.js.map +1 -1
  4. package/custom-element/localScrollService.js +1 -1
  5. package/custom-element/localScrollService.js.map +1 -1
  6. package/custom-element/revo-grid.js +163 -97
  7. package/custom-element/revo-grid.js.map +1 -1
  8. package/custom-element/revogr-clipboard.js +24 -5
  9. package/custom-element/revogr-clipboard.js.map +1 -1
  10. package/custom-element/revogr-edit2.js +12 -6
  11. package/custom-element/revogr-edit2.js.map +1 -1
  12. package/custom-element/revogr-focus2.js +1 -1
  13. package/custom-element/revogr-focus2.js.map +1 -1
  14. package/custom-element/revogr-header2.js +25 -11
  15. package/custom-element/revogr-header2.js.map +1 -1
  16. package/custom-element/revogr-overlay-selection2.js +99 -32
  17. package/custom-element/revogr-overlay-selection2.js.map +1 -1
  18. package/custom-element/revogr-row-headers2.js +1 -2
  19. package/custom-element/revogr-row-headers2.js.map +1 -1
  20. package/custom-element/revogr-viewport-scroll2.js +39 -6
  21. package/custom-element/revogr-viewport-scroll2.js.map +1 -1
  22. package/dist/cjs/{debounce-525dd66c.js → debounce-f50730b6.js} +1 -38
  23. package/dist/cjs/debounce-f50730b6.js.map +1 -0
  24. package/dist/cjs/dispatcher-20520c70.js +21 -0
  25. package/dist/cjs/dispatcher-20520c70.js.map +1 -0
  26. package/dist/cjs/events-030618fc.js +459 -0
  27. package/dist/cjs/events-030618fc.js.map +1 -0
  28. package/dist/cjs/filter.button-6badec7a.js +44 -0
  29. package/dist/cjs/filter.button-6badec7a.js.map +1 -0
  30. package/dist/cjs/{index-aad39b7b.js → index-ee2ef5ae.js} +96 -36
  31. package/dist/cjs/index-ee2ef5ae.js.map +1 -0
  32. package/dist/cjs/index-effc94b9.js +3944 -0
  33. package/dist/cjs/index-effc94b9.js.map +1 -0
  34. package/dist/cjs/isString-3dde8d95.js +38 -0
  35. package/dist/cjs/isString-3dde8d95.js.map +1 -0
  36. package/dist/cjs/keyCodes.utils-d665ebed.js +271 -0
  37. package/dist/cjs/keyCodes.utils-d665ebed.js.map +1 -0
  38. package/dist/cjs/loader.cjs.js +3 -3
  39. package/dist/cjs/loader.cjs.js.map +1 -1
  40. package/dist/cjs/localScrollService-a81823c5.js +403 -0
  41. package/dist/cjs/localScrollService-a81823c5.js.map +1 -0
  42. package/dist/cjs/revo-grid.cjs.entry.js +3858 -0
  43. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -0
  44. package/dist/cjs/revo-grid.cjs.js +3 -3
  45. package/dist/cjs/revo-grid.cjs.js.map +1 -1
  46. package/dist/cjs/revogr-clipboard.cjs.entry.js +24 -6
  47. package/dist/cjs/revogr-clipboard.cjs.entry.js.map +1 -1
  48. package/dist/cjs/revogr-data_3.cjs.entry.js +1138 -0
  49. package/dist/cjs/revogr-data_3.cjs.entry.js.map +1 -0
  50. package/dist/cjs/revogr-edit_2.cjs.entry.js +325 -0
  51. package/dist/cjs/revogr-edit_2.cjs.entry.js.map +1 -0
  52. package/dist/cjs/revogr-filter-panel.cjs.entry.js +6 -5
  53. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  54. package/dist/cjs/revogr-focus_5.cjs.entry.js +1231 -0
  55. package/dist/cjs/revogr-focus_5.cjs.entry.js.map +1 -0
  56. package/dist/cjs/{revo-grid_11.cjs.entry.js → viewport.helpers-70ccec8f.js} +13978 -25269
  57. package/dist/cjs/viewport.helpers-70ccec8f.js.map +1 -0
  58. package/dist/collection/collection-manifest.json +1 -1
  59. package/dist/collection/components/clipboard/revogr-clipboard.d.ts +6 -2
  60. package/dist/collection/components/clipboard/revogr-clipboard.js +46 -5
  61. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
  62. package/dist/collection/components/header/headerCellRenderer.d.ts +2 -1
  63. package/dist/collection/components/header/headerCellRenderer.js +1 -1
  64. package/dist/collection/components/header/headerCellRenderer.js.map +1 -1
  65. package/dist/collection/components/header/headerRenderer.d.ts +2 -2
  66. package/dist/collection/components/header/headerRenderer.js +1 -1
  67. package/dist/collection/components/header/headerRenderer.js.map +1 -1
  68. package/dist/collection/components/header/revogr-header.d.ts +15 -1
  69. package/dist/collection/components/header/revogr-header.js +34 -8
  70. package/dist/collection/components/header/revogr-header.js.map +1 -1
  71. package/dist/collection/components/overlay/autofill.service.d.ts +7 -3
  72. package/dist/collection/components/overlay/autofill.service.js +32 -12
  73. package/dist/collection/components/overlay/autofill.service.js.map +1 -1
  74. package/dist/collection/components/overlay/clipboard.service.d.ts +1 -1
  75. package/dist/collection/components/overlay/clipboard.service.js +2 -2
  76. package/dist/collection/components/overlay/clipboard.service.js.map +1 -1
  77. package/dist/collection/components/overlay/keyboard.service.js +2 -6
  78. package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
  79. package/dist/collection/components/overlay/revogr-edit.d.ts +8 -0
  80. package/dist/collection/components/overlay/revogr-edit.js +34 -9
  81. package/dist/collection/components/overlay/revogr-edit.js.map +1 -1
  82. package/dist/collection/components/overlay/revogr-overlay-selection.d.ts +32 -10
  83. package/dist/collection/components/overlay/revogr-overlay-selection.js +80 -12
  84. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
  85. package/dist/collection/components/overlay/revogr-overlay-style.css +71 -4
  86. package/dist/collection/components/revoGrid/revo-grid.d.ts +15 -4
  87. package/dist/collection/components/revoGrid/revo-grid.js +60 -19
  88. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  89. package/dist/collection/components/revoGrid/viewport.scrolling.service.d.ts +6 -2
  90. package/dist/collection/components/revoGrid/viewport.scrolling.service.js +26 -4
  91. package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -1
  92. package/dist/collection/components/revoGrid/viewport.section.d.ts +3 -2
  93. package/dist/collection/components/revoGrid/viewport.section.js +8 -4
  94. package/dist/collection/components/revoGrid/viewport.section.js.map +1 -1
  95. package/dist/collection/components/revoGrid/viewport.service.d.ts +4 -0
  96. package/dist/collection/components/revoGrid/viewport.service.js +15 -3
  97. package/dist/collection/components/revoGrid/viewport.service.js.map +1 -1
  98. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
  99. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +3 -0
  100. package/dist/collection/components/scroll/revogr-viewport-scroll.d.ts +16 -5
  101. package/dist/collection/components/scroll/revogr-viewport-scroll.js +64 -9
  102. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
  103. package/dist/collection/components/selectionFocus/revogr-focus-style.css +1 -1
  104. package/dist/collection/components.d.ts +110 -6
  105. package/dist/collection/interfaces.d.ts +4 -1
  106. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.d.ts +3 -2
  107. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +2 -2
  108. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -1
  109. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.d.ts +2 -2
  110. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +1 -1
  111. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -1
  112. package/dist/collection/plugins/sorting/sorting.plugin.d.ts +21 -13
  113. package/dist/collection/plugins/sorting/sorting.plugin.js +77 -70
  114. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
  115. package/dist/collection/serve/controller.js +183 -0
  116. package/dist/collection/services/localScrollService.js +1 -1
  117. package/dist/collection/services/localScrollService.js.map +1 -1
  118. package/dist/collection/services/resizable.directive.d.ts +8 -7
  119. package/dist/collection/services/resizable.directive.js +13 -36
  120. package/dist/collection/services/resizable.directive.js.map +1 -1
  121. package/dist/collection/services/resizable.element.d.ts +4 -0
  122. package/dist/collection/services/resizable.element.js +39 -0
  123. package/dist/collection/services/resizable.element.js.map +1 -0
  124. package/dist/collection/stencil-public-runtime.d.ts +1 -0
  125. package/dist/collection/store/viewPort/viewport.store.js +0 -1
  126. package/dist/collection/store/viewPort/viewport.store.js.map +1 -1
  127. package/dist/collection/utils/consts.d.ts +1 -0
  128. package/dist/collection/utils/consts.js +1 -0
  129. package/dist/collection/utils/consts.js.map +1 -1
  130. package/dist/collection/utils/events.d.ts +2 -1
  131. package/dist/collection/utils/events.js +18 -2
  132. package/dist/collection/utils/events.js.map +1 -1
  133. package/dist/collection/utils/mobile.d.ts +1 -0
  134. package/dist/collection/utils/mobile.js +7 -0
  135. package/dist/collection/utils/mobile.js.map +1 -0
  136. package/dist/esm/{debounce-301fd4d2.js → debounce-820b5a8b.js} +2 -34
  137. package/dist/esm/debounce-820b5a8b.js.map +1 -0
  138. package/dist/esm/dispatcher-9e9c0233.js +19 -0
  139. package/dist/esm/dispatcher-9e9c0233.js.map +1 -0
  140. package/dist/esm/events-31272e5e.js +454 -0
  141. package/dist/esm/events-31272e5e.js.map +1 -0
  142. package/dist/esm/filter.button-21ce90ef.js +38 -0
  143. package/dist/esm/filter.button-21ce90ef.js.map +1 -0
  144. package/dist/esm/{index-5e90b19b.js → index-05947c5f.js} +97 -37
  145. package/dist/esm/index-05947c5f.js.map +1 -0
  146. package/dist/esm/index-728bf6e3.js +3889 -0
  147. package/dist/esm/index-728bf6e3.js.map +1 -0
  148. package/dist/esm/isString-d539060a.js +36 -0
  149. package/dist/esm/isString-d539060a.js.map +1 -0
  150. package/dist/esm/keyCodes.utils-c0064460.js +265 -0
  151. package/dist/esm/keyCodes.utils-c0064460.js.map +1 -0
  152. package/dist/esm/loader.js +4 -4
  153. package/dist/esm/loader.js.map +1 -1
  154. package/dist/esm/localScrollService-884d8952.js +400 -0
  155. package/dist/esm/localScrollService-884d8952.js.map +1 -0
  156. package/dist/esm/revo-grid.entry.js +3854 -0
  157. package/dist/esm/revo-grid.entry.js.map +1 -0
  158. package/dist/esm/revo-grid.js +4 -4
  159. package/dist/esm/revo-grid.js.map +1 -1
  160. package/dist/esm/revogr-clipboard.entry.js +24 -6
  161. package/dist/esm/revogr-clipboard.entry.js.map +1 -1
  162. package/dist/esm/revogr-data_3.entry.js +1132 -0
  163. package/dist/esm/revogr-data_3.entry.js.map +1 -0
  164. package/dist/esm/revogr-edit_2.entry.js +320 -0
  165. package/dist/esm/revogr-edit_2.entry.js.map +1 -0
  166. package/dist/esm/revogr-filter-panel.entry.js +3 -2
  167. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  168. package/dist/esm/revogr-focus_5.entry.js +1223 -0
  169. package/dist/esm/revogr-focus_5.entry.js.map +1 -0
  170. package/dist/esm/{revo-grid_11.entry.js → viewport.helpers-c08e729e.js} +13790 -25093
  171. package/dist/esm/viewport.helpers-c08e729e.js.map +1 -0
  172. package/dist/revo-grid/debounce-820b5a8b.js +5 -0
  173. package/dist/revo-grid/debounce-820b5a8b.js.map +1 -0
  174. package/dist/revo-grid/dispatcher-9e9c0233.js +5 -0
  175. package/dist/revo-grid/dispatcher-9e9c0233.js.map +1 -0
  176. package/dist/revo-grid/events-31272e5e.js +5 -0
  177. package/dist/revo-grid/events-31272e5e.js.map +1 -0
  178. package/dist/revo-grid/filter.button-21ce90ef.js +5 -0
  179. package/dist/revo-grid/filter.button-21ce90ef.js.map +1 -0
  180. package/dist/revo-grid/index-05947c5f.js +6 -0
  181. package/dist/revo-grid/index-05947c5f.js.map +1 -0
  182. package/dist/revo-grid/index-728bf6e3.js +5 -0
  183. package/dist/revo-grid/index-728bf6e3.js.map +1 -0
  184. package/dist/revo-grid/isString-d539060a.js +5 -0
  185. package/dist/revo-grid/isString-d539060a.js.map +1 -0
  186. package/dist/revo-grid/keyCodes.utils-c0064460.js +5 -0
  187. package/dist/revo-grid/keyCodes.utils-c0064460.js.map +1 -0
  188. package/dist/revo-grid/localScrollService-884d8952.js +5 -0
  189. package/dist/revo-grid/localScrollService-884d8952.js.map +1 -0
  190. package/dist/revo-grid/revo-grid.entry.js +5 -0
  191. package/dist/revo-grid/revo-grid.entry.js.map +1 -0
  192. package/dist/revo-grid/revo-grid.esm.js +1 -1
  193. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  194. package/dist/revo-grid/revogr-clipboard.entry.js +1 -1
  195. package/dist/revo-grid/revogr-clipboard.entry.js.map +1 -1
  196. package/dist/revo-grid/revogr-data_3.entry.js +5 -0
  197. package/dist/revo-grid/revogr-data_3.entry.js.map +1 -0
  198. package/dist/revo-grid/revogr-edit_2.entry.js +5 -0
  199. package/dist/revo-grid/revogr-edit_2.entry.js.map +1 -0
  200. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  201. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
  202. package/dist/revo-grid/revogr-focus_5.entry.js +5 -0
  203. package/dist/revo-grid/revogr-focus_5.entry.js.map +1 -0
  204. package/dist/revo-grid/viewport.helpers-c08e729e.js +5 -0
  205. package/dist/revo-grid/viewport.helpers-c08e729e.js.map +1 -0
  206. package/dist/types/components/clipboard/revogr-clipboard.d.ts +6 -2
  207. package/dist/types/components/header/headerCellRenderer.d.ts +2 -1
  208. package/dist/types/components/header/headerRenderer.d.ts +2 -2
  209. package/dist/types/components/header/revogr-header.d.ts +15 -1
  210. package/dist/types/components/overlay/autofill.service.d.ts +7 -3
  211. package/dist/types/components/overlay/clipboard.service.d.ts +1 -1
  212. package/dist/types/components/overlay/revogr-edit.d.ts +8 -0
  213. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +32 -10
  214. package/dist/types/components/revoGrid/revo-grid.d.ts +15 -4
  215. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +6 -2
  216. package/dist/types/components/revoGrid/viewport.section.d.ts +3 -2
  217. package/dist/types/components/revoGrid/viewport.service.d.ts +4 -0
  218. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +16 -5
  219. package/dist/types/components.d.ts +110 -6
  220. package/dist/types/interfaces.d.ts +4 -1
  221. package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +3 -2
  222. package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +2 -2
  223. package/dist/types/plugins/sorting/sorting.plugin.d.ts +21 -13
  224. package/dist/types/services/resizable.directive.d.ts +8 -7
  225. package/dist/types/services/resizable.element.d.ts +4 -0
  226. package/dist/types/stencil-public-runtime.d.ts +1 -0
  227. package/dist/types/utils/consts.d.ts +1 -0
  228. package/dist/types/utils/events.d.ts +2 -1
  229. package/dist/types/utils/mobile.d.ts +1 -0
  230. package/package.json +4 -3
  231. package/dist/cjs/debounce-525dd66c.js.map +0 -1
  232. package/dist/cjs/index-aad39b7b.js.map +0 -1
  233. package/dist/cjs/revo-grid_11.cjs.entry.js.map +0 -1
  234. package/dist/esm/debounce-301fd4d2.js.map +0 -1
  235. package/dist/esm/index-5e90b19b.js.map +0 -1
  236. package/dist/esm/revo-grid_11.entry.js.map +0 -1
  237. package/dist/revo-grid/debounce-301fd4d2.js +0 -5
  238. package/dist/revo-grid/debounce-301fd4d2.js.map +0 -1
  239. package/dist/revo-grid/index-5e90b19b.js +0 -6
  240. package/dist/revo-grid/index-5e90b19b.js.map +0 -1
  241. package/dist/revo-grid/revo-grid_11.entry.js +0 -5
  242. package/dist/revo-grid/revo-grid_11.entry.js.map +0 -1
  243. /package/dist/collection/{utilsExternal/generate-data.js → serve/data.js} +0 -0
@@ -725,30 +725,31 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
725
725
  * @param vnodes a list of virtual DOM nodes to remove
726
726
  * @param startIdx the index at which to start removing nodes (inclusive)
727
727
  * @param endIdx the index at which to stop removing nodes (inclusive)
728
- * @param vnode a VNode
729
- * @param elm an element
730
728
  */
731
- const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
732
- for (; startIdx <= endIdx; ++startIdx) {
733
- if ((vnode = vnodes[startIdx])) {
734
- elm = vnode.$elm$;
735
- callNodeRefs(vnode);
736
- {
737
- // we're removing this element
738
- // so it's possible we need to show slot fallback content now
739
- checkSlotFallbackVisibility = true;
740
- if (elm['s-ol']) {
741
- // remove the original location comment
742
- elm['s-ol'].remove();
743
- }
744
- else {
745
- // it's possible that child nodes of the node
746
- // that's being removed are slot nodes
747
- putBackInOriginalLocation(elm, true);
729
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
730
+ for (let index = startIdx; index <= endIdx; ++index) {
731
+ const vnode = vnodes[index];
732
+ if (vnode) {
733
+ const elm = vnode.$elm$;
734
+ nullifyVNodeRefs(vnode);
735
+ if (elm) {
736
+ {
737
+ // we're removing this element
738
+ // so it's possible we need to show slot fallback content now
739
+ checkSlotFallbackVisibility = true;
740
+ if (elm['s-ol']) {
741
+ // remove the original location comment
742
+ elm['s-ol'].remove();
743
+ }
744
+ else {
745
+ // it's possible that child nodes of the node
746
+ // that's being removed are slot nodes
747
+ putBackInOriginalLocation(elm, true);
748
+ }
748
749
  }
750
+ // remove the vnode's element from the dom
751
+ elm.remove();
749
752
  }
750
- // remove the vnode's element from the dom
751
- elm.remove();
752
753
  }
753
754
  }
754
755
  };
@@ -1229,10 +1230,17 @@ const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
1229
1230
  }
1230
1231
  return slotNameAttr === '';
1231
1232
  };
1232
- const callNodeRefs = (vNode) => {
1233
+ /**
1234
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by
1235
+ * calling them with `null`. This signals that the DOM element corresponding to
1236
+ * the VDom node has been removed from the DOM.
1237
+ *
1238
+ * @param vNode a virtual DOM node
1239
+ */
1240
+ const nullifyVNodeRefs = (vNode) => {
1233
1241
  {
1234
1242
  vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1235
- vNode.$children$ && vNode.$children$.map(callNodeRefs);
1243
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1236
1244
  }
1237
1245
  };
1238
1246
  /**
@@ -1366,10 +1374,32 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
1366
1374
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
1367
1375
  return writeTask(dispatch) ;
1368
1376
  };
1377
+ /**
1378
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
1379
+ * component lifecycle methods like `componentWillLoad` as well as
1380
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
1381
+ *
1382
+ * @param hostRef a reference to a host DOM node
1383
+ * @param isInitialLoad whether we're on the initial load or not
1384
+ * @returns an empty Promise which is used to enqueue a series of operations for
1385
+ * the component
1386
+ */
1369
1387
  const dispatchHooks = (hostRef, isInitialLoad) => {
1370
1388
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
1371
1389
  const instance = hostRef.$lazyInstance$ ;
1372
- let promise;
1390
+ // We're going to use this variable together with `enqueue` to implement a
1391
+ // little promise-based queue. We start out with it `undefined`. When we add
1392
+ // the first function to the queue we'll set this variable to be that
1393
+ // function's return value. When we attempt to add subsequent values to the
1394
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
1395
+ // the new function off of that `Promise` using `.then()`. This will give our
1396
+ // queue two nice properties:
1397
+ //
1398
+ // 1. If all functions added to the queue are synchronous they'll be called
1399
+ // synchronously right away.
1400
+ // 2. If all functions added to the queue are asynchronous they'll all be
1401
+ // called in order after `dispatchHooks` exits.
1402
+ let maybePromise;
1373
1403
  if (isInitialLoad) {
1374
1404
  {
1375
1405
  hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
@@ -1379,17 +1409,38 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
1379
1409
  }
1380
1410
  }
1381
1411
  {
1382
- promise = safeCall(instance, 'componentWillLoad');
1412
+ // If `componentWillLoad` returns a `Promise` then we want to wait on
1413
+ // whatever's going on in that `Promise` before we launch into
1414
+ // rendering the component, doing other lifecycle stuff, etc. So
1415
+ // in that case we assign the returned promise to the variable we
1416
+ // declared above to hold a possible 'queueing' Promise
1417
+ maybePromise = safeCall(instance, 'componentWillLoad');
1383
1418
  }
1384
1419
  }
1385
1420
  {
1386
- promise = then(promise, () => safeCall(instance, 'componentWillRender'));
1421
+ maybePromise = enqueue(maybePromise, () => safeCall(instance, 'componentWillRender'));
1387
1422
  }
1388
1423
  endSchedule();
1389
- return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
1424
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1390
1425
  };
1426
+ /**
1427
+ * This function uses a Promise to implement a simple first-in, first-out queue
1428
+ * of functions to be called.
1429
+ *
1430
+ * The queue is ordered on the basis of the first argument. If it's
1431
+ * `undefined`, then nothing is on the queue yet, so the provided function can
1432
+ * be called synchronously (although note that this function may return a
1433
+ * `Promise`). The idea is that then the return value of that enqueueing
1434
+ * operation is kept around, so that if it was a `Promise` then subsequent
1435
+ * functions can be enqueued by calling this function again with that `Promise`
1436
+ * as the first argument.
1437
+ *
1438
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
1439
+ * @param fn a function to enqueue
1440
+ * @returns either a `Promise` or the return value of the provided function
1441
+ */
1442
+ const enqueue = (maybePromise, fn) => maybePromise instanceof Promise ? maybePromise.then(fn) : fn();
1391
1443
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
1392
- // updateComponent
1393
1444
  const elm = hostRef.$hostElement$;
1394
1445
  const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
1395
1446
  const rc = elm['s-rc'];
@@ -1530,9 +1581,6 @@ const safeCall = (instance, method, arg) => {
1530
1581
  }
1531
1582
  return undefined;
1532
1583
  };
1533
- const then = (promise, thenFn) => {
1534
- return promise && promise.then ? promise.then(thenFn) : thenFn();
1535
- };
1536
1584
  const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1537
1585
  ;
1538
1586
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
@@ -1696,9 +1744,9 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1696
1744
  const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1697
1745
  // initializeComponent
1698
1746
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1747
+ // Let the runtime know that the component has been initialized
1748
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1699
1749
  {
1700
- // we haven't initialized this element yet
1701
- hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1702
1750
  // lazy loaded components
1703
1751
  // request the component's implementation to be
1704
1752
  // wired up with the host element
@@ -2024,10 +2072,10 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2024
2072
  }
2025
2073
  switch(bundleId) {
2026
2074
 
2027
- case 'revo-grid_11.cjs':
2075
+ case 'revo-grid.cjs':
2028
2076
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2029
2077
  /* webpackMode: "lazy" */
2030
- './revo-grid_11.cjs.entry.js')); }).then(processMod, consoleError);
2078
+ './revo-grid.cjs.entry.js')); }).then(processMod, consoleError);
2031
2079
  case 'revogr-clipboard.cjs':
2032
2080
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2033
2081
  /* webpackMode: "lazy" */
@@ -2036,6 +2084,18 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2036
2084
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2037
2085
  /* webpackMode: "lazy" */
2038
2086
  './revogr-filter-panel.cjs.entry.js')); }).then(processMod, consoleError);
2087
+ case 'revogr-focus_5.cjs':
2088
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2089
+ /* webpackMode: "lazy" */
2090
+ './revogr-focus_5.cjs.entry.js')); }).then(processMod, consoleError);
2091
+ case 'revogr-data_3.cjs':
2092
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2093
+ /* webpackMode: "lazy" */
2094
+ './revogr-data_3.cjs.entry.js')); }).then(processMod, consoleError);
2095
+ case 'revogr-edit_2.cjs':
2096
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2097
+ /* webpackMode: "lazy" */
2098
+ './revogr-edit_2.cjs.entry.js')); }).then(processMod, consoleError);
2039
2099
  }
2040
2100
  }
2041
2101
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
@@ -2126,4 +2186,4 @@ exports.promiseResolve = promiseResolve;
2126
2186
  exports.registerInstance = registerInstance;
2127
2187
  exports.setNonce = setNonce;
2128
2188
 
2129
- //# sourceMappingURL=index-aad39b7b.js.map
2189
+ //# sourceMappingURL=index-ee2ef5ae.js.map