@pega/lists-core 9.0.0-build.2.9 → 9.0.0-build.20.1
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.
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/src/core/StateResolver.d.ts.map +1 -1
- package/lib/src/core/StateResolver.js +6 -2
- package/lib/src/core/StateResolver.js.map +1 -1
- package/lib/src/core/a11y/BaseA11y.d.ts +11 -0
- package/lib/src/core/a11y/BaseA11y.d.ts.map +1 -1
- package/lib/src/core/a11y/BaseA11y.js +17 -0
- package/lib/src/core/a11y/BaseA11y.js.map +1 -1
- package/lib/src/core/actions/actionConstants.d.ts +1 -3
- package/lib/src/core/actions/actionConstants.d.ts.map +1 -1
- package/lib/src/core/actions/actionConstants.js +1 -3
- package/lib/src/core/actions/actionConstants.js.map +1 -1
- package/lib/src/core/actions/actions.d.ts +6 -18
- package/lib/src/core/actions/actions.d.ts.map +1 -1
- package/lib/src/core/actions/actions.js +7 -25
- package/lib/src/core/actions/actions.js.map +1 -1
- package/lib/src/core/actions/actions.types.d.ts +8 -17
- package/lib/src/core/actions/actions.types.d.ts.map +1 -1
- package/lib/src/core/actions/actions.types.js.map +1 -1
- package/lib/src/core/config/config.d.ts.map +1 -1
- package/lib/src/core/config/config.js +2 -1
- package/lib/src/core/config/config.js.map +1 -1
- package/lib/src/core/constants.d.ts +11 -101
- package/lib/src/core/constants.d.ts.map +1 -1
- package/lib/src/core/constants.js +8 -8
- package/lib/src/core/constants.js.map +1 -1
- package/lib/src/core/defaultTranslations.d.ts +6 -1
- package/lib/src/core/defaultTranslations.d.ts.map +1 -1
- package/lib/src/core/defaultTranslations.js +6 -1
- package/lib/src/core/defaultTranslations.js.map +1 -1
- package/lib/src/core/features/featureFactory.d.ts +1 -1
- package/lib/src/core/features/featureFactory.d.ts.map +1 -1
- package/lib/src/core/features/featureFactory.js +0 -2
- package/lib/src/core/features/featureFactory.js.map +1 -1
- package/lib/src/core/features/uIFeatures/afterRender/animation.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/afterRender/animation.js +6 -0
- package/lib/src/core/features/uIFeatures/afterRender/animation.js.map +1 -1
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.d.ts +2 -16
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.js +45 -81
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.js.map +1 -1
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js +13 -1
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/aggregation.d.ts +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/aggregation.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/aggregation.js +3 -1
- package/lib/src/core/features/uIFeatures/beforeRender/aggregation.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.d.ts +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.js +3 -1
- package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.js +5 -4
- package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js +2 -3
- package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.d.ts +2 -4
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.js +47 -29
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js +6 -1
- package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/grouping.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/grouping.js +28 -30
- package/lib/src/core/features/uIFeatures/beforeRender/grouping.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.d.ts +2 -0
- package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.js +32 -5
- package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js +11 -3
- package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js +4 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js +2 -1
- package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js +53 -14
- package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js.map +1 -1
- package/lib/src/core/features/uIFeatures/index.d.ts +0 -3
- package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/index.js +0 -4
- package/lib/src/core/features/uIFeatures/index.js.map +1 -1
- package/lib/src/core/generators/ColumnGenerator.d.ts +14 -19
- package/lib/src/core/generators/ColumnGenerator.d.ts.map +1 -1
- package/lib/src/core/generators/ColumnGenerator.js +28 -88
- package/lib/src/core/generators/ColumnGenerator.js.map +1 -1
- package/lib/src/core/generators/ColumnGenerator.types.d.ts +17 -14
- package/lib/src/core/generators/ColumnGenerator.types.d.ts.map +1 -1
- package/lib/src/core/generators/ColumnGenerator.types.js.map +1 -1
- package/lib/src/core/generators/GroupGenerator.d.ts +8 -1
- package/lib/src/core/generators/GroupGenerator.d.ts.map +1 -1
- package/lib/src/core/generators/GroupGenerator.js +24 -1
- package/lib/src/core/generators/GroupGenerator.js.map +1 -1
- package/lib/src/core/generators/RowGenerator.d.ts +1 -1
- package/lib/src/core/generators/RowGenerator.d.ts.map +1 -1
- package/lib/src/core/generators/RowGenerator.js +1 -1
- package/lib/src/core/generators/RowGenerator.js.map +1 -1
- package/lib/src/core/generators/RowGenerator.types.d.ts +2 -1
- package/lib/src/core/generators/RowGenerator.types.d.ts.map +1 -1
- package/lib/src/core/generators/RowGenerator.types.js.map +1 -1
- package/lib/src/core/generators/ViewGenerator.d.ts +6 -1
- package/lib/src/core/generators/ViewGenerator.d.ts.map +1 -1
- package/lib/src/core/generators/ViewGenerator.js +33 -8
- package/lib/src/core/generators/ViewGenerator.js.map +1 -1
- package/lib/src/core/generators/ViewGenerator.types.d.ts +3 -1
- package/lib/src/core/generators/ViewGenerator.types.d.ts.map +1 -1
- package/lib/src/core/generators/ViewGenerator.types.js.map +1 -1
- package/lib/src/core/generators/viewUtilityMethods.d.ts.map +1 -1
- package/lib/src/core/generators/viewUtilityMethods.js +6 -3
- package/lib/src/core/generators/viewUtilityMethods.js.map +1 -1
- package/lib/src/core/reducers/error.d.ts +4 -3
- package/lib/src/core/reducers/error.d.ts.map +1 -1
- package/lib/src/core/reducers/index.d.ts +4 -3
- package/lib/src/core/reducers/index.d.ts.map +1 -1
- package/lib/src/core/reducers/index.js +0 -2
- package/lib/src/core/reducers/index.js.map +1 -1
- package/lib/src/core/reducers/personalizationReducer.d.ts +1 -1
- package/lib/src/core/reducers/renderFormatter.d.ts.map +1 -1
- package/lib/src/core/reducers/renderFormatter.js +13 -3
- package/lib/src/core/reducers/renderFormatter.js.map +1 -1
- package/lib/src/core/test/junitMocks.d.ts +12 -0
- package/lib/src/core/test/junitMocks.d.ts.map +1 -1
- package/lib/src/core/test/junitMocks.js +15 -40
- package/lib/src/core/test/junitMocks.js.map +1 -1
- package/lib/src/core/utils/condition-utils.js +1 -1
- package/lib/src/core/utils/condition-utils.js.map +1 -1
- package/lib/src/core/utils/util.d.ts +3 -7
- package/lib/src/core/utils/util.d.ts.map +1 -1
- package/lib/src/core/utils/util.js +36 -15
- package/lib/src/core/utils/util.js.map +1 -1
- package/lib/types/ApiContext.types.d.ts +82 -6
- package/lib/types/ApiContext.types.d.ts.map +1 -1
- package/lib/types/ApiContext.types.js.map +1 -1
- package/lib/types/Meta.types.d.ts +101 -12
- package/lib/types/Meta.types.d.ts.map +1 -1
- package/lib/types/Meta.types.js +5 -1
- package/lib/types/Meta.types.js.map +1 -1
- package/lib/types/RsCoreBootArgs.types.d.ts +11 -0
- package/lib/types/RsCoreBootArgs.types.d.ts.map +1 -1
- package/lib/types/RsCoreBootArgs.types.js.map +1 -1
- package/lib/types/State.types.d.ts +27 -25
- package/lib/types/State.types.d.ts.map +1 -1
- package/lib/types/State.types.js.map +1 -1
- package/lib/types.d.ts +9 -2
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/package.json +6 -7
- package/lib/src/core/features/uIFeatures/beforeRender/edit.d.ts +0 -12
- package/lib/src/core/features/uIFeatures/beforeRender/edit.d.ts.map +0 -1
- package/lib/src/core/features/uIFeatures/beforeRender/edit.js +0 -94
- package/lib/src/core/features/uIFeatures/beforeRender/edit.js.map +0 -1
- package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts +0 -7
- package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts.map +0 -1
- package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js +0 -24
- package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js.map +0 -1
- package/lib/src/core/reducers/edit.d.ts +0 -5
- package/lib/src/core/reducers/edit.d.ts.map +0 -1
- package/lib/src/core/reducers/edit.js +0 -65
- package/lib/src/core/reducers/edit.js.map +0 -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;
|
|
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;
|
|
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,
|
|
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;
|
|
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;AA6BzC,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAuBT;AAWD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,uBAAuB,EAAE,sBAAsB,EAAE,EACjD,SAAS,EAAE,QAAQ,EAAE,4BAQtB;AA6MD;;;;;;;;;;;;;;;GAeG;+BAIuB,cAAc,wBAAwB;AAHhE,wBAOE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DEFAULT_FORMAT } from '../../../constants';
|
|
2
2
|
import { actionSanitizeState } from '../../../actions/actions';
|
|
3
|
-
import {
|
|
3
|
+
import { withMemoization } from '../../../utils/util';
|
|
4
|
+
// eslint-disable-next-line sonarjs/no-unused-collection
|
|
4
5
|
let cleanedUpFieldIds = [];
|
|
5
6
|
const SANITIZE_PROPERTIES = [
|
|
6
7
|
'sortingOrder',
|
|
@@ -11,15 +12,25 @@ const SANITIZE_PROPERTIES = [
|
|
|
11
12
|
'aggregationInfo',
|
|
12
13
|
'groups'
|
|
13
14
|
];
|
|
15
|
+
const STATE_SLICE_TO_FIELD_FEATURE_MAP = new Map([
|
|
16
|
+
['aggregationInfo', 'aggregation'],
|
|
17
|
+
['sortingOrder', 'sort'],
|
|
18
|
+
['groups', 'grouping'],
|
|
19
|
+
['filterExpression', 'filter'],
|
|
20
|
+
['freezeColumns', 'freeze']
|
|
21
|
+
]);
|
|
14
22
|
export function findInvalidFieldInFilterRecursively(obj, fieldDefs) {
|
|
15
23
|
let found = false;
|
|
16
24
|
// Todo: comeback to this if ISSUE-79362 is resolved
|
|
17
25
|
// for now using name rather than ID to check for filterExpression as FE uses name rather than ID
|
|
18
|
-
if (obj?.field
|
|
19
|
-
|
|
20
|
-
found
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
if (obj?.field) {
|
|
27
|
+
const fieldDef = fieldDefs.find(f => f.name === obj.field);
|
|
28
|
+
// Either the field is not found in fieldDefs or the fieldDef does not support filtering
|
|
29
|
+
if (!fieldDef || !fieldDef.filter) {
|
|
30
|
+
cleanedUpFieldIds.push(obj.field);
|
|
31
|
+
found = true;
|
|
32
|
+
return found;
|
|
33
|
+
}
|
|
23
34
|
}
|
|
24
35
|
if (obj && typeof obj === 'object') {
|
|
25
36
|
// DO we have the field in children? If Yes return true
|
|
@@ -30,6 +41,15 @@ export function findInvalidFieldInFilterRecursively(obj, fieldDefs) {
|
|
|
30
41
|
}
|
|
31
42
|
return found;
|
|
32
43
|
}
|
|
44
|
+
function sanitizeAdditionalFields(additionalFields, fieldDefs) {
|
|
45
|
+
return additionalFields.filter(({ id }) => {
|
|
46
|
+
if (!fieldDefs.find(f => f.id === id)) {
|
|
47
|
+
cleanedUpFieldIds.push(id);
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return true;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
33
53
|
/**
|
|
34
54
|
* Filter out the conditional style formats that are referencing invalid fields which are not present in {@link Meta.fieldDefs}.
|
|
35
55
|
* @param conditionalStyleFormats formats to sanitize
|
|
@@ -47,10 +67,13 @@ function sanitizeArray(columns, state, prop) {
|
|
|
47
67
|
const items = [...state[prop]];
|
|
48
68
|
const isObject = typeof items[0] === 'object';
|
|
49
69
|
for (let i = items.length - 1; i >= 0; i -= 1) {
|
|
50
|
-
|
|
70
|
+
const column = columns.find(col => `${col.field.id}` ===
|
|
51
71
|
(isObject
|
|
52
72
|
? items[i].columnId
|
|
53
|
-
: items[i]))
|
|
73
|
+
: items[i]));
|
|
74
|
+
const mappedFieldFeature = STATE_SLICE_TO_FIELD_FEATURE_MAP.get(prop);
|
|
75
|
+
// Clear up the referred fields in state slice, for non existent field or if the feature is disabled for a field.
|
|
76
|
+
if (!column || (mappedFieldFeature && !column.field[mappedFieldFeature])) {
|
|
54
77
|
const removedItem = items.splice(i, 1);
|
|
55
78
|
cleanedUpFieldIds.push(isObject
|
|
56
79
|
? removedItem[0]?.columnId
|
|
@@ -67,7 +90,10 @@ function sanitizeObject(columns, state, prop) {
|
|
|
67
90
|
let modified = false;
|
|
68
91
|
const items = { ...state[prop] };
|
|
69
92
|
Object.keys(items).forEach(id => {
|
|
70
|
-
|
|
93
|
+
const column = columns.find(col => `${col.field.id}` === id);
|
|
94
|
+
const mappedFieldFeature = STATE_SLICE_TO_FIELD_FEATURE_MAP.get(prop);
|
|
95
|
+
// Clear up the referred fields in state slice, for non existent field or if the feature is disabled for a field.
|
|
96
|
+
if (!column || (mappedFieldFeature && !column.field[mappedFieldFeature])) {
|
|
71
97
|
cleanedUpFieldIds.push(id);
|
|
72
98
|
delete items[id];
|
|
73
99
|
modified = true;
|
|
@@ -82,10 +108,13 @@ function processCustomFields(customFields, fieldDefs) {
|
|
|
82
108
|
let modified = false;
|
|
83
109
|
for (let i = customFields.length - 1; i >= 0; i -= 1) {
|
|
84
110
|
// if any field is missing in a custom column expression , remove that column.
|
|
85
|
-
const { expression } = customFields[i];
|
|
111
|
+
const { expression, primaryColumnId } = customFields[i];
|
|
86
112
|
const fieldIdsInCustomField = expression.filter(e => !Array.isArray(e));
|
|
87
113
|
const staleFieldIds = fieldIdsInCustomField.filter(id => !fieldDefs.find(f => `${f.id}` === id));
|
|
88
|
-
|
|
114
|
+
const primaryFieldDef = fieldDefs.find(f => f.id === primaryColumnId);
|
|
115
|
+
// Clear up the non existent fields used for customFields OR customizeColumn is disabled on the primary field.
|
|
116
|
+
if ((staleFieldIds && staleFieldIds.length) ||
|
|
117
|
+
(primaryFieldDef && !primaryFieldDef.customizeColumn)) {
|
|
89
118
|
cleanedUpFieldIds.push(...staleFieldIds);
|
|
90
119
|
modified = true;
|
|
91
120
|
customFields.splice(i, 1);
|
|
@@ -100,7 +129,9 @@ function sanitizedRenderFormatter(renderFormatter, columns) {
|
|
|
100
129
|
const column = columns.find(c => c.field.name === fieldId);
|
|
101
130
|
if (column) {
|
|
102
131
|
const columnRenderFormatters = column.getRenderFormatters() || [];
|
|
103
|
-
const selectedRenderFormatter = renderFormatter[fieldId]
|
|
132
|
+
const selectedRenderFormatter = typeof renderFormatter[fieldId] === 'string'
|
|
133
|
+
? renderFormatter[fieldId]
|
|
134
|
+
: renderFormatter[fieldId].type;
|
|
104
135
|
if (!columnRenderFormatters.find(crf => crf.value === selectedRenderFormatter)) {
|
|
105
136
|
const defaultRenderFormatter = columnRenderFormatters.find(crf => crf.label === DEFAULT_FORMAT);
|
|
106
137
|
renderFormatter[fieldId] = defaultRenderFormatter?.value || DEFAULT_FORMAT;
|
|
@@ -180,8 +211,16 @@ const sanitize = ([{ getView, getState, dispatch }]) => {
|
|
|
180
211
|
if (state.conditionalStyleFormats) {
|
|
181
212
|
payload.conditionalStyleFormats = sanitizeConditionalStyleFormats(state.conditionalStyleFormats, fieldDefs);
|
|
182
213
|
}
|
|
183
|
-
//
|
|
184
|
-
|
|
214
|
+
// TODO: sanitize for now removed state.?editInfo
|
|
215
|
+
if (state.groups) {
|
|
216
|
+
payload.groups = state.groups.map(group => {
|
|
217
|
+
if (group.additionalFields) {
|
|
218
|
+
const sanitizedAdditionalFields = sanitizeAdditionalFields(group.additionalFields, fieldDefs);
|
|
219
|
+
group.additionalFields = [...sanitizedAdditionalFields];
|
|
220
|
+
}
|
|
221
|
+
return group;
|
|
222
|
+
});
|
|
223
|
+
}
|
|
185
224
|
cleanedUpFieldIds = [];
|
|
186
225
|
// Dispatch payload only if there is something to sanitize in state
|
|
187
226
|
if (Object.keys(payload).length !== 0) {
|
|
@@ -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 { 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\n// eslint-disable-next-line sonarjs/no-unused-collection\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\nconst STATE_SLICE_TO_FIELD_FEATURE_MAP: Map<keyof State, keyof FieldDef> = new Map([\n ['aggregationInfo', 'aggregation'],\n ['sortingOrder', 'sort'],\n ['groups', 'grouping'],\n ['filterExpression', 'filter'],\n ['freezeColumns', 'freeze']\n]);\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) {\n const fieldDef = fieldDefs.find(f => f.name === obj.field);\n // Either the field is not found in fieldDefs or the fieldDef does not support filtering\n if (!fieldDef || !fieldDef.filter) {\n cleanedUpFieldIds.push(obj.field);\n found = true;\n\n return found;\n }\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 if (!fieldDefs.find(f => f.id === id)) {\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 const column = columns.find(\n col =>\n `${col.field.id}` ===\n (isObject\n ? (items[i] as ExcludeStrict<ArrayPropertiesValue[number], string>).columnId\n : items[i])\n );\n const mappedFieldFeature = STATE_SLICE_TO_FIELD_FEATURE_MAP.get(prop);\n // Clear up the referred fields in state slice, for non existent field or if the feature is disabled for a field.\n if (!column || (mappedFieldFeature && !column.field[mappedFieldFeature])) {\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 const column = columns.find(col => `${col.field.id}` === id);\n const mappedFieldFeature = STATE_SLICE_TO_FIELD_FEATURE_MAP.get(prop);\n\n // Clear up the referred fields in state slice, for non existent field or if the feature is disabled for a field.\n if (!column || (mappedFieldFeature && !column.field[mappedFieldFeature])) {\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, primaryColumnId } = 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 const primaryFieldDef = fieldDefs.find(f => f.id === primaryColumnId);\n // Clear up the non existent fields used for customFields OR customizeColumn is disabled on the primary field.\n if (\n (staleFieldIds && staleFieldIds.length) ||\n (primaryFieldDef && !primaryFieldDef.customizeColumn)\n ) {\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 =\n typeof renderFormatter[fieldId] === 'string'\n ? renderFormatter[fieldId]\n : renderFormatter[fieldId].type;\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 // TODO: sanitize for now removed state.?editInfo\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 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;
|
|
@@ -28,7 +26,6 @@ declare const _default: {
|
|
|
28
26
|
columnFormatter: () => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => void;
|
|
29
27
|
ColumnDisplayMode: () => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => void;
|
|
30
28
|
columnAlias: () => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => void;
|
|
31
|
-
edit: () => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => undefined;
|
|
32
29
|
toggleHeaderIcons: () => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => void;
|
|
33
30
|
changePersonalisation: () => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => void;
|
|
34
31
|
rowDragDrop: (rsInternal: import("../../RsInternal").default) => (featureProps: import("../featureFactory").BeforeRenderFeatureProps) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/features/uIFeatures/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/features/uIFeatures/index.ts"],"names":[],"mappings":"AAsCA,OAAO,WAAW,MAAM,4BAA4B,CAAC;;;4EAJ/B,kEAClB;6BAnBC,kEAAsC;6BAuE4+F,kEAAsC;uBAVxjG,kEAEI;;0BAzD2C,kEAChB;;uBAQd,kEACZ;6BAuD4Y,kEAAsC;;4BA7Dlb,kEAAsC;8BA6Du8L,kEAAsC;kCA1BzhM,kEACiB;6BArCY,kEAChB;2BAGgB,kEAC5B;2EAyDuhD,kEAAsC;yCAvDlkD,kEAAqC;+BAuD2gH,kEAAsC;4BAnDvkH,kEACd;kCAkDqwP,kEAAsC;;;gCA7D1wP,kEACpB;kCAR2C,kEAC1C;4BAoDS,kEAER;kCArDO,kEAAsC;sCAQlC,kEAAsC;0EA0Di/O,kEAAsC;wEAA7qI,kEAAsC;wCAxCl8G,kEAEN;4BA8BgB,kEAGX;6BAvEgD,kEAC5B;sEAwBR,kEACd;2BAkD6E,kEAAsC;4BA/DjF,kEACtB;;uCA8Ds3B,kEAAsC;;;0BAAioD,sDAA0B;iCAAqzC,sDAA0B;yCA3Dt3H,sDAC5B;;;AAYZ,wBA6CE"}
|
|
@@ -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';
|
|
@@ -25,7 +24,6 @@ import aggregation from './beforeRender/aggregation';
|
|
|
25
24
|
import prepareRows from './beforeRender/prepareRows';
|
|
26
25
|
import prepareColumns from './beforeRender/prepareColumns';
|
|
27
26
|
import columnAlias from './beforeRender/columnAlias';
|
|
28
|
-
import edit from './beforeRender/edit';
|
|
29
27
|
import busyIndicator from './beforeRender/busyIndicator';
|
|
30
28
|
import columnAutoSizing from './afterRender/columnSizing';
|
|
31
29
|
import rowDragDrop from './beforeRender/rowDragDrop';
|
|
@@ -49,7 +47,6 @@ export default {
|
|
|
49
47
|
animation: preAnimation,
|
|
50
48
|
rowHeight,
|
|
51
49
|
grouping,
|
|
52
|
-
resizeGroupedDragDropColumn,
|
|
53
50
|
filter,
|
|
54
51
|
customColumn,
|
|
55
52
|
personalization,
|
|
@@ -68,7 +65,6 @@ export default {
|
|
|
68
65
|
columnFormatter,
|
|
69
66
|
ColumnDisplayMode,
|
|
70
67
|
columnAlias,
|
|
71
|
-
edit,
|
|
72
68
|
toggleHeaderIcons,
|
|
73
69
|
changePersonalisation,
|
|
74
70
|
rowDragDrop,
|
|
@@ -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,
|
|
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,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,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 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 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"]}
|