@pega/lists-react 9.0.0-build.21.0 → 9.0.0-build.21.10
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/Core/Components/A11y/RepeatingStructureA11y.d.ts.map +1 -1
- package/lib/Core/Components/A11y/RepeatingStructureA11y.js +2 -1
- package/lib/Core/Components/A11y/RepeatingStructureA11y.js.map +1 -1
- package/lib/Core/Components/Filters/AdvanceFilter.d.ts.map +1 -1
- package/lib/Core/Components/Filters/AdvanceFilter.js +5 -2
- package/lib/Core/Components/Filters/AdvanceFilter.js.map +1 -1
- package/lib/Core/Components/Filters/SelectFilter.d.ts.map +1 -1
- package/lib/Core/Components/Filters/SelectFilter.js +2 -2
- package/lib/Core/Components/Filters/SelectFilter.js.map +1 -1
- package/lib/Core/Components/Filters/SimpleFilter.js +1 -1
- package/lib/Core/Components/Filters/SimpleFilter.js.map +1 -1
- package/lib/Core/Components/Toolbar/ColumnSelector.d.ts +6 -4
- package/lib/Core/Components/Toolbar/ColumnSelector.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/ColumnSelector.js +15 -19
- package/lib/Core/Components/Toolbar/ColumnSelector.js.map +1 -1
- package/lib/Core/Components/Toolbar/FieldSelector.d.ts +1 -1
- package/lib/Core/Components/Toolbar/FieldSelector.js +4 -4
- package/lib/Core/Components/Toolbar/FieldSelector.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useFilter.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useFilter.js +4 -1
- package/lib/Core/Components/Toolbar/hooks/useFilter.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts +2 -2
- package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js +2 -2
- package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts +2 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js +4 -4
- package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js +12 -4
- package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts +2 -2
- package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/utils.js +5 -5
- package/lib/Core/Components/Toolbar/hooks/useGroup/utils.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useMore.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useMore.js +3 -3
- package/lib/Core/Components/Toolbar/hooks/useMore.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts +3 -2
- package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/Row.js +5 -4
- package/lib/Core/Components/Toolbar/hooks/useSort/Row.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts +3 -2
- package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js +4 -4
- package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/useSort.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js +7 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/utils.d.ts +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/utils.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/utils.js +2 -2
- package/lib/Core/Components/Toolbar/hooks/useSort/utils.js.map +1 -1
- package/lib/Core/Components/Toolbar/utils/utils.d.ts +28 -7
- package/lib/Core/Components/Toolbar/utils/utils.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/utils/utils.js +43 -11
- package/lib/Core/Components/Toolbar/utils/utils.js.map +1 -1
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.d.ts +1 -1
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.js +1 -1
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.js.map +1 -1
- package/lib/Core/Components/WarningBanner.d.ts +11 -0
- package/lib/Core/Components/WarningBanner.d.ts.map +1 -0
- package/lib/Core/Components/WarningBanner.js +23 -0
- package/lib/Core/Components/WarningBanner.js.map +1 -0
- package/lib/Core/Hooks/a11y/useAnnounce.d.ts +3 -4
- package/lib/Core/Hooks/a11y/useAnnounce.d.ts.map +1 -1
- package/lib/Core/Hooks/a11y/useAnnounce.js +3 -4
- package/lib/Core/Hooks/a11y/useAnnounce.js.map +1 -1
- package/lib/Core/Hooks/useDragDrop.d.ts +2 -2
- package/lib/Core/Hooks/useDragDrop.js +2 -2
- package/lib/Core/Hooks/useDragDrop.js.map +1 -1
- package/lib/Core/Hooks/useRepeat.d.ts.map +1 -1
- package/lib/Core/Hooks/useRepeat.js +13 -1
- package/lib/Core/Hooks/useRepeat.js.map +1 -1
- package/lib/Core/Test/JUnitMocks.d.ts +12 -0
- package/lib/Core/Test/JUnitMocks.d.ts.map +1 -1
- package/lib/Core/Test/JUnitMocks.js +26 -8
- package/lib/Core/Test/JUnitMocks.js.map +1 -1
- package/lib/Core/Test/TestUtils.d.ts +0 -1
- package/lib/Core/Test/TestUtils.d.ts.map +1 -1
- package/lib/Core/Test/TestUtils.js +3 -7
- package/lib/Core/Test/TestUtils.js.map +1 -1
- package/lib/Core/Views/Gallery/index.d.ts.map +1 -1
- package/lib/Core/Views/Gallery/index.js +2 -1
- package/lib/Core/Views/Gallery/index.js.map +1 -1
- package/lib/Core/Views/Table/index.d.ts.map +1 -1
- package/lib/Core/Views/Table/index.js +2 -1
- package/lib/Core/Views/Table/index.js.map +1 -1
- package/lib/Core/Views/Timeline/Timeline.d.ts.map +1 -1
- package/lib/Core/Views/Timeline/Timeline.js +11 -16
- package/lib/Core/Views/Timeline/Timeline.js.map +1 -1
- package/lib/Core/Views/Timeline/Timeline.styles.d.ts +17 -9
- package/lib/Core/Views/Timeline/Timeline.styles.d.ts.map +1 -1
- package/lib/Core/Views/Timeline/Timeline.styles.js +32 -25
- package/lib/Core/Views/Timeline/Timeline.styles.js.map +1 -1
- package/lib/Core/Views/Timeline/Timeline.types.d.ts +6 -0
- package/lib/Core/Views/Timeline/Timeline.types.d.ts.map +1 -1
- package/lib/Core/Views/Timeline/Timeline.types.js.map +1 -1
- package/lib/Core/Views/Timeline/TimelineGroup.d.ts +13 -0
- package/lib/Core/Views/Timeline/TimelineGroup.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/TimelineGroup.js +21 -0
- package/lib/Core/Views/Timeline/TimelineGroup.js.map +1 -0
- package/lib/Core/Views/Timeline/TimelineItem.d.ts +1 -3
- package/lib/Core/Views/Timeline/TimelineItem.d.ts.map +1 -1
- package/lib/Core/Views/Timeline/TimelineItem.js +7 -6
- package/lib/Core/Views/Timeline/TimelineItem.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -3,9 +3,9 @@ import type { UseDragDropProps, UseDragDropReturn } from './useDragDrop.types';
|
|
|
3
3
|
* A custom React hook to handle drag-and-drop functionality with support for animations,
|
|
4
4
|
* ghost images, and collision detection.
|
|
5
5
|
*
|
|
6
|
-
* @param
|
|
6
|
+
* @param params - The parameters for configuring the drag-and-drop behavior.
|
|
7
7
|
* See {@link UseDragDropProps} for details.
|
|
8
|
-
* @returns
|
|
8
|
+
* @returns An object containing `dragProps` and `dropProps` to be spread onto draggable and droppable elements.
|
|
9
9
|
* See {@link UseDragDropReturn} for details.
|
|
10
10
|
*/
|
|
11
11
|
export default function useDragDrop({ context, onDragStart, onDragEnd, onDragEnter, onDragLeave, onDrop, defaultAnimation, getAnimationSelector, defaultGhostImage, getGhostImageSelector, getDraggedObject }: UseDragDropProps): UseDragDropReturn;
|
|
@@ -3,9 +3,9 @@ import { useCallback, useMemo, useRef } from 'react';
|
|
|
3
3
|
* A custom React hook to handle drag-and-drop functionality with support for animations,
|
|
4
4
|
* ghost images, and collision detection.
|
|
5
5
|
*
|
|
6
|
-
* @param
|
|
6
|
+
* @param params - The parameters for configuring the drag-and-drop behavior.
|
|
7
7
|
* See {@link UseDragDropProps} for details.
|
|
8
|
-
* @returns
|
|
8
|
+
* @returns An object containing `dragProps` and `dropProps` to be spread onto draggable and droppable elements.
|
|
9
9
|
* See {@link UseDragDropReturn} for details.
|
|
10
10
|
*/
|
|
11
11
|
export default function useDragDrop({ context, onDragStart = undefined, onDragEnd = undefined, onDragEnter = undefined, onDragLeave = undefined, onDrop, defaultAnimation = true, getAnimationSelector, defaultGhostImage = true, getGhostImageSelector, getDraggedObject }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDragDrop.js","sourceRoot":"","sources":["../../../Core/Hooks/useDragDrop.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useRef } from 'react';\n\nimport type { DragDropRef, UseDragDropProps, UseDragDropReturn } from './useDragDrop.types';\n\n/**\n * A custom React hook to handle drag-and-drop functionality with support for animations,\n * ghost images, and collision detection.\n *\n * @param {UseDragDropProps} params - The parameters for configuring the drag-and-drop behavior.\n * See {@link UseDragDropProps} for details.\n * @returns {UseDragDropReturn} An object containing `dragProps` and `dropProps` to be spread onto draggable and droppable elements.\n * See {@link UseDragDropReturn} for details.\n */\nexport default function useDragDrop({\n context,\n onDragStart = undefined,\n onDragEnd = undefined,\n onDragEnter = undefined,\n onDragLeave = undefined,\n onDrop,\n defaultAnimation = true,\n getAnimationSelector,\n defaultGhostImage = true,\n getGhostImageSelector,\n getDraggedObject\n}: UseDragDropProps): UseDragDropReturn {\n // A way to fire dragleave when we actually come out of drop target not only a child of that.\n const ref = useRef<DragDropRef>({\n dropTarget: [],\n dropTargetCoord: null,\n dragTarget: undefined\n }).current;\n\n const addDragEffect = useCallback(\n (target: Element) => {\n if (defaultAnimation) {\n const t = getAnimationSelector ? getAnimationSelector(target) : target;\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.opacity = '0.5';\n });\n }\n },\n [defaultAnimation, getAnimationSelector]\n );\n\n const removeDragEffect = useCallback(\n (target: Element) => {\n if (defaultAnimation) {\n const t = getAnimationSelector ? getAnimationSelector(target) : target;\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.opacity = '1';\n });\n }\n },\n [defaultAnimation, getAnimationSelector]\n );\n\n const setGhostImage = useCallback(\n (e: React.DragEvent<Element>) => {\n if (defaultGhostImage) {\n const elem = (\n getGhostImageSelector ? getGhostImageSelector(e.currentTarget) : e.currentTarget\n ) as HTMLElement;\n const ghostElement = elem.cloneNode(true) as HTMLElement;\n if (ghostElement) {\n ghostElement.style.height = `${elem.style.height}px`;\n ghostElement.style.width = `${elem.style.width}px`;\n ghostElement.style.position = 'absolute';\n ghostElement.style.top = '-1000000px';\n ghostElement.style.left = '-10000000px';\n ghostElement.style.zIndex = '-1';\n }\n context.current?.appendChild(ghostElement);\n e.dataTransfer?.setDragImage(ghostElement, 0, 0);\n\n setTimeout(() => {\n ghostElement.parentNode?.removeChild(ghostElement);\n }, 1000);\n }\n },\n [getGhostImageSelector, context, defaultGhostImage]\n );\n\n const isColliding = useCallback((x: number, y: number, coord: DOMRect): boolean => {\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\n const addDropEffect = useCallback(\n (target: Element) => {\n if (defaultAnimation) {\n const t = getAnimationSelector ? getAnimationSelector(target) : 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 },\n [defaultAnimation, getAnimationSelector]\n );\n\n const removeDropEffect = useCallback(\n (target: Element) => {\n if (defaultAnimation) {\n const t = getAnimationSelector ? getAnimationSelector(target) : target;\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.transform = 'translate(0px)';\n });\n }\n },\n [defaultAnimation, getAnimationSelector]\n );\n\n const contextDragOverCb = useCallback(\n (e: DragEvent) => {\n e.stopPropagation();\n e.preventDefault();\n if (\n ref.dragLeaveSkipped &&\n ref.dropTarget &&\n ref.dropTarget[ref.dropTarget.length - 1] &&\n ref.dropTargetCoord &&\n !isColliding(e.clientX, e.clientY, ref.dropTargetCoord)\n ) {\n ref.forcedDragLeave = true;\n ref.dragLeaveSkipped = false;\n const elm = ref.dropTarget.shift();\n ref.dropTarget = [...ref.dropTarget];\n elm?.dispatchEvent(\n new MouseEvent('dragleave', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n }\n },\n [isColliding, ref]\n );\n\n const contextDropCb = useCallback(\n (ev: DragEvent) => {\n ev.stopPropagation();\n ev.preventDefault();\n const elm = ref.dropTarget[ref.dropTarget.length - 1] as HTMLElement;\n if (\n ref.dropTargetCoord &&\n elm !== ref.dragTarget &&\n isColliding(ev.clientX, ev.clientY, ref.dropTargetCoord)\n ) {\n removeDropEffect(elm);\n elm.classList.remove('dragEnter');\n if (onDrop && ref.dragTarget) onDrop(elm, ref.dragTarget);\n ref.dragTarget = undefined;\n ref.dropTargetCoord = null;\n ref.dropTarget = [];\n }\n },\n [ref, isColliding, removeDropEffect, onDrop]\n );\n\n const dragStartCb = useCallback(\n (ev: React.DragEvent<HTMLElement>) => {\n document.addEventListener('dragover', contextDragOverCb);\n context.current?.addEventListener('drop', contextDropCb);\n\n // clear the drag operation's data store when drag starts as its the only time when drag data is writable\n if (ev.dataTransfer) ev.dataTransfer.clearData();\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 ref.contextDropCb = contextDropCb;\n ref.contextDragOverCb = contextDragOverCb;\n\n setGhostImage(ev);\n ev.dataTransfer.effectAllowed = 'move';\n // Setting up some dummy data 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_Item');\n // fail safe reset drag target.\n if (ref.dragTarget) ref.dragTarget = undefined;\n ref.dragTarget = getDraggedObject ? getDraggedObject(ev.currentTarget) : ev.currentTarget;\n ev.currentTarget.classList.add('dragStart');\n addDragEffect(ev.currentTarget);\n if (onDragStart) onDragStart(ev);\n },\n [\n contextDragOverCb,\n context,\n contextDropCb,\n setGhostImage,\n ref,\n getDraggedObject,\n addDragEffect,\n onDragStart\n ]\n );\n\n const dragEndCb = useCallback(\n (ev: React.DragEvent<HTMLElement>) => {\n if (ref.contextDragOverCb) document.removeEventListener('dragover', ref.contextDragOverCb);\n if (ref.contextDropCb) context.current?.removeEventListener('drop', ref.contextDropCb);\n ref.dropTarget = [];\n ref.dropTargetCoord = null;\n ref.forcedDragLeave = false;\n ref.dragLeaveSkipped = false;\n ev.currentTarget.classList.remove('dragStart');\n removeDragEffect(ev.currentTarget);\n if (onDragEnd) onDragEnd(ev);\n },\n [onDragEnd, removeDragEffect, context, ref]\n );\n\n const isValidDragEnter = useCallback(\n (e: React.DragEvent<Element>) => {\n let isValid = true;\n if (ref.dragTarget === e.currentTarget) isValid = false;\n else if (ref.dropTarget[ref.dropTarget.length - 1] === e.currentTarget) isValid = false;\n else if (\n ref.dropTarget[ref.dropTarget.length - 1] &&\n ref.dropTarget[ref.dropTarget.length - 1] !== e.currentTarget\n ) {\n const currentTargetCoord = e.currentTarget.getBoundingClientRect();\n const dropTargetCoord = ref.dropTarget[ref.dropTarget.length - 1].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 [ref, isColliding]\n );\n\n const dragEnterCb = useCallback(\n (ev: React.DragEvent<HTMLElement>) => {\n ev.stopPropagation();\n if (isValidDragEnter(ev)) {\n ref.dropTarget = ref.dropTarget.length ? [...ref.dropTarget] : [];\n ref.dropTarget.push(ev.currentTarget);\n ev.currentTarget.classList.add('dragEnter');\n ev.dataTransfer.dropEffect = 'move';\n ref.dropTargetCoord = ev.currentTarget.getBoundingClientRect();\n addDropEffect(ev.currentTarget);\n if (onDragEnter) onDragEnter(ev);\n\n if (ref.dropTarget.length > 1) {\n const elm = ref.dropTarget.shift();\n ref.dropTarget = [...ref.dropTarget];\n ref.forcedDragLeave = true;\n elm?.dispatchEvent(\n new MouseEvent('dragleave', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n }\n }\n },\n [onDragEnter, addDropEffect, ref, isValidDragEnter]\n );\n\n const dragLeaveCb = useCallback(\n (ev: React.DragEvent<HTMLElement>) => {\n ev.stopPropagation();\n if (ref.forcedDragLeave) {\n ref.forcedDragLeave = false;\n ev.currentTarget.classList.remove('dragEnter');\n removeDropEffect(ev.currentTarget);\n if (onDragLeave) onDragLeave(ev);\n } else if (\n !ev.currentTarget.contains(ev.relatedTarget as Element) &&\n ref.dragTarget !== ev.currentTarget\n ) {\n ref.dragLeaveSkipped = true;\n }\n },\n [ref, removeDropEffect, onDragLeave]\n );\n\n const dragProps = useMemo(\n () => ({\n draggable: true,\n onDragStart: dragStartCb,\n onDragEnd: dragEndCb\n }),\n [dragStartCb, dragEndCb]\n );\n\n const dropProps = useMemo(\n () => ({\n onDragEnter: dragEnterCb,\n onDragLeave: dragLeaveCb,\n 'data-drop': 'dropzone'\n }),\n [dragEnterCb, dragLeaveCb]\n );\n\n return {\n dragProps,\n dropProps\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"useDragDrop.js","sourceRoot":"","sources":["../../../Core/Hooks/useDragDrop.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useRef } from 'react';\n\nimport type { DragDropRef, UseDragDropProps, UseDragDropReturn } from './useDragDrop.types';\n\n/**\n * A custom React hook to handle drag-and-drop functionality with support for animations,\n * ghost images, and collision detection.\n *\n * @param params - The parameters for configuring the drag-and-drop behavior.\n * See {@link UseDragDropProps} for details.\n * @returns An object containing `dragProps` and `dropProps` to be spread onto draggable and droppable elements.\n * See {@link UseDragDropReturn} for details.\n */\nexport default function useDragDrop({\n context,\n onDragStart = undefined,\n onDragEnd = undefined,\n onDragEnter = undefined,\n onDragLeave = undefined,\n onDrop,\n defaultAnimation = true,\n getAnimationSelector,\n defaultGhostImage = true,\n getGhostImageSelector,\n getDraggedObject\n}: UseDragDropProps): UseDragDropReturn {\n // A way to fire dragleave when we actually come out of drop target not only a child of that.\n const ref = useRef<DragDropRef>({\n dropTarget: [],\n dropTargetCoord: null,\n dragTarget: undefined\n }).current;\n\n const addDragEffect = useCallback(\n (target: Element) => {\n if (defaultAnimation) {\n const t = getAnimationSelector ? getAnimationSelector(target) : target;\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.opacity = '0.5';\n });\n }\n },\n [defaultAnimation, getAnimationSelector]\n );\n\n const removeDragEffect = useCallback(\n (target: Element) => {\n if (defaultAnimation) {\n const t = getAnimationSelector ? getAnimationSelector(target) : target;\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.opacity = '1';\n });\n }\n },\n [defaultAnimation, getAnimationSelector]\n );\n\n const setGhostImage = useCallback(\n (e: React.DragEvent<Element>) => {\n if (defaultGhostImage) {\n const elem = (\n getGhostImageSelector ? getGhostImageSelector(e.currentTarget) : e.currentTarget\n ) as HTMLElement;\n const ghostElement = elem.cloneNode(true) as HTMLElement;\n if (ghostElement) {\n ghostElement.style.height = `${elem.style.height}px`;\n ghostElement.style.width = `${elem.style.width}px`;\n ghostElement.style.position = 'absolute';\n ghostElement.style.top = '-1000000px';\n ghostElement.style.left = '-10000000px';\n ghostElement.style.zIndex = '-1';\n }\n context.current?.appendChild(ghostElement);\n e.dataTransfer?.setDragImage(ghostElement, 0, 0);\n\n setTimeout(() => {\n ghostElement.parentNode?.removeChild(ghostElement);\n }, 1000);\n }\n },\n [getGhostImageSelector, context, defaultGhostImage]\n );\n\n const isColliding = useCallback((x: number, y: number, coord: DOMRect): boolean => {\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\n const addDropEffect = useCallback(\n (target: Element) => {\n if (defaultAnimation) {\n const t = getAnimationSelector ? getAnimationSelector(target) : 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 },\n [defaultAnimation, getAnimationSelector]\n );\n\n const removeDropEffect = useCallback(\n (target: Element) => {\n if (defaultAnimation) {\n const t = getAnimationSelector ? getAnimationSelector(target) : target;\n const elms = Array.isArray(t) ? t : [t];\n elms.forEach(elm => {\n elm.style.transform = 'translate(0px)';\n });\n }\n },\n [defaultAnimation, getAnimationSelector]\n );\n\n const contextDragOverCb = useCallback(\n (e: DragEvent) => {\n e.stopPropagation();\n e.preventDefault();\n if (\n ref.dragLeaveSkipped &&\n ref.dropTarget &&\n ref.dropTarget[ref.dropTarget.length - 1] &&\n ref.dropTargetCoord &&\n !isColliding(e.clientX, e.clientY, ref.dropTargetCoord)\n ) {\n ref.forcedDragLeave = true;\n ref.dragLeaveSkipped = false;\n const elm = ref.dropTarget.shift();\n ref.dropTarget = [...ref.dropTarget];\n elm?.dispatchEvent(\n new MouseEvent('dragleave', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n }\n },\n [isColliding, ref]\n );\n\n const contextDropCb = useCallback(\n (ev: DragEvent) => {\n ev.stopPropagation();\n ev.preventDefault();\n const elm = ref.dropTarget[ref.dropTarget.length - 1] as HTMLElement;\n if (\n ref.dropTargetCoord &&\n elm !== ref.dragTarget &&\n isColliding(ev.clientX, ev.clientY, ref.dropTargetCoord)\n ) {\n removeDropEffect(elm);\n elm.classList.remove('dragEnter');\n if (onDrop && ref.dragTarget) onDrop(elm, ref.dragTarget);\n ref.dragTarget = undefined;\n ref.dropTargetCoord = null;\n ref.dropTarget = [];\n }\n },\n [ref, isColliding, removeDropEffect, onDrop]\n );\n\n const dragStartCb = useCallback(\n (ev: React.DragEvent<HTMLElement>) => {\n document.addEventListener('dragover', contextDragOverCb);\n context.current?.addEventListener('drop', contextDropCb);\n\n // clear the drag operation's data store when drag starts as its the only time when drag data is writable\n if (ev.dataTransfer) ev.dataTransfer.clearData();\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 ref.contextDropCb = contextDropCb;\n ref.contextDragOverCb = contextDragOverCb;\n\n setGhostImage(ev);\n ev.dataTransfer.effectAllowed = 'move';\n // Setting up some dummy data 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_Item');\n // fail safe reset drag target.\n if (ref.dragTarget) ref.dragTarget = undefined;\n ref.dragTarget = getDraggedObject ? getDraggedObject(ev.currentTarget) : ev.currentTarget;\n ev.currentTarget.classList.add('dragStart');\n addDragEffect(ev.currentTarget);\n if (onDragStart) onDragStart(ev);\n },\n [\n contextDragOverCb,\n context,\n contextDropCb,\n setGhostImage,\n ref,\n getDraggedObject,\n addDragEffect,\n onDragStart\n ]\n );\n\n const dragEndCb = useCallback(\n (ev: React.DragEvent<HTMLElement>) => {\n if (ref.contextDragOverCb) document.removeEventListener('dragover', ref.contextDragOverCb);\n if (ref.contextDropCb) context.current?.removeEventListener('drop', ref.contextDropCb);\n ref.dropTarget = [];\n ref.dropTargetCoord = null;\n ref.forcedDragLeave = false;\n ref.dragLeaveSkipped = false;\n ev.currentTarget.classList.remove('dragStart');\n removeDragEffect(ev.currentTarget);\n if (onDragEnd) onDragEnd(ev);\n },\n [onDragEnd, removeDragEffect, context, ref]\n );\n\n const isValidDragEnter = useCallback(\n (e: React.DragEvent<Element>) => {\n let isValid = true;\n if (ref.dragTarget === e.currentTarget) isValid = false;\n else if (ref.dropTarget[ref.dropTarget.length - 1] === e.currentTarget) isValid = false;\n else if (\n ref.dropTarget[ref.dropTarget.length - 1] &&\n ref.dropTarget[ref.dropTarget.length - 1] !== e.currentTarget\n ) {\n const currentTargetCoord = e.currentTarget.getBoundingClientRect();\n const dropTargetCoord = ref.dropTarget[ref.dropTarget.length - 1].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 [ref, isColliding]\n );\n\n const dragEnterCb = useCallback(\n (ev: React.DragEvent<HTMLElement>) => {\n ev.stopPropagation();\n if (isValidDragEnter(ev)) {\n ref.dropTarget = ref.dropTarget.length ? [...ref.dropTarget] : [];\n ref.dropTarget.push(ev.currentTarget);\n ev.currentTarget.classList.add('dragEnter');\n ev.dataTransfer.dropEffect = 'move';\n ref.dropTargetCoord = ev.currentTarget.getBoundingClientRect();\n addDropEffect(ev.currentTarget);\n if (onDragEnter) onDragEnter(ev);\n\n if (ref.dropTarget.length > 1) {\n const elm = ref.dropTarget.shift();\n ref.dropTarget = [...ref.dropTarget];\n ref.forcedDragLeave = true;\n elm?.dispatchEvent(\n new MouseEvent('dragleave', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n }\n }\n },\n [onDragEnter, addDropEffect, ref, isValidDragEnter]\n );\n\n const dragLeaveCb = useCallback(\n (ev: React.DragEvent<HTMLElement>) => {\n ev.stopPropagation();\n if (ref.forcedDragLeave) {\n ref.forcedDragLeave = false;\n ev.currentTarget.classList.remove('dragEnter');\n removeDropEffect(ev.currentTarget);\n if (onDragLeave) onDragLeave(ev);\n } else if (\n !ev.currentTarget.contains(ev.relatedTarget as Element) &&\n ref.dragTarget !== ev.currentTarget\n ) {\n ref.dragLeaveSkipped = true;\n }\n },\n [ref, removeDropEffect, onDragLeave]\n );\n\n const dragProps = useMemo(\n () => ({\n draggable: true,\n onDragStart: dragStartCb,\n onDragEnd: dragEndCb\n }),\n [dragStartCb, dragEndCb]\n );\n\n const dropProps = useMemo(\n () => ({\n onDragEnter: dragEnterCb,\n onDragLeave: dragLeaveCb,\n 'data-drop': 'dropzone'\n }),\n [dragEnterCb, dragLeaveCb]\n );\n\n return {\n dragProps,\n dropProps\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRepeat.d.ts","sourceRoot":"","sources":["../../../Core/Hooks/useRepeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5F,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAK1F;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,uGAAuG;IACvG,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC;IACnC,8GAA8G;IAC9G,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC;IAC9B,+GAA+G;IAC/G,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC;;;;;SAKK;IACL,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;CACnE;AAOD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EACJ,UAAU,EACV,OAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,uBAAuB,EACxB,EAAE,wBAAwB,GAAG;IAAE,uBAAuB,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;CAAE,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"useRepeat.d.ts","sourceRoot":"","sources":["../../../Core/Hooks/useRepeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5F,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAK1F;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,uGAAuG;IACvG,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC;IACnC,8GAA8G;IAC9G,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC;IAC9B,+GAA+G;IAC/G,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC;;;;;SAKK;IACL,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;CACnE;AAOD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EACJ,UAAU,EACV,OAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,uBAAuB,EACxB,EAAE,wBAAwB,GAAG;IAAE,uBAAuB,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;CAAE,GAAG,QAAQ,CAgTjG"}
|
|
@@ -73,6 +73,7 @@ export default function useRepeat({ meta, apiContext, presets = [], persistedInf
|
|
|
73
73
|
};
|
|
74
74
|
/** Compare new payload with current state to avoid unnecessary rerenders */
|
|
75
75
|
// TODO: create separate api for setting visibility state for OOTB columns.
|
|
76
|
+
// TODO: remove setHiddenColumns API when we deprecate hiddenColumns in favor of visibleColumns only.
|
|
76
77
|
const setHiddenColumns = useCallback((hiddenColumns, ootbColumns) => {
|
|
77
78
|
if (hiddenColumns &&
|
|
78
79
|
!ootbColumns &&
|
|
@@ -85,6 +86,14 @@ export default function useRepeat({ meta, apiContext, presets = [], persistedInf
|
|
|
85
86
|
}
|
|
86
87
|
instance.getView().type.applyHiddenColumns(hiddenColumns, ootbColumns);
|
|
87
88
|
}, [instance]);
|
|
89
|
+
const setVisibleColumns = useCallback((visibleColumns) => {
|
|
90
|
+
if (visibleColumns &&
|
|
91
|
+
visibleColumns.length === instance.getView().state.visibleColumns?.length &&
|
|
92
|
+
visibleColumns.every(id => instance.getView().state.visibleColumns?.includes(id))) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
instance.getView().type.applyVisibleColumns(visibleColumns);
|
|
96
|
+
}, [instance]);
|
|
88
97
|
const setColumnOrder = useCallback((colOrder) => {
|
|
89
98
|
if (colOrder && deepEqual(colOrder, instance.getView().state.colOrder)) {
|
|
90
99
|
return;
|
|
@@ -159,6 +168,7 @@ export default function useRepeat({ meta, apiContext, presets = [], persistedInf
|
|
|
159
168
|
deepEqual(conditionalStyleFormats, instance.getView().state.conditionalStyleFormats)) {
|
|
160
169
|
return;
|
|
161
170
|
}
|
|
171
|
+
// TODO: below sanitization should be handled in rs core.
|
|
162
172
|
const sanitizedFormats = sanitizeConditionalStyleFormats(conditionalStyleFormats, fieldDefs);
|
|
163
173
|
instance.getView().type.setConditionalStyleFormats(sanitizedFormats);
|
|
164
174
|
}, []);
|
|
@@ -175,7 +185,6 @@ export default function useRepeat({ meta, apiContext, presets = [], persistedInf
|
|
|
175
185
|
?.removeFormatter();
|
|
176
186
|
}, [instance]);
|
|
177
187
|
// TODO: Move the RsCoreTypes.RsApi's to separate file, maybe useRsApi.ts
|
|
178
|
-
// TODO:
|
|
179
188
|
useImperativeHandle(repeatComponentInstance, () => ({
|
|
180
189
|
refreshView: instance.getView().type.forceRefresh,
|
|
181
190
|
setRecordCount: instance.getView().type.setRecordCount,
|
|
@@ -186,6 +195,9 @@ export default function useRepeat({ meta, apiContext, presets = [], persistedInf
|
|
|
186
195
|
? setHiddenColumns
|
|
187
196
|
: undefined,
|
|
188
197
|
setColumnOrder: instance.getView().meta.reorderFields ? setColumnOrder : undefined,
|
|
198
|
+
setVisibleColumns: instance.getView().meta.toggleFieldVisibility
|
|
199
|
+
? (visibleColumns) => setVisibleColumns(visibleColumns)
|
|
200
|
+
: undefined,
|
|
189
201
|
setFilter,
|
|
190
202
|
setSorting,
|
|
191
203
|
setAliases,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRepeat.js","sourceRoot":"","sources":["../../../Core/Hooks/useRepeat.ts"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useCallback, useRef, useImperativeHandle, type RefObject } from 'react';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport {\n initializeRsCore,\n rowDragDropColumnMeta,\n sanitizeConditionalStyleFormats,\n type RsCoreTypes\n} from 'pega-repeating-structures-core';\n\nimport { deepEqual, isRowReorderFieldEnabled } from '../Utils';\nimport type { RepeatingStructuresProps } from '../../types/RepeatingStructuresBoot.types';\n\nimport useThunkReducer from './useThunkReducer';\nimport useTranslate from './useTranslate';\n\n/**\n * Represents the instance of a repeating structure, containing methods and properties\n * to interact with it.\n */\nexport interface Instance {\n /** A unique identifier for the repeating structure instance. */\n rsID: string;\n /** The API context for interacting with the repeating structure. See {@link RsCoreTypes.ApiContext} */\n apiContext: RsCoreTypes.ApiContext;\n /** The core API for managing the repeating structure's state and behavior. See {@link RsCoreTypes.RsCore}. */\n rsCoreApi: RsCoreTypes.RsCore;\n /** A method to retrieve the current view of the repeating structure. See {@link RsCoreTypes.RsCore.getView} */\n getView: RsCoreTypes.RsCore['getView'];\n /**\n * @deprecated This set of methods is deprecated and will be removed in future versions.\n * Use methods exposed using repeatComponentInstance instead.\n *\n * A set of APIs to interact with the repeating structure. See {@link RsCoreTypes.RsApi}.\n * */\n api: Pick<RsCoreTypes.RsApi, 'dispatchAction' | 'setRecordCount'>;\n}\n\nfunction getRsCoreApi(instance: Instance, opt: RsCoreTypes.RsCoreInitArgs) {\n if (instance.rsCoreApi) return instance.rsCoreApi;\n return initializeRsCore(opt);\n}\n\n/**\n * A custom React hook to manage the lifecycle of repeating structures using `RsCore` library.\n * It provides an RsCoreTypes.RsApi for interacting with the view.\n * Provide additional callbacks to API Context via `addCallbacks` method.\n *\n * @param props - RepeatingStructuresProps required to initialize and manage the repeating structures.\n * @see {@link RepeatingStructuresProps}\n * @returns A singleton instance object that contains methods to interact with repeating structure.\n * @see {@link Instance}\n */\nexport default function useRepeat({\n meta,\n apiContext,\n presets = [],\n persistedInfo,\n onRowClickAction,\n renderFactory,\n renderFormatterTypeMap,\n formatters,\n onViewReady,\n mode,\n toolBarOptions,\n styleFormats,\n repeatComponentInstance\n}: RepeatingStructuresProps & { repeatComponentInstance: RefObject<RsCoreTypes.RsApi> }): Instance {\n // Create the repeat instance\n const instance: Instance = useRef<Instance>({ rsID: uuidV4() } as Instance).current;\n\n // Normalize metadata everytime as you might have added custom column.\n // TODO: refactor this to normalizeMeta when required.\n\n const [, dispatch] = useThunkReducer();\n // FIXME: remove renderFactory from RsApi params\n\n type RsCoreTranslationKeys = keyof NonNullable<RsCoreTypes.RsCoreInitArgs['translations']>;\n const rsCoreTranslationKeys: RsCoreTranslationKeys[] = [\n 'created_view',\n 'created_view_with_default',\n 'deleted_view',\n 'saved_changes',\n 'saved_changes_with_default',\n 'view_marked_app_default',\n 'view_marked_default',\n 'view_navigation_instructions',\n 'Actions',\n 'Select',\n 'Reorder',\n 'Error',\n 'required'\n ];\n\n const [translate] = useTranslate();\n const rsCoreTranslationValues = translate(rsCoreTranslationKeys);\n const rsCoreTranslations = Object.fromEntries(\n rsCoreTranslationKeys.map((key, index) => [key, rsCoreTranslationValues[index]])\n );\n\n Object.assign(instance, {\n apiContext,\n rsCoreApi: getRsCoreApi(instance, {\n formatters,\n renderFormatterTypeMap,\n toolBarOptions,\n meta,\n onRowClickAction,\n apiContext,\n presets,\n persistedInfo,\n dispatch,\n mode,\n renderFactory,\n styleFormats,\n translations: rsCoreTranslations\n })\n });\n\n Object.assign(instance, {\n getView: instance.rsCoreApi.getView\n });\n\n // TODO: enrich this to take meta as well\n instance.rsCoreApi.updateInitArgs({ apiContext, styleFormats });\n\n instance.api = {\n ...(instance.api || {}),\n setRecordCount: instance.getView().type.setRecordCount,\n dispatchAction: instance.getView().type.dispatchAction\n };\n\n /** Compare new payload with current state to avoid unnecessary rerenders */\n // TODO: create separate api for setting visibility state for OOTB columns.\n const setHiddenColumns = useCallback(\n (hiddenColumns: string[], ootbColumns?: { dragHandle?: boolean }) => {\n if (\n hiddenColumns &&\n !ootbColumns &&\n hiddenColumns.length === instance.getView().state.hiddenColumns?.length &&\n hiddenColumns.every(id => instance.getView().state.hiddenColumns?.includes(id))\n ) {\n return;\n }\n if (ootbColumns?.dragHandle && !isRowReorderFieldEnabled(instance.getView().meta)) {\n delete ootbColumns.dragHandle;\n }\n instance.getView().type.applyHiddenColumns(hiddenColumns, ootbColumns);\n },\n [instance]\n );\n\n const setColumnOrder: RsCoreTypes.RsApi['setColumnOrder'] = useCallback(\n (colOrder: string[]) => {\n if (colOrder && deepEqual(colOrder, instance.getView().state.colOrder)) {\n return;\n }\n instance.getView().type.applyOrder(colOrder);\n },\n [instance]\n );\n\n const setAggregations: RsCoreTypes.RsApi['setAggregations'] = useCallback(\n (agg: RsCoreTypes.State['aggregationInfo']) => {\n if (agg && deepEqual(agg, instance.getView().state.aggregationInfo)) {\n return;\n }\n if (agg) instance.getView().type.applyAggregations(agg);\n },\n [instance]\n );\n\n const setFilter: RsCoreTypes.RsApi['setFilter'] = useCallback(\n newFilter => {\n if (newFilter && deepEqual(newFilter, instance.getView().state.filterExpression)) {\n return;\n }\n instance.getView().type.applyFilter({ filterExp: newFilter });\n },\n [instance]\n );\n\n const setAliases: RsCoreTypes.RsApi['setAliases'] = useCallback(\n aliases => {\n if (!aliases) {\n return;\n }\n instance.getView().type.applyAliases({ aliases });\n },\n [instance]\n );\n\n const setSorting: RsCoreTypes.RsApi['setSorting'] = useCallback(\n sortingOrder => {\n if (sortingOrder && deepEqual(sortingOrder, instance.getView().state.sortingOrder)) {\n return;\n }\n instance.getView().type.applySorting(sortingOrder);\n },\n [instance]\n );\n\n const setGrouping: RsCoreTypes.RsApi['setGrouping'] = useCallback(\n (groups: RsCoreTypes.Group[]) => {\n if (groups && deepEqual(groups, instance.getView().state.groups)) {\n return;\n }\n instance.getView().type.applyGrouping(groups);\n },\n [instance]\n );\n\n const setRowReorderFieldVisibility: RsCoreTypes.RsApi['setRowReorderFieldVisibility'] =\n useCallback(\n visibility => {\n if (isRowReorderFieldEnabled(instance.getView().meta)) {\n instance\n .getView()\n .type.updateColumnsVisibility({ [rowDragDropColumnMeta.field.id]: visibility });\n }\n },\n [instance]\n );\n\n const updateColumnsVisibility: RsCoreTypes.RsApi['updateColumnsVisibility'] = useCallback(\n columns => {\n const fieldDefs = instance.getView().meta.fieldDefs.map(field => field.id);\n const columnsToBeToggled: Record<string, boolean> = {};\n Object.keys(columns).forEach(column => {\n if (fieldDefs.includes(column)) {\n columnsToBeToggled[column] = columns[column];\n }\n });\n if (Object.keys(columnsToBeToggled).length) {\n instance.getView().type.updateColumnsVisibility(columnsToBeToggled);\n }\n },\n [instance]\n );\n\n const getActiveViewInfo = useCallback(() => {\n const {\n state: { personalization }\n } = instance.getView();\n\n const activePersonalization = personalization?.active;\n const activePersonalizationName = activePersonalization\n ? personalization?.allPersonalizations?.[activePersonalization]?.name\n : undefined;\n return {\n id: activePersonalization,\n name: activePersonalizationName,\n isDirty: !!personalization?.dirty\n };\n }, [instance]);\n\n const setConditionalStyleFormats: RsCoreTypes.RsApi['setConditionalStyleFormats'] = useCallback(\n conditionalStyleFormats => {\n const {\n meta: { fieldDefs }\n } = instance.getView();\n\n if (\n conditionalStyleFormats &&\n deepEqual(conditionalStyleFormats, instance.getView().state.conditionalStyleFormats)\n ) {\n return;\n }\n\n const sanitizedFormats = sanitizeConditionalStyleFormats(conditionalStyleFormats, fieldDefs);\n instance.getView().type.setConditionalStyleFormats(sanitizedFormats);\n },\n []\n );\n\n const setRenderFormatter: RsCoreTypes.RsApi['setRenderFormatter'] = useCallback(\n (columnId, formatter) => {\n instance\n .getView()\n .columns?.find(c => c.field.id === columnId)\n ?.applyFormatter(formatter);\n },\n [instance]\n );\n\n const removeRenderFormatter: RsCoreTypes.RsApi['removeRenderFormatter'] = useCallback(\n columnId => {\n instance\n .getView()\n .columns?.find(c => c.field.id === columnId)\n ?.removeFormatter();\n },\n [instance]\n );\n\n // TODO: Move the RsCoreTypes.RsApi's to separate file, maybe useRsApi.ts\n // TODO:\n useImperativeHandle(\n repeatComponentInstance,\n () => ({\n refreshView: instance.getView().type.forceRefresh,\n setRecordCount: instance.getView().type.setRecordCount,\n dispatchAction: instance.getView().type.dispatchAction,\n getActiveViewInfo,\n /** Only expose below APIs when those features are enabled */\n setHiddenColumns: instance.getView().meta.toggleFieldVisibility\n ? setHiddenColumns\n : undefined,\n setColumnOrder: instance.getView().meta.reorderFields ? setColumnOrder : undefined,\n setFilter,\n setSorting,\n setAliases,\n setGrouping: instance.getView().meta.grouping ? setGrouping : undefined,\n setAggregations,\n setRenderFormatter,\n removeRenderFormatter,\n setRowReorderFieldVisibility,\n updateColumnsVisibility,\n setConditionalStyleFormats\n }),\n\n []\n );\n\n // When ever component mounts, do this after first render of component\n useEffect(() => {\n instance.getView().type.doBootstrap();\n if (onViewReady) onViewReady(instance.api);\n if (instance.apiContext.addCallbacks && repeatComponentInstance?.current) {\n // add instance APIs as callbacks <setRecordCount> for push communication from Nebula to Client\n instance.apiContext.addCallbacks({\n ...repeatComponentInstance.current,\n forceRefresh: instance.getView().type.forceRefresh\n });\n }\n\n instance.apiContext.setRsID?.(instance.getView().rsID);\n\n instance.rsCoreApi.notifyViewEvent().mount();\n return () => {\n instance.rsCoreApi.notifyViewEvent().unmount();\n // Marking it as ts-ignore. Making these objects take null will increase conditional blocks in code.\n // @ts-ignore\n instance.rsCoreApi = null;\n // @ts-ignore\n instance.getView = null;\n };\n }, [instance]);\n\n useEffect(() => {\n instance.rsCoreApi.notifyViewEvent().afterRender();\n }, [instance, instance.getView().state]);\n\n return instance;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"useRepeat.js","sourceRoot":"","sources":["../../../Core/Hooks/useRepeat.ts"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useCallback, useRef, useImperativeHandle, type RefObject } from 'react';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport {\n initializeRsCore,\n rowDragDropColumnMeta,\n sanitizeConditionalStyleFormats,\n type RsCoreTypes\n} from 'pega-repeating-structures-core';\n\nimport { deepEqual, isRowReorderFieldEnabled } from '../Utils';\nimport type { RepeatingStructuresProps } from '../../types/RepeatingStructuresBoot.types';\n\nimport useThunkReducer from './useThunkReducer';\nimport useTranslate from './useTranslate';\n\n/**\n * Represents the instance of a repeating structure, containing methods and properties\n * to interact with it.\n */\nexport interface Instance {\n /** A unique identifier for the repeating structure instance. */\n rsID: string;\n /** The API context for interacting with the repeating structure. See {@link RsCoreTypes.ApiContext} */\n apiContext: RsCoreTypes.ApiContext;\n /** The core API for managing the repeating structure's state and behavior. See {@link RsCoreTypes.RsCore}. */\n rsCoreApi: RsCoreTypes.RsCore;\n /** A method to retrieve the current view of the repeating structure. See {@link RsCoreTypes.RsCore.getView} */\n getView: RsCoreTypes.RsCore['getView'];\n /**\n * @deprecated This set of methods is deprecated and will be removed in future versions.\n * Use methods exposed using repeatComponentInstance instead.\n *\n * A set of APIs to interact with the repeating structure. See {@link RsCoreTypes.RsApi}.\n * */\n api: Pick<RsCoreTypes.RsApi, 'dispatchAction' | 'setRecordCount'>;\n}\n\nfunction getRsCoreApi(instance: Instance, opt: RsCoreTypes.RsCoreInitArgs) {\n if (instance.rsCoreApi) return instance.rsCoreApi;\n return initializeRsCore(opt);\n}\n\n/**\n * A custom React hook to manage the lifecycle of repeating structures using `RsCore` library.\n * It provides an RsCoreTypes.RsApi for interacting with the view.\n * Provide additional callbacks to API Context via `addCallbacks` method.\n *\n * @param props - RepeatingStructuresProps required to initialize and manage the repeating structures.\n * @see {@link RepeatingStructuresProps}\n * @returns A singleton instance object that contains methods to interact with repeating structure.\n * @see {@link Instance}\n */\nexport default function useRepeat({\n meta,\n apiContext,\n presets = [],\n persistedInfo,\n onRowClickAction,\n renderFactory,\n renderFormatterTypeMap,\n formatters,\n onViewReady,\n mode,\n toolBarOptions,\n styleFormats,\n repeatComponentInstance\n}: RepeatingStructuresProps & { repeatComponentInstance: RefObject<RsCoreTypes.RsApi> }): Instance {\n // Create the repeat instance\n const instance: Instance = useRef<Instance>({ rsID: uuidV4() } as Instance).current;\n\n // Normalize metadata everytime as you might have added custom column.\n // TODO: refactor this to normalizeMeta when required.\n\n const [, dispatch] = useThunkReducer();\n // FIXME: remove renderFactory from RsApi params\n\n type RsCoreTranslationKeys = keyof NonNullable<RsCoreTypes.RsCoreInitArgs['translations']>;\n const rsCoreTranslationKeys: RsCoreTranslationKeys[] = [\n 'created_view',\n 'created_view_with_default',\n 'deleted_view',\n 'saved_changes',\n 'saved_changes_with_default',\n 'view_marked_app_default',\n 'view_marked_default',\n 'view_navigation_instructions',\n 'Actions',\n 'Select',\n 'Reorder',\n 'Error',\n 'required'\n ];\n\n const [translate] = useTranslate();\n const rsCoreTranslationValues = translate(rsCoreTranslationKeys);\n const rsCoreTranslations = Object.fromEntries(\n rsCoreTranslationKeys.map((key, index) => [key, rsCoreTranslationValues[index]])\n );\n\n Object.assign(instance, {\n apiContext,\n rsCoreApi: getRsCoreApi(instance, {\n formatters,\n renderFormatterTypeMap,\n toolBarOptions,\n meta,\n onRowClickAction,\n apiContext,\n presets,\n persistedInfo,\n dispatch,\n mode,\n renderFactory,\n styleFormats,\n translations: rsCoreTranslations\n })\n });\n\n Object.assign(instance, {\n getView: instance.rsCoreApi.getView\n });\n\n // TODO: enrich this to take meta as well\n instance.rsCoreApi.updateInitArgs({ apiContext, styleFormats });\n\n instance.api = {\n ...(instance.api || {}),\n setRecordCount: instance.getView().type.setRecordCount,\n dispatchAction: instance.getView().type.dispatchAction\n };\n\n /** Compare new payload with current state to avoid unnecessary rerenders */\n // TODO: create separate api for setting visibility state for OOTB columns.\n // TODO: remove setHiddenColumns API when we deprecate hiddenColumns in favor of visibleColumns only.\n const setHiddenColumns = useCallback(\n (hiddenColumns: string[], ootbColumns?: { dragHandle?: boolean }) => {\n if (\n hiddenColumns &&\n !ootbColumns &&\n hiddenColumns.length === instance.getView().state.hiddenColumns?.length &&\n hiddenColumns.every(id => instance.getView().state.hiddenColumns?.includes(id))\n ) {\n return;\n }\n if (ootbColumns?.dragHandle && !isRowReorderFieldEnabled(instance.getView().meta)) {\n delete ootbColumns.dragHandle;\n }\n instance.getView().type.applyHiddenColumns(hiddenColumns, ootbColumns);\n },\n [instance]\n );\n\n const setVisibleColumns = useCallback(\n (visibleColumns: string[]) => {\n if (\n visibleColumns &&\n visibleColumns.length === instance.getView().state.visibleColumns?.length &&\n visibleColumns.every(id => instance.getView().state.visibleColumns?.includes(id))\n ) {\n return;\n }\n instance.getView().type.applyVisibleColumns(visibleColumns);\n },\n [instance]\n );\n\n const setColumnOrder: RsCoreTypes.RsApi['setColumnOrder'] = useCallback(\n (colOrder: string[]) => {\n if (colOrder && deepEqual(colOrder, instance.getView().state.colOrder)) {\n return;\n }\n instance.getView().type.applyOrder(colOrder);\n },\n [instance]\n );\n\n const setAggregations: RsCoreTypes.RsApi['setAggregations'] = useCallback(\n (agg: RsCoreTypes.State['aggregationInfo']) => {\n if (agg && deepEqual(agg, instance.getView().state.aggregationInfo)) {\n return;\n }\n if (agg) instance.getView().type.applyAggregations(agg);\n },\n [instance]\n );\n\n const setFilter: RsCoreTypes.RsApi['setFilter'] = useCallback(\n newFilter => {\n if (newFilter && deepEqual(newFilter, instance.getView().state.filterExpression)) {\n return;\n }\n instance.getView().type.applyFilter({ filterExp: newFilter });\n },\n [instance]\n );\n\n const setAliases: RsCoreTypes.RsApi['setAliases'] = useCallback(\n aliases => {\n if (!aliases) {\n return;\n }\n instance.getView().type.applyAliases({ aliases });\n },\n [instance]\n );\n\n const setSorting: RsCoreTypes.RsApi['setSorting'] = useCallback(\n sortingOrder => {\n if (sortingOrder && deepEqual(sortingOrder, instance.getView().state.sortingOrder)) {\n return;\n }\n instance.getView().type.applySorting(sortingOrder);\n },\n [instance]\n );\n\n const setGrouping: RsCoreTypes.RsApi['setGrouping'] = useCallback(\n (groups: RsCoreTypes.Group[]) => {\n if (groups && deepEqual(groups, instance.getView().state.groups)) {\n return;\n }\n instance.getView().type.applyGrouping(groups);\n },\n [instance]\n );\n\n const setRowReorderFieldVisibility: RsCoreTypes.RsApi['setRowReorderFieldVisibility'] =\n useCallback(\n visibility => {\n if (isRowReorderFieldEnabled(instance.getView().meta)) {\n instance\n .getView()\n .type.updateColumnsVisibility({ [rowDragDropColumnMeta.field.id]: visibility });\n }\n },\n [instance]\n );\n\n const updateColumnsVisibility: RsCoreTypes.RsApi['updateColumnsVisibility'] = useCallback(\n columns => {\n const fieldDefs = instance.getView().meta.fieldDefs.map(field => field.id);\n const columnsToBeToggled: Record<string, boolean> = {};\n Object.keys(columns).forEach(column => {\n if (fieldDefs.includes(column)) {\n columnsToBeToggled[column] = columns[column];\n }\n });\n if (Object.keys(columnsToBeToggled).length) {\n instance.getView().type.updateColumnsVisibility(columnsToBeToggled);\n }\n },\n [instance]\n );\n\n const getActiveViewInfo = useCallback(() => {\n const {\n state: { personalization }\n } = instance.getView();\n\n const activePersonalization = personalization?.active;\n const activePersonalizationName = activePersonalization\n ? personalization?.allPersonalizations?.[activePersonalization]?.name\n : undefined;\n return {\n id: activePersonalization,\n name: activePersonalizationName,\n isDirty: !!personalization?.dirty\n };\n }, [instance]);\n\n const setConditionalStyleFormats: RsCoreTypes.RsApi['setConditionalStyleFormats'] = useCallback(\n conditionalStyleFormats => {\n const {\n meta: { fieldDefs }\n } = instance.getView();\n\n if (\n conditionalStyleFormats &&\n deepEqual(conditionalStyleFormats, instance.getView().state.conditionalStyleFormats)\n ) {\n return;\n }\n // TODO: below sanitization should be handled in rs core.\n const sanitizedFormats = sanitizeConditionalStyleFormats(conditionalStyleFormats, fieldDefs);\n instance.getView().type.setConditionalStyleFormats(sanitizedFormats);\n },\n []\n );\n\n const setRenderFormatter: RsCoreTypes.RsApi['setRenderFormatter'] = useCallback(\n (columnId, formatter) => {\n instance\n .getView()\n .columns?.find(c => c.field.id === columnId)\n ?.applyFormatter(formatter);\n },\n [instance]\n );\n\n const removeRenderFormatter: RsCoreTypes.RsApi['removeRenderFormatter'] = useCallback(\n columnId => {\n instance\n .getView()\n .columns?.find(c => c.field.id === columnId)\n ?.removeFormatter();\n },\n [instance]\n );\n\n // TODO: Move the RsCoreTypes.RsApi's to separate file, maybe useRsApi.ts\n useImperativeHandle(\n repeatComponentInstance,\n () => ({\n refreshView: instance.getView().type.forceRefresh,\n setRecordCount: instance.getView().type.setRecordCount,\n dispatchAction: instance.getView().type.dispatchAction,\n getActiveViewInfo,\n /** Only expose below APIs when those features are enabled */\n setHiddenColumns: instance.getView().meta.toggleFieldVisibility\n ? setHiddenColumns\n : undefined,\n setColumnOrder: instance.getView().meta.reorderFields ? setColumnOrder : undefined,\n setVisibleColumns: instance.getView().meta.toggleFieldVisibility\n ? (visibleColumns: string[]) => setVisibleColumns(visibleColumns)\n : undefined,\n setFilter,\n setSorting,\n setAliases,\n setGrouping: instance.getView().meta.grouping ? setGrouping : undefined,\n setAggregations,\n setRenderFormatter,\n removeRenderFormatter,\n setRowReorderFieldVisibility,\n updateColumnsVisibility,\n setConditionalStyleFormats\n }),\n\n []\n );\n\n // When ever component mounts, do this after first render of component\n useEffect(() => {\n instance.getView().type.doBootstrap();\n if (onViewReady) onViewReady(instance.api);\n if (instance.apiContext.addCallbacks && repeatComponentInstance?.current) {\n // add instance APIs as callbacks <setRecordCount> for push communication from Nebula to Client\n instance.apiContext.addCallbacks({\n ...repeatComponentInstance.current,\n forceRefresh: instance.getView().type.forceRefresh\n });\n }\n\n instance.apiContext.setRsID?.(instance.getView().rsID);\n\n instance.rsCoreApi.notifyViewEvent().mount();\n return () => {\n instance.rsCoreApi.notifyViewEvent().unmount();\n // Marking it as ts-ignore. Making these objects take null will increase conditional blocks in code.\n // @ts-ignore\n instance.rsCoreApi = null;\n // @ts-ignore\n instance.getView = null;\n };\n }, [instance]);\n\n useEffect(() => {\n instance.rsCoreApi.notifyViewEvent().afterRender();\n }, [instance, instance.getView().state]);\n\n return instance;\n}\n"]}
|
|
@@ -18,6 +18,7 @@ export declare const fieldDefsMock: ({
|
|
|
18
18
|
resize: boolean;
|
|
19
19
|
show: boolean;
|
|
20
20
|
sort: boolean;
|
|
21
|
+
grouping: boolean;
|
|
21
22
|
category?: undefined;
|
|
22
23
|
showCategoryInHeaderLabel?: undefined;
|
|
23
24
|
filter?: undefined;
|
|
@@ -30,6 +31,7 @@ export declare const fieldDefsMock: ({
|
|
|
30
31
|
resize: boolean;
|
|
31
32
|
show: boolean;
|
|
32
33
|
sort: boolean;
|
|
34
|
+
grouping: boolean;
|
|
33
35
|
minWidth?: undefined;
|
|
34
36
|
category?: undefined;
|
|
35
37
|
showCategoryInHeaderLabel?: undefined;
|
|
@@ -46,6 +48,7 @@ export declare const fieldDefsMock: ({
|
|
|
46
48
|
label: string;
|
|
47
49
|
}[];
|
|
48
50
|
showCategoryInHeaderLabel: boolean;
|
|
51
|
+
grouping: boolean;
|
|
49
52
|
minWidth?: undefined;
|
|
50
53
|
sort?: undefined;
|
|
51
54
|
filter?: undefined;
|
|
@@ -57,6 +60,7 @@ export declare const fieldDefsMock: ({
|
|
|
57
60
|
id: string;
|
|
58
61
|
filter: boolean;
|
|
59
62
|
show: boolean;
|
|
63
|
+
grouping: boolean;
|
|
60
64
|
minWidth?: undefined;
|
|
61
65
|
resize?: undefined;
|
|
62
66
|
sort?: undefined;
|
|
@@ -69,6 +73,7 @@ export declare const fieldDefsMock: ({
|
|
|
69
73
|
width: number;
|
|
70
74
|
id: string;
|
|
71
75
|
show: boolean;
|
|
76
|
+
grouping: boolean;
|
|
72
77
|
minWidth?: undefined;
|
|
73
78
|
resize?: undefined;
|
|
74
79
|
sort?: undefined;
|
|
@@ -84,6 +89,7 @@ export declare const fieldDefsMock: ({
|
|
|
84
89
|
resize: boolean;
|
|
85
90
|
filter: boolean;
|
|
86
91
|
show: boolean;
|
|
92
|
+
grouping: boolean;
|
|
87
93
|
minWidth?: undefined;
|
|
88
94
|
sort?: undefined;
|
|
89
95
|
category?: undefined;
|
|
@@ -117,6 +123,7 @@ export declare const meta: {
|
|
|
117
123
|
resize: boolean;
|
|
118
124
|
show: boolean;
|
|
119
125
|
sort: boolean;
|
|
126
|
+
grouping: boolean;
|
|
120
127
|
category?: undefined;
|
|
121
128
|
showCategoryInHeaderLabel?: undefined;
|
|
122
129
|
filter?: undefined;
|
|
@@ -129,6 +136,7 @@ export declare const meta: {
|
|
|
129
136
|
resize: boolean;
|
|
130
137
|
show: boolean;
|
|
131
138
|
sort: boolean;
|
|
139
|
+
grouping: boolean;
|
|
132
140
|
minWidth?: undefined;
|
|
133
141
|
category?: undefined;
|
|
134
142
|
showCategoryInHeaderLabel?: undefined;
|
|
@@ -145,6 +153,7 @@ export declare const meta: {
|
|
|
145
153
|
label: string;
|
|
146
154
|
}[];
|
|
147
155
|
showCategoryInHeaderLabel: boolean;
|
|
156
|
+
grouping: boolean;
|
|
148
157
|
minWidth?: undefined;
|
|
149
158
|
sort?: undefined;
|
|
150
159
|
filter?: undefined;
|
|
@@ -156,6 +165,7 @@ export declare const meta: {
|
|
|
156
165
|
id: string;
|
|
157
166
|
filter: boolean;
|
|
158
167
|
show: boolean;
|
|
168
|
+
grouping: boolean;
|
|
159
169
|
minWidth?: undefined;
|
|
160
170
|
resize?: undefined;
|
|
161
171
|
sort?: undefined;
|
|
@@ -168,6 +178,7 @@ export declare const meta: {
|
|
|
168
178
|
width: number;
|
|
169
179
|
id: string;
|
|
170
180
|
show: boolean;
|
|
181
|
+
grouping: boolean;
|
|
171
182
|
minWidth?: undefined;
|
|
172
183
|
resize?: undefined;
|
|
173
184
|
sort?: undefined;
|
|
@@ -183,6 +194,7 @@ export declare const meta: {
|
|
|
183
194
|
resize: boolean;
|
|
184
195
|
filter: boolean;
|
|
185
196
|
show: boolean;
|
|
197
|
+
grouping: boolean;
|
|
186
198
|
minWidth?: undefined;
|
|
187
199
|
sort?: undefined;
|
|
188
200
|
category?: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JUnitMocks.d.ts","sourceRoot":"","sources":["../../../Core/Test/JUnitMocks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,eAAO,MAAM,QAAQ;;;;;;;;GAyEpB,CAAC;AAEF,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"JUnitMocks.d.ts","sourceRoot":"","sources":["../../../Core/Test/JUnitMocks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,eAAO,MAAM,QAAQ;;;;;;;;GAyEpB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuFzB,CAAC;AAOF,eAAO,MAAM,OAAO;;;;;;;CAQnB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;CAQxB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEhB,CAAC;AA2CF,eAAO,MAAM,YAAY;;;UAqEP,WAAW,CAAC,IAAI,GAAG;QACjC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG;YAAE,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;SAAE,CAAC;KAC5E;;;;;;;;CAOF,CAAC;AAUF,eAAO,MAAM,UAAU;;;;GAGtB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;GA2B5B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;CAMlC,CAAC;AAGF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiNxC,CAAC;AAGF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;CAiBhC,CAAC"}
|
|
@@ -83,7 +83,8 @@ export const fieldDefsMock = [
|
|
|
83
83
|
minWidth: 40,
|
|
84
84
|
resize: true,
|
|
85
85
|
show: true,
|
|
86
|
-
sort: true
|
|
86
|
+
sort: true,
|
|
87
|
+
grouping: true
|
|
87
88
|
},
|
|
88
89
|
{
|
|
89
90
|
type: 'text',
|
|
@@ -93,7 +94,8 @@ export const fieldDefsMock = [
|
|
|
93
94
|
id: '2',
|
|
94
95
|
resize: true,
|
|
95
96
|
show: true,
|
|
96
|
-
sort: true
|
|
97
|
+
sort: true,
|
|
98
|
+
grouping: true
|
|
97
99
|
},
|
|
98
100
|
{
|
|
99
101
|
type: 'text',
|
|
@@ -103,7 +105,8 @@ export const fieldDefsMock = [
|
|
|
103
105
|
id: '3',
|
|
104
106
|
resize: true,
|
|
105
107
|
show: true,
|
|
106
|
-
sort: true
|
|
108
|
+
sort: true,
|
|
109
|
+
grouping: true
|
|
107
110
|
},
|
|
108
111
|
{
|
|
109
112
|
type: 'number',
|
|
@@ -114,7 +117,8 @@ export const fieldDefsMock = [
|
|
|
114
117
|
resize: true,
|
|
115
118
|
show: true,
|
|
116
119
|
category: [{ label: 'Update Operator' }],
|
|
117
|
-
showCategoryInHeaderLabel: true
|
|
120
|
+
showCategoryInHeaderLabel: true,
|
|
121
|
+
grouping: true
|
|
118
122
|
},
|
|
119
123
|
{
|
|
120
124
|
type: 'date',
|
|
@@ -123,7 +127,8 @@ export const fieldDefsMock = [
|
|
|
123
127
|
width: 400,
|
|
124
128
|
id: '5',
|
|
125
129
|
filter: true,
|
|
126
|
-
show: true
|
|
130
|
+
show: true,
|
|
131
|
+
grouping: true
|
|
127
132
|
},
|
|
128
133
|
{
|
|
129
134
|
type: 'text',
|
|
@@ -131,7 +136,8 @@ export const fieldDefsMock = [
|
|
|
131
136
|
label: 'Release',
|
|
132
137
|
width: 100,
|
|
133
138
|
id: '7',
|
|
134
|
-
show: true
|
|
139
|
+
show: true,
|
|
140
|
+
grouping: true
|
|
135
141
|
},
|
|
136
142
|
{
|
|
137
143
|
type: 'text',
|
|
@@ -141,7 +147,18 @@ export const fieldDefsMock = [
|
|
|
141
147
|
id: 'F',
|
|
142
148
|
resize: true,
|
|
143
149
|
filter: true,
|
|
144
|
-
show: true
|
|
150
|
+
show: true,
|
|
151
|
+
grouping: true
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
type: 'date',
|
|
155
|
+
name: 'pxCreateDate',
|
|
156
|
+
label: 'Created on Date',
|
|
157
|
+
width: 400,
|
|
158
|
+
id: 'C',
|
|
159
|
+
filter: true,
|
|
160
|
+
show: true,
|
|
161
|
+
grouping: true
|
|
145
162
|
}
|
|
146
163
|
];
|
|
147
164
|
const mockDataRow = {
|
|
@@ -337,7 +354,8 @@ export const instanceMock = {
|
|
|
337
354
|
getContext() {
|
|
338
355
|
return { getRequiredDef: () => undefined, getMeta: () => meta };
|
|
339
356
|
},
|
|
340
|
-
shouldDisplayFeature: () => true
|
|
357
|
+
shouldDisplayFeature: () => true,
|
|
358
|
+
getFieldDefs: () => meta.fieldDefs
|
|
341
359
|
},
|
|
342
360
|
getState() {
|
|
343
361
|
return this.view.state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JUnitMocks.js","sourceRoot":"","sources":["../../../Core/Test/JUnitMocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { REPEATING_STRUCTURE_TEMPLATES } from 'pega-repeating-structures-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nexport const dataMock = [\n {\n pyID: 'BUG-199277',\n pyLabel: 'MFS: Mobile: Operator icon doesn’t appear in Case Manager Portal',\n pxCurrentStageLabel: 'New',\n pxUrgencyWork: '15',\n pyStatusWork: 'New',\n pxCreateDateTime: '2020-04-25T12:20:29.273Z',\n ProductVersionID: 'RLS-5657'\n },\n {\n pyID: 'BUG-184789',\n pyLabel: 'Layout Group configured as tab shows both menu and tab',\n pxCurrentStageLabel: 'Rejected',\n pxUrgencyWork: '45',\n pyStatusWork: 'Resolved-Rejected',\n pxCreateDateTime: '2020-04-26T12:20:29.273Z',\n ProductVersionID: 'RLS-5658'\n },\n {\n pyID: 'BUG-168038',\n pyLabel: 'Show Message on unsupported browser',\n pxCurrentStageLabel: 'Fixed',\n pxUrgencyWork: '85',\n pyStatusWork: 'Resolved-Completed',\n pxCreateDateTime: '2020-01-25T12:20:29.273Z',\n ProductVersionID: 'RLS-5157'\n },\n {\n pyID: 'BUG-161608',\n pyLabel: 'UI Kit : Stages in CM portal not responsive with',\n pxCurrentStageLabel: 'Rejected',\n pxUrgencyWork: '15',\n pyStatusWork: 'Resolved-Rejected',\n pxCreateDateTime: '2019-04-25T12:20:29.273Z',\n ProductVersionID: 'RLS-4657'\n },\n {\n pyID: 'BUG-161604',\n pyLabel: 'UI Kit is not added for new applications built on existing implementation',\n pxCurrentStageLabel: 'Fixing',\n pxUrgencyWork: '45',\n pyStatusWork: 'Open-InProgress',\n pxCreateDateTime: '2020-09-25T12:20:29.273Z',\n ProductVersionID: 'RLS-3657'\n },\n {\n pyID: 'BUG-168099',\n pyLabel: 'Show Message on unsupported browser',\n pxCurrentStageLabel: 'Fixed',\n pxUrgencyWork: '90',\n pyStatusWork: 'Resolved-Completed',\n pxCreateDateTime: '2010-04-25T12:20:29.273Z',\n ProductVersionID: 'RLS-2657'\n },\n {\n pyID: 'BUG-161638',\n pyLabel: 'UI Kit : Stages in CM portal not responsive with',\n pxCurrentStageLabel: 'Rejected',\n pxUrgencyWork: '85',\n pyStatusWork: 'Resolved-Rejected',\n pxCreateDateTime: '2020-04-25T12:10:29.273Z',\n ProductVersionID: 'RLS-1657'\n },\n {\n pyID: 'BUG-161684',\n pyLabel: 'UI Kit is not added for new applications built on existing implementation',\n pxCurrentStageLabel: 'Fixing',\n pxUrgencyWork: '15',\n pyStatusWork: 'Open-InProgress',\n pxCreateDateTime: '2020-04-25T12:20:28.273Z',\n ProductVersionID: 'RLS-557'\n }\n];\n\nexport const fieldDefsMock = [\n {\n type: 'number',\n name: 'pyIndex',\n label: 'Sl.No.',\n width: 50,\n id: 'A', // Don't change this\n minWidth: 40,\n resize: true,\n show: true,\n sort: true\n },\n {\n type: 'text',\n name: 'pyID',\n label: 'ID',\n width: 150,\n id: '2',\n resize: true,\n show: true,\n sort: true\n },\n {\n type: 'text',\n name: 'pyLabel',\n label: 'Name',\n width: 400,\n id: '3',\n resize: true,\n show: true,\n sort: true\n },\n {\n type: 'number',\n name: 'pxUrgencyWork',\n label: 'Priority',\n width: 300,\n id: 'D',\n resize: true,\n show: true,\n category: [{ label: 'Update Operator' }],\n showCategoryInHeaderLabel: true\n },\n {\n type: 'date',\n name: 'pxCreateDateTime',\n label: 'Created on',\n width: 400,\n id: '5',\n filter: true,\n show: true\n },\n {\n type: 'text',\n name: 'ProductVersionID',\n label: 'Release',\n width: 100,\n id: '7',\n show: true\n },\n {\n type: 'text',\n name: 'pxCurrentStageLabel',\n label: 'Status',\n width: 100,\n id: 'F',\n resize: true,\n filter: true,\n show: true\n }\n];\n\nconst mockDataRow = {\n pyID: 1,\n pyLabel: 'Testing'\n};\n\nexport const mockRow = {\n getContext: () => {\n return {\n getValue: () => {\n return mockDataRow;\n }\n };\n }\n};\n\nexport const emptyMockRow = {\n getContext: () => {\n return {\n getValue: () => {\n return null;\n }\n };\n }\n};\n\nexport const meta = {\n title: '<>mock title<>',\n icon: 'picture',\n template: REPEATING_STRUCTURE_TEMPLATES.TABLE,\n personalization: true,\n fieldDefs: fieldDefsMock,\n locale: 'en-US',\n timezone: 'America/New_York',\n height: { height: 0, minHeight: 400 },\n comparatorMap: {},\n typeMap: {},\n sortOrder: ['asc', 'desc', null],\n toggleFieldVisibility: true,\n grouping: true,\n dateFunctions: {\n // TODO: Enable HOURS\n DATE_TIME: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'DAYS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ],\n DATE_ONLY: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ]\n },\n aggregateOptions: {\n number: ['numberAggregateFn1', 'numberAggregateFn2'],\n currency: ['currencyAggregateFn1', 'currencyAggregateFn2']\n },\n expandGroups: true,\n dynamicFieldTemplates: [\n {\n name: 'Comma separated',\n value: 'comma',\n selected: true\n },\n {\n name: 'Space separated',\n value: 'space'\n },\n {\n name: 'Multi line',\n value: 'multiline'\n }\n ],\n displayDensity: [],\n headerBar: true,\n isPreset: true,\n id: 'nonPersonalizationViewKey',\n displayFeatures: {\n filter: true,\n grouping: true,\n sort: true\n }\n};\n\nconst state = {\n filteredFields: [],\n filterExpression: null,\n customFields: [],\n personalization: {\n active: 'nonPersonalizationViewKey',\n allPersonalizations: {\n nonPersonalizationViewKey: {\n name: 'Initial view',\n template: REPEATING_STRUCTURE_TEMPLATES.TABLE,\n isPreset: true\n }\n }\n },\n search: {\n query: 'search.query'\n },\n refresh: false,\n selectedHeightOption: 'selectedHeightOption',\n paginationOptions: {},\n showHeaderIcons: true,\n responsive: { sm: true }\n};\n\nconst apiContext = {\n fetchUniqueColValues: () => {\n return Promise.resolve([]);\n },\n fetchGroupedInfo: () => {\n return Promise.resolve([]);\n }\n};\n\nconst domContainer = document.createElement('div');\ndomContainer.setAttribute('data-testid', 'table-dom-container');\n// Attaching the domContainer to body to make it work with RTL specially in case of portals\ndocument.body.appendChild(domContainer);\ndomContainer.getBoundingClientRect = () => {\n return { top: 10, left: 10, bottom: 10, right: 10 } as DOMRect;\n};\n\nexport const instanceMock = {\n externalStatePassed: false,\n presets: [],\n view: {\n meta,\n state,\n formatters: {\n Integer: (value: number) => {\n return value;\n }\n },\n setProp: function setProp(p: any, value: any) {\n // @ts-expect-error\n this[p] = value;\n },\n setDomContainer: () => {},\n getDomContainer: () => domContainer,\n type: {\n onPaginate: () => {},\n applyActivePersonalization: () => {},\n applySorting: () => {},\n applySearch: () => {}\n },\n getComponent: () => {},\n putVirtualizeElement: () => {},\n rowHeight: 40,\n rowHeightClass: '',\n setScrollNode: () => {},\n bodyHeight: 400,\n totalItemCount: undefined,\n columns: meta.fieldDefs.map(field => ({\n field,\n parent: {},\n label: field.label,\n setExecutionContext: () => {},\n getRenderingEngineProps: () => {\n return {\n column: {\n ...field,\n getExecutionContext: () => {},\n getContext: () => {},\n isCellInEditMode: () => {}\n },\n context: { getField: () => ({ type: undefined }) }\n };\n },\n isCellInEditMode: () => false,\n getUIProps: () => ({\n classList: 'some-class'\n }),\n getContext: () => ({\n getField: () => field,\n getFormattedValue: () => null\n }),\n getExecutionContext: () => {},\n style: {},\n get isAutoSizable(): boolean | undefined {\n // @ts-expect-error\n return this.field.resize && !this.hidden && this.cellRenderer !== 'RichText';\n }\n })),\n toolBarOptions: [],\n data: dataMock,\n domContainer,\n getContext() {\n return { getRequiredDef: () => undefined, getMeta: () => meta };\n },\n shouldDisplayFeature: () => true\n } as unknown as RsCoreTypes.View & {\n columns: NonNullable<RsCoreTypes.View['columns']>;\n meta: RsCoreTypes.Meta & { title: NonNullable<RsCoreTypes.Meta['title']> };\n },\n getState() {\n return this.view.state;\n },\n dispatch: () => {},\n apiContext,\n subscribe: () => {}\n};\n\ninstanceMock.view.columns.forEach(column => {\n // @ts-expect-error\n column.parent = instanceMock.view;\n column.getExecutionContext = (() => ({\n getValue: () => null,\n getParentContext: () => instanceMock.view\n })) as unknown as RsCoreTypes.Row['getContext'];\n});\nexport const groupsMock = [\n { columnId: 'D', order: 'asc', level: 0 },\n { columnId: 'F', order: 'asc', level: 1 }\n];\n\nexport const groupingInfoMock = [\n {\n name: 15,\n children: [\n { name: 'New', count: 1 },\n { name: 'Rejected', count: 1 },\n { name: 'Fixing', count: 1 }\n ]\n },\n {\n name: 45,\n children: [\n { name: 'Fixing', count: 1 },\n { name: 'Rejected', count: 20 }\n ]\n },\n {\n name: 85,\n children: [\n { name: 'Fixed', count: 1 },\n { name: 'Rejected', count: 1 }\n ]\n },\n {\n name: 90,\n children: [{ name: 'Fixed', count: 1 }]\n }\n];\n\nexport const hierarchicalGroupsMock = {\n parentId: 'ParentAccountID',\n targetId: 'pyID',\n materializedPathId: 'ParentAccountMaterializedPath',\n sortById: 'Name',\n mode: 'Hierarchical'\n};\n\n// cSpell:disable\nexport const hierarchicalGroupingInfoMock = [\n {\n info: {\n pyID: 'waynb',\n Role: 'VP Sales',\n Sales: 1230000,\n HireDate: '2010-05-01',\n ParentAccountMaterializedPath: ['/', '/waynb', '/waynb/'],\n Name: 'Bruce Wayne',\n ParentAccountID: ''\n },\n agg: {\n Sales: {\n sum: 1996000\n }\n },\n count: 4,\n children: [\n {\n info: {\n pyID: 'curra',\n\n Role: 'Sales Director',\n Sales: 409000,\n 'Parent_account:Sales': 1230000,\n\n HireDate: '2012-06-12',\n 'Parent_account:pyID': 'waynb',\n 'Parent_account:Role': 'VP Sales',\n\n ParentAccountMaterializedPath: ['/', '/waynb', '/waynb/curra', '/waynb/curra/'],\n 'Parent_account:Name': 'Bruce Wayne',\n 'Parent_account:HireDate': '2010-05-01',\n\n Name: 'Arthur Curry',\n ParentAccountID: 'waynb'\n },\n agg: {\n Sales: {\n sum: 354000\n }\n },\n count: 2,\n children: [\n {\n info: {\n pyID: 'reesa',\n\n Role: 'Sales Manager',\n Sales: 254000,\n 'Parent_account:Sales': 409000,\n HireDate: '2016-01-18',\n 'Parent_account:pyID': 'curra',\n 'Parent_account:Role': 'Sales Director',\n ParentAccountMaterializedPath: [\n '/',\n '/waynb',\n '/waynb/curra',\n '/waynb/curra/reesa',\n '/waynb/curra/reesa/'\n ],\n 'Parent_account:Name': 'Arthur Curry',\n 'Parent_account:HireDate': '2012-06-12',\n Name: 'Amanda Rees',\n ParentAccountID: 'curra'\n },\n agg: {\n Sales: {\n sum: 77000\n }\n },\n count: 1\n },\n {\n info: {\n pyID: 'turnd',\n Role: 'Sales Manager',\n Sales: 100000,\n 'Parent_account:Sales': 409000,\n HireDate: '2015-05-13',\n 'Parent_account:pyID': 'curra',\n 'Parent_account:Role': 'Sales Director',\n ParentAccountMaterializedPath: [\n '/',\n '/waynb',\n '/waynb/curra',\n '/waynb/curra/turnd',\n '/waynb/curra/turnd/'\n ],\n 'Parent_account:Name': 'Arthur Curry',\n 'Parent_account:HireDate': '2012-06-12',\n Name: 'Diana Turner',\n ParentAccountID: 'curra'\n },\n agg: {},\n count: 0\n }\n ]\n },\n {\n info: {\n pyID: 'alleb',\n Role: 'Sales Director',\n Sales: 583000,\n Manager_MaterializedPath: '/waynb/',\n HireDate: '2012-06-30',\n Manager: 'waynb',\n Name: 'Barry Allen'\n },\n agg: {\n Sales: {\n sum: 102000\n }\n },\n count: 1,\n children: [\n {\n info: {\n pyID: 'ellil',\n Role: 'Sales Manager',\n Sales: 102000,\n Manager_MaterializedPath: '/waynb/alleb/',\n HireDate: '2017-09-19',\n Manager: 'alleb',\n Name: 'Lisa Ellison'\n },\n agg: {\n Sales: {\n sum: 57000\n }\n },\n count: 2\n }\n ]\n },\n {\n info: {\n pyID: 'prind',\n Role: 'Sales Director',\n Sales: 453000,\n Manager_MaterializedPath: '/waynb/',\n HireDate: '2010-09-30',\n Manager: 'waynb',\n Name: 'Diana Prince'\n },\n agg: {\n Sales: {\n sum: 146000\n }\n },\n count: 1,\n children: [\n {\n info: {\n pyID: 'maclj',\n Role: 'Sales Manager',\n Sales: 146000,\n Manager_MaterializedPath: '/waynb/prind/',\n HireDate: '2016-07-29',\n Manager: 'prind',\n Name: 'Jennifer MacLeod'\n },\n agg: {\n Sales: {\n sum: 80000\n }\n },\n count: 1\n }\n ]\n },\n {\n info: {\n pyID: 'stonv',\n Role: 'Sales Director',\n Sales: 551000,\n Manager_MaterializedPath: '/waynb/',\n HireDate: '2012-03-03',\n Manager: 'waynb',\n Name: 'Victor Stone'\n },\n agg: {\n Sales: {\n sum: 194000\n }\n },\n count: 1,\n children: [\n {\n info: {\n pyID: 'greec',\n Role: 'Sales Manager',\n Sales: 194000,\n Manager_MaterializedPath: '/waynb/stonv/',\n HireDate: '2016-06-17',\n Manager: 'stonv',\n Name: 'Claire Greene'\n },\n agg: {\n Sales: {\n sum: 52000\n }\n },\n count: 1\n }\n ]\n }\n ]\n }\n];\n// cSpell:enable\n\nexport const mockFilterExpression = {\n AND: [\n {\n condition: {\n comparator: 'LT',\n lhs: { field: 'pxCreateDateTime' },\n rhs: { value: '2023-11-10T00:00' }\n }\n },\n {\n condition: {\n comparator: 'CONTAINS',\n lhs: { field: 'pxCurrentStageLabel' },\n rhs: { value: 'NEW' }\n }\n }\n ]\n};\n"]}
|
|
1
|
+
{"version":3,"file":"JUnitMocks.js","sourceRoot":"","sources":["../../../Core/Test/JUnitMocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { REPEATING_STRUCTURE_TEMPLATES } from 'pega-repeating-structures-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nexport const dataMock = [\n {\n pyID: 'BUG-199277',\n pyLabel: 'MFS: Mobile: Operator icon doesn’t appear in Case Manager Portal',\n pxCurrentStageLabel: 'New',\n pxUrgencyWork: '15',\n pyStatusWork: 'New',\n pxCreateDateTime: '2020-04-25T12:20:29.273Z',\n ProductVersionID: 'RLS-5657'\n },\n {\n pyID: 'BUG-184789',\n pyLabel: 'Layout Group configured as tab shows both menu and tab',\n pxCurrentStageLabel: 'Rejected',\n pxUrgencyWork: '45',\n pyStatusWork: 'Resolved-Rejected',\n pxCreateDateTime: '2020-04-26T12:20:29.273Z',\n ProductVersionID: 'RLS-5658'\n },\n {\n pyID: 'BUG-168038',\n pyLabel: 'Show Message on unsupported browser',\n pxCurrentStageLabel: 'Fixed',\n pxUrgencyWork: '85',\n pyStatusWork: 'Resolved-Completed',\n pxCreateDateTime: '2020-01-25T12:20:29.273Z',\n ProductVersionID: 'RLS-5157'\n },\n {\n pyID: 'BUG-161608',\n pyLabel: 'UI Kit : Stages in CM portal not responsive with',\n pxCurrentStageLabel: 'Rejected',\n pxUrgencyWork: '15',\n pyStatusWork: 'Resolved-Rejected',\n pxCreateDateTime: '2019-04-25T12:20:29.273Z',\n ProductVersionID: 'RLS-4657'\n },\n {\n pyID: 'BUG-161604',\n pyLabel: 'UI Kit is not added for new applications built on existing implementation',\n pxCurrentStageLabel: 'Fixing',\n pxUrgencyWork: '45',\n pyStatusWork: 'Open-InProgress',\n pxCreateDateTime: '2020-09-25T12:20:29.273Z',\n ProductVersionID: 'RLS-3657'\n },\n {\n pyID: 'BUG-168099',\n pyLabel: 'Show Message on unsupported browser',\n pxCurrentStageLabel: 'Fixed',\n pxUrgencyWork: '90',\n pyStatusWork: 'Resolved-Completed',\n pxCreateDateTime: '2010-04-25T12:20:29.273Z',\n ProductVersionID: 'RLS-2657'\n },\n {\n pyID: 'BUG-161638',\n pyLabel: 'UI Kit : Stages in CM portal not responsive with',\n pxCurrentStageLabel: 'Rejected',\n pxUrgencyWork: '85',\n pyStatusWork: 'Resolved-Rejected',\n pxCreateDateTime: '2020-04-25T12:10:29.273Z',\n ProductVersionID: 'RLS-1657'\n },\n {\n pyID: 'BUG-161684',\n pyLabel: 'UI Kit is not added for new applications built on existing implementation',\n pxCurrentStageLabel: 'Fixing',\n pxUrgencyWork: '15',\n pyStatusWork: 'Open-InProgress',\n pxCreateDateTime: '2020-04-25T12:20:28.273Z',\n ProductVersionID: 'RLS-557'\n }\n];\n\nexport const fieldDefsMock = [\n {\n type: 'number',\n name: 'pyIndex',\n label: 'Sl.No.',\n width: 50,\n id: 'A', // Don't change this\n minWidth: 40,\n resize: true,\n show: true,\n sort: true,\n grouping: true\n },\n {\n type: 'text',\n name: 'pyID',\n label: 'ID',\n width: 150,\n id: '2',\n resize: true,\n show: true,\n sort: true,\n grouping: true\n },\n {\n type: 'text',\n name: 'pyLabel',\n label: 'Name',\n width: 400,\n id: '3',\n resize: true,\n show: true,\n sort: true,\n grouping: true\n },\n {\n type: 'number',\n name: 'pxUrgencyWork',\n label: 'Priority',\n width: 300,\n id: 'D',\n resize: true,\n show: true,\n category: [{ label: 'Update Operator' }],\n showCategoryInHeaderLabel: true,\n grouping: true\n },\n {\n type: 'date',\n name: 'pxCreateDateTime',\n label: 'Created on',\n width: 400,\n id: '5',\n filter: true,\n show: true,\n grouping: true\n },\n {\n type: 'text',\n name: 'ProductVersionID',\n label: 'Release',\n width: 100,\n id: '7',\n show: true,\n grouping: true\n },\n {\n type: 'text',\n name: 'pxCurrentStageLabel',\n label: 'Status',\n width: 100,\n id: 'F',\n resize: true,\n filter: true,\n show: true,\n grouping: true\n },\n {\n type: 'date',\n name: 'pxCreateDate',\n label: 'Created on Date',\n width: 400,\n id: 'C',\n filter: true,\n show: true,\n grouping: true\n }\n];\n\nconst mockDataRow = {\n pyID: 1,\n pyLabel: 'Testing'\n};\n\nexport const mockRow = {\n getContext: () => {\n return {\n getValue: () => {\n return mockDataRow;\n }\n };\n }\n};\n\nexport const emptyMockRow = {\n getContext: () => {\n return {\n getValue: () => {\n return null;\n }\n };\n }\n};\n\nexport const meta = {\n title: '<>mock title<>',\n icon: 'picture',\n template: REPEATING_STRUCTURE_TEMPLATES.TABLE,\n personalization: true,\n fieldDefs: fieldDefsMock,\n locale: 'en-US',\n timezone: 'America/New_York',\n height: { height: 0, minHeight: 400 },\n comparatorMap: {},\n typeMap: {},\n sortOrder: ['asc', 'desc', null],\n toggleFieldVisibility: true,\n grouping: true,\n dateFunctions: {\n // TODO: Enable HOURS\n DATE_TIME: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'DAYS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ],\n DATE_ONLY: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ]\n },\n aggregateOptions: {\n number: ['numberAggregateFn1', 'numberAggregateFn2'],\n currency: ['currencyAggregateFn1', 'currencyAggregateFn2']\n },\n expandGroups: true,\n dynamicFieldTemplates: [\n {\n name: 'Comma separated',\n value: 'comma',\n selected: true\n },\n {\n name: 'Space separated',\n value: 'space'\n },\n {\n name: 'Multi line',\n value: 'multiline'\n }\n ],\n displayDensity: [],\n headerBar: true,\n isPreset: true,\n id: 'nonPersonalizationViewKey',\n displayFeatures: {\n filter: true,\n grouping: true,\n sort: true\n }\n};\n\nconst state = {\n filteredFields: [],\n filterExpression: null,\n customFields: [],\n personalization: {\n active: 'nonPersonalizationViewKey',\n allPersonalizations: {\n nonPersonalizationViewKey: {\n name: 'Initial view',\n template: REPEATING_STRUCTURE_TEMPLATES.TABLE,\n isPreset: true\n }\n }\n },\n search: {\n query: 'search.query'\n },\n refresh: false,\n selectedHeightOption: 'selectedHeightOption',\n paginationOptions: {},\n showHeaderIcons: true,\n responsive: { sm: true }\n};\n\nconst apiContext = {\n fetchUniqueColValues: () => {\n return Promise.resolve([]);\n },\n fetchGroupedInfo: () => {\n return Promise.resolve([]);\n }\n};\n\nconst domContainer = document.createElement('div');\ndomContainer.setAttribute('data-testid', 'table-dom-container');\n// Attaching the domContainer to body to make it work with RTL specially in case of portals\ndocument.body.appendChild(domContainer);\ndomContainer.getBoundingClientRect = () => {\n return { top: 10, left: 10, bottom: 10, right: 10 } as DOMRect;\n};\n\nexport const instanceMock = {\n externalStatePassed: false,\n presets: [],\n view: {\n meta,\n state,\n formatters: {\n Integer: (value: number) => {\n return value;\n }\n },\n setProp: function setProp(p: any, value: any) {\n // @ts-expect-error\n this[p] = value;\n },\n setDomContainer: () => {},\n getDomContainer: () => domContainer,\n type: {\n onPaginate: () => {},\n applyActivePersonalization: () => {},\n applySorting: () => {},\n applySearch: () => {}\n },\n getComponent: () => {},\n putVirtualizeElement: () => {},\n rowHeight: 40,\n rowHeightClass: '',\n setScrollNode: () => {},\n bodyHeight: 400,\n totalItemCount: undefined,\n columns: meta.fieldDefs.map(field => ({\n field,\n parent: {},\n label: field.label,\n setExecutionContext: () => {},\n getRenderingEngineProps: () => {\n return {\n column: {\n ...field,\n getExecutionContext: () => {},\n getContext: () => {},\n isCellInEditMode: () => {}\n },\n context: { getField: () => ({ type: undefined }) }\n };\n },\n isCellInEditMode: () => false,\n getUIProps: () => ({\n classList: 'some-class'\n }),\n getContext: () => ({\n getField: () => field,\n getFormattedValue: () => null\n }),\n getExecutionContext: () => {},\n style: {},\n get isAutoSizable(): boolean | undefined {\n // @ts-expect-error\n return this.field.resize && !this.hidden && this.cellRenderer !== 'RichText';\n }\n })),\n toolBarOptions: [],\n data: dataMock,\n domContainer,\n getContext() {\n return { getRequiredDef: () => undefined, getMeta: () => meta };\n },\n shouldDisplayFeature: () => true,\n getFieldDefs: () => meta.fieldDefs\n } as unknown as RsCoreTypes.View & {\n columns: NonNullable<RsCoreTypes.View['columns']>;\n meta: RsCoreTypes.Meta & { title: NonNullable<RsCoreTypes.Meta['title']> };\n },\n getState() {\n return this.view.state;\n },\n dispatch: () => {},\n apiContext,\n subscribe: () => {}\n};\n\ninstanceMock.view.columns.forEach(column => {\n // @ts-expect-error\n column.parent = instanceMock.view;\n column.getExecutionContext = (() => ({\n getValue: () => null,\n getParentContext: () => instanceMock.view\n })) as unknown as RsCoreTypes.Row['getContext'];\n});\nexport const groupsMock = [\n { columnId: 'D', order: 'asc', level: 0 },\n { columnId: 'F', order: 'asc', level: 1 }\n];\n\nexport const groupingInfoMock = [\n {\n name: 15,\n children: [\n { name: 'New', count: 1 },\n { name: 'Rejected', count: 1 },\n { name: 'Fixing', count: 1 }\n ]\n },\n {\n name: 45,\n children: [\n { name: 'Fixing', count: 1 },\n { name: 'Rejected', count: 20 }\n ]\n },\n {\n name: 85,\n children: [\n { name: 'Fixed', count: 1 },\n { name: 'Rejected', count: 1 }\n ]\n },\n {\n name: 90,\n children: [{ name: 'Fixed', count: 1 }]\n }\n];\n\nexport const hierarchicalGroupsMock = {\n parentId: 'ParentAccountID',\n targetId: 'pyID',\n materializedPathId: 'ParentAccountMaterializedPath',\n sortById: 'Name',\n mode: 'Hierarchical'\n};\n\n// cSpell:disable\nexport const hierarchicalGroupingInfoMock = [\n {\n info: {\n pyID: 'waynb',\n Role: 'VP Sales',\n Sales: 1230000,\n HireDate: '2010-05-01',\n ParentAccountMaterializedPath: ['/', '/waynb', '/waynb/'],\n Name: 'Bruce Wayne',\n ParentAccountID: ''\n },\n agg: {\n Sales: {\n sum: 1996000\n }\n },\n count: 4,\n children: [\n {\n info: {\n pyID: 'curra',\n\n Role: 'Sales Director',\n Sales: 409000,\n 'Parent_account:Sales': 1230000,\n\n HireDate: '2012-06-12',\n 'Parent_account:pyID': 'waynb',\n 'Parent_account:Role': 'VP Sales',\n\n ParentAccountMaterializedPath: ['/', '/waynb', '/waynb/curra', '/waynb/curra/'],\n 'Parent_account:Name': 'Bruce Wayne',\n 'Parent_account:HireDate': '2010-05-01',\n\n Name: 'Arthur Curry',\n ParentAccountID: 'waynb'\n },\n agg: {\n Sales: {\n sum: 354000\n }\n },\n count: 2,\n children: [\n {\n info: {\n pyID: 'reesa',\n\n Role: 'Sales Manager',\n Sales: 254000,\n 'Parent_account:Sales': 409000,\n HireDate: '2016-01-18',\n 'Parent_account:pyID': 'curra',\n 'Parent_account:Role': 'Sales Director',\n ParentAccountMaterializedPath: [\n '/',\n '/waynb',\n '/waynb/curra',\n '/waynb/curra/reesa',\n '/waynb/curra/reesa/'\n ],\n 'Parent_account:Name': 'Arthur Curry',\n 'Parent_account:HireDate': '2012-06-12',\n Name: 'Amanda Rees',\n ParentAccountID: 'curra'\n },\n agg: {\n Sales: {\n sum: 77000\n }\n },\n count: 1\n },\n {\n info: {\n pyID: 'turnd',\n Role: 'Sales Manager',\n Sales: 100000,\n 'Parent_account:Sales': 409000,\n HireDate: '2015-05-13',\n 'Parent_account:pyID': 'curra',\n 'Parent_account:Role': 'Sales Director',\n ParentAccountMaterializedPath: [\n '/',\n '/waynb',\n '/waynb/curra',\n '/waynb/curra/turnd',\n '/waynb/curra/turnd/'\n ],\n 'Parent_account:Name': 'Arthur Curry',\n 'Parent_account:HireDate': '2012-06-12',\n Name: 'Diana Turner',\n ParentAccountID: 'curra'\n },\n agg: {},\n count: 0\n }\n ]\n },\n {\n info: {\n pyID: 'alleb',\n Role: 'Sales Director',\n Sales: 583000,\n Manager_MaterializedPath: '/waynb/',\n HireDate: '2012-06-30',\n Manager: 'waynb',\n Name: 'Barry Allen'\n },\n agg: {\n Sales: {\n sum: 102000\n }\n },\n count: 1,\n children: [\n {\n info: {\n pyID: 'ellil',\n Role: 'Sales Manager',\n Sales: 102000,\n Manager_MaterializedPath: '/waynb/alleb/',\n HireDate: '2017-09-19',\n Manager: 'alleb',\n Name: 'Lisa Ellison'\n },\n agg: {\n Sales: {\n sum: 57000\n }\n },\n count: 2\n }\n ]\n },\n {\n info: {\n pyID: 'prind',\n Role: 'Sales Director',\n Sales: 453000,\n Manager_MaterializedPath: '/waynb/',\n HireDate: '2010-09-30',\n Manager: 'waynb',\n Name: 'Diana Prince'\n },\n agg: {\n Sales: {\n sum: 146000\n }\n },\n count: 1,\n children: [\n {\n info: {\n pyID: 'maclj',\n Role: 'Sales Manager',\n Sales: 146000,\n Manager_MaterializedPath: '/waynb/prind/',\n HireDate: '2016-07-29',\n Manager: 'prind',\n Name: 'Jennifer MacLeod'\n },\n agg: {\n Sales: {\n sum: 80000\n }\n },\n count: 1\n }\n ]\n },\n {\n info: {\n pyID: 'stonv',\n Role: 'Sales Director',\n Sales: 551000,\n Manager_MaterializedPath: '/waynb/',\n HireDate: '2012-03-03',\n Manager: 'waynb',\n Name: 'Victor Stone'\n },\n agg: {\n Sales: {\n sum: 194000\n }\n },\n count: 1,\n children: [\n {\n info: {\n pyID: 'greec',\n Role: 'Sales Manager',\n Sales: 194000,\n Manager_MaterializedPath: '/waynb/stonv/',\n HireDate: '2016-06-17',\n Manager: 'stonv',\n Name: 'Claire Greene'\n },\n agg: {\n Sales: {\n sum: 52000\n }\n },\n count: 1\n }\n ]\n }\n ]\n }\n];\n// cSpell:enable\n\nexport const mockFilterExpression = {\n AND: [\n {\n condition: {\n comparator: 'LT',\n lhs: { field: 'pxCreateDateTime' },\n rhs: { value: '2023-11-10T00:00' }\n }\n },\n {\n condition: {\n comparator: 'CONTAINS',\n lhs: { field: 'pxCurrentStageLabel' },\n rhs: { value: 'NEW' }\n }\n }\n ]\n};\n"]}
|