@pega/lists-core 8.8.0 → 9.0.0-build.10.0

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 (92) hide show
  1. package/lib/index.d.ts +2 -2
  2. package/lib/index.d.ts.map +1 -1
  3. package/lib/index.js +2 -2
  4. package/lib/index.js.map +1 -1
  5. package/lib/src/core/StateResolver.d.ts.map +1 -1
  6. package/lib/src/core/StateResolver.js +2 -1
  7. package/lib/src/core/StateResolver.js.map +1 -1
  8. package/lib/src/core/constants.d.ts +11 -101
  9. package/lib/src/core/constants.d.ts.map +1 -1
  10. package/lib/src/core/constants.js +6 -6
  11. package/lib/src/core/constants.js.map +1 -1
  12. package/lib/src/core/features/featureFactory.d.ts.map +1 -1
  13. package/lib/src/core/features/featureFactory.js +0 -1
  14. package/lib/src/core/features/featureFactory.js.map +1 -1
  15. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.d.ts.map +1 -1
  16. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.js +12 -5
  17. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.js.map +1 -1
  18. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.d.ts.map +1 -1
  19. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js +13 -1
  20. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js.map +1 -1
  21. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.d.ts +1 -0
  22. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.d.ts.map +1 -1
  23. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.js +3 -1
  24. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.js.map +1 -1
  25. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.d.ts +1 -0
  26. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.d.ts.map +1 -1
  27. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.js +3 -1
  28. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.js.map +1 -1
  29. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.d.ts.map +1 -1
  30. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js +2 -3
  31. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js.map +1 -1
  32. package/lib/src/core/features/uIFeatures/beforeRender/grouping.d.ts.map +1 -1
  33. package/lib/src/core/features/uIFeatures/beforeRender/grouping.js +6 -7
  34. package/lib/src/core/features/uIFeatures/beforeRender/grouping.js.map +1 -1
  35. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.d.ts.map +1 -1
  36. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js +11 -3
  37. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js.map +1 -1
  38. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.d.ts.map +1 -1
  39. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js +4 -0
  40. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js.map +1 -1
  41. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.d.ts.map +1 -1
  42. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js +2 -1
  43. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js.map +1 -1
  44. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.d.ts.map +1 -1
  45. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js +19 -0
  46. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js.map +1 -1
  47. package/lib/src/core/features/uIFeatures/index.d.ts +0 -2
  48. package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -1
  49. package/lib/src/core/features/uIFeatures/index.js +0 -2
  50. package/lib/src/core/features/uIFeatures/index.js.map +1 -1
  51. package/lib/src/core/generators/ColumnGenerator.d.ts +1 -1
  52. package/lib/src/core/generators/ColumnGenerator.d.ts.map +1 -1
  53. package/lib/src/core/generators/ColumnGenerator.js +2 -1
  54. package/lib/src/core/generators/ColumnGenerator.js.map +1 -1
  55. package/lib/src/core/generators/ColumnGenerator.types.d.ts +1 -1
  56. package/lib/src/core/generators/ColumnGenerator.types.d.ts.map +1 -1
  57. package/lib/src/core/generators/ColumnGenerator.types.js.map +1 -1
  58. package/lib/src/core/generators/GroupGenerator.d.ts +4 -1
  59. package/lib/src/core/generators/GroupGenerator.d.ts.map +1 -1
  60. package/lib/src/core/generators/GroupGenerator.js +4 -1
  61. package/lib/src/core/generators/GroupGenerator.js.map +1 -1
  62. package/lib/src/core/generators/ViewGenerator.d.ts.map +1 -1
  63. package/lib/src/core/generators/ViewGenerator.js +7 -2
  64. package/lib/src/core/generators/ViewGenerator.js.map +1 -1
  65. package/lib/src/core/generators/viewUtilityMethods.js +3 -3
  66. package/lib/src/core/generators/viewUtilityMethods.js.map +1 -1
  67. package/lib/src/core/reducers/error.d.ts.map +1 -1
  68. package/lib/src/core/reducers/index.d.ts.map +1 -1
  69. package/lib/src/core/utils/condition-utils.js +1 -1
  70. package/lib/src/core/utils/condition-utils.js.map +1 -1
  71. package/lib/src/core/utils/util.d.ts +1 -0
  72. package/lib/src/core/utils/util.d.ts.map +1 -1
  73. package/lib/src/core/utils/util.js +7 -1
  74. package/lib/src/core/utils/util.js.map +1 -1
  75. package/lib/types/ApiContext.types.d.ts +32 -3
  76. package/lib/types/ApiContext.types.d.ts.map +1 -1
  77. package/lib/types/ApiContext.types.js.map +1 -1
  78. package/lib/types/Meta.types.d.ts +36 -4
  79. package/lib/types/Meta.types.d.ts.map +1 -1
  80. package/lib/types/Meta.types.js +3 -0
  81. package/lib/types/Meta.types.js.map +1 -1
  82. package/lib/types/State.types.d.ts +21 -2
  83. package/lib/types/State.types.d.ts.map +1 -1
  84. package/lib/types/State.types.js.map +1 -1
  85. package/lib/types.d.ts +4 -1
  86. package/lib/types.d.ts.map +1 -1
  87. package/lib/types.js.map +1 -1
  88. package/package.json +3 -4
  89. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts +0 -7
  90. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts.map +0 -1
  91. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js +0 -24
  92. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js.map +0 -1
@@ -27,7 +27,9 @@ const setGhostImage = ({ getView }, e) => {
27
27
  dragProxy.style.background = 'rgba(0, 0, 0, 0.21)';
28
28
  dragProxy.style.zIndex = '-1';
29
29
  getView().getDomContainer().appendChild(dragProxy);
30
- e.dataTransfer.setDragImage(dragProxy, 0, 0);
30
+ if (e.dataTransfer) {
31
+ e.dataTransfer.setDragImage(dragProxy, 0, 0);
32
+ }
31
33
  setTimeout(() => {
32
34
  dragProxy.parentNode.removeChild(dragProxy);
33
35
  }, 1000);
@@ -108,7 +110,11 @@ const dragStartCb = (featureProps, ev) => {
108
110
  featureProps.getRsStore().rowDragDropRef.contextDropCb = dropCallBack;
109
111
  featureProps.getRsStore().rowDragDropRef.contextDragOverCb = dragOverCallBack;
110
112
  setGhostImage(featureProps, ev);
111
- ev.dataTransfer.effectAllowed = 'move';
113
+ if (ev.dataTransfer) {
114
+ ev.dataTransfer.effectAllowed = 'move';
115
+ // Setting up some dummy data(dragged row item key) to make drag drop work in firefox. Refer https://medium.com/%40reiberdatschi/common-pitfalls-with-html5-drag-n-drop-api-9f011a09ee6c
116
+ ev.dataTransfer.setData('text/plain', 'RS_Dragged_Row_Item');
117
+ }
112
118
  // fail safe reset drag target.
113
119
  if (featureProps.getRsStore().rowDragDropRef.dragTarget)
114
120
  featureProps.getRsStore().rowDragDropRef.dragTarget = undefined;
@@ -159,7 +165,9 @@ const dragEnterCb = ({ getRsStore }, ev) => {
159
165
  : [];
160
166
  rsStore.rowDragDropRef.dropTarget.push(ev.currentTarget);
161
167
  ev.currentTarget.classList.add('dragEnter');
162
- ev.dataTransfer.dropEffect = 'move';
168
+ if (ev.dataTransfer) {
169
+ ev.dataTransfer.dropEffect = 'move';
170
+ }
163
171
  rsStore.rowDragDropRef.dropTargetCoord = ev.currentTarget.getBoundingClientRect();
164
172
  addDropEffect(ev.currentTarget);
165
173
  if (rsStore.rowDragDropRef.dropTarget.length > 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"rowDragDrop.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/rowDragDrop.ts"],"names":[],"mappings":"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","sourcesContent":["import { withMemoization } from '../../../utils/util';\nimport { AFTER_FETCH } from '../../../pubSub/events';\nimport type RsInternal from '../../../RsInternal';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\nimport type RsStore from '../../../RsStore';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type View from '../../../generators/ViewGenerator';\n\nconst DropSelector = '[data-drop]';\nconst getSelector = (t: HTMLElement): HTMLElement | null => t.closest(DropSelector);\n\nconst addDragEffect = (target: HTMLElement) => {\n const t = getSelector(target);\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.opacity = '0.5';\n });\n};\n\nconst removeDragEffect = (target: HTMLElement) => {\n const t = getSelector(target);\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.opacity = '1';\n });\n};\n\nconst setGhostImage = ({ getView }: BeforeRenderFeatureProps, e: DragEvent) => {\n const dragProxy = document.createElement('div');\n const elem = getSelector(e.currentTarget as HTMLElement)!;\n dragProxy.style.height = `${Math.min(\n elem.offsetHeight,\n getView().getScrollNode()!.offsetHeight\n )}px`;\n dragProxy.style.width = `${Math.min(\n elem.offsetWidth,\n getView().virtualizeElements.rootVirtualiser.getParentContainer().clientWidth\n )}px`;\n dragProxy.style.position = 'absolute';\n dragProxy.style.top = '-1000000px';\n dragProxy.style.left = '-10000000px';\n dragProxy.style.background = 'rgba(0, 0, 0, 0.21)';\n dragProxy.style.zIndex = '-1';\n getView().getDomContainer()!.appendChild(dragProxy);\n e.dataTransfer!.setDragImage(dragProxy, 0, 0);\n\n setTimeout(() => {\n dragProxy.parentNode!.removeChild(dragProxy);\n }, 1000);\n};\n\nconst isColliding = (x: DOMRect['x'], y: DOMRect['y'], coord: DOMRect) => {\n const smallBuffer = 2;\n return !(\n x < coord.left - smallBuffer ||\n x > coord.right + smallBuffer ||\n y > coord.bottom + smallBuffer ||\n y < coord.top - smallBuffer\n );\n};\n\nconst addDropEffect = (target: HTMLElement) => {\n const t = getSelector(target);\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n // Need to handle this in better way.TODO: need clean up as well.\n elm.style.transition = 'transform 0.25s';\n elm.style.transform = 'translate(20px)';\n });\n};\n\nconst removeDropEffect = (target: HTMLElement) => {\n const t = getSelector(target);\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.transition = null;\n elm.style.transform = null;\n });\n};\n\nconst contextDragOverCb = ({ getRsStore, getView }: BeforeRenderFeatureProps, e: DragEvent) => {\n e.stopPropagation();\n e.preventDefault();\n const rsStore = getRsStore();\n const domContainerCoord = getView().getDomContainer()!.getBoundingClientRect();\n if (\n rsStore.rowDragDropRef.dragLeaveSkipped &&\n rsStore.rowDragDropRef.dropTarget &&\n rsStore.rowDragDropRef.dropTarget[rsStore.rowDragDropRef.dropTarget.length - 1] &&\n (!isColliding(e.clientX, e.clientY, rsStore.rowDragDropRef.dropTargetCoord!) ||\n // Force trigger drag leave on the drop target when the dragged row moves outside the RS DOM container.\n e.clientX > domContainerCoord.right ||\n e.clientX < domContainerCoord.left)\n ) {\n rsStore.rowDragDropRef.forcedDragLeave = true;\n rsStore.rowDragDropRef.dragLeaveSkipped = false;\n const elm = rsStore.rowDragDropRef.dropTarget.shift()!;\n rsStore.rowDragDropRef.dropTarget = [...rsStore.rowDragDropRef.dropTarget];\n elm.dispatchEvent(\n new MouseEvent('dragleave', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n }\n};\n\nconst contextDropCb = ({ getRsStore, getView }: BeforeRenderFeatureProps, ev: DragEvent) => {\n ev.stopPropagation();\n ev.preventDefault();\n const rsStore = getRsStore();\n const elm = rsStore.rowDragDropRef.dropTarget[rsStore.rowDragDropRef.dropTarget.length - 1];\n if (\n rsStore.rowDragDropRef.dropTargetCoord &&\n elm !== rsStore.rowDragDropRef.dragTarget &&\n isColliding(ev.clientX, ev.clientY, rsStore.rowDragDropRef.dropTargetCoord)\n ) {\n removeDropEffect(elm);\n elm.classList.remove('dragEnter');\n const destinationKey = elm.closest('.row')!.getAttribute('data-key')!;\n const sourceKey = rsStore.rowDragDropRef.dragTarget?.closest('.row')!.getAttribute('data-key')!;\n rsStore.rowDragDropRef.dragTarget = undefined;\n rsStore.rowDragDropRef.dropTargetCoord = null;\n rsStore.rowDragDropRef.isDragTargetTypeRow = false;\n rsStore.rowDragDropRef.dropTarget = [];\n getView().type.handleRowReorder(sourceKey, destinationKey);\n }\n};\n\nconst dragStartCb = (featureProps: BeforeRenderFeatureProps, ev: DragEvent) => {\n const dragOverCallBack = contextDragOverCb.bind(null, featureProps);\n document.addEventListener('dragover', dragOverCallBack);\n const dropCallBack = contextDropCb.bind(null, featureProps);\n featureProps.getView().getDomContainer()!.addEventListener('drop', dropCallBack);\n\n // We have to keep event handler in reference so that we can remove right handler when drag ends.\n // Handler might change in between because of deps.\n featureProps.getRsStore().rowDragDropRef.contextDropCb = dropCallBack;\n featureProps.getRsStore().rowDragDropRef.contextDragOverCb = dragOverCallBack;\n\n setGhostImage(featureProps, ev);\n ev.dataTransfer!.effectAllowed = 'move';\n // fail safe reset drag target.\n if (featureProps.getRsStore().rowDragDropRef.dragTarget)\n featureProps.getRsStore().rowDragDropRef.dragTarget = undefined;\n featureProps.getRsStore().rowDragDropRef.isDragTargetTypeRow =\n (ev.currentTarget as HTMLElement).getAttribute('data-drag-type') === 'row';\n featureProps.getRsStore().rowDragDropRef.dragTarget = getSelector(\n ev.currentTarget as HTMLElement\n )!;\n (ev.currentTarget as HTMLElement).classList.add('dragStart');\n addDragEffect(ev.currentTarget as HTMLElement);\n};\n\nconst dragEndCb = ({ getRsStore, getView }: BeforeRenderFeatureProps, ev: DragEvent) => {\n const rsStore = getRsStore();\n document.removeEventListener('dragover', rsStore.rowDragDropRef.contextDragOverCb!);\n getView().getDomContainer()!.removeEventListener('drop', rsStore.rowDragDropRef.contextDropCb!);\n rsStore.rowDragDropRef.dropTarget = [];\n rsStore.rowDragDropRef.dropTargetCoord = null;\n rsStore.rowDragDropRef.forcedDragLeave = false;\n rsStore.rowDragDropRef.dragLeaveSkipped = false;\n rsStore.rowDragDropRef.isDragTargetTypeRow = false;\n (ev.currentTarget as HTMLElement).classList.remove('dragStart');\n removeDragEffect(ev.currentTarget as HTMLElement);\n};\n\nconst isValidDragEnter = (rsStore: RsStore, e: DragEvent) => {\n let isValid = true;\n if (!rsStore.rowDragDropRef.isDragTargetTypeRow) return false;\n if (rsStore.rowDragDropRef.dragTarget === e.currentTarget) isValid = false;\n else if (\n rsStore.rowDragDropRef.dropTarget[rsStore.rowDragDropRef.dropTarget.length - 1] ===\n e.currentTarget\n )\n isValid = false;\n else if (\n rsStore.rowDragDropRef.dropTarget[rsStore.rowDragDropRef.dropTarget.length - 1] &&\n rsStore.rowDragDropRef.dropTarget[rsStore.rowDragDropRef.dropTarget.length - 1] !==\n e.currentTarget\n ) {\n const currentTargetCoord = (e.currentTarget as HTMLElement).getBoundingClientRect();\n const dropTargetCoord =\n rsStore.rowDragDropRef.dropTarget[\n rsStore.rowDragDropRef.dropTarget.length - 1\n ].getBoundingClientRect();\n if (\n !isColliding(e.clientX, e.clientY, currentTargetCoord) &&\n isColliding(e.clientX, e.clientY, dropTargetCoord)\n )\n isValid = false;\n }\n return isValid;\n};\n\nconst dragEnterCb = ({ getRsStore }: BeforeRenderFeatureProps, ev: DragEvent) => {\n ev.stopPropagation();\n const rsStore = getRsStore();\n if (isValidDragEnter(rsStore, ev)) {\n rsStore.rowDragDropRef.dropTarget = rsStore.rowDragDropRef.dropTarget.length\n ? [...rsStore.rowDragDropRef.dropTarget]\n : [];\n rsStore.rowDragDropRef.dropTarget.push(ev.currentTarget as HTMLElement);\n (ev.currentTarget as HTMLElement).classList.add('dragEnter');\n ev.dataTransfer!.dropEffect = 'move';\n rsStore.rowDragDropRef.dropTargetCoord = (\n ev.currentTarget as HTMLElement\n ).getBoundingClientRect();\n addDropEffect(ev.currentTarget as HTMLElement);\n\n if (rsStore.rowDragDropRef.dropTarget.length > 1) {\n const elm = rsStore.rowDragDropRef.dropTarget.shift()!;\n rsStore.rowDragDropRef.dropTarget = [...rsStore.rowDragDropRef.dropTarget];\n rsStore.rowDragDropRef.forcedDragLeave = true;\n elm.dispatchEvent(\n new MouseEvent('dragleave', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n }\n }\n};\n\nconst dragLeaveCb = ({ getRsStore }: BeforeRenderFeatureProps, ev: DragEvent) => {\n ev.stopPropagation();\n const rsStore = getRsStore();\n if (rsStore.rowDragDropRef.forcedDragLeave) {\n rsStore.rowDragDropRef.forcedDragLeave = false;\n (ev.currentTarget as HTMLElement).classList.remove('dragEnter');\n removeDropEffect(ev.currentTarget as HTMLElement);\n } else if (\n !(ev.currentTarget as HTMLElement).contains(ev.relatedTarget as HTMLElement) &&\n rsStore.rowDragDropRef.dragTarget !== ev.currentTarget\n ) {\n rsStore.rowDragDropRef.dragLeaveSkipped = true;\n }\n};\n\nconst dragProps = (featureProps: BeforeRenderFeatureProps) => ({\n 'data-drag-type': 'row',\n draggable: true,\n onDragStart: dragStartCb.bind(null, featureProps),\n onDragEnd: dragEndCb.bind(null, featureProps)\n});\n\nconst dropProps = (featureProps: BeforeRenderFeatureProps) => ({\n onDragEnter: dragEnterCb.bind(null, featureProps),\n onDragLeave: dragLeaveCb.bind(null, featureProps),\n 'data-drop': 'dropzone'\n});\n\nfunction addDragDropBehavior([featureProps]: [featureProps: BeforeRenderFeatureProps]) {\n if (!featureProps.getView().meta.reorderItems) {\n return;\n }\n featureProps.getView().rows!.forEach(r => {\n if (!(r.dragProps && r.dropProps)) {\n r.setProp({\n dragProps: dragProps(featureProps),\n dropProps: dropProps(featureProps)\n });\n }\n });\n}\n\n/**\n * Manages drag drop behavior of rows whenever the {@link View.rows rows} are changed in the view on publish of `AFTER_FETCH` event.\n *\n */\nexport default (rsInternal: RsInternal) => {\n rsInternal.getRsStore().rowDragDropRef = {\n dropTarget: [],\n dragTarget: undefined,\n dropZones: []\n };\n const memoizedAddDragDropBehavior = withMemoization(addDragDropBehavior);\n\n // TODO: Move subscription outside execute function\n return function execute(featureProps: BeforeRenderFeatureProps) {\n rsInternal\n .getPubSubUtils()\n .subscribe(AFTER_FETCH, () =>\n memoizedAddDragDropBehavior([featureProps], [featureProps.getView().rows])\n );\n };\n};\n"]}
1
+ {"version":3,"file":"rowDragDrop.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/rowDragDrop.ts"],"names":[],"mappings":"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","sourcesContent":["import { withMemoization } from '../../../utils/util';\nimport { AFTER_FETCH } from '../../../pubSub/events';\nimport type RsInternal from '../../../RsInternal';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\nimport type RsStore from '../../../RsStore';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type View from '../../../generators/ViewGenerator';\n\nconst DropSelector = '[data-drop]';\nconst getSelector = (t: HTMLElement): HTMLElement | null => t.closest(DropSelector);\n\nconst addDragEffect = (target: HTMLElement) => {\n const t = getSelector(target);\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.opacity = '0.5';\n });\n};\n\nconst removeDragEffect = (target: HTMLElement) => {\n const t = getSelector(target);\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.opacity = '1';\n });\n};\n\nconst setGhostImage = ({ getView }: BeforeRenderFeatureProps, e: DragEvent) => {\n const dragProxy = document.createElement('div');\n const elem = getSelector(e.currentTarget as HTMLElement)!;\n dragProxy.style.height = `${Math.min(\n elem.offsetHeight,\n getView().getScrollNode()!.offsetHeight\n )}px`;\n dragProxy.style.width = `${Math.min(\n elem.offsetWidth,\n getView().virtualizeElements.rootVirtualiser.getParentContainer().clientWidth\n )}px`;\n dragProxy.style.position = 'absolute';\n dragProxy.style.top = '-1000000px';\n dragProxy.style.left = '-10000000px';\n dragProxy.style.background = 'rgba(0, 0, 0, 0.21)';\n dragProxy.style.zIndex = '-1';\n getView().getDomContainer()!.appendChild(dragProxy);\n if (e.dataTransfer) {\n e.dataTransfer.setDragImage(dragProxy, 0, 0);\n }\n\n setTimeout(() => {\n dragProxy.parentNode!.removeChild(dragProxy);\n }, 1000);\n};\n\nconst isColliding = (x: DOMRect['x'], y: DOMRect['y'], coord: DOMRect) => {\n const smallBuffer = 2;\n return !(\n x < coord.left - smallBuffer ||\n x > coord.right + smallBuffer ||\n y > coord.bottom + smallBuffer ||\n y < coord.top - smallBuffer\n );\n};\n\nconst addDropEffect = (target: HTMLElement) => {\n const t = getSelector(target);\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n // Need to handle this in better way.TODO: need clean up as well.\n elm.style.transition = 'transform 0.25s';\n elm.style.transform = 'translate(20px)';\n });\n};\n\nconst removeDropEffect = (target: HTMLElement) => {\n const t = getSelector(target);\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.transition = null;\n elm.style.transform = null;\n });\n};\n\nconst contextDragOverCb = ({ getRsStore, getView }: BeforeRenderFeatureProps, e: DragEvent) => {\n e.stopPropagation();\n e.preventDefault();\n const rsStore = getRsStore();\n const domContainerCoord = getView().getDomContainer()!.getBoundingClientRect();\n if (\n rsStore.rowDragDropRef.dragLeaveSkipped &&\n rsStore.rowDragDropRef.dropTarget &&\n rsStore.rowDragDropRef.dropTarget[rsStore.rowDragDropRef.dropTarget.length - 1] &&\n (!isColliding(e.clientX, e.clientY, rsStore.rowDragDropRef.dropTargetCoord!) ||\n // Force trigger drag leave on the drop target when the dragged row moves outside the RS DOM container.\n e.clientX > domContainerCoord.right ||\n e.clientX < domContainerCoord.left)\n ) {\n rsStore.rowDragDropRef.forcedDragLeave = true;\n rsStore.rowDragDropRef.dragLeaveSkipped = false;\n const elm = rsStore.rowDragDropRef.dropTarget.shift()!;\n rsStore.rowDragDropRef.dropTarget = [...rsStore.rowDragDropRef.dropTarget];\n elm.dispatchEvent(\n new MouseEvent('dragleave', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n }\n};\n\nconst contextDropCb = ({ getRsStore, getView }: BeforeRenderFeatureProps, ev: DragEvent) => {\n ev.stopPropagation();\n ev.preventDefault();\n const rsStore = getRsStore();\n const elm = rsStore.rowDragDropRef.dropTarget[rsStore.rowDragDropRef.dropTarget.length - 1];\n if (\n rsStore.rowDragDropRef.dropTargetCoord &&\n elm !== rsStore.rowDragDropRef.dragTarget &&\n isColliding(ev.clientX, ev.clientY, rsStore.rowDragDropRef.dropTargetCoord)\n ) {\n removeDropEffect(elm);\n elm.classList.remove('dragEnter');\n const destinationKey = elm.closest('.row')!.getAttribute('data-key')!;\n const sourceKey = rsStore.rowDragDropRef.dragTarget?.closest('.row')!.getAttribute('data-key')!;\n rsStore.rowDragDropRef.dragTarget = undefined;\n rsStore.rowDragDropRef.dropTargetCoord = null;\n rsStore.rowDragDropRef.isDragTargetTypeRow = false;\n rsStore.rowDragDropRef.dropTarget = [];\n getView().type.handleRowReorder(sourceKey, destinationKey);\n }\n};\n\nconst dragStartCb = (featureProps: BeforeRenderFeatureProps, ev: DragEvent) => {\n const dragOverCallBack = contextDragOverCb.bind(null, featureProps);\n document.addEventListener('dragover', dragOverCallBack);\n const dropCallBack = contextDropCb.bind(null, featureProps);\n featureProps.getView().getDomContainer()!.addEventListener('drop', dropCallBack);\n\n // We have to keep event handler in reference so that we can remove right handler when drag ends.\n // Handler might change in between because of deps.\n featureProps.getRsStore().rowDragDropRef.contextDropCb = dropCallBack;\n featureProps.getRsStore().rowDragDropRef.contextDragOverCb = dragOverCallBack;\n\n setGhostImage(featureProps, ev);\n if (ev.dataTransfer) {\n ev.dataTransfer.effectAllowed = 'move';\n // Setting up some dummy data(dragged row item key) to make drag drop work in firefox. Refer https://medium.com/%40reiberdatschi/common-pitfalls-with-html5-drag-n-drop-api-9f011a09ee6c\n ev.dataTransfer.setData('text/plain', 'RS_Dragged_Row_Item');\n }\n\n // fail safe reset drag target.\n if (featureProps.getRsStore().rowDragDropRef.dragTarget)\n featureProps.getRsStore().rowDragDropRef.dragTarget = undefined;\n featureProps.getRsStore().rowDragDropRef.isDragTargetTypeRow =\n (ev.currentTarget as HTMLElement).getAttribute('data-drag-type') === 'row';\n featureProps.getRsStore().rowDragDropRef.dragTarget = getSelector(\n ev.currentTarget as HTMLElement\n )!;\n (ev.currentTarget as HTMLElement).classList.add('dragStart');\n addDragEffect(ev.currentTarget as HTMLElement);\n};\n\nconst dragEndCb = ({ getRsStore, getView }: BeforeRenderFeatureProps, ev: DragEvent) => {\n const rsStore = getRsStore();\n document.removeEventListener('dragover', rsStore.rowDragDropRef.contextDragOverCb!);\n getView().getDomContainer()!.removeEventListener('drop', rsStore.rowDragDropRef.contextDropCb!);\n rsStore.rowDragDropRef.dropTarget = [];\n rsStore.rowDragDropRef.dropTargetCoord = null;\n rsStore.rowDragDropRef.forcedDragLeave = false;\n rsStore.rowDragDropRef.dragLeaveSkipped = false;\n rsStore.rowDragDropRef.isDragTargetTypeRow = false;\n (ev.currentTarget as HTMLElement).classList.remove('dragStart');\n removeDragEffect(ev.currentTarget as HTMLElement);\n};\n\nconst isValidDragEnter = (rsStore: RsStore, e: DragEvent) => {\n let isValid = true;\n if (!rsStore.rowDragDropRef.isDragTargetTypeRow) return false;\n if (rsStore.rowDragDropRef.dragTarget === e.currentTarget) isValid = false;\n else if (\n rsStore.rowDragDropRef.dropTarget[rsStore.rowDragDropRef.dropTarget.length - 1] ===\n e.currentTarget\n )\n isValid = false;\n else if (\n rsStore.rowDragDropRef.dropTarget[rsStore.rowDragDropRef.dropTarget.length - 1] &&\n rsStore.rowDragDropRef.dropTarget[rsStore.rowDragDropRef.dropTarget.length - 1] !==\n e.currentTarget\n ) {\n const currentTargetCoord = (e.currentTarget as HTMLElement).getBoundingClientRect();\n const dropTargetCoord =\n rsStore.rowDragDropRef.dropTarget[\n rsStore.rowDragDropRef.dropTarget.length - 1\n ].getBoundingClientRect();\n if (\n !isColliding(e.clientX, e.clientY, currentTargetCoord) &&\n isColliding(e.clientX, e.clientY, dropTargetCoord)\n )\n isValid = false;\n }\n return isValid;\n};\n\nconst dragEnterCb = ({ getRsStore }: BeforeRenderFeatureProps, ev: DragEvent) => {\n ev.stopPropagation();\n const rsStore = getRsStore();\n if (isValidDragEnter(rsStore, ev)) {\n rsStore.rowDragDropRef.dropTarget = rsStore.rowDragDropRef.dropTarget.length\n ? [...rsStore.rowDragDropRef.dropTarget]\n : [];\n rsStore.rowDragDropRef.dropTarget.push(ev.currentTarget as HTMLElement);\n (ev.currentTarget as HTMLElement).classList.add('dragEnter');\n if (ev.dataTransfer) {\n ev.dataTransfer.dropEffect = 'move';\n }\n rsStore.rowDragDropRef.dropTargetCoord = (\n ev.currentTarget as HTMLElement\n ).getBoundingClientRect();\n addDropEffect(ev.currentTarget as HTMLElement);\n\n if (rsStore.rowDragDropRef.dropTarget.length > 1) {\n const elm = rsStore.rowDragDropRef.dropTarget.shift()!;\n rsStore.rowDragDropRef.dropTarget = [...rsStore.rowDragDropRef.dropTarget];\n rsStore.rowDragDropRef.forcedDragLeave = true;\n elm.dispatchEvent(\n new MouseEvent('dragleave', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n }\n }\n};\n\nconst dragLeaveCb = ({ getRsStore }: BeforeRenderFeatureProps, ev: DragEvent) => {\n ev.stopPropagation();\n const rsStore = getRsStore();\n if (rsStore.rowDragDropRef.forcedDragLeave) {\n rsStore.rowDragDropRef.forcedDragLeave = false;\n (ev.currentTarget as HTMLElement).classList.remove('dragEnter');\n removeDropEffect(ev.currentTarget as HTMLElement);\n } else if (\n !(ev.currentTarget as HTMLElement).contains(ev.relatedTarget as HTMLElement) &&\n rsStore.rowDragDropRef.dragTarget !== ev.currentTarget\n ) {\n rsStore.rowDragDropRef.dragLeaveSkipped = true;\n }\n};\n\nconst dragProps = (featureProps: BeforeRenderFeatureProps) => ({\n 'data-drag-type': 'row',\n draggable: true,\n onDragStart: dragStartCb.bind(null, featureProps),\n onDragEnd: dragEndCb.bind(null, featureProps)\n});\n\nconst dropProps = (featureProps: BeforeRenderFeatureProps) => ({\n onDragEnter: dragEnterCb.bind(null, featureProps),\n onDragLeave: dragLeaveCb.bind(null, featureProps),\n 'data-drop': 'dropzone'\n});\n\nfunction addDragDropBehavior([featureProps]: [featureProps: BeforeRenderFeatureProps]) {\n if (!featureProps.getView().meta.reorderItems) {\n return;\n }\n featureProps.getView().rows!.forEach(r => {\n if (!(r.dragProps && r.dropProps)) {\n r.setProp({\n dragProps: dragProps(featureProps),\n dropProps: dropProps(featureProps)\n });\n }\n });\n}\n\n/**\n * Manages drag drop behavior of rows whenever the {@link View.rows rows} are changed in the view on publish of `AFTER_FETCH` event.\n *\n */\nexport default (rsInternal: RsInternal) => {\n rsInternal.getRsStore().rowDragDropRef = {\n dropTarget: [],\n dragTarget: undefined,\n dropZones: []\n };\n const memoizedAddDragDropBehavior = withMemoization(addDragDropBehavior);\n\n // TODO: Move subscription outside execute function\n return function execute(featureProps: BeforeRenderFeatureProps) {\n rsInternal\n .getPubSubUtils()\n .subscribe(AFTER_FETCH, () =>\n memoizedAddDragDropBehavior([featureProps], [featureProps.getView().rows])\n );\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"rowHeight.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/rowHeight.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAcrE;;GAEG;+BAIuB,cAAc,wBAAwB;AAHhE,wBAME"}
1
+ {"version":3,"file":"rowHeight.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/rowHeight.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAsBrE;;GAEG;+BAIuB,cAAc,wBAAwB;AAHhE,wBAME"}
@@ -1,10 +1,14 @@
1
1
  import { rowDensityClasses } from '../../../constants';
2
2
  import { withMemoization } from '../../../utils/util';
3
+ import { cellUpdateTrigger } from '../../../../../types/Meta.types';
3
4
  /* eslint-enable @typescript-eslint/no-unused-vars */
4
5
  const setRowHeightClass = ([{ getView, getState }]) => {
5
6
  const { selectedHeightOption } = getState();
6
7
  const value = rowDensityClasses[selectedHeightOption]?.className ?? rowDensityClasses['1']?.className;
7
8
  getView().setProp('rowHeightClass', value);
9
+ // Refresh the columns that are dependent on row density change.
10
+ getView().columns?.forEach(column => column.field.cellUpdateTriggers?.includes(cellUpdateTrigger.ROW_DENSITY_CHANGE) &&
11
+ column.setProp('refresh', Math.random()));
8
12
  };
9
13
  /**
10
14
  * Sets the {@link View.rowHeightClass rowHeightClass} property in the view when {@link State.selectedHeightOption selectedHeightOption} is changed in the `State`.
@@ -1 +1 @@
1
- {"version":3,"file":"rowHeight.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/rowHeight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,qDAAqD;AAErD,MAAM,iBAAiB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAA2C,EAAE,EAAE;IAC9F,MAAM,EAAE,oBAAoB,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC5C,MAAM,KAAK,GACT,iBAAiB,CAAC,oBAAqB,CAAC,EAAE,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAE3F,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,eAAe,GAAG,EAAE;IAClB,MAAM,yBAAyB,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAErE,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,yBAAyB,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { rowDensityClasses } from '../../../constants';\nimport { withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type View from '../../../generators/ViewGenerator';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nconst setRowHeightClass = ([{ getView, getState }]: [featureProps: BeforeRenderFeatureProps]) => {\n const { selectedHeightOption } = getState();\n const value =\n rowDensityClasses[selectedHeightOption!]?.className ?? rowDensityClasses['1']?.className;\n\n getView().setProp('rowHeightClass', value);\n};\n\n/**\n * Sets the {@link View.rowHeightClass rowHeightClass} property in the view when {@link State.selectedHeightOption selectedHeightOption} is changed in the `State`.\n */\nexport default () => {\n const memoizedSetRowHeightClass = withMemoization(setRowHeightClass);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n memoizedSetRowHeightClass([featureProps], [featureProps.getState().selectedHeightOption]);\n };\n};\n"]}
1
+ {"version":3,"file":"rowHeight.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/rowHeight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,qDAAqD;AAErD,MAAM,iBAAiB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAA2C,EAAE,EAAE;IAC9F,MAAM,EAAE,oBAAoB,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC5C,MAAM,KAAK,GACT,iBAAiB,CAAC,oBAAqB,CAAC,EAAE,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAE3F,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAE3C,gEAAgE;IAChE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CACxB,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;QAC/E,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAC3C,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,eAAe,GAAG,EAAE;IAClB,MAAM,yBAAyB,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAErE,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,yBAAyB,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { rowDensityClasses } from '../../../constants';\nimport { withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type View from '../../../generators/ViewGenerator';\nimport type { State } from '../../../../../types/State.types';\nimport { cellUpdateTrigger } from '../../../../../types/Meta.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nconst setRowHeightClass = ([{ getView, getState }]: [featureProps: BeforeRenderFeatureProps]) => {\n const { selectedHeightOption } = getState();\n const value =\n rowDensityClasses[selectedHeightOption!]?.className ?? rowDensityClasses['1']?.className;\n\n getView().setProp('rowHeightClass', value);\n\n // Refresh the columns that are dependent on row density change.\n getView().columns?.forEach(\n column =>\n column.field.cellUpdateTriggers?.includes(cellUpdateTrigger.ROW_DENSITY_CHANGE) &&\n column.setProp('refresh', Math.random())\n );\n};\n\n/**\n * Sets the {@link View.rowHeightClass rowHeightClass} property in the view when {@link State.selectedHeightOption selectedHeightOption} is changed in the `State`.\n */\nexport default () => {\n const memoizedSetRowHeightClass = withMemoization(setRowHeightClass);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n memoizedSetRowHeightClass([featureProps], [featureProps.getState().selectedHeightOption]);\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"stateHydration.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateHydration.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAI9D,OAAO,KAAK,MAAM,MAAM,qCAAqC,CAAC;AAG9D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAiEzE;AA0FD;;;;;;GAMG;+BAKuB,cAAc,wBAAwB;AAJhE,wBAQE"}
1
+ {"version":3,"file":"stateHydration.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateHydration.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAI9D,OAAO,KAAK,MAAM,MAAM,qCAAqC,CAAC;AAG9D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAkEzE;AA0FD;;;;;;GAMG;+BAKuB,cAAc,wBAAwB;AAJhE,wBAQE"}
@@ -43,7 +43,8 @@ export function convertMetaIntoState(meta, columns) {
43
43
  columnId: col.id,
44
44
  order,
45
45
  level,
46
- dateFunction: col.groupedDateFunction
46
+ dateFunction: col.groupedDateFunction,
47
+ additionalFields: col.groupedAdditionalFields
47
48
  });
48
49
  }
49
50
  if (col.conditionalStyleFormats) {
@@ -1 +1 @@
1
- {"version":3,"file":"stateHydration.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateHydration.ts"],"names":[],"mappings":"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","sourcesContent":["import { actionHydrateState } from '../../../actions/actions';\nimport { withMemoization, pickProperties, isEmpty } from '../../../utils/util';\nimport { personalizationProps } from '../../../reducers/personalizationReducer';\nimport { TEMPLATES } from '../../../constants';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\nimport type { Meta } from '../../../../../types/Meta.types';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type RsProps from '../../../RsProps';\nimport type { ApiContext } from '../../../../../types/ApiContext.types';\nimport type Column from '../../../generators/ColumnGenerator';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\n/**\n * @param {import('../../../../../types/Meta.types').Meta} meta\n * @returns {import('../../../../../types/State.types').State}\n */\nexport function convertMetaIntoState(meta: Meta, columns: Column[]): State {\n const sortingOrder: State['sortingOrder'] = [];\n const hiddenColumns: State['hiddenColumns'] = [];\n const groups: State['groups'] = [];\n const aggregationInfo: State['aggregationInfo'] = [];\n let conditionalStyleFormats: State['conditionalStyleFormats'] = [];\n const { filterExpression, showHeaderIcons, defaultRowHeight } = meta;\n\n // default RowHeight as short\n // update selectedHeightOption if defaultRowHeight is set in meta\n const selectedHeightOption = meta.template === TEMPLATES.TABLE ? defaultRowHeight : undefined;\n\n columns.forEach(({ field: col }) => {\n // hydrating sorting\n if (col.sort && col.sortPriority && col.sortDirection)\n sortingOrder.push({\n columnId: col.id,\n order: col.sortDirection,\n sequence: col.sortPriority\n });\n\n // hydrating column visibility\n if (!col.show) hiddenColumns.push(`${col.id}`);\n\n // hydrating aggregated Fields\n if (col.aggregated && (col.type === 'number' || col.type === 'currency'))\n aggregationInfo.push({\n columnId: col.id,\n type: meta.aggregateOptions?.[col.type]?.[0]!\n });\n\n // hydrating grouping\n // consider sort direction of column for group order if its provided otherwise default to ascending.\n if (meta.grouping && col.grouping && col.grouped) {\n const level = 'groupOrder' in col ? col.groupOrder! : groups.length;\n const order = col.sort && col.sortDirection ? col.sortDirection : 'asc';\n groups.splice(level, 0, {\n columnId: col.id,\n order,\n level,\n dateFunction: col.groupedDateFunction\n });\n }\n\n if (col.conditionalStyleFormats) {\n conditionalStyleFormats = col.conditionalStyleFormats.map(conditionalStyleFormat => ({\n ...conditionalStyleFormat,\n fieldName: col.name\n }));\n }\n });\n\n // BUG-752261 Maintaining sort sequence in state\n sortingOrder.sort((col1, col2) => col1.sequence - col2.sequence);\n\n return {\n sortingOrder,\n hiddenColumns,\n groups,\n aggregationInfo,\n filterExpression,\n showHeaderIcons,\n selectedHeightOption,\n conditionalStyleFormats\n };\n}\n\nconst hydrateComponentState = async ([{ getRsProps, getRsStore, dispatch, getState }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n let componentState;\n const rsProps = getRsProps();\n const rsStore = getRsStore();\n rsStore.componentState = null;\n if (rsProps?.apiContext?.getComponentState) {\n componentState = await rsProps?.apiContext?.getComponentState();\n }\n const { personalization } = getState();\n // if client set component state somewhere for persisting changes\n if (componentState && Object.keys(componentState).length) {\n rsStore.componentState = componentState;\n const activeComponentPersonalization = componentState.activePersonalization;\n const activeComponentState = pickProperties(componentState, personalizationProps);\n const payload = {\n personalization: {\n ...personalization,\n active: activeComponentPersonalization\n },\n ...activeComponentState\n };\n // @ts-expect-error Check this.\n dispatch(actionHydrateState(payload));\n }\n};\n\n// Todo: onLoad sorting, filterBy, GroupBy, Freeze, HiddenColumn,\n// the structure in meta and hydration of state from it\nconst hydrate = ([{ getRsStore, getRsProps, getView, dispatch, getState }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n const state = getState();\n const rsStore = getRsStore();\n const rsProps = getRsProps();\n const payload: State = {};\n\n if (rsProps.persistedInfo && rsStore.presets[0].id === state.personalization?.active) {\n if (!getView().meta.grouping) rsProps.persistedInfo.groups = [];\n return dispatch(actionHydrateState(rsProps.persistedInfo));\n }\n\n if (rsStore.componentState) {\n rsStore.componentState = null;\n return null;\n }\n\n if (\n !rsProps.persistedInfo &&\n !rsStore.componentState &&\n state.personalization?.allPersonalizations?.[state.personalization?.active]?.isPreset\n ) {\n // If preset has its own personalization state then pick it else derive from meta\n const presetPersonalizationState =\n state.personalization.allPersonalizations[state.personalization.active]\n .personalizationState || {};\n if (!isEmpty(presetPersonalizationState)) {\n return dispatch(actionHydrateState(presetPersonalizationState));\n }\n\n const {\n sortingOrder,\n hiddenColumns,\n groups,\n aggregationInfo,\n filterExpression,\n showHeaderIcons,\n selectedHeightOption,\n conditionalStyleFormats\n } = convertMetaIntoState(getView().meta, getView().columns!);\n\n if (showHeaderIcons !== undefined) payload.showHeaderIcons = showHeaderIcons;\n if (filterExpression) payload.filterExpression = filterExpression;\n if (sortingOrder) payload.sortingOrder = sortingOrder;\n if (hiddenColumns) payload.hiddenColumns = hiddenColumns;\n if (aggregationInfo) payload.aggregationInfo = aggregationInfo;\n if (groups && getView().meta.grouping) payload.groups = groups;\n if (selectedHeightOption) payload.selectedHeightOption = selectedHeightOption;\n if (conditionalStyleFormats) payload.conditionalStyleFormats = conditionalStyleFormats;\n\n payload.template = getView().meta.template;\n payload.presetId = getView().meta.id;\n }\n dispatch(actionHydrateState(payload));\n return null;\n};\n\n/**\n * Hydrates the repeating structure state on bootstrap, following this priority order:\n * 1. {@link RsProps.persistedInfo}\n * 2. Component state from {@link ApiContext.getComponentState}\n * 3. Personalized state from the preset\n * 4. {@link Meta}\n */\nexport default () => {\n const memoizedHydrateComponentState = withMemoization(hydrateComponentState);\n const memoizedHydrate = withMemoization(hydrate);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n memoizedHydrateComponentState([featureProps], []);\n memoizedHydrate([featureProps], [featureProps.getView().meta]);\n };\n};\n"]}
1
+ {"version":3,"file":"stateHydration.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateHydration.ts"],"names":[],"mappings":"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","sourcesContent":["import { actionHydrateState } from '../../../actions/actions';\nimport { withMemoization, pickProperties, isEmpty } from '../../../utils/util';\nimport { personalizationProps } from '../../../reducers/personalizationReducer';\nimport { TEMPLATES } from '../../../constants';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\nimport type { Meta } from '../../../../../types/Meta.types';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type RsProps from '../../../RsProps';\nimport type { ApiContext } from '../../../../../types/ApiContext.types';\nimport type Column from '../../../generators/ColumnGenerator';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\n/**\n * @param {import('../../../../../types/Meta.types').Meta} meta\n * @returns {import('../../../../../types/State.types').State}\n */\nexport function convertMetaIntoState(meta: Meta, columns: Column[]): State {\n const sortingOrder: State['sortingOrder'] = [];\n const hiddenColumns: State['hiddenColumns'] = [];\n const groups: State['groups'] = [];\n const aggregationInfo: State['aggregationInfo'] = [];\n let conditionalStyleFormats: State['conditionalStyleFormats'] = [];\n const { filterExpression, showHeaderIcons, defaultRowHeight } = meta;\n\n // default RowHeight as short\n // update selectedHeightOption if defaultRowHeight is set in meta\n const selectedHeightOption = meta.template === TEMPLATES.TABLE ? defaultRowHeight : undefined;\n\n columns.forEach(({ field: col }) => {\n // hydrating sorting\n if (col.sort && col.sortPriority && col.sortDirection)\n sortingOrder.push({\n columnId: col.id,\n order: col.sortDirection,\n sequence: col.sortPriority\n });\n\n // hydrating column visibility\n if (!col.show) hiddenColumns.push(`${col.id}`);\n\n // hydrating aggregated Fields\n if (col.aggregated && (col.type === 'number' || col.type === 'currency'))\n aggregationInfo.push({\n columnId: col.id,\n type: meta.aggregateOptions?.[col.type]?.[0]!\n });\n\n // hydrating grouping\n // consider sort direction of column for group order if its provided otherwise default to ascending.\n if (meta.grouping && col.grouping && col.grouped) {\n const level = 'groupOrder' in col ? col.groupOrder! : groups.length;\n const order = col.sort && col.sortDirection ? col.sortDirection : 'asc';\n groups.splice(level, 0, {\n columnId: col.id,\n order,\n level,\n dateFunction: col.groupedDateFunction,\n additionalFields: col.groupedAdditionalFields\n });\n }\n\n if (col.conditionalStyleFormats) {\n conditionalStyleFormats = col.conditionalStyleFormats.map(conditionalStyleFormat => ({\n ...conditionalStyleFormat,\n fieldName: col.name\n }));\n }\n });\n\n // BUG-752261 Maintaining sort sequence in state\n sortingOrder.sort((col1, col2) => col1.sequence - col2.sequence);\n\n return {\n sortingOrder,\n hiddenColumns,\n groups,\n aggregationInfo,\n filterExpression,\n showHeaderIcons,\n selectedHeightOption,\n conditionalStyleFormats\n };\n}\n\nconst hydrateComponentState = async ([{ getRsProps, getRsStore, dispatch, getState }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n let componentState;\n const rsProps = getRsProps();\n const rsStore = getRsStore();\n rsStore.componentState = null;\n if (rsProps?.apiContext?.getComponentState) {\n componentState = await rsProps?.apiContext?.getComponentState();\n }\n const { personalization } = getState();\n // if client set component state somewhere for persisting changes\n if (componentState && Object.keys(componentState).length) {\n rsStore.componentState = componentState;\n const activeComponentPersonalization = componentState.activePersonalization;\n const activeComponentState = pickProperties(componentState, personalizationProps);\n const payload = {\n personalization: {\n ...personalization,\n active: activeComponentPersonalization\n },\n ...activeComponentState\n };\n // @ts-expect-error Check this.\n dispatch(actionHydrateState(payload));\n }\n};\n\n// Todo: onLoad sorting, filterBy, GroupBy, Freeze, HiddenColumn,\n// the structure in meta and hydration of state from it\nconst hydrate = ([{ getRsStore, getRsProps, getView, dispatch, getState }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n const state = getState();\n const rsStore = getRsStore();\n const rsProps = getRsProps();\n const payload: State = {};\n\n if (rsProps.persistedInfo && rsStore.presets[0].id === state.personalization?.active) {\n if (!getView().meta.grouping) rsProps.persistedInfo.groups = [];\n return dispatch(actionHydrateState(rsProps.persistedInfo));\n }\n\n if (rsStore.componentState) {\n rsStore.componentState = null;\n return null;\n }\n\n if (\n !rsProps.persistedInfo &&\n !rsStore.componentState &&\n state.personalization?.allPersonalizations?.[state.personalization?.active]?.isPreset\n ) {\n // If preset has its own personalization state then pick it else derive from meta\n const presetPersonalizationState =\n state.personalization.allPersonalizations[state.personalization.active]\n .personalizationState || {};\n if (!isEmpty(presetPersonalizationState)) {\n return dispatch(actionHydrateState(presetPersonalizationState));\n }\n\n const {\n sortingOrder,\n hiddenColumns,\n groups,\n aggregationInfo,\n filterExpression,\n showHeaderIcons,\n selectedHeightOption,\n conditionalStyleFormats\n } = convertMetaIntoState(getView().meta, getView().columns!);\n\n if (showHeaderIcons !== undefined) payload.showHeaderIcons = showHeaderIcons;\n if (filterExpression) payload.filterExpression = filterExpression;\n if (sortingOrder) payload.sortingOrder = sortingOrder;\n if (hiddenColumns) payload.hiddenColumns = hiddenColumns;\n if (aggregationInfo) payload.aggregationInfo = aggregationInfo;\n if (groups && getView().meta.grouping) payload.groups = groups;\n if (selectedHeightOption) payload.selectedHeightOption = selectedHeightOption;\n if (conditionalStyleFormats) payload.conditionalStyleFormats = conditionalStyleFormats;\n\n payload.template = getView().meta.template;\n payload.presetId = getView().meta.id;\n }\n dispatch(actionHydrateState(payload));\n return null;\n};\n\n/**\n * Hydrates the repeating structure state on bootstrap, following this priority order:\n * 1. {@link RsProps.persistedInfo}\n * 2. Component state from {@link ApiContext.getComponentState}\n * 3. Personalized state from the preset\n * 4. {@link Meta}\n */\nexport default () => {\n const memoizedHydrateComponentState = withMemoization(hydrateComponentState);\n const memoizedHydrate = withMemoization(hydrate);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n memoizedHydrateComponentState([featureProps], []);\n memoizedHydrate([featureProps], [featureProps.getView().meta]);\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"stateSanitization.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateSanitization.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGrE,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EAGT,MAAM,iCAAiC,CAAC;AAoBzC,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAmBT;AACD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,uBAAuB,EAAE,sBAAsB,EAAE,EACjD,SAAS,EAAE,QAAQ,EAAE,4BAQtB;AAoLD;;;;;;;;;;;;;;;GAeG;+BAIuB,cAAc,wBAAwB;AAHhE,wBAOE"}
1
+ {"version":3,"file":"stateSanitization.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateSanitization.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGrE,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EAGT,MAAM,iCAAiC,CAAC;AAoBzC,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAmBT;AAYD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,uBAAuB,EAAE,sBAAsB,EAAE,EACjD,SAAS,EAAE,QAAQ,EAAE,4BAQtB;AAiMD;;;;;;;;;;;;;;;GAeG;+BAIuB,cAAc,wBAAwB;AAHhE,wBAOE"}
@@ -30,6 +30,16 @@ export function findInvalidFieldInFilterRecursively(obj, fieldDefs) {
30
30
  }
31
31
  return found;
32
32
  }
33
+ function sanitizeAdditionalFields(additionalFields, fieldDefs) {
34
+ return additionalFields.filter(({ id }) => {
35
+ const fieldExists = fieldDefs.find(f => f.id === id);
36
+ if (!fieldExists) {
37
+ cleanedUpFieldIds.push(id);
38
+ return false;
39
+ }
40
+ return true;
41
+ });
42
+ }
33
43
  /**
34
44
  * Filter out the conditional style formats that are referencing invalid fields which are not present in {@link Meta.fieldDefs}.
35
45
  * @param conditionalStyleFormats formats to sanitize
@@ -180,6 +190,15 @@ const sanitize = ([{ getView, getState, dispatch }]) => {
180
190
  if (state.conditionalStyleFormats) {
181
191
  payload.conditionalStyleFormats = sanitizeConditionalStyleFormats(state.conditionalStyleFormats, fieldDefs);
182
192
  }
193
+ if (state.groups) {
194
+ payload.groups = state.groups.map(group => {
195
+ if (group.additionalFields) {
196
+ const sanitizedAdditionalFields = sanitizeAdditionalFields(group.additionalFields, fieldDefs);
197
+ group.additionalFields = [...sanitizedAdditionalFields];
198
+ }
199
+ return group;
200
+ });
201
+ }
183
202
  // Log all invalid IDs found in state
184
203
  logInvalidFields(cleanedUpFieldIds);
185
204
  cleanedUpFieldIds = [];
@@ -1 +1 @@
1
- {"version":3,"file":"stateSanitization.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateSanitization.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ExcludeStrict } from '@pega/cosmos-react-core';\n\nimport { DEFAULT_FORMAT } from '../../../constants';\nimport { actionSanitizeState } from '../../../actions/actions';\nimport { logInvalidFields, withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\nimport type { CustomField, State } from '../../../../../types/State.types';\nimport type Column from '../../../generators/ColumnGenerator';\nimport type {\n ConditionalStyleFormat,\n FieldDef,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Meta\n} from '../../../../../types/Meta.types';\n\nlet cleanedUpFieldIds: string[] = [];\nconst SANITIZE_PROPERTIES = [\n 'sortingOrder',\n 'freezeColumns',\n 'hiddenColumns',\n 'columnWidths',\n 'colOrder',\n 'aggregationInfo',\n 'groups'\n] satisfies (keyof State)[];\n\ntype PropertiesValue = State[(typeof SANITIZE_PROPERTIES)[number]];\ntype ObjectTypes<T> = T extends object ? (T extends any[] ? never : T) : never;\ntype ArrayTypes<T> = T extends any[] ? T : never;\n\ntype ObjectPropertiesValue = ObjectTypes<PropertiesValue>;\ntype ArrayPropertiesValue = ArrayTypes<PropertiesValue>;\n\nexport function findInvalidFieldInFilterRecursively(\n obj: Record<string, any>,\n fieldDefs: FieldDef[]\n): boolean {\n let found = false;\n // Todo: comeback to this if ISSUE-79362 is resolved\n // for now using name rather than ID to check for filterExpression as FE uses name rather than ID\n if (obj?.field && !fieldDefs.find(f => f.name === obj.field)) {\n cleanedUpFieldIds.push(obj.field);\n found = true;\n // THe field is not in fieldDefs? so return true saying found an invalid entry\n return found;\n }\n\n if (obj && typeof obj === 'object') {\n // DO we have the field in children? If Yes return true\n return Object.keys(obj).some(i => {\n found = findInvalidFieldInFilterRecursively(obj[i], fieldDefs);\n return found;\n });\n }\n return found;\n}\n/**\n * Filter out the conditional style formats that are referencing invalid fields which are not present in {@link Meta.fieldDefs}.\n * @param conditionalStyleFormats formats to sanitize\n * @param fieldDefs valid {@link Meta.fieldDefs}\n * @returns sanitized formats.\n */\nexport function sanitizeConditionalStyleFormats(\n conditionalStyleFormats: ConditionalStyleFormat[],\n fieldDefs: FieldDef[]\n) {\n return conditionalStyleFormats.filter(({ condition, fieldName }) => {\n return (\n !findInvalidFieldInFilterRecursively(condition, fieldDefs) &&\n fieldDefs.some(fieldDef => fieldDef.name === fieldName)\n );\n });\n}\n\nfunction sanitizeArray(columns: Column[], state: State, prop: keyof State): ArrayPropertiesValue {\n let modified = false;\n const items = [...(state[prop] as ArrayPropertiesValue)];\n const isObject = typeof items[0] === 'object';\n for (let i = items.length - 1; i >= 0; i -= 1) {\n if (\n !columns.find(\n col =>\n `${col.field.id}` ===\n (isObject\n ? (items[i] as ExcludeStrict<ArrayPropertiesValue[number], string>).columnId\n : items[i])\n )\n ) {\n const removedItem = items.splice(i, 1);\n cleanedUpFieldIds.push(\n isObject\n ? (removedItem[0] as ExcludeStrict<ArrayPropertiesValue[number], string>)?.columnId\n : (removedItem[0] as string)\n );\n modified = true;\n }\n }\n if (!modified) {\n return state[prop] as ArrayPropertiesValue;\n }\n return items as ArrayPropertiesValue;\n}\n\nfunction sanitizeObject(columns: Column[], state: State, prop: keyof State): ObjectPropertiesValue {\n let modified = false;\n const items = { ...(state[prop] as ObjectPropertiesValue) };\n Object.keys(items).forEach(id => {\n if (!columns.find(col => `${col.field.id}` === id)) {\n cleanedUpFieldIds.push(id);\n delete items[id];\n modified = true;\n }\n });\n if (!modified) {\n return state[prop] as ObjectPropertiesValue;\n }\n return items;\n}\n\nfunction processCustomFields(customFields: CustomField[], fieldDefs: FieldDef[]) {\n let modified = false;\n for (let i = customFields.length - 1; i >= 0; i -= 1) {\n // if any field is missing in a custom column expression , remove that column.\n const { expression } = customFields[i];\n const fieldIdsInCustomField = expression.filter(e => !Array.isArray(e));\n const staleFieldIds = fieldIdsInCustomField.filter(\n id => !fieldDefs.find(f => `${f.id}` === id)\n );\n if (staleFieldIds && staleFieldIds.length) {\n cleanedUpFieldIds.push(...(staleFieldIds as string[]));\n modified = true;\n customFields.splice(i, 1);\n }\n }\n\n return modified;\n}\n\n// TODO: As of today this only handles switching to default format if renderformatter is removed. It does not remove renderformatter for a column from state if the column is removed from meta.\nfunction sanitizedRenderFormatter(\n renderFormatter: NonNullable<State['renderFormatter']>,\n columns: Column[]\n): boolean {\n let modified = false;\n Object.keys(renderFormatter).forEach(fieldId => {\n const column = columns.find(c => c.field.name === fieldId);\n if (column) {\n const columnRenderFormatters = column.getRenderFormatters() || [];\n const selectedRenderFormatter = renderFormatter[fieldId];\n if (!columnRenderFormatters.find(crf => crf.value === selectedRenderFormatter)) {\n const defaultRenderFormatter = columnRenderFormatters.find(\n crf => crf.label === DEFAULT_FORMAT\n );\n renderFormatter[fieldId] = defaultRenderFormatter?.value || DEFAULT_FORMAT;\n cleanedUpFieldIds.push(fieldId);\n modified = true;\n }\n }\n });\n return modified;\n}\n\nfunction getType(obj: State, prop: keyof State): number {\n if (obj[prop]) {\n if (Array.isArray(obj[prop])) {\n // Array.\n return 1;\n }\n // object.\n return 2;\n }\n return 0;\n}\nfunction sanitizeProperties(properties: (keyof State)[], state: State, columns: Column[]) {\n return properties.reduce<State>((acc, p) => {\n const type = getType(state, p);\n if (type === 1) {\n const sanitizedArray = sanitizeArray(columns, state, p);\n if (sanitizedArray !== state[p]) {\n (acc[p] as ArrayPropertiesValue) = sanitizedArray;\n }\n } else if (type === 2) {\n const sanitizedObject = sanitizeObject(columns, state, p);\n if (sanitizedObject !== state[p]) {\n (acc[p] as Record<string, number>) = sanitizedObject;\n }\n } else {\n // No-action as we are not worried about sanitization to scalar props in state\n // most of the state we are worried about is array or object\n }\n return acc;\n }, {} satisfies State);\n}\n\nconst sanitize = ([{ getView, getState, dispatch }]: [featureProps: BeforeRenderFeatureProps]) => {\n const state = { ...getState() };\n const { fieldDefs } = getView().meta;\n\n // sanitize state with simple array and object structures with one level\n const payload = sanitizeProperties(SANITIZE_PROPERTIES, state, getView().columns!);\n\n // sanitize Custom Fields\n if (state.customFields && state.customFields.length > 0) {\n const customFields = [...state.customFields];\n if (processCustomFields(customFields, fieldDefs)) {\n payload.customFields = customFields;\n }\n }\n\n // sanitize filterExpression\n if (\n state.filterExpression &&\n findInvalidFieldInFilterRecursively(state.filterExpression, fieldDefs)\n ) {\n payload.filterExpression = undefined;\n }\n\n // sanitize hierarchicalGroup\n if (state.hierarchicalGroup) {\n const ids = [state.hierarchicalGroup.columnId, state.hierarchicalGroup.targetId];\n ids.forEach(id => {\n if (!fieldDefs.find(field => field.id === id)) {\n payload.hierarchicalGroup = {};\n }\n });\n }\n\n if (state.renderFormatter) {\n const renderFormatter = { ...state.renderFormatter };\n if (sanitizedRenderFormatter(renderFormatter, getView().columns!)) {\n payload.renderFormatter = renderFormatter;\n }\n }\n\n // Sanitize conditionalStyleFormats\n if (state.conditionalStyleFormats) {\n payload.conditionalStyleFormats = sanitizeConditionalStyleFormats(\n state.conditionalStyleFormats,\n fieldDefs\n );\n }\n\n // Log all invalid IDs found in state\n logInvalidFields(cleanedUpFieldIds);\n cleanedUpFieldIds = [];\n\n // Dispatch payload only if there is something to sanitize in state\n if (Object.keys(payload).length !== 0) {\n dispatch(actionSanitizeState(payload));\n }\n};\n\n/**\n * Sanitizes the RS state using the preset {@link Meta} information. Fields defined in {@link FieldDef} that are not included in the preset {@link Meta} but are part of the following {@link State} slices are removed:\n * - {@link State.sortingOrder}\n * - {@link State.freezeColumns}\n * - {@link State.hiddenColumns}\n * - {@link State.columnWidths}\n * - {@link State.colOrder}\n * - {@link State.aggregationInfo}\n * - {@link State.groups}\n * - {@link State.renderFormatter}\n * - {@link State.hierarchicalGroup}\n * - {@link State.filterExpression}\n * - {@link State.conditionalStyleFormats}\n *\n * This operation is triggered when {@link State.personalization.active} or {@link State.customFields} is updated.\n */\nexport default () => {\n const memoizedSanitize = withMemoization(sanitize);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const state = featureProps.getState();\n memoizedSanitize([featureProps], [state.customFields, state.personalization?.active]);\n };\n};\n"]}
1
+ {"version":3,"file":"stateSanitization.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateSanitization.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ExcludeStrict } from '@pega/cosmos-react-core';\n\nimport { DEFAULT_FORMAT } from '../../../constants';\nimport { actionSanitizeState } from '../../../actions/actions';\nimport { logInvalidFields, withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\nimport type { CustomField, GroupAdditionalField, State } from '../../../../../types/State.types';\nimport type Column from '../../../generators/ColumnGenerator';\nimport type {\n ConditionalStyleFormat,\n FieldDef,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Meta\n} from '../../../../../types/Meta.types';\n\nlet cleanedUpFieldIds: string[] = [];\nconst SANITIZE_PROPERTIES = [\n 'sortingOrder',\n 'freezeColumns',\n 'hiddenColumns',\n 'columnWidths',\n 'colOrder',\n 'aggregationInfo',\n 'groups'\n] satisfies (keyof State)[];\n\ntype PropertiesValue = State[(typeof SANITIZE_PROPERTIES)[number]];\ntype ObjectTypes<T> = T extends object ? (T extends any[] ? never : T) : never;\ntype ArrayTypes<T> = T extends any[] ? T : never;\n\ntype ObjectPropertiesValue = ObjectTypes<PropertiesValue>;\ntype ArrayPropertiesValue = ArrayTypes<PropertiesValue>;\n\nexport function findInvalidFieldInFilterRecursively(\n obj: Record<string, any>,\n fieldDefs: FieldDef[]\n): boolean {\n let found = false;\n // Todo: comeback to this if ISSUE-79362 is resolved\n // for now using name rather than ID to check for filterExpression as FE uses name rather than ID\n if (obj?.field && !fieldDefs.find(f => f.name === obj.field)) {\n cleanedUpFieldIds.push(obj.field);\n found = true;\n // THe field is not in fieldDefs? so return true saying found an invalid entry\n return found;\n }\n\n if (obj && typeof obj === 'object') {\n // DO we have the field in children? If Yes return true\n return Object.keys(obj).some(i => {\n found = findInvalidFieldInFilterRecursively(obj[i], fieldDefs);\n return found;\n });\n }\n return found;\n}\n\nfunction sanitizeAdditionalFields(additionalFields: GroupAdditionalField[], fieldDefs: FieldDef[]) {\n return additionalFields.filter(({ id }) => {\n const fieldExists = fieldDefs.find(f => f.id === id);\n if (!fieldExists) {\n cleanedUpFieldIds.push(id);\n return false;\n }\n return true;\n });\n}\n/**\n * Filter out the conditional style formats that are referencing invalid fields which are not present in {@link Meta.fieldDefs}.\n * @param conditionalStyleFormats formats to sanitize\n * @param fieldDefs valid {@link Meta.fieldDefs}\n * @returns sanitized formats.\n */\nexport function sanitizeConditionalStyleFormats(\n conditionalStyleFormats: ConditionalStyleFormat[],\n fieldDefs: FieldDef[]\n) {\n return conditionalStyleFormats.filter(({ condition, fieldName }) => {\n return (\n !findInvalidFieldInFilterRecursively(condition, fieldDefs) &&\n fieldDefs.some(fieldDef => fieldDef.name === fieldName)\n );\n });\n}\n\nfunction sanitizeArray(columns: Column[], state: State, prop: keyof State): ArrayPropertiesValue {\n let modified = false;\n const items = [...(state[prop] as ArrayPropertiesValue)];\n const isObject = typeof items[0] === 'object';\n for (let i = items.length - 1; i >= 0; i -= 1) {\n if (\n !columns.find(\n col =>\n `${col.field.id}` ===\n (isObject\n ? (items[i] as ExcludeStrict<ArrayPropertiesValue[number], string>).columnId\n : items[i])\n )\n ) {\n const removedItem = items.splice(i, 1);\n cleanedUpFieldIds.push(\n isObject\n ? (removedItem[0] as ExcludeStrict<ArrayPropertiesValue[number], string>)?.columnId\n : (removedItem[0] as string)\n );\n modified = true;\n }\n }\n if (!modified) {\n return state[prop] as ArrayPropertiesValue;\n }\n return items as ArrayPropertiesValue;\n}\n\nfunction sanitizeObject(columns: Column[], state: State, prop: keyof State): ObjectPropertiesValue {\n let modified = false;\n const items = { ...(state[prop] as ObjectPropertiesValue) };\n Object.keys(items).forEach(id => {\n if (!columns.find(col => `${col.field.id}` === id)) {\n cleanedUpFieldIds.push(id);\n delete items[id];\n modified = true;\n }\n });\n if (!modified) {\n return state[prop] as ObjectPropertiesValue;\n }\n return items;\n}\n\nfunction processCustomFields(customFields: CustomField[], fieldDefs: FieldDef[]) {\n let modified = false;\n for (let i = customFields.length - 1; i >= 0; i -= 1) {\n // if any field is missing in a custom column expression , remove that column.\n const { expression } = customFields[i];\n const fieldIdsInCustomField = expression.filter(e => !Array.isArray(e));\n const staleFieldIds = fieldIdsInCustomField.filter(\n id => !fieldDefs.find(f => `${f.id}` === id)\n );\n if (staleFieldIds && staleFieldIds.length) {\n cleanedUpFieldIds.push(...(staleFieldIds as string[]));\n modified = true;\n customFields.splice(i, 1);\n }\n }\n\n return modified;\n}\n\n// TODO: As of today this only handles switching to default format if renderformatter is removed. It does not remove renderformatter for a column from state if the column is removed from meta.\nfunction sanitizedRenderFormatter(\n renderFormatter: NonNullable<State['renderFormatter']>,\n columns: Column[]\n): boolean {\n let modified = false;\n Object.keys(renderFormatter).forEach(fieldId => {\n const column = columns.find(c => c.field.name === fieldId);\n if (column) {\n const columnRenderFormatters = column.getRenderFormatters() || [];\n const selectedRenderFormatter = renderFormatter[fieldId];\n if (!columnRenderFormatters.find(crf => crf.value === selectedRenderFormatter)) {\n const defaultRenderFormatter = columnRenderFormatters.find(\n crf => crf.label === DEFAULT_FORMAT\n );\n renderFormatter[fieldId] = defaultRenderFormatter?.value || DEFAULT_FORMAT;\n cleanedUpFieldIds.push(fieldId);\n modified = true;\n }\n }\n });\n return modified;\n}\n\nfunction getType(obj: State, prop: keyof State): number {\n if (obj[prop]) {\n if (Array.isArray(obj[prop])) {\n // Array.\n return 1;\n }\n // object.\n return 2;\n }\n return 0;\n}\nfunction sanitizeProperties(properties: (keyof State)[], state: State, columns: Column[]) {\n return properties.reduce<State>((acc, p) => {\n const type = getType(state, p);\n if (type === 1) {\n const sanitizedArray = sanitizeArray(columns, state, p);\n if (sanitizedArray !== state[p]) {\n (acc[p] as ArrayPropertiesValue) = sanitizedArray;\n }\n } else if (type === 2) {\n const sanitizedObject = sanitizeObject(columns, state, p);\n if (sanitizedObject !== state[p]) {\n (acc[p] as Record<string, number>) = sanitizedObject;\n }\n } else {\n // No-action as we are not worried about sanitization to scalar props in state\n // most of the state we are worried about is array or object\n }\n return acc;\n }, {} satisfies State);\n}\n\nconst sanitize = ([{ getView, getState, dispatch }]: [featureProps: BeforeRenderFeatureProps]) => {\n const state = { ...getState() };\n const { fieldDefs } = getView().meta;\n\n // sanitize state with simple array and object structures with one level\n const payload = sanitizeProperties(SANITIZE_PROPERTIES, state, getView().columns!);\n\n // sanitize Custom Fields\n if (state.customFields && state.customFields.length > 0) {\n const customFields = [...state.customFields];\n if (processCustomFields(customFields, fieldDefs)) {\n payload.customFields = customFields;\n }\n }\n\n // sanitize filterExpression\n if (\n state.filterExpression &&\n findInvalidFieldInFilterRecursively(state.filterExpression, fieldDefs)\n ) {\n payload.filterExpression = undefined;\n }\n\n // sanitize hierarchicalGroup\n if (state.hierarchicalGroup) {\n const ids = [state.hierarchicalGroup.columnId, state.hierarchicalGroup.targetId];\n ids.forEach(id => {\n if (!fieldDefs.find(field => field.id === id)) {\n payload.hierarchicalGroup = {};\n }\n });\n }\n\n if (state.renderFormatter) {\n const renderFormatter = { ...state.renderFormatter };\n if (sanitizedRenderFormatter(renderFormatter, getView().columns!)) {\n payload.renderFormatter = renderFormatter;\n }\n }\n\n // Sanitize conditionalStyleFormats\n if (state.conditionalStyleFormats) {\n payload.conditionalStyleFormats = sanitizeConditionalStyleFormats(\n state.conditionalStyleFormats,\n fieldDefs\n );\n }\n\n if (state.groups) {\n payload.groups = state.groups.map(group => {\n if (group.additionalFields) {\n const sanitizedAdditionalFields = sanitizeAdditionalFields(\n group.additionalFields,\n fieldDefs\n );\n group.additionalFields = [...sanitizedAdditionalFields];\n }\n return group;\n });\n }\n\n // Log all invalid IDs found in state\n logInvalidFields(cleanedUpFieldIds);\n cleanedUpFieldIds = [];\n\n // Dispatch payload only if there is something to sanitize in state\n if (Object.keys(payload).length !== 0) {\n dispatch(actionSanitizeState(payload));\n }\n};\n\n/**\n * Sanitizes the RS state using the preset {@link Meta} information. Fields defined in {@link FieldDef} that are not included in the preset {@link Meta} but are part of the following {@link State} slices are removed:\n * - {@link State.sortingOrder}\n * - {@link State.freezeColumns}\n * - {@link State.hiddenColumns}\n * - {@link State.columnWidths}\n * - {@link State.colOrder}\n * - {@link State.aggregationInfo}\n * - {@link State.groups}\n * - {@link State.renderFormatter}\n * - {@link State.hierarchicalGroup}\n * - {@link State.filterExpression}\n * - {@link State.conditionalStyleFormats}\n *\n * This operation is triggered when {@link State.personalization.active} or {@link State.customFields} is updated.\n */\nexport default () => {\n const memoizedSanitize = withMemoization(sanitize);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const state = featureProps.getState();\n memoizedSanitize([featureProps], [state.customFields, state.personalization?.active]);\n };\n};\n"]}
@@ -1,4 +1,3 @@
1
- import resizeGroupedDragDropColumn from './beforeRender/resizeGroupedDragDropColumn';
2
1
  import scrollToTop from './beforeRender/scrollToTop';
3
2
  declare const _default: {
4
3
  beforeRender: {
@@ -9,7 +8,6 @@ declare const _default: {
9
8
  animation: (rsInternal: import("../../RsInternal").default) => void;
10
9
  rowHeight: () => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => void;
11
10
  grouping: (rsInternal: import("../../RsInternal").default) => ((featureProps: import("../featureFactory").BeforeRenderFeatureProps) => Promise<void>) | undefined;
12
- resizeGroupedDragDropColumn: typeof resizeGroupedDragDropColumn;
13
11
  filter: () => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => void;
14
12
  customColumn: () => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => void;
15
13
  personalization: (rsInternal: import("../../RsInternal").default) => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => Promise<void> | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/features/uIFeatures/index.ts"],"names":[],"mappings":"AAiBA,OAAO,2BAA2B,MAAM,4CAA4C,CAAC;AAuBrF,OAAO,WAAW,MAAM,4BAA4B,CAAC;;;4EANrD,kEAAqC;6BAlBhC,kEAAsC;6BA2Eq3D,kEAAsC;uBAnB37D,kEACe;;0BAxDU,kEAAsC;;;uBActC,kEAC5B;6BA2DqO,kEAAsC;;4BAlE7O,kEACtB;8BAiEw1L,kEAAsC;kCAnC14L,kEAEA;6BAvCc,kEAClB;2BASoB,kEAAsC;2EA8DyzC,kEAAsC;yCA5D11C,kEAC5B;+BA2D6yG,kEAAsC;4BAxDt2G,kEAAsC;kCAwD0qL,kEAAsC;;;gCArE9sL,kEAC5B;kCAJD,kEAClB;4BAgDD,kEAEN;qBAqBitC,kEAAsC;kCAvE5qC,kEAC1C;sCAQrB,kEAAsC;0EA8Dw/N,kEAAsC;wEAAh1H,kEAAsC;wCAlDpuG,kEAGxD;4BA8BG,kEAEM;6BAjEyC,kEAC5B;sEAwBhC,kEAAsC;2BAkDhC,kEACQ;4BA/DF,kEAAsC;;uCAmEirB,kEAAsC;;;0BAA6qC,sDAA0B;iCAAiwC,sDAA0B;yCA/D9sG,sDAA0B;;;AAezD,wBA+CE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/features/uIFeatures/index.ts"],"names":[],"mappings":"AAuCA,OAAO,WAAW,MAAM,4BAA4B,CAAC;;;4EALb,kEACpB;6BAnBf,kEAAsC;6BAyE4+D,kEAAsC;uBAbzjE,kEAEK;;0BAxD2C,kEAChB;;uBAQoB,kEACpC;6BAyDgV,kEAAsC;;4BA/DhY,kEACF;8BA8D67L,kEAAsC;kCA7Bj+L,kEACQ;6BA1C8B,kEAC1C;2BASyC,kEAChB;2EA2D28C,kEAAsC;yCAzDvgD,kEAAsC;+BAyD+8G,kEAAsC;4BArD/gH,kEACR;kCAoDs/M,kEAAsC;;;gCAlEnhN,kEAChB;kCALmD,kEAC1C;4BAoDT,kEAEM;qBAe8zC,kEAAsC;kCApEz1C,kEAAsC;sCAQpB,kEAChB;0EA2Du+O,kEAAsC;wEAA7qI,kEAAsC;wCA3C15G,kEAEQ;4BA+BJ,kEAEI;6BAtEiD,kEAC5B;sEAwBF,kEACR;2BAoDe,kEAAsC;4BAjE/B,kEACtB;;uCAgEo0B,kEAAsC;;;0BAA6qC,sDAA0B;iCAAywD,sDAA0B;yCA5D52H,sDAA0B;;;AAa1B,wBA8CE"}
@@ -15,7 +15,6 @@ import customizeParentContainer from './afterRender/customizeParentContainer';
15
15
  import columnSizing from './beforeRender/columnSizing';
16
16
  import columnResize from './beforeRender/columnSizing/resize';
17
17
  import grouping from './beforeRender/grouping';
18
- import resizeGroupedDragDropColumn from './beforeRender/resizeGroupedDragDropColumn';
19
18
  import filter from './beforeRender/filter';
20
19
  import adjustHeight from './beforeRender/adjustHeight';
21
20
  import adjustHeightToFitRecords from './beforeRender/adjustHeightToFitRecords';
@@ -49,7 +48,6 @@ export default {
49
48
  animation: preAnimation,
50
49
  rowHeight,
51
50
  grouping,
52
- resizeGroupedDragDropColumn,
53
51
  filter,
54
52
  customColumn,
55
53
  personalization,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/features/uIFeatures/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,wBAAwB,MAAM,wCAAwC,CAAC;AAC9E,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAC9D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,2BAA2B,MAAM,4CAA4C,CAAC;AACrF,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,wBAAwB,MAAM,yCAAyC,CAAC;AAC/E,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AACzE,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAC7E,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAE3E,eAAe;IACb,YAAY,EAAE;QACZ,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,MAAM;QACN,SAAS,EAAE,YAAY;QACvB,SAAS;QACT,QAAQ;QACR,2BAA2B;QAC3B,MAAM;QACN,YAAY;QACZ,eAAe;QACf,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,YAAY;QACZ,UAAU;QACV,YAAY;QACZ,wBAAwB;QACxB,cAAc;QACd,WAAW;QACX,iBAAiB;QACjB,WAAW;QACX,cAAc;QACd,eAAe;QACf,iBAAiB;QACjB,WAAW;QACX,IAAI;QACJ,iBAAiB;QACjB,qBAAqB;QACrB,WAAW;QACX,SAAS;QACT,uBAAuB;QACvB,WAAW;QACX,YAAY;QACZ,OAAO;QACP,UAAU;QACV,WAAW;QACX,WAAW;QACX,sBAAsB;KACvB;IACD,WAAW,EAAE;QACX,SAAS,EAAE,aAAa;QACxB,gBAAgB;QAChB,wBAAwB;KACzB;CACF,CAAC","sourcesContent":["import freeze from './beforeRender/freeze';\nimport preAnimation from './beforeRender/animation';\nimport rowHeight from './beforeRender/rowHeight';\nimport columnOrder from './beforeRender/columnOrder';\nimport columnVisualOrder from './beforeRender/columnVisualOrder';\nimport columnReOrder from './beforeRender/columnReOrder';\nimport personalization from './beforeRender/personalization';\nimport customColumn from './beforeRender/customColumn';\nimport columnToggle from './beforeRender/columnToggle';\nimport columnSort from './beforeRender/columnSort';\nimport columnFormatter from './beforeRender/columnFormatter';\nimport ColumnDisplayMode from './beforeRender/columnDisplayMode';\nimport postAnimation from './afterRender/animation';\nimport customizeParentContainer from './afterRender/customizeParentContainer';\nimport columnSizing from './beforeRender/columnSizing';\nimport columnResize from './beforeRender/columnSizing/resize';\nimport grouping from './beforeRender/grouping';\nimport resizeGroupedDragDropColumn from './beforeRender/resizeGroupedDragDropColumn';\nimport filter from './beforeRender/filter';\nimport adjustHeight from './beforeRender/adjustHeight';\nimport adjustHeightToFitRecords from './beforeRender/adjustHeightToFitRecords';\nimport stateHydration from './beforeRender/stateHydration';\nimport stateSanitization from './beforeRender/stateSanitization';\nimport aggregation from './beforeRender/aggregation';\nimport prepareRows from './beforeRender/prepareRows';\nimport prepareColumns from './beforeRender/prepareColumns';\nimport columnAlias from './beforeRender/columnAlias';\nimport edit from './beforeRender/edit';\nimport busyIndicator from './beforeRender/busyIndicator';\nimport columnAutoSizing from './afterRender/columnSizing';\nimport rowDragDrop from './beforeRender/rowDragDrop';\nimport toggleHeaderIcons from './beforeRender/toggleHeaderIcons';\nimport changePersonalisation from './beforeRender/changePersonalisation';\nimport rowSelect from './beforeRender/rowSelect';\nimport toggleSelectAllCheckbox from './beforeRender/toggleSelectAllCheckbox';\nimport moveRecords from './beforeRender/moveListRecords';\nimport renderHeader from './beforeRender/renderHeader';\nimport refresh from './beforeRender/refresh';\nimport resetFetch from './beforeRender/resetFetch';\nimport errorColumn from './beforeRender/errorColumn';\nimport scrollToTop from './beforeRender/scrollToTop';\nimport conditionalStyleFormat from './beforeRender/conditionalStyleFormat';\n\nexport default {\n beforeRender: {\n busyIndicator,\n columnSizing,\n columnResize,\n freeze,\n animation: preAnimation,\n rowHeight,\n grouping,\n resizeGroupedDragDropColumn,\n filter,\n customColumn,\n personalization,\n columnOrder,\n columnReOrder,\n columnVisualOrder,\n columnToggle,\n columnSort,\n adjustHeight,\n adjustHeightToFitRecords,\n stateHydration,\n aggregation,\n stateSanitization,\n prepareRows,\n prepareColumns,\n columnFormatter,\n ColumnDisplayMode,\n columnAlias,\n edit,\n toggleHeaderIcons,\n changePersonalisation,\n rowDragDrop,\n rowSelect,\n toggleSelectAllCheckbox,\n moveRecords,\n renderHeader,\n refresh,\n resetFetch,\n errorColumn,\n scrollToTop,\n conditionalStyleFormat\n },\n afterRender: {\n animation: postAnimation,\n columnAutoSizing,\n customizeParentContainer\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/features/uIFeatures/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,wBAAwB,MAAM,wCAAwC,CAAC;AAC9E,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAC9D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,wBAAwB,MAAM,yCAAyC,CAAC;AAC/E,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AACzE,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAC7E,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAE3E,eAAe;IACb,YAAY,EAAE;QACZ,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,MAAM;QACN,SAAS,EAAE,YAAY;QACvB,SAAS;QACT,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,eAAe;QACf,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,YAAY;QACZ,UAAU;QACV,YAAY;QACZ,wBAAwB;QACxB,cAAc;QACd,WAAW;QACX,iBAAiB;QACjB,WAAW;QACX,cAAc;QACd,eAAe;QACf,iBAAiB;QACjB,WAAW;QACX,IAAI;QACJ,iBAAiB;QACjB,qBAAqB;QACrB,WAAW;QACX,SAAS;QACT,uBAAuB;QACvB,WAAW;QACX,YAAY;QACZ,OAAO;QACP,UAAU;QACV,WAAW;QACX,WAAW;QACX,sBAAsB;KACvB;IACD,WAAW,EAAE;QACX,SAAS,EAAE,aAAa;QACxB,gBAAgB;QAChB,wBAAwB;KACzB;CACF,CAAC","sourcesContent":["import freeze from './beforeRender/freeze';\nimport preAnimation from './beforeRender/animation';\nimport rowHeight from './beforeRender/rowHeight';\nimport columnOrder from './beforeRender/columnOrder';\nimport columnVisualOrder from './beforeRender/columnVisualOrder';\nimport columnReOrder from './beforeRender/columnReOrder';\nimport personalization from './beforeRender/personalization';\nimport customColumn from './beforeRender/customColumn';\nimport columnToggle from './beforeRender/columnToggle';\nimport columnSort from './beforeRender/columnSort';\nimport columnFormatter from './beforeRender/columnFormatter';\nimport ColumnDisplayMode from './beforeRender/columnDisplayMode';\nimport postAnimation from './afterRender/animation';\nimport customizeParentContainer from './afterRender/customizeParentContainer';\nimport columnSizing from './beforeRender/columnSizing';\nimport columnResize from './beforeRender/columnSizing/resize';\nimport grouping from './beforeRender/grouping';\nimport filter from './beforeRender/filter';\nimport adjustHeight from './beforeRender/adjustHeight';\nimport adjustHeightToFitRecords from './beforeRender/adjustHeightToFitRecords';\nimport stateHydration from './beforeRender/stateHydration';\nimport stateSanitization from './beforeRender/stateSanitization';\nimport aggregation from './beforeRender/aggregation';\nimport prepareRows from './beforeRender/prepareRows';\nimport prepareColumns from './beforeRender/prepareColumns';\nimport columnAlias from './beforeRender/columnAlias';\nimport edit from './beforeRender/edit';\nimport busyIndicator from './beforeRender/busyIndicator';\nimport columnAutoSizing from './afterRender/columnSizing';\nimport rowDragDrop from './beforeRender/rowDragDrop';\nimport toggleHeaderIcons from './beforeRender/toggleHeaderIcons';\nimport changePersonalisation from './beforeRender/changePersonalisation';\nimport rowSelect from './beforeRender/rowSelect';\nimport toggleSelectAllCheckbox from './beforeRender/toggleSelectAllCheckbox';\nimport moveRecords from './beforeRender/moveListRecords';\nimport renderHeader from './beforeRender/renderHeader';\nimport refresh from './beforeRender/refresh';\nimport resetFetch from './beforeRender/resetFetch';\nimport errorColumn from './beforeRender/errorColumn';\nimport scrollToTop from './beforeRender/scrollToTop';\nimport conditionalStyleFormat from './beforeRender/conditionalStyleFormat';\n\nexport default {\n beforeRender: {\n busyIndicator,\n columnSizing,\n columnResize,\n freeze,\n animation: preAnimation,\n rowHeight,\n grouping,\n filter,\n customColumn,\n personalization,\n columnOrder,\n columnReOrder,\n columnVisualOrder,\n columnToggle,\n columnSort,\n adjustHeight,\n adjustHeightToFitRecords,\n stateHydration,\n aggregation,\n stateSanitization,\n prepareRows,\n prepareColumns,\n columnFormatter,\n ColumnDisplayMode,\n columnAlias,\n edit,\n toggleHeaderIcons,\n changePersonalisation,\n rowDragDrop,\n rowSelect,\n toggleSelectAllCheckbox,\n moveRecords,\n renderHeader,\n refresh,\n resetFetch,\n errorColumn,\n scrollToTop,\n conditionalStyleFormat\n },\n afterRender: {\n animation: postAnimation,\n columnAutoSizing,\n customizeParentContainer\n }\n};\n"]}
@@ -144,7 +144,7 @@ export default class Column {
144
144
  * Returns the formatters available for the current column from
145
145
  * {@link RsProps.renderFormatterTypeMap renderFormatterTypeMap} based on its {@link FieldDef.type type}
146
146
  */
147
- getRenderFormatters(): import("../../../types/RsCoreBootArgs.types").RenderFormatterType[] | undefined;
147
+ getRenderFormatters(): import("../../../types/RsCoreBootArgs.types").RenderFormatterType[];
148
148
  /** Returns the sorting information for the current column. */
149
149
  getSortProperties(): {
150
150
  sorted: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ColumnGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColumnGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ColumnGenerator.ts"],"names":[],"mappings":"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"}
@@ -299,7 +299,8 @@ export default class Column {
299
299
  * {@link RsProps.renderFormatterTypeMap renderFormatterTypeMap} based on its {@link FieldDef.type type}
300
300
  */
301
301
  getRenderFormatters() {
302
- return this.parent.renderFormatterTypeMap?.[this.field.type];
302
+ const formattersForType = this.parent.renderFormatterTypeMap?.[this.field.type] || [];
303
+ return this.field.formatters ?? formattersForType;
303
304
  }
304
305
  /** Returns the sorting information for the current column. */
305
306
  getSortProperties() {