@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.
Files changed (112) hide show
  1. package/lib/Core/Components/A11y/RepeatingStructureA11y.d.ts.map +1 -1
  2. package/lib/Core/Components/A11y/RepeatingStructureA11y.js +2 -1
  3. package/lib/Core/Components/A11y/RepeatingStructureA11y.js.map +1 -1
  4. package/lib/Core/Components/Filters/AdvanceFilter.d.ts.map +1 -1
  5. package/lib/Core/Components/Filters/AdvanceFilter.js +5 -2
  6. package/lib/Core/Components/Filters/AdvanceFilter.js.map +1 -1
  7. package/lib/Core/Components/Filters/SelectFilter.d.ts.map +1 -1
  8. package/lib/Core/Components/Filters/SelectFilter.js +2 -2
  9. package/lib/Core/Components/Filters/SelectFilter.js.map +1 -1
  10. package/lib/Core/Components/Filters/SimpleFilter.js +1 -1
  11. package/lib/Core/Components/Filters/SimpleFilter.js.map +1 -1
  12. package/lib/Core/Components/Toolbar/ColumnSelector.d.ts +6 -4
  13. package/lib/Core/Components/Toolbar/ColumnSelector.d.ts.map +1 -1
  14. package/lib/Core/Components/Toolbar/ColumnSelector.js +15 -19
  15. package/lib/Core/Components/Toolbar/ColumnSelector.js.map +1 -1
  16. package/lib/Core/Components/Toolbar/FieldSelector.d.ts +1 -1
  17. package/lib/Core/Components/Toolbar/FieldSelector.js +4 -4
  18. package/lib/Core/Components/Toolbar/FieldSelector.js.map +1 -1
  19. package/lib/Core/Components/Toolbar/hooks/useFilter.d.ts.map +1 -1
  20. package/lib/Core/Components/Toolbar/hooks/useFilter.js +4 -1
  21. package/lib/Core/Components/Toolbar/hooks/useFilter.js.map +1 -1
  22. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts +2 -2
  23. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts.map +1 -1
  24. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js +2 -2
  25. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js.map +1 -1
  26. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts +2 -1
  27. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts.map +1 -1
  28. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js +4 -4
  29. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js.map +1 -1
  30. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.d.ts.map +1 -1
  31. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js +12 -4
  32. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js.map +1 -1
  33. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts +2 -2
  34. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts.map +1 -1
  35. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.js +5 -5
  36. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.js.map +1 -1
  37. package/lib/Core/Components/Toolbar/hooks/useMore.d.ts.map +1 -1
  38. package/lib/Core/Components/Toolbar/hooks/useMore.js +3 -3
  39. package/lib/Core/Components/Toolbar/hooks/useMore.js.map +1 -1
  40. package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts +3 -2
  41. package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts.map +1 -1
  42. package/lib/Core/Components/Toolbar/hooks/useSort/Row.js +5 -4
  43. package/lib/Core/Components/Toolbar/hooks/useSort/Row.js.map +1 -1
  44. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts +3 -2
  45. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts.map +1 -1
  46. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js +4 -4
  47. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js.map +1 -1
  48. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.d.ts.map +1 -1
  49. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js +7 -1
  50. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js.map +1 -1
  51. package/lib/Core/Components/Toolbar/hooks/useSort/utils.d.ts +1 -1
  52. package/lib/Core/Components/Toolbar/hooks/useSort/utils.d.ts.map +1 -1
  53. package/lib/Core/Components/Toolbar/hooks/useSort/utils.js +2 -2
  54. package/lib/Core/Components/Toolbar/hooks/useSort/utils.js.map +1 -1
  55. package/lib/Core/Components/Toolbar/utils/utils.d.ts +28 -7
  56. package/lib/Core/Components/Toolbar/utils/utils.d.ts.map +1 -1
  57. package/lib/Core/Components/Toolbar/utils/utils.js +43 -11
  58. package/lib/Core/Components/Toolbar/utils/utils.js.map +1 -1
  59. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.d.ts +1 -1
  60. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.js +1 -1
  61. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.js.map +1 -1
  62. package/lib/Core/Components/WarningBanner.d.ts +11 -0
  63. package/lib/Core/Components/WarningBanner.d.ts.map +1 -0
  64. package/lib/Core/Components/WarningBanner.js +23 -0
  65. package/lib/Core/Components/WarningBanner.js.map +1 -0
  66. package/lib/Core/Hooks/a11y/useAnnounce.d.ts +3 -4
  67. package/lib/Core/Hooks/a11y/useAnnounce.d.ts.map +1 -1
  68. package/lib/Core/Hooks/a11y/useAnnounce.js +3 -4
  69. package/lib/Core/Hooks/a11y/useAnnounce.js.map +1 -1
  70. package/lib/Core/Hooks/useDragDrop.d.ts +2 -2
  71. package/lib/Core/Hooks/useDragDrop.js +2 -2
  72. package/lib/Core/Hooks/useDragDrop.js.map +1 -1
  73. package/lib/Core/Hooks/useRepeat.d.ts.map +1 -1
  74. package/lib/Core/Hooks/useRepeat.js +13 -1
  75. package/lib/Core/Hooks/useRepeat.js.map +1 -1
  76. package/lib/Core/Test/JUnitMocks.d.ts +12 -0
  77. package/lib/Core/Test/JUnitMocks.d.ts.map +1 -1
  78. package/lib/Core/Test/JUnitMocks.js +26 -8
  79. package/lib/Core/Test/JUnitMocks.js.map +1 -1
  80. package/lib/Core/Test/TestUtils.d.ts +0 -1
  81. package/lib/Core/Test/TestUtils.d.ts.map +1 -1
  82. package/lib/Core/Test/TestUtils.js +3 -7
  83. package/lib/Core/Test/TestUtils.js.map +1 -1
  84. package/lib/Core/Views/Gallery/index.d.ts.map +1 -1
  85. package/lib/Core/Views/Gallery/index.js +2 -1
  86. package/lib/Core/Views/Gallery/index.js.map +1 -1
  87. package/lib/Core/Views/Table/index.d.ts.map +1 -1
  88. package/lib/Core/Views/Table/index.js +2 -1
  89. package/lib/Core/Views/Table/index.js.map +1 -1
  90. package/lib/Core/Views/Timeline/Timeline.d.ts.map +1 -1
  91. package/lib/Core/Views/Timeline/Timeline.js +11 -16
  92. package/lib/Core/Views/Timeline/Timeline.js.map +1 -1
  93. package/lib/Core/Views/Timeline/Timeline.styles.d.ts +17 -9
  94. package/lib/Core/Views/Timeline/Timeline.styles.d.ts.map +1 -1
  95. package/lib/Core/Views/Timeline/Timeline.styles.js +32 -25
  96. package/lib/Core/Views/Timeline/Timeline.styles.js.map +1 -1
  97. package/lib/Core/Views/Timeline/Timeline.types.d.ts +6 -0
  98. package/lib/Core/Views/Timeline/Timeline.types.d.ts.map +1 -1
  99. package/lib/Core/Views/Timeline/Timeline.types.js.map +1 -1
  100. package/lib/Core/Views/Timeline/TimelineGroup.d.ts +13 -0
  101. package/lib/Core/Views/Timeline/TimelineGroup.d.ts.map +1 -0
  102. package/lib/Core/Views/Timeline/TimelineGroup.js +21 -0
  103. package/lib/Core/Views/Timeline/TimelineGroup.js.map +1 -0
  104. package/lib/Core/Views/Timeline/TimelineItem.d.ts +1 -3
  105. package/lib/Core/Views/Timeline/TimelineItem.d.ts.map +1 -1
  106. package/lib/Core/Views/Timeline/TimelineItem.js +7 -6
  107. package/lib/Core/Views/Timeline/TimelineItem.js.map +1 -1
  108. package/lib/index.d.ts +1 -1
  109. package/lib/index.d.ts.map +1 -1
  110. package/lib/index.js +1 -1
  111. package/lib/index.js.map +1 -1
  112. 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 {UseDragDropProps} params - The parameters for configuring the drag-and-drop behavior.
6
+ * @param params - The parameters for configuring the drag-and-drop behavior.
7
7
  * See {@link UseDragDropProps} for details.
8
- * @returns {UseDragDropReturn} An object containing `dragProps` and `dropProps` to be spread onto draggable and droppable elements.
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 {UseDragDropProps} params - The parameters for configuring the drag-and-drop behavior.
6
+ * @param params - The parameters for configuring the drag-and-drop behavior.
7
7
  * See {@link UseDragDropProps} for details.
8
- * @returns {UseDragDropReturn} An object containing `dragProps` and `dropProps` to be spread onto draggable and droppable elements.
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,CA+RjG"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsEzB,CAAC;AAOF,eAAO,MAAM,OAAO;;;;;;;CAQnB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;CAQxB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEhB,CAAC;AA2CF,eAAO,MAAM,YAAY;;;UAoEP,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"}
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"]}
@@ -1,4 +1,3 @@
1
- export function wait(amount?: number): Promise<any>;
2
1
  export function updateWrapper(wrapper: any, amount?: number): Promise<void>;
3
2
  export function actWait(amount?: number): Promise<void>;
4
3
  export const cellTextColor: "rgb(166, 2, 13)";