@pega/lists-react 9.0.0-build.9.6 → 9.0.0-build.9.8

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 (39) hide show
  1. package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts +3 -1
  2. package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts.map +1 -1
  3. package/lib/Core/Components/DefaultComponents/EmptyContainer.js +2 -4
  4. package/lib/Core/Components/DefaultComponents/EmptyContainer.js.map +1 -1
  5. package/lib/Core/Components/DefaultComponents/index.d.ts +3 -1
  6. package/lib/Core/Components/DefaultComponents/index.d.ts.map +1 -1
  7. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.d.ts +6 -6
  8. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.d.ts.map +1 -1
  9. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.js +10 -8
  10. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.js.map +1 -1
  11. package/lib/Core/Components/Virtualise/VirtualizeInfinite.js +8 -5
  12. package/lib/Core/Components/Virtualise/VirtualizeInfinite.js.map +1 -1
  13. package/lib/Core/Components/Virtualise/index.js +6 -5
  14. package/lib/Core/Components/Virtualise/index.js.map +1 -1
  15. package/lib/Core/Localization/defaultTranslations.d.ts +2 -1
  16. package/lib/Core/Localization/defaultTranslations.d.ts.map +1 -1
  17. package/lib/Core/Localization/defaultTranslations.js +2 -1
  18. package/lib/Core/Localization/defaultTranslations.js.map +1 -1
  19. package/lib/Core/Utils/index.d.ts +11 -0
  20. package/lib/Core/Utils/index.d.ts.map +1 -1
  21. package/lib/Core/Utils/index.js +11 -0
  22. package/lib/Core/Utils/index.js.map +1 -1
  23. package/lib/Core/Views/Gallery/index.d.ts.map +1 -1
  24. package/lib/Core/Views/Gallery/index.js +7 -4
  25. package/lib/Core/Views/Gallery/index.js.map +1 -1
  26. package/lib/Core/Views/Map/index.d.ts.map +1 -1
  27. package/lib/Core/Views/Map/index.js +9 -3
  28. package/lib/Core/Views/Map/index.js.map +1 -1
  29. package/lib/Core/Views/Table/VirtualizeWrapper.d.ts.map +1 -1
  30. package/lib/Core/Views/Table/VirtualizeWrapper.js +12 -5
  31. package/lib/Core/Views/Table/VirtualizeWrapper.js.map +1 -1
  32. package/lib/Core/Views/Timeline/index.d.ts.map +1 -1
  33. package/lib/Core/Views/Timeline/index.js +10 -4
  34. package/lib/Core/Views/Timeline/index.js.map +1 -1
  35. package/package.json +7 -7
  36. package/lib/Core/Components/EmptyContainer.d.ts +0 -5
  37. package/lib/Core/Components/EmptyContainer.d.ts.map +0 -1
  38. package/lib/Core/Components/EmptyContainer.js +0 -12
  39. package/lib/Core/Components/EmptyContainer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Components/Virtualise/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n memo,\n useEffect,\n useRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useLayoutEffect,\n useState\n} from 'react';\nimport Styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nimport { defaultThemeProp, Progress } from '@pega/cosmos-react-core';\nimport { isEmpty } from 'pega-repeating-structures-core';\n\nimport EmptyContainer from '../DefaultComponents/EmptyContainer';\nimport useTranslate from '../../Hooks/useTranslate';\nimport { StyledSkeletonRow } from '../../Views/Table/SkeletonRows';\n\nimport getPaginationInfo from './Pagination';\nimport useScroll from './UseScroll';\nimport {\n getCurrentEstimation,\n updateRowContainerTop,\n setAttributesOnItems,\n isViewNotFilled,\n getRecordCountForLayoutPaint,\n getValueWithUnit,\n getMaxHeight\n} from './utility';\nimport useResizeObserver from './UseResizeObserver';\n\nfunction getBContainerMinHeight(props) {\n return props.$style.renderFooter ? `calc(100% - ${2 * props.$style.itemHeight + 1}px) ` : '0';\n}\n\nconst StyledPContainer = Styled.div`\n position: relative;\n overflow: auto;\n max-height: ${props => props.$style.maxHeight};\n width: ${props => props.$style.width};\n height: ${props => props.$style.height};\n min-height: ${props => props.$style.minHeight};\n\n &:has(${StyledSkeletonRow}) {\n overflow: hidden;\n }\n\n /**\n * When height and maxHeight is auto, virtualization is not going to happen and the scroll jump on row deletion scenario is not going to happen.\n * In such cases, using relative position as sticky was used to fix scroll jump in firefox during virtualization.\n */\n .bContainer {\n position: ${props =>\n props.$style.maxHeight?.startsWith?.('auto') &&\n props.$style.height?.startsWith?.('auto')\n ? 'relative'\n : 'sticky'};\n min-height: ${props => getBContainerMinHeight(props)};\n border-radius: inherit;\n }\n`;\n\nStyledPContainer.defaultProps = defaultThemeProp;\n\nconst StyledLoader = Styled.div`\n display: flex;\n justify-content: center;\n padding: 0.5rem;\n position: absolute;\n width: 100%;\n left: ${props => `var(${props.$style.left})`};\n top: ${props => `var(${props.$style.top})`};\n`;\n\nconst Virtualize = forwardRef(\n (\n {\n id,\n viewHeight,\n viewWidth,\n totalRecordCount,\n itemHeight,\n callback,\n isFetching,\n rowContainerClass,\n children,\n renderHeader,\n renderFooter,\n state,\n bufferMultiplier,\n viewMaxHeight,\n showLoadingIndicator\n },\n inputRef\n ) => {\n const [rContainerDimensionUpdate, setRContainerDimensionUpdate] = useState();\n const [loadingIndicatorInfo, setLoadingIndicatorInfo] = useState({});\n const [translate] = useTranslate();\n // Create ref to store virtualize related data.\n const vi = useRef({\n itemHeight,\n bufferMultiplier,\n pInfo: {}\n }).current;\n\n const getRowContainer = useCallback(() => vi.rContainer, [vi.rContainer]);\n const getPContainer = useCallback(() => vi.pContainer, [vi.pContainer]);\n const getBContainer = useCallback(() => vi.bContainer, [vi.bContainer]);\n\n // API used when user want to scroll to top programmatically.\n // Though component auto scroll to top if no element is in view.\n // But calling this API upfront might save one extra call to Fetch API.\n const scrollToTop = useCallback(() => {\n if (!state) return;\n getPContainer().scrollTop = 0;\n vi.pInfo = getPaginationInfo(\n getPContainer(),\n getRecordCountForLayoutPaint(totalRecordCount),\n vi,\n false,\n true\n );\n callback({ ...vi.pInfo.view, id }, { takeLatestAction: true });\n }, [id, vi, state, getPContainer]);\n\n // expose APIs and properties here to help client to communicate.\n useImperativeHandle(inputRef, () => ({\n getParentContainer: getPContainer,\n scrollToTop,\n vi,\n id\n }));\n\n const { width, height } = useMemo(\n () => ({\n width: getValueWithUnit(viewWidth, '100%'),\n height: getValueWithUnit(viewHeight, 'auto')\n }),\n [viewWidth, viewHeight]\n );\n\n const maxHeight = useMemo(() => getMaxHeight(viewMaxHeight), [viewMaxHeight]);\n\n const minHeight = useMemo(\n () => (totalRecordCount === 0 ? '100px' : 'auto'),\n [totalRecordCount]\n );\n\n // Calculate the pagination indexes and notify callback.\n // resetIsFetchingWhenNoNewIndexes - flag specific for isViewNotFilled\n // If view is not filled, we want to call this but restting isFetch to false\n // goes to this methid when callback is note fired.\n const getPagination = useCallback(\n (isRefresh = false, resetIsFetchingWhenNoNewIndexes = false) => {\n if (resetIsFetchingWhenNoNewIndexes) {\n setLoadingIndicatorInfo({});\n }\n const pInfo = getPaginationInfo(\n getPContainer(),\n getRecordCountForLayoutPaint(totalRecordCount),\n vi,\n isRefresh\n );\n const { startIndex, endIndex } = pInfo.view;\n // if new indexes are subset of existing state indexes, no need to update the consumer.\n if (!state || !(startIndex >= state.startIndex && endIndex <= state.endIndex)) {\n vi.pInfo = pInfo;\n if (state) {\n const { startIndex: oldStartIndex, endIndex: oldEndIndex } = state;\n if (startIndex < oldStartIndex) {\n setLoadingIndicatorInfo(info => {\n return { ...info, isScrollingUp: true };\n });\n }\n if (endIndex > oldEndIndex) {\n setLoadingIndicatorInfo(info => {\n return { ...info, isScrollingDown: true };\n });\n }\n }\n callback({ ...vi.pInfo.view, id }, { takeLatestAction: true });\n }\n },\n [vi, totalRecordCount, state, callback, id, getPContainer]\n );\n\n // update average stats for next calculation.\n const updateAverageInVirtualizeInstance = useCallback(\n currentEstimation => {\n const { itemCount, rowContainerHeight, averageNumberOfItemsInARow, averageRowHeight } =\n currentEstimation;\n Object.assign(vi, {\n itemCount: (itemCount + vi.itemCount || itemCount) / 2,\n rowContainerHeight:\n (rowContainerHeight + vi.rowContainerHeight || rowContainerHeight) / 2,\n averageNumberOfItemsInARow:\n (averageNumberOfItemsInARow + vi.averageNumberOfItemsInARow ||\n averageNumberOfItemsInARow) / 2,\n averageRowHeight: (averageRowHeight + vi.averageRowHeight || averageRowHeight) / 2\n });\n },\n [vi]\n );\n\n const getBufferHeight = useCallback(\n currentEstimation => {\n const { itemCount, rowContainerHeight } = currentEstimation;\n let h = 0;\n if (itemCount > 0)\n h = (getRecordCountForLayoutPaint(totalRecordCount) / itemCount) * rowContainerHeight;\n return h;\n },\n [totalRecordCount]\n );\n\n const getScrollTop = useCallback(\n currentEstimation => {\n const { itemCount, rowContainerHeight } = currentEstimation;\n let scrollTop = 0;\n if (itemCount > 0) {\n const scrollNodeTopChange =\n // eslint-disable-next-line no-unsafe-optional-chaining\n vi.pInfo?.bufferNewCords?.top - vi.pInfo?.bufferOldCords?.top || 0;\n scrollTop = (vi.pInfo.topRowIndex / itemCount) * rowContainerHeight - scrollNodeTopChange;\n }\n return scrollTop;\n },\n [vi]\n );\n\n const onRowContainerDimensionChange = useCallback(() => {\n const { height: rowContainerHeight, width: rowContainerWidth } =\n getRowContainer()?.getBoundingClientRect() ?? {};\n // trigger virtualizer operations only when row container has some height and width\n if (rowContainerHeight && rowContainerWidth) setRContainerDimensionUpdate({});\n }, [getRowContainer]);\n\n // observe on row container to adjust the buffer container height.\n useResizeObserver(getRowContainer, onRowContainerDimensionChange);\n\n const [updateScrollTop] = useScroll(\n getPagination,\n getPContainer,\n vi,\n totalRecordCount,\n renderHeader,\n isFetching,\n viewHeight\n );\n\n useLayoutEffect(() => {\n const rContainer = getRowContainer();\n if (state && state.startIndex >= 0 && vi && rContainer) {\n setAttributesOnItems(state, rContainer);\n }\n });\n\n // Get estimate and update buffer height\n useLayoutEffect(() => {\n if (state && !isEmpty(totalRecordCount)) {\n vi.currentEstimation = getCurrentEstimation(getRowContainer());\n updateAverageInVirtualizeInstance(vi.currentEstimation);\n const h = Math.floor(getBufferHeight(vi.currentEstimation));\n const previousHeight = getBContainer().offsetHeight;\n\n getBContainer().style.height = `${h}px`;\n vi.bContainerHeight = h;\n\n // if there was no previous height, then keep the scrolltop to 0 by default\n if (h !== previousHeight && previousHeight) {\n const pContainer = getPContainer();\n const scrollTop = getScrollTop(vi.currentEstimation);\n if (scrollTop >= 0) {\n pContainer.scrollTop = scrollTop;\n }\n }\n }\n }, [\n rContainerDimensionUpdate,\n getBContainer,\n getBufferHeight,\n getRowContainer,\n state,\n totalRecordCount,\n updateAverageInVirtualizeInstance,\n vi,\n getPContainer,\n getScrollTop\n ]);\n\n // update parent scroll top and row container top.\n useLayoutEffect(() => {\n if (state && !isEmpty(totalRecordCount)) {\n const pContainer = getPContainer();\n\n // Setting scrollTop from pContainer.scrollTop as getScrollTop can return value with higher decimal accuracy.\n // but scrollTop attribute from HTML element will round it automatically.\n updateScrollTop(pContainer.scrollTop);\n updateRowContainerTop(\n vi,\n getRecordCountForLayoutPaint(totalRecordCount),\n state,\n pContainer,\n pContainer.scrollTop\n );\n\n const topLoaderHeight = 80;\n let top = getRowContainer().style.top;\n if (!top) {\n top = 0;\n }\n getBContainer().style.setProperty(\n '--above-loader-top',\n `${parseInt(top, 10) - topLoaderHeight}px`\n );\n\n getBContainer().style.setProperty(\n '--below-loader-top',\n `${parseInt(top, 10) + getRowContainer().offsetHeight}px`\n );\n }\n }, [\n getPContainer,\n getScrollTop,\n state,\n updateScrollTop,\n vi,\n rContainerDimensionUpdate,\n totalRecordCount,\n getRowContainer,\n getBContainer\n ]);\n\n // On mount that means state is not initialized yet, trigger pagination.\n // or whenever count changes or width /height of view port changes, if view is not filled with data, get indexes again.\n useEffect(() => {\n if (state && !isFetching && !isEmpty(totalRecordCount)) {\n if (\n isViewNotFilled(\n getRecordCountForLayoutPaint(totalRecordCount),\n vi,\n getPContainer(),\n renderHeader\n )\n )\n getPagination(false, true);\n else {\n setLoadingIndicatorInfo({});\n }\n } else if (!state || !Object.keys(vi.pInfo).length) getPagination(true);\n }, [\n rContainerDimensionUpdate,\n state,\n vi,\n totalRecordCount,\n viewHeight,\n viewWidth,\n renderHeader,\n getPagination,\n getPContainer\n ]);\n\n useEffect(() => {\n if (!isFetching) return;\n getBContainer().style.setProperty('--loader-left', `${getPContainer().scrollLeft}px`);\n }, [isFetching, getPContainer()?.scrollLeft]);\n\n return (\n <StyledPContainer\n $style={{\n maxHeight,\n minHeight,\n renderFooter,\n itemHeight,\n height,\n width\n }}\n data-total-records={totalRecordCount}\n className='pContainer'\n ref={c => {\n vi.pContainer = c;\n }}\n >\n {renderHeader && renderHeader()}\n <div\n className='bContainer'\n ref={c => {\n vi.bContainer = c;\n }}\n >\n {showLoadingIndicator && isFetching && loadingIndicatorInfo.isScrollingUp && (\n <StyledLoader\n $style={{\n top: '--above-loader-top',\n left: '--loader-left'\n }}\n >\n <Progress\n className='above-loader'\n placement='block'\n tabIndex={0}\n aria-label={translate('Loading more results')}\n />\n </StyledLoader>\n )}\n <div\n className={`${rowContainerClass} row-container`}\n ref={c => {\n vi.rContainer = c;\n }}\n role='rowgroup'\n >\n {/** Do not add any other element in row-container apart from the rows as it will generate incorrect estimations */}\n {children}\n </div>\n {showLoadingIndicator && isFetching && loadingIndicatorInfo.isScrollingDown && (\n <StyledLoader\n $style={{\n top: '--below-loader-top',\n left: '--loader-left'\n }}\n >\n <Progress\n className='below-loader'\n placement='block'\n tabIndex={0}\n aria-label={translate('Loading more results')}\n />\n </StyledLoader>\n )}\n </div>\n {totalRecordCount === 0 ? <EmptyContainer /> : null}\n {renderFooter && renderFooter()}\n </StyledPContainer>\n );\n }\n);\n\nVirtualize.propTypes = {\n id: PropTypes.string.isRequired,\n viewHeight: PropTypes.number,\n viewWidth: PropTypes.number,\n totalRecordCount: PropTypes.number,\n itemHeight: PropTypes.number,\n callback: PropTypes.func,\n isFetching: PropTypes.bool,\n rowContainerClass: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n renderHeader: PropTypes.func,\n renderFooter: PropTypes.func,\n state: PropTypes.shape({\n startIndex: PropTypes.number,\n endIndex: PropTypes.number\n }),\n bufferMultiplier: PropTypes.number,\n viewMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n showLoadingIndicator: PropTypes.bool\n};\n\nVirtualize.defaultProps = {\n bufferMultiplier: 2,\n callback: () => {},\n isFetching: false,\n rowContainerClass: '',\n viewWidth: 0,\n itemHeight: 40,\n renderHeader: null,\n renderFooter: null,\n state: undefined,\n totalRecordCount: undefined,\n viewMaxHeight: undefined,\n showLoadingIndicator: false\n};\n\nVirtualize.displayName = 'Virtualize';\n\nexport default memo(Virtualize);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Components/Virtualise/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n memo,\n useEffect,\n useRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useLayoutEffect,\n useState\n} from 'react';\nimport Styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nimport { defaultThemeProp, Progress } from '@pega/cosmos-react-core';\nimport { isEmpty } from 'pega-repeating-structures-core';\n\nimport useTranslate from '../../Hooks/useTranslate';\nimport { StyledSkeletonRow } from '../../Views/Table/SkeletonRows';\n\nimport getPaginationInfo from './Pagination';\nimport useScroll from './UseScroll';\nimport {\n getCurrentEstimation,\n updateRowContainerTop,\n setAttributesOnItems,\n isViewNotFilled,\n getRecordCountForLayoutPaint,\n getValueWithUnit,\n getMaxHeight\n} from './utility';\nimport useResizeObserver from './UseResizeObserver';\n\nfunction getBContainerMinHeight(props) {\n return props.$style.renderFooter ? `calc(100% - ${2 * props.$style.itemHeight + 1}px) ` : '0';\n}\n\nconst StyledPContainer = Styled.div`\n position: relative;\n overflow: auto;\n max-height: ${props => props.$style.maxHeight};\n width: ${props => props.$style.width};\n height: ${props => props.$style.height};\n min-height: ${props => props.$style.minHeight};\n\n &:has(${StyledSkeletonRow}) {\n overflow: hidden;\n }\n\n /**\n * When height and maxHeight is auto, virtualization is not going to happen and the scroll jump on row deletion scenario is not going to happen.\n * In such cases, using relative position as sticky was used to fix scroll jump in firefox during virtualization.\n */\n .bContainer {\n position: ${props =>\n props.$style.maxHeight?.startsWith?.('auto') &&\n props.$style.height?.startsWith?.('auto')\n ? 'relative'\n : 'sticky'};\n min-height: ${props => getBContainerMinHeight(props)};\n border-radius: inherit;\n }\n`;\n\nStyledPContainer.defaultProps = defaultThemeProp;\n\nconst StyledLoader = Styled.div`\n display: flex;\n justify-content: center;\n padding: 0.5rem;\n position: absolute;\n width: 100%;\n left: ${props => `var(${props.$style.left})`};\n top: ${props => `var(${props.$style.top})`};\n`;\n\nconst Virtualize = forwardRef(\n (\n {\n id,\n viewHeight,\n viewWidth,\n totalRecordCount,\n itemHeight,\n callback,\n isFetching,\n rowContainerClass,\n children,\n renderHeader,\n renderFooter,\n state,\n bufferMultiplier,\n viewMaxHeight,\n showLoadingIndicator,\n renderEmptyRecords\n },\n inputRef\n ) => {\n const [rContainerDimensionUpdate, setRContainerDimensionUpdate] = useState();\n const [loadingIndicatorInfo, setLoadingIndicatorInfo] = useState({});\n const [translate] = useTranslate();\n // Create ref to store virtualize related data.\n const vi = useRef({\n itemHeight,\n bufferMultiplier,\n pInfo: {}\n }).current;\n\n const getRowContainer = useCallback(() => vi.rContainer, [vi.rContainer]);\n const getPContainer = useCallback(() => vi.pContainer, [vi.pContainer]);\n const getBContainer = useCallback(() => vi.bContainer, [vi.bContainer]);\n\n // API used when user want to scroll to top programmatically.\n // Though component auto scroll to top if no element is in view.\n // But calling this API upfront might save one extra call to Fetch API.\n const scrollToTop = useCallback(() => {\n if (!state) return;\n getPContainer().scrollTop = 0;\n vi.pInfo = getPaginationInfo(\n getPContainer(),\n getRecordCountForLayoutPaint(totalRecordCount),\n vi,\n false,\n true\n );\n callback({ ...vi.pInfo.view, id }, { takeLatestAction: true });\n }, [id, vi, state, getPContainer]);\n\n // expose APIs and properties here to help client to communicate.\n useImperativeHandle(inputRef, () => ({\n getParentContainer: getPContainer,\n scrollToTop,\n vi,\n id\n }));\n\n const { width, height } = useMemo(\n () => ({\n width: getValueWithUnit(viewWidth, '100%'),\n height: getValueWithUnit(viewHeight, 'auto')\n }),\n [viewWidth, viewHeight]\n );\n\n const maxHeight = useMemo(() => getMaxHeight(viewMaxHeight), [viewMaxHeight]);\n\n const minHeight = useMemo(\n () => (totalRecordCount === 0 ? '100px' : 'auto'),\n [totalRecordCount]\n );\n\n // Calculate the pagination indexes and notify callback.\n // resetIsFetchingWhenNoNewIndexes - flag specific for isViewNotFilled\n // If view is not filled, we want to call this but restting isFetch to false\n // goes to this methid when callback is note fired.\n const getPagination = useCallback(\n (isRefresh = false, resetIsFetchingWhenNoNewIndexes = false) => {\n if (resetIsFetchingWhenNoNewIndexes) {\n setLoadingIndicatorInfo({});\n }\n const pInfo = getPaginationInfo(\n getPContainer(),\n getRecordCountForLayoutPaint(totalRecordCount),\n vi,\n isRefresh\n );\n const { startIndex, endIndex } = pInfo.view;\n // if new indexes are subset of existing state indexes, no need to update the consumer.\n if (!state || !(startIndex >= state.startIndex && endIndex <= state.endIndex)) {\n vi.pInfo = pInfo;\n if (state) {\n const { startIndex: oldStartIndex, endIndex: oldEndIndex } = state;\n if (startIndex < oldStartIndex) {\n setLoadingIndicatorInfo(info => {\n return { ...info, isScrollingUp: true };\n });\n }\n if (endIndex > oldEndIndex) {\n setLoadingIndicatorInfo(info => {\n return { ...info, isScrollingDown: true };\n });\n }\n }\n callback({ ...vi.pInfo.view, id }, { takeLatestAction: true });\n }\n },\n [vi, totalRecordCount, state, callback, id, getPContainer]\n );\n\n // update average stats for next calculation.\n const updateAverageInVirtualizeInstance = useCallback(\n currentEstimation => {\n const { itemCount, rowContainerHeight, averageNumberOfItemsInARow, averageRowHeight } =\n currentEstimation;\n Object.assign(vi, {\n itemCount: (itemCount + vi.itemCount || itemCount) / 2,\n rowContainerHeight:\n (rowContainerHeight + vi.rowContainerHeight || rowContainerHeight) / 2,\n averageNumberOfItemsInARow:\n (averageNumberOfItemsInARow + vi.averageNumberOfItemsInARow ||\n averageNumberOfItemsInARow) / 2,\n averageRowHeight: (averageRowHeight + vi.averageRowHeight || averageRowHeight) / 2\n });\n },\n [vi]\n );\n\n const getBufferHeight = useCallback(\n currentEstimation => {\n const { itemCount, rowContainerHeight } = currentEstimation;\n let h = 0;\n if (itemCount > 0)\n h = (getRecordCountForLayoutPaint(totalRecordCount) / itemCount) * rowContainerHeight;\n return h;\n },\n [totalRecordCount]\n );\n\n const getScrollTop = useCallback(\n currentEstimation => {\n const { itemCount, rowContainerHeight } = currentEstimation;\n let scrollTop = 0;\n if (itemCount > 0) {\n const scrollNodeTopChange =\n // eslint-disable-next-line no-unsafe-optional-chaining\n vi.pInfo?.bufferNewCords?.top - vi.pInfo?.bufferOldCords?.top || 0;\n scrollTop = (vi.pInfo.topRowIndex / itemCount) * rowContainerHeight - scrollNodeTopChange;\n }\n return scrollTop;\n },\n [vi]\n );\n\n const onRowContainerDimensionChange = useCallback(() => {\n const { height: rowContainerHeight, width: rowContainerWidth } =\n getRowContainer()?.getBoundingClientRect() ?? {};\n // trigger virtualizer operations only when row container has some height and width\n if (rowContainerHeight && rowContainerWidth) setRContainerDimensionUpdate({});\n }, [getRowContainer]);\n\n // observe on row container to adjust the buffer container height.\n useResizeObserver(getRowContainer, onRowContainerDimensionChange);\n\n const [updateScrollTop] = useScroll(\n getPagination,\n getPContainer,\n vi,\n totalRecordCount,\n renderHeader,\n isFetching,\n viewHeight\n );\n\n useLayoutEffect(() => {\n const rContainer = getRowContainer();\n if (state && state.startIndex >= 0 && vi && rContainer) {\n setAttributesOnItems(state, rContainer);\n }\n });\n\n // Get estimate and update buffer height\n useLayoutEffect(() => {\n if (state && !isEmpty(totalRecordCount)) {\n vi.currentEstimation = getCurrentEstimation(getRowContainer());\n updateAverageInVirtualizeInstance(vi.currentEstimation);\n const h = Math.floor(getBufferHeight(vi.currentEstimation));\n const previousHeight = getBContainer().offsetHeight;\n\n getBContainer().style.height = `${h}px`;\n vi.bContainerHeight = h;\n\n // if there was no previous height, then keep the scrolltop to 0 by default\n if (h !== previousHeight && previousHeight) {\n const pContainer = getPContainer();\n const scrollTop = getScrollTop(vi.currentEstimation);\n if (scrollTop >= 0) {\n pContainer.scrollTop = scrollTop;\n }\n }\n }\n }, [\n rContainerDimensionUpdate,\n getBContainer,\n getBufferHeight,\n getRowContainer,\n state,\n totalRecordCount,\n updateAverageInVirtualizeInstance,\n vi,\n getPContainer,\n getScrollTop\n ]);\n\n // update parent scroll top and row container top.\n useLayoutEffect(() => {\n if (state && !isEmpty(totalRecordCount)) {\n const pContainer = getPContainer();\n\n // Setting scrollTop from pContainer.scrollTop as getScrollTop can return value with higher decimal accuracy.\n // but scrollTop attribute from HTML element will round it automatically.\n updateScrollTop(pContainer.scrollTop);\n updateRowContainerTop(\n vi,\n getRecordCountForLayoutPaint(totalRecordCount),\n state,\n pContainer,\n pContainer.scrollTop\n );\n\n const topLoaderHeight = 80;\n let top = getRowContainer().style.top;\n if (!top) {\n top = 0;\n }\n getBContainer().style.setProperty(\n '--above-loader-top',\n `${parseInt(top, 10) - topLoaderHeight}px`\n );\n\n getBContainer().style.setProperty(\n '--below-loader-top',\n `${parseInt(top, 10) + getRowContainer().offsetHeight}px`\n );\n }\n }, [\n getPContainer,\n getScrollTop,\n state,\n updateScrollTop,\n vi,\n rContainerDimensionUpdate,\n totalRecordCount,\n getRowContainer,\n getBContainer\n ]);\n\n // On mount that means state is not initialized yet, trigger pagination.\n // or whenever count changes or width /height of view port changes, if view is not filled with data, get indexes again.\n useEffect(() => {\n if (state && !isFetching && !isEmpty(totalRecordCount)) {\n if (\n isViewNotFilled(\n getRecordCountForLayoutPaint(totalRecordCount),\n vi,\n getPContainer(),\n renderHeader\n )\n )\n getPagination(false, true);\n else {\n setLoadingIndicatorInfo({});\n }\n } else if (!state || !Object.keys(vi.pInfo).length) getPagination(true);\n }, [\n rContainerDimensionUpdate,\n state,\n vi,\n totalRecordCount,\n viewHeight,\n viewWidth,\n renderHeader,\n getPagination,\n getPContainer\n ]);\n\n useEffect(() => {\n if (!isFetching) return;\n getBContainer().style.setProperty('--loader-left', `${getPContainer().scrollLeft}px`);\n }, [isFetching, getPContainer()?.scrollLeft]);\n\n return (\n <StyledPContainer\n $style={{\n maxHeight,\n minHeight,\n renderFooter,\n itemHeight,\n height,\n width\n }}\n data-total-records={totalRecordCount}\n className='pContainer'\n ref={c => {\n vi.pContainer = c;\n }}\n >\n {renderHeader && renderHeader()}\n <div\n className='bContainer'\n ref={c => {\n vi.bContainer = c;\n }}\n >\n {showLoadingIndicator && isFetching && loadingIndicatorInfo.isScrollingUp && (\n <StyledLoader\n $style={{\n top: '--above-loader-top',\n left: '--loader-left'\n }}\n >\n <Progress\n className='above-loader'\n placement='block'\n tabIndex={0}\n aria-label={translate('Loading more results')}\n />\n </StyledLoader>\n )}\n <div\n className={`${rowContainerClass} row-container`}\n ref={c => {\n vi.rContainer = c;\n }}\n role='rowgroup'\n >\n {/** Do not add any other element in row-container apart from the rows as it will generate incorrect estimations */}\n {children}\n </div>\n {showLoadingIndicator && isFetching && loadingIndicatorInfo.isScrollingDown && (\n <StyledLoader\n $style={{\n top: '--below-loader-top',\n left: '--loader-left'\n }}\n >\n <Progress\n className='below-loader'\n placement='block'\n tabIndex={0}\n aria-label={translate('Loading more results')}\n />\n </StyledLoader>\n )}\n </div>\n {totalRecordCount === 0 ? renderEmptyRecords && renderEmptyRecords() : null}\n {renderFooter && renderFooter()}\n </StyledPContainer>\n );\n }\n);\n\nVirtualize.propTypes = {\n id: PropTypes.string.isRequired,\n viewHeight: PropTypes.number,\n viewWidth: PropTypes.number,\n totalRecordCount: PropTypes.number,\n itemHeight: PropTypes.number,\n callback: PropTypes.func,\n isFetching: PropTypes.bool,\n rowContainerClass: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n renderHeader: PropTypes.func,\n renderFooter: PropTypes.func,\n state: PropTypes.shape({\n startIndex: PropTypes.number,\n endIndex: PropTypes.number\n }),\n bufferMultiplier: PropTypes.number,\n viewMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n showLoadingIndicator: PropTypes.bool,\n renderEmptyRecords: PropTypes.func\n};\n\nVirtualize.defaultProps = {\n bufferMultiplier: 2,\n callback: () => {},\n isFetching: false,\n rowContainerClass: '',\n viewWidth: 0,\n itemHeight: 40,\n renderHeader: null,\n renderFooter: null,\n state: undefined,\n totalRecordCount: undefined,\n viewMaxHeight: undefined,\n showLoadingIndicator: false,\n renderEmptyRecords: null\n};\n\nVirtualize.displayName = 'Virtualize';\n\nexport default memo(Virtualize);\n"]}
@@ -112,7 +112,8 @@ declare const defaultTranslations: {
112
112
  'Sort ascending': string;
113
113
  'Sort descending': string;
114
114
  'Remove sort': string;
115
- 'No records found.': string;
115
+ 'No records found': string;
116
+ 'No records': string;
116
117
  'Clear filter': string;
117
118
  Equals: string;
118
119
  'Not equals': string;
@@ -1 +1 @@
1
- {"version":3,"file":"defaultTranslations.d.ts","sourceRoot":"","sources":["../../../Core/Localization/defaultTranslations.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0KxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"defaultTranslations.d.ts","sourceRoot":"","sources":["../../../Core/Localization/defaultTranslations.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2KxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -113,7 +113,8 @@ const defaultTranslations = {
113
113
  'Sort ascending': 'Sort ascending',
114
114
  'Sort descending': 'Sort descending',
115
115
  'Remove sort': 'Remove sort',
116
- 'No records found.': 'No records found.',
116
+ 'No records found': 'No records found',
117
+ 'No records': 'No records',
117
118
  'Clear filter': 'Clear filter',
118
119
  Equals: 'Equals',
119
120
  'Not equals': 'Not equals',
@@ -1 +1 @@
1
- {"version":3,"file":"defaultTranslations.js","sourceRoot":"","sources":["../../../Core/Localization/defaultTranslations.ts"],"names":[],"mappings":"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","sourcesContent":["// FIXME: Move this file to Demo folder once the typings are available from cosmos translations pack\nconst defaultTranslations = {\n Submit: 'Submit',\n 'Hide header icons': 'Hide header icons',\n 'Column name:': 'Column name:',\n 'Template:': 'Template:',\n 'Hide columns': 'Hide columns',\n 'Remove filter': 'Remove filter',\n Year: 'Year',\n Quarter: 'Quarter',\n Month: 'Month',\n Week: 'Week',\n Day: 'Day',\n Hour: 'Hour',\n Minute: 'Minute',\n 'Month of year': 'Month of year',\n 'Day of month': 'Day of month',\n 'Day of week': 'Day of week',\n 'Hour of day': 'Hour of day',\n Add: 'Add',\n Aggregate: 'Aggregate',\n Cancel: 'Cancel',\n Ok: 'Ok',\n 'has unsaved changes, do you want to discard and proceed?':\n 'has unsaved changes, do you want to discard and proceed?',\n Actions: 'Actions',\n actions: 'actions',\n 'Edit details': 'Edit details',\n 'Change stage': 'Change stage',\n Preview: 'Preview',\n 'Open in a new tab': 'Open in a new tab',\n Edit: 'Edit',\n 'Copy text': 'Copy text',\n 'Paste text': 'Paste text',\n 'Filter by this': 'Filter by this',\n 'Open link in new tab': 'Open link in new tab',\n default: 'default',\n Grouping: 'Grouping',\n to: 'to',\n Filter: 'Filter',\n Freeze: 'Freeze',\n Hide: 'Hide',\n Summarize: 'Summarize',\n 'Combine with left': 'Combine with left',\n 'Combine with right': 'Combine with right',\n Delete: 'Delete',\n Format: 'Format',\n Alias: 'Alias',\n 'Enter alias': 'Enter alias',\n 'Filter by': 'Filter by',\n Group: 'Group',\n 'Group by': 'Group by',\n Sort: 'Sort',\n 'Sort by': 'Sort by',\n 'Row density': 'Row density',\n 'Show/hide columns': 'Show/hide columns',\n 'Freeze columns': 'Freeze columns',\n 'Save view as..': 'Save view as..',\n 'Save changes': 'Save changes',\n 'View as...': 'View as...',\n 'Edit view': 'Edit view',\n 'Set as default': 'Set as default',\n 'Mark as default?': 'Mark as default?',\n 'Mark as app default': 'Mark as app default',\n 'Delete view': 'Delete view',\n 'Reset column widths': 'Reset column widths',\n 'Auto size columns': 'Auto size columns',\n ShowHeaderIcons: 'ShowHeaderIcons',\n 'Query info': 'Query info',\n 'Export to Excel': 'Export to Excel',\n 'Export to CSV': 'Export to CSV',\n Class: 'Class',\n 'Data page': 'Data page',\n 'Data source': 'Data source',\n 'Time taken': 'Time taken',\n 'Insight ID': 'Insight ID',\n 'Undo hierarchy': 'Undo hierarchy',\n Normal: 'Normal',\n Hierarchical: 'Hierarchical',\n Display: 'Display',\n table: 'table',\n 'Use arrow keys or Shift plus Alt plus arrow keys to navigate':\n 'Use arrow keys or Shift plus Alt plus arrow keys to navigate',\n 'No actions available': 'No actions available',\n 'Use Enter to open header menu': 'Use Enter to open header menu',\n 'Loading more results': 'Loading more results',\n Sorted: 'Sorted',\n 'Sort priority': 'Sort priority',\n 'Filtered column': 'Filtered column',\n Ascending: 'Ascending',\n Descending: 'Descending',\n Select: 'Select',\n 'Select all': 'Select all',\n 'Collapse all groups': 'Collapse all groups',\n 'Expand all groups': 'Expand all groups',\n Sum: 'Sum',\n Min: 'Min',\n Max: 'Max',\n Avg: 'Avg',\n 'Aggregate options': 'Aggregate options',\n 'Select two or more items to enable bulk actions':\n 'Select two or more items to enable bulk actions',\n 'Bulk actions': 'Bulk actions',\n 'Group applied': 'Group applied',\n 'Group modified': 'Group modified',\n 'Group removed': 'Group removed',\n Loading: 'Loading',\n 'Loading completed': 'Loading completed',\n 'name is reserved for non Personalized view and cannot be used.':\n 'name is reserved for non Personalized view and cannot be used.',\n 'This view is already present.': 'This view is already present.',\n 'This view name cannot be empty.': 'This view name cannot be empty.',\n 'View name must contain less than 65 characters.':\n 'View name must contain less than 65 characters.',\n 'Sort order': 'Sort order',\n Field: 'Field',\n 'Column name cannot be empty.': 'Column name cannot be empty.',\n 'Sort ascending': 'Sort ascending',\n 'Sort descending': 'Sort descending',\n 'Remove sort': 'Remove sort',\n 'No records found.': 'No records found.',\n 'Clear filter': 'Clear filter',\n Equals: 'Equals',\n 'Not equals': 'Not equals',\n After: 'After',\n Before: 'Before',\n 'On or after': 'On or after',\n 'On or before': 'On or before',\n 'Greater than': 'Greater than',\n 'Less than': 'Less than',\n 'Greater than or equals': 'Greater than or equals',\n 'Less than or equals': 'Less than or equals',\n 'Starts with': 'Starts with',\n 'Not starts with': 'Not starts with',\n 'Ends with': 'Ends with',\n 'Not ends with': 'Not ends with',\n Contains: 'Contains',\n 'Not contains': 'Not contains',\n 'Is any of': 'Is any of',\n 'Is not any of': 'Is not any of',\n 'Is null': 'Is null',\n 'Is not null': 'Is not null',\n true: 'true',\n false: 'false',\n 'Interactive content': 'Interactive content',\n 'Filter value': 'Filter value',\n 'Filter comparison': 'Filter comparison',\n state: 'state',\n 'Filter column': 'Filter column',\n Refresh: 'Refresh',\n table_a11y_intro: 'Tab or click into the grid to use key commands.',\n table_a11y_instructions_arrow_keys_label: 'Arrow keys or Shift+Alt+Arrow keys',\n table_a11y_instructions_arrow_keys_description: 'navigate cells',\n table_a11y_instructions_enter_label: 'Enter key',\n table_a11y_instructions_enter_description:\n 'when on a cell with editable controls, switches to Tab navigation mode. Tab key now navigates between all interactive controls in the grid',\n table_a11y_instructions_escape_label: 'Escape key',\n table_a11y_instructions_escape_description: 'restores arrow-based grid navigation',\n saved_changes: '\"{0}\" saved with changes',\n saved_changes_with_default: '\"{0}\" saved with changes and marked as default view',\n view_marked_default: '\"{0}\" view is marked as Default',\n view_marked_app_default: '\"{0}\" view is marked as App Default',\n created_view: 'Created view \"{0}\"',\n created_view_with_default: 'Created view \"{0}\" and marked as default view',\n deleted_view: 'Deleted view \"{0}\"',\n view_navigation_instructions: '{0}, Refer to keyboard instructions for navigation.',\n 'Show/Hide modified': 'Show/Hide modified',\n 'Freeze applied': 'Freeze applied',\n 'Freeze modified': 'Freeze modified',\n 'Freeze removed': 'Freeze removed',\n Count: 'Count'\n};\n\nexport default defaultTranslations;\n"]}
1
+ {"version":3,"file":"defaultTranslations.js","sourceRoot":"","sources":["../../../Core/Localization/defaultTranslations.ts"],"names":[],"mappings":"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","sourcesContent":["// FIXME: Move this file to Demo folder once the typings are available from cosmos translations pack\nconst defaultTranslations = {\n Submit: 'Submit',\n 'Hide header icons': 'Hide header icons',\n 'Column name:': 'Column name:',\n 'Template:': 'Template:',\n 'Hide columns': 'Hide columns',\n 'Remove filter': 'Remove filter',\n Year: 'Year',\n Quarter: 'Quarter',\n Month: 'Month',\n Week: 'Week',\n Day: 'Day',\n Hour: 'Hour',\n Minute: 'Minute',\n 'Month of year': 'Month of year',\n 'Day of month': 'Day of month',\n 'Day of week': 'Day of week',\n 'Hour of day': 'Hour of day',\n Add: 'Add',\n Aggregate: 'Aggregate',\n Cancel: 'Cancel',\n Ok: 'Ok',\n 'has unsaved changes, do you want to discard and proceed?':\n 'has unsaved changes, do you want to discard and proceed?',\n Actions: 'Actions',\n actions: 'actions',\n 'Edit details': 'Edit details',\n 'Change stage': 'Change stage',\n Preview: 'Preview',\n 'Open in a new tab': 'Open in a new tab',\n Edit: 'Edit',\n 'Copy text': 'Copy text',\n 'Paste text': 'Paste text',\n 'Filter by this': 'Filter by this',\n 'Open link in new tab': 'Open link in new tab',\n default: 'default',\n Grouping: 'Grouping',\n to: 'to',\n Filter: 'Filter',\n Freeze: 'Freeze',\n Hide: 'Hide',\n Summarize: 'Summarize',\n 'Combine with left': 'Combine with left',\n 'Combine with right': 'Combine with right',\n Delete: 'Delete',\n Format: 'Format',\n Alias: 'Alias',\n 'Enter alias': 'Enter alias',\n 'Filter by': 'Filter by',\n Group: 'Group',\n 'Group by': 'Group by',\n Sort: 'Sort',\n 'Sort by': 'Sort by',\n 'Row density': 'Row density',\n 'Show/hide columns': 'Show/hide columns',\n 'Freeze columns': 'Freeze columns',\n 'Save view as..': 'Save view as..',\n 'Save changes': 'Save changes',\n 'View as...': 'View as...',\n 'Edit view': 'Edit view',\n 'Set as default': 'Set as default',\n 'Mark as default?': 'Mark as default?',\n 'Mark as app default': 'Mark as app default',\n 'Delete view': 'Delete view',\n 'Reset column widths': 'Reset column widths',\n 'Auto size columns': 'Auto size columns',\n ShowHeaderIcons: 'ShowHeaderIcons',\n 'Query info': 'Query info',\n 'Export to Excel': 'Export to Excel',\n 'Export to CSV': 'Export to CSV',\n Class: 'Class',\n 'Data page': 'Data page',\n 'Data source': 'Data source',\n 'Time taken': 'Time taken',\n 'Insight ID': 'Insight ID',\n 'Undo hierarchy': 'Undo hierarchy',\n Normal: 'Normal',\n Hierarchical: 'Hierarchical',\n Display: 'Display',\n table: 'table',\n 'Use arrow keys or Shift plus Alt plus arrow keys to navigate':\n 'Use arrow keys or Shift plus Alt plus arrow keys to navigate',\n 'No actions available': 'No actions available',\n 'Use Enter to open header menu': 'Use Enter to open header menu',\n 'Loading more results': 'Loading more results',\n Sorted: 'Sorted',\n 'Sort priority': 'Sort priority',\n 'Filtered column': 'Filtered column',\n Ascending: 'Ascending',\n Descending: 'Descending',\n Select: 'Select',\n 'Select all': 'Select all',\n 'Collapse all groups': 'Collapse all groups',\n 'Expand all groups': 'Expand all groups',\n Sum: 'Sum',\n Min: 'Min',\n Max: 'Max',\n Avg: 'Avg',\n 'Aggregate options': 'Aggregate options',\n 'Select two or more items to enable bulk actions':\n 'Select two or more items to enable bulk actions',\n 'Bulk actions': 'Bulk actions',\n 'Group applied': 'Group applied',\n 'Group modified': 'Group modified',\n 'Group removed': 'Group removed',\n Loading: 'Loading',\n 'Loading completed': 'Loading completed',\n 'name is reserved for non Personalized view and cannot be used.':\n 'name is reserved for non Personalized view and cannot be used.',\n 'This view is already present.': 'This view is already present.',\n 'This view name cannot be empty.': 'This view name cannot be empty.',\n 'View name must contain less than 65 characters.':\n 'View name must contain less than 65 characters.',\n 'Sort order': 'Sort order',\n Field: 'Field',\n 'Column name cannot be empty.': 'Column name cannot be empty.',\n 'Sort ascending': 'Sort ascending',\n 'Sort descending': 'Sort descending',\n 'Remove sort': 'Remove sort',\n 'No records found': 'No records found',\n 'No records': 'No records',\n 'Clear filter': 'Clear filter',\n Equals: 'Equals',\n 'Not equals': 'Not equals',\n After: 'After',\n Before: 'Before',\n 'On or after': 'On or after',\n 'On or before': 'On or before',\n 'Greater than': 'Greater than',\n 'Less than': 'Less than',\n 'Greater than or equals': 'Greater than or equals',\n 'Less than or equals': 'Less than or equals',\n 'Starts with': 'Starts with',\n 'Not starts with': 'Not starts with',\n 'Ends with': 'Ends with',\n 'Not ends with': 'Not ends with',\n Contains: 'Contains',\n 'Not contains': 'Not contains',\n 'Is any of': 'Is any of',\n 'Is not any of': 'Is not any of',\n 'Is null': 'Is null',\n 'Is not null': 'Is not null',\n true: 'true',\n false: 'false',\n 'Interactive content': 'Interactive content',\n 'Filter value': 'Filter value',\n 'Filter comparison': 'Filter comparison',\n state: 'state',\n 'Filter column': 'Filter column',\n Refresh: 'Refresh',\n table_a11y_intro: 'Tab or click into the grid to use key commands.',\n table_a11y_instructions_arrow_keys_label: 'Arrow keys or Shift+Alt+Arrow keys',\n table_a11y_instructions_arrow_keys_description: 'navigate cells',\n table_a11y_instructions_enter_label: 'Enter key',\n table_a11y_instructions_enter_description:\n 'when on a cell with editable controls, switches to Tab navigation mode. Tab key now navigates between all interactive controls in the grid',\n table_a11y_instructions_escape_label: 'Escape key',\n table_a11y_instructions_escape_description: 'restores arrow-based grid navigation',\n saved_changes: '\"{0}\" saved with changes',\n saved_changes_with_default: '\"{0}\" saved with changes and marked as default view',\n view_marked_default: '\"{0}\" view is marked as Default',\n view_marked_app_default: '\"{0}\" view is marked as App Default',\n created_view: 'Created view \"{0}\"',\n created_view_with_default: 'Created view \"{0}\" and marked as default view',\n deleted_view: 'Deleted view \"{0}\"',\n view_navigation_instructions: '{0}, Refer to keyboard instructions for navigation.',\n 'Show/Hide modified': 'Show/Hide modified',\n 'Freeze applied': 'Freeze applied',\n 'Freeze modified': 'Freeze modified',\n 'Freeze removed': 'Freeze removed',\n Count: 'Count'\n};\n\nexport default defaultTranslations;\n"]}
@@ -1,4 +1,5 @@
1
1
  import type { IconName } from '@pega/cosmos-react-core';
2
+ import { type RsCoreTypes } from 'pega-repeating-structures-core';
2
3
  import type { RSTypes } from '../../types';
3
4
  /**
4
5
  * Performs a deep comparison between two values to determine if they are equivalent.
@@ -16,4 +17,14 @@ export declare const allowToggle: (visibleColumns: string | any[]) => boolean;
16
17
  export declare const getFieldIcon: (type: RSTypes.FieldDef["type"]) => IconName;
17
18
  export declare function isAccessibleValue(value: any): boolean;
18
19
  export declare const isRowReorderFieldEnabled: (meta: RSTypes.Meta) => boolean;
20
+ /**
21
+ * Indicates if any of the filters (filterExpression, searchText, externalFilters) is applied on the view.
22
+ * @param view View object
23
+ * @returns true if any filter is applied, false otherwise.
24
+ */
25
+ export declare const isFilterApplied: ({ filterExpression, searchText, externalState }: {
26
+ filterExpression: RsCoreTypes.View["state"]["filterExpression"];
27
+ searchText: RsCoreTypes.View["state"]["searchText"];
28
+ externalState: RsCoreTypes.View["state"]["externalState"];
29
+ }, externalFilters: RsCoreTypes.Meta["externalFilters"]) => boolean;
19
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Core/Utils/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,WAEvC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAcxC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,IAAI,IAE1C,GAAG,MAAM,GAAG,UASnC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,WAElC;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,gBAE/B;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,WAEhC;AAGD,wBAAgB,eAAe,CAAC,GAAG,IAAI,EAAE,GAAG,OAkB3C;AAED,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAE/E;AAED,eAAO,MAAM,WAAW,GAAI,gBAAgB,MAAM,GAAG,GAAG,EAAE,YAEzD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAG,QAiB7D,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,WAE3C;AAGD,eAAO,MAAM,wBAAwB,GAAI,MAAM,OAAO,CAAC,IAAI,KAAG,OAE7D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Core/Utils/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,WAEvC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAcxC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,IAAI,IAE1C,GAAG,MAAM,GAAG,UASnC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,WAElC;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,gBAE/B;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,WAEhC;AAGD,wBAAgB,eAAe,CAAC,GAAG,IAAI,EAAE,GAAG,OAkB3C;AAED,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAE/E;AAED,eAAO,MAAM,WAAW,GAAI,gBAAgB,MAAM,GAAG,GAAG,EAAE,YAEzD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAG,QAiB7D,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,WAE3C;AAGD,eAAO,MAAM,wBAAwB,GAAI,MAAM,OAAO,CAAC,IAAI,KAAG,OAE7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,iDAIG;IACD,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAChE,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC;IACpD,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC;CAC3D,EACD,iBAAiB,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,KACnD,OAOF,CAAC"}
@@ -91,4 +91,15 @@ export function isAccessibleValue(value) {
91
91
  export const isRowReorderFieldEnabled = (meta) => {
92
92
  return meta.dragHandle || !!meta.rowReorderField;
93
93
  };
94
+ /**
95
+ * Indicates if any of the filters (filterExpression, searchText, externalFilters) is applied on the view.
96
+ * @param view View object
97
+ * @returns true if any filter is applied, false otherwise.
98
+ */
99
+ export const isFilterApplied = ({ filterExpression, searchText, externalState }, externalFilters) => {
100
+ const isExternalFiltersExist = externalFilters &&
101
+ externalState?.[externalFilters] &&
102
+ Object.keys(externalState[externalFilters]).length > 0;
103
+ return Boolean(filterExpression || searchText || isExternalFiltersExist);
104
+ };
94
105
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Core/Utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAI3D;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,CAAM,EAAE,CAAM;IACtC,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,MAAS;IACnC,IAAI,MAAM,GAAQ,MAAM,CAAC;IAEzB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,EAAQ,CAAC;QAEhD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAChC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAc,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,EAAyB;IAChE,IAAI,OAAY,CAAC;IACjB,OAAO,SAAS,KAAK,CAAC,GAAG,IAAS;QAChC,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACZ,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAQ;IACjC,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAC/B,OAAO,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,eAAe,CAAC,GAAG,IAAS;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAO,EAAE,GAAQ,EAAE,EAAE;QAChD,IAAI,GAAG,CAAC;QAER,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,GAAG,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;aAAM,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAG,IAA4C;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,cAA8B,EAAE,EAAE;IAC5D,OAAO,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAA8B,EAAY,EAAE;IACvE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,uBAAuB,CAAC;QACjC,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,mBAAmB,CAAC;QAC7B,KAAK,SAAS,CAAC,SAAS,CAAC;QACzB,KAAK,SAAS,CAAC,IAAI,CAAC;QACpB,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,wBAAwB,CAAC;QAClC,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,wBAAwB,CAAC;QAClC,KAAK,SAAS,CAAC,GAAG,CAAC;QACnB,KAAK,SAAS,CAAC,IAAI,CAAC;QACpB;YACE,OAAO,sBAAsB,CAAC;IAClC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,KAAU;IAC1C,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACjE,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAkB,EAAW,EAAE;IACtE,OAAO,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;AACnD,CAAC,CAAC","sourcesContent":["import fastDeepEqual from 'fast-deep-equal/es6';\n\nimport type { IconName } from '@pega/cosmos-react-core';\nimport { FieldType } from 'pega-repeating-structures-core';\n\nimport type { RSTypes } from '../../types';\n\n/**\n * Performs a deep comparison between two values to determine if they are equivalent.\n * A wrapper on fast-deep-equal\n */\nexport function deepEqual(x: any, y: any) {\n return fastDeepEqual(x, y);\n}\n\nexport function deepCopy<T>(oldObj: T): T {\n let newObj: any = oldObj;\n\n if (oldObj && typeof oldObj === 'object') {\n newObj = Array.isArray(oldObj) ? [] : ({} as T);\n\n Object.keys(oldObj).forEach(key => {\n if (Object.hasOwn(oldObj, key)) {\n newObj[key] = deepCopy(oldObj[key as keyof T]);\n }\n });\n }\n\n return newObj;\n}\n\nexport function debounced(delay: number, fn: (...arg: any) => void) {\n let timerId: any;\n return function inner(...args: any) {\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(() => {\n fn(...args);\n timerId = null;\n }, delay);\n };\n}\n\nexport function isFunction(obj: any) {\n return typeof obj === 'function';\n}\n\nexport function isArray(obj: any) {\n return Array.isArray(obj);\n}\n\nexport function isObject(obj: any) {\n return obj === Object(obj) && !(isFunction(obj) || isArray(obj));\n}\n\n// Concat CSS classes\nexport function createClassName(...args: any) {\n const classes = args.reduce((arr: [], arg: any) => {\n let val;\n\n if (isArray(arg)) {\n val = createClassName(...arg);\n } else if (typeof arg === 'string' && /\\S/.test(arg)) {\n val = arg.replace(/ \\s+/g, ' ').trim();\n } else if (isFunction(arg)) {\n val = createClassName(arg());\n } else if (isObject(arg)) {\n val = Object.keys(arg).filter(key => !!arg[key] && key);\n }\n\n return val ? arr.concat(val) : arr;\n }, []);\n\n return classes.length ? classes.join(' ') : undefined;\n}\n\nexport function keyFrom(...args: (string | number | null | undefined)[]): string {\n return args.map(val => `${val}`).join('-');\n}\n\nexport const allowToggle = (visibleColumns: string | any[]) => {\n return !(visibleColumns.length === 1);\n};\n\nexport const getFieldIcon = (type: RSTypes.FieldDef['type']): IconName => {\n switch (type) {\n case FieldType.NUMBER:\n return 'dataviz-numeric-field';\n case FieldType.BOOLEAN:\n return 'circle-mixed-left';\n case FieldType.DATE_TIME:\n case FieldType.DATE:\n case FieldType.TIME:\n return 'dataviz-datetime-field';\n case FieldType.CUSTOM:\n return 'distribute-item-center';\n case FieldType.URL:\n case FieldType.TEXT:\n default:\n return 'dataviz-string-field';\n }\n};\n\nexport function isAccessibleValue(value: any) {\n return value !== null && value !== undefined && value !== '––';\n}\n\n// TODO: temporary method, till meta.dragHandle is completely removed.\nexport const isRowReorderFieldEnabled = (meta: RSTypes.Meta): boolean => {\n return meta.dragHandle || !!meta.rowReorderField;\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Core/Utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["import fastDeepEqual from 'fast-deep-equal/es6';\n\nimport type { IconName } from '@pega/cosmos-react-core';\nimport { FieldType, type RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport type { RSTypes } from '../../types';\n\n/**\n * Performs a deep comparison between two values to determine if they are equivalent.\n * A wrapper on fast-deep-equal\n */\nexport function deepEqual(x: any, y: any) {\n return fastDeepEqual(x, y);\n}\n\nexport function deepCopy<T>(oldObj: T): T {\n let newObj: any = oldObj;\n\n if (oldObj && typeof oldObj === 'object') {\n newObj = Array.isArray(oldObj) ? [] : ({} as T);\n\n Object.keys(oldObj).forEach(key => {\n if (Object.hasOwn(oldObj, key)) {\n newObj[key] = deepCopy(oldObj[key as keyof T]);\n }\n });\n }\n\n return newObj;\n}\n\nexport function debounced(delay: number, fn: (...arg: any) => void) {\n let timerId: any;\n return function inner(...args: any) {\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(() => {\n fn(...args);\n timerId = null;\n }, delay);\n };\n}\n\nexport function isFunction(obj: any) {\n return typeof obj === 'function';\n}\n\nexport function isArray(obj: any) {\n return Array.isArray(obj);\n}\n\nexport function isObject(obj: any) {\n return obj === Object(obj) && !(isFunction(obj) || isArray(obj));\n}\n\n// Concat CSS classes\nexport function createClassName(...args: any) {\n const classes = args.reduce((arr: [], arg: any) => {\n let val;\n\n if (isArray(arg)) {\n val = createClassName(...arg);\n } else if (typeof arg === 'string' && /\\S/.test(arg)) {\n val = arg.replace(/ \\s+/g, ' ').trim();\n } else if (isFunction(arg)) {\n val = createClassName(arg());\n } else if (isObject(arg)) {\n val = Object.keys(arg).filter(key => !!arg[key] && key);\n }\n\n return val ? arr.concat(val) : arr;\n }, []);\n\n return classes.length ? classes.join(' ') : undefined;\n}\n\nexport function keyFrom(...args: (string | number | null | undefined)[]): string {\n return args.map(val => `${val}`).join('-');\n}\n\nexport const allowToggle = (visibleColumns: string | any[]) => {\n return !(visibleColumns.length === 1);\n};\n\nexport const getFieldIcon = (type: RSTypes.FieldDef['type']): IconName => {\n switch (type) {\n case FieldType.NUMBER:\n return 'dataviz-numeric-field';\n case FieldType.BOOLEAN:\n return 'circle-mixed-left';\n case FieldType.DATE_TIME:\n case FieldType.DATE:\n case FieldType.TIME:\n return 'dataviz-datetime-field';\n case FieldType.CUSTOM:\n return 'distribute-item-center';\n case FieldType.URL:\n case FieldType.TEXT:\n default:\n return 'dataviz-string-field';\n }\n};\n\nexport function isAccessibleValue(value: any) {\n return value !== null && value !== undefined && value !== '––';\n}\n\n// TODO: temporary method, till meta.dragHandle is completely removed.\nexport const isRowReorderFieldEnabled = (meta: RSTypes.Meta): boolean => {\n return meta.dragHandle || !!meta.rowReorderField;\n};\n\n/**\n * Indicates if any of the filters (filterExpression, searchText, externalFilters) is applied on the view.\n * @param view View object\n * @returns true if any filter is applied, false otherwise.\n */\nexport const isFilterApplied = (\n {\n filterExpression,\n searchText,\n externalState\n }: {\n filterExpression: RsCoreTypes.View['state']['filterExpression'];\n searchText: RsCoreTypes.View['state']['searchText'];\n externalState: RsCoreTypes.View['state']['externalState'];\n },\n externalFilters: RsCoreTypes.Meta['externalFilters']\n): boolean => {\n const isExternalFiltersExist =\n externalFilters &&\n externalState?.[externalFilters] &&\n Object.keys(externalState[externalFilters]).length > 0;\n\n return Boolean(filterExpression || searchText || isExternalFiltersExist);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.jsx"],"names":[],"mappings":";AA4BA;;4CAyFC;;;;;;;;sBArHqB,YAAY"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.jsx"],"names":[],"mappings":";AA6BA;;4CA0GC;;;;;;;;sBAvIqB,YAAY"}
@@ -4,7 +4,6 @@ import { useCallback, useRef, useEffect } from 'react';
4
4
  import styled from 'styled-components';
5
5
  import { useFullscreenContext } from '@pega/cosmos-react-core';
6
6
  import LoadingIndicator from '../../Components/LoadingIndicator';
7
- import EmptyContainer from '../../Components/EmptyContainer';
8
7
  import GalleryFooter from '../../Components/Footer';
9
8
  import Virtualiser from '../Table/VirtualizeWrapper';
10
9
  import Toolbar from '../../Components/Toolbar';
@@ -15,6 +14,8 @@ import RepeatingStructureA11y from '../../Components/A11y/RepeatingStructureA11y
15
14
  import useTranslate from '../../Hooks/useTranslate';
16
15
  import RsCardWrapper from '../RsCardWrapper';
17
16
  import { generateRSDataContainerHeightStyles } from '../../Utils/styles';
17
+ import EmptyContainer from '../../Components/DefaultComponents/EmptyContainer';
18
+ import { isFilterApplied } from '../../Utils';
18
19
  import StyledGalleryContainer from './StyledGalleryContainer';
19
20
  import ItemWrapper from './ItemWrapper';
20
21
  import GalleryA11y from './GalleryA11y';
@@ -24,8 +25,8 @@ const StyledGVirtualizeContainer = styled.div `
24
25
  `;
25
26
  function Gallery({ view }) {
26
27
  const isFullscreen = !!useFullscreenContext()?.[0];
27
- const { rows, columns = [], meta, renderFactory, getContext } = view;
28
- const { cardHeader, secondaryText } = meta;
28
+ const { rows, columns = [], meta, renderFactory, getContext, state: { filterExpression, searchText, externalState } = {}, domContainer, hasNoRecords } = view;
29
+ const { cardHeader, secondaryText, externalFilters } = meta;
29
30
  const headerColumn = columns.find(({ field }) => field.name === cardHeader?.name);
30
31
  const secondaryTextColumn = columns.find(({ field }) => field.name === secondaryText?.name);
31
32
  const filteredColumns = columns.filter(c => c.field.name !== 'RowActionMenu');
@@ -64,7 +65,9 @@ function Gallery({ view }) {
64
65
  filteredColumns,
65
66
  rowActionMenuColumn,
66
67
  ...getContext()
67
- }) }, row.reactKey))) }), _jsx(GalleryFooter, { view: view }), _jsx(LoadingIndicator, { view: view, show: !rows || !!view.isLoading }), _jsx(EmptyContainer, { view: view })] }) })] }) }));
68
+ }) }, row.reactKey))) }), _jsx(GalleryFooter, { view: view }), _jsx(LoadingIndicator, { view: view, show: !rows || !!view.isLoading }), domContainer && hasNoRecords && (_jsx(EmptyContainer, { message: isFilterApplied({ filterExpression, searchText, externalState }, externalFilters)
69
+ ? translate('No records found')
70
+ : translate('No records') }))] }) })] }) }));
68
71
  }
69
72
  Gallery.propTypes = {
70
73
  view: PropTypes.objectOf(PropTypes.any).isRequired
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport { useCallback, useRef, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport { useFullscreenContext } from '@pega/cosmos-react-core';\n\nimport LoadingIndicator from '../../Components/LoadingIndicator';\nimport EmptyContainer from '../../Components/EmptyContainer';\nimport GalleryFooter from '../../Components/Footer';\nimport Virtualiser from '../Table/VirtualizeWrapper';\nimport Toolbar from '../../Components/Toolbar';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport { EXTERNAL_FILTERS } from '../../constants';\nimport { resolveViewComponent } from '../../Components/RenderingEngine/ComponentResolverFactory';\nimport RepeatingStructureA11y from '../../Components/A11y/RepeatingStructureA11y';\nimport useTranslate from '../../Hooks/useTranslate';\nimport RsCardWrapper from '../RsCardWrapper';\nimport { generateRSDataContainerHeightStyles } from '../../Utils/styles';\n\nimport StyledGalleryContainer from './StyledGalleryContainer';\nimport ItemWrapper from './ItemWrapper';\nimport GalleryA11y from './GalleryA11y';\n\nconst StyledGVirtualizeContainer = styled.div`\n ${() => generateRSDataContainerHeightStyles()};\n position: relative;\n`;\n\nfunction Gallery({ view }) {\n const isFullscreen = !!useFullscreenContext()?.[0];\n const { rows, columns = [], meta, renderFactory, getContext } = view;\n const { cardHeader, secondaryText } = meta;\n const headerColumn = columns.find(({ field }) => field.name === cardHeader?.name);\n const secondaryTextColumn = columns.find(({ field }) => field.name === secondaryText?.name);\n const filteredColumns = columns.filter(c => c.field.name !== 'RowActionMenu');\n const rowActionMenuColumn = columns.find(c => c.field.name === 'RowActionMenu');\n const containerRef = useRef(null);\n const [translate] = useTranslate();\n const a11yRef = useRef(\n new GalleryA11y(\n {\n topFocusRef: '.top',\n bottomFocusRef: '.bottom',\n focusElementSelector: '.tile',\n parentElementSelector: '.grid-container'\n },\n // TODO: consider additional focusbales: input elements, checkbox, radios, etc...\n [`button[aria-label^=${translate('Actions')}]`],\n {\n TAB: 9,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40\n },\n null\n )\n );\n\n useEffect(() => {\n a11yRef.current.setContainer(containerRef.current);\n return () => {\n containerRef.current = null;\n a11yRef.current = null;\n };\n }, [a11yRef, containerRef]);\n\n const keyDownHandler = useCallback(\n e => {\n a11yRef.current.a11yHandler(e);\n },\n [a11yRef]\n );\n\n return (\n <RsCardWrapper>\n <StyledGalleryContainer\n className='rv-gallery'\n data-test-id='Gallery'\n view={view}\n isFullscreen={isFullscreen}\n >\n <Toolbar view={view} />\n <RenderView view={view} type={EXTERNAL_FILTERS} />\n <RepeatingStructureA11y view={view} a11yRef={a11yRef}>\n <StyledGVirtualizeContainer\n ref={containerRef}\n onKeyDown={keyDownHandler}\n className='container'\n >\n <Virtualiser\n id='rootVirtualiser'\n rowContainerClass='grid-container card-item-grid-container'\n view={view}\n >\n {rows &&\n rows.map(row => (\n <ItemWrapper key={row.reactKey} {...row.getUIProps()}>\n {resolveViewComponent('CardItemRenderer', renderFactory, {\n row,\n headerColumn,\n secondaryTextColumn,\n filteredColumns,\n rowActionMenuColumn,\n ...getContext()\n })}\n </ItemWrapper>\n ))}\n </Virtualiser>\n <GalleryFooter view={view} />\n <LoadingIndicator view={view} show={!rows || !!view.isLoading} />\n <EmptyContainer view={view} />\n </StyledGVirtualizeContainer>\n </RepeatingStructureA11y>\n </StyledGalleryContainer>\n </RsCardWrapper>\n );\n}\n\nGallery.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n\nexport default Gallery;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport { useCallback, useRef, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport { useFullscreenContext } from '@pega/cosmos-react-core';\n\nimport LoadingIndicator from '../../Components/LoadingIndicator';\nimport GalleryFooter from '../../Components/Footer';\nimport Virtualiser from '../Table/VirtualizeWrapper';\nimport Toolbar from '../../Components/Toolbar';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport { EXTERNAL_FILTERS } from '../../constants';\nimport { resolveViewComponent } from '../../Components/RenderingEngine/ComponentResolverFactory';\nimport RepeatingStructureA11y from '../../Components/A11y/RepeatingStructureA11y';\nimport useTranslate from '../../Hooks/useTranslate';\nimport RsCardWrapper from '../RsCardWrapper';\nimport { generateRSDataContainerHeightStyles } from '../../Utils/styles';\nimport EmptyContainer from '../../Components/DefaultComponents/EmptyContainer';\nimport { isFilterApplied } from '../../Utils';\n\nimport StyledGalleryContainer from './StyledGalleryContainer';\nimport ItemWrapper from './ItemWrapper';\nimport GalleryA11y from './GalleryA11y';\n\nconst StyledGVirtualizeContainer = styled.div`\n ${() => generateRSDataContainerHeightStyles()};\n position: relative;\n`;\n\nfunction Gallery({ view }) {\n const isFullscreen = !!useFullscreenContext()?.[0];\n const {\n rows,\n columns = [],\n meta,\n renderFactory,\n getContext,\n state: { filterExpression, searchText, externalState } = {},\n domContainer,\n hasNoRecords\n } = view;\n const { cardHeader, secondaryText, externalFilters } = meta;\n const headerColumn = columns.find(({ field }) => field.name === cardHeader?.name);\n const secondaryTextColumn = columns.find(({ field }) => field.name === secondaryText?.name);\n const filteredColumns = columns.filter(c => c.field.name !== 'RowActionMenu');\n const rowActionMenuColumn = columns.find(c => c.field.name === 'RowActionMenu');\n const containerRef = useRef(null);\n const [translate] = useTranslate();\n const a11yRef = useRef(\n new GalleryA11y(\n {\n topFocusRef: '.top',\n bottomFocusRef: '.bottom',\n focusElementSelector: '.tile',\n parentElementSelector: '.grid-container'\n },\n // TODO: consider additional focusbales: input elements, checkbox, radios, etc...\n [`button[aria-label^=${translate('Actions')}]`],\n {\n TAB: 9,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40\n },\n null\n )\n );\n\n useEffect(() => {\n a11yRef.current.setContainer(containerRef.current);\n return () => {\n containerRef.current = null;\n a11yRef.current = null;\n };\n }, [a11yRef, containerRef]);\n\n const keyDownHandler = useCallback(\n e => {\n a11yRef.current.a11yHandler(e);\n },\n [a11yRef]\n );\n\n return (\n <RsCardWrapper>\n <StyledGalleryContainer\n className='rv-gallery'\n data-test-id='Gallery'\n view={view}\n isFullscreen={isFullscreen}\n >\n <Toolbar view={view} />\n <RenderView view={view} type={EXTERNAL_FILTERS} />\n <RepeatingStructureA11y view={view} a11yRef={a11yRef}>\n <StyledGVirtualizeContainer\n ref={containerRef}\n onKeyDown={keyDownHandler}\n className='container'\n >\n <Virtualiser\n id='rootVirtualiser'\n rowContainerClass='grid-container card-item-grid-container'\n view={view}\n >\n {rows &&\n rows.map(row => (\n <ItemWrapper key={row.reactKey} {...row.getUIProps()}>\n {resolveViewComponent('CardItemRenderer', renderFactory, {\n row,\n headerColumn,\n secondaryTextColumn,\n filteredColumns,\n rowActionMenuColumn,\n ...getContext()\n })}\n </ItemWrapper>\n ))}\n </Virtualiser>\n <GalleryFooter view={view} />\n <LoadingIndicator view={view} show={!rows || !!view.isLoading} />\n {domContainer && hasNoRecords && (\n <EmptyContainer\n message={\n isFilterApplied({ filterExpression, searchText, externalState }, externalFilters)\n ? translate('No records found')\n : translate('No records')\n }\n />\n )}\n </StyledGVirtualizeContainer>\n </RepeatingStructureA11y>\n </StyledGalleryContainer>\n </RsCardWrapper>\n );\n}\n\nGallery.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n\nexport default Gallery;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Map/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAoBlE,UAAU,YAAY;IACpB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;CACxB;AAED,QAAA,MAAM,GAAG,GAAI,UAAU,YAAY,4CAiGlC,CAAC;AAEF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Map/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAsBlE,UAAU,YAAY;IACpB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;CACxB;AAED,QAAA,MAAM,GAAG,GAAI,UAAU,YAAY,4CA8GlC,CAAC;AAEF,eAAe,GAAG,CAAC"}
@@ -6,13 +6,17 @@ import { calculateBodyMaxHeight } from '../Timeline/utility';
6
6
  import { EXTERNAL_FILTERS } from '../../constants';
7
7
  import RenderView from '../../Components/RenderingEngine/RenderView';
8
8
  import Toolbar from '../../Components/Toolbar';
9
- import EmptyContainer from '../../Components/EmptyContainer';
9
+ import EmptyContainer from '../../Components/DefaultComponents/EmptyContainer';
10
+ import { isFilterApplied } from '../../Utils';
11
+ import useTranslate from '../../Hooks/useTranslate';
10
12
  import StyledViewContainer, { StyledReferencesSummaryList, StyledCardContent } from './Map.styles';
11
13
  import MapItem from './MapItem';
12
14
  import { getValueWithUnit, getMaxHeight, getPins } from './utils';
13
15
  const Map = ({ view }) => {
14
- const { meta, columns, rows, isLoading, bodyHeight, totalItemCount } = view;
16
+ const { meta, columns, rows, isLoading, bodyHeight, totalItemCount, state, hasNoRecords } = view;
17
+ const { filterExpression, searchText, externalState } = state || {};
15
18
  const fullscreen = useFullscreenContext();
19
+ const [translate] = useTranslate();
16
20
  const { base: { 'content-width': { xs } } } = useTheme();
17
21
  useEffect(() => {
18
22
  view.type.onPaginate({
@@ -42,7 +46,9 @@ const Map = ({ view }) => {
42
46
  }), height: 'auto', centerMapOnChange: true }), _jsxs(StyledReferencesSummaryList, { item: { grow: 1 }, "$style": {
43
47
  minHeight,
44
48
  ...(!fullscreen?.[0] && { height, maxHeight })
45
- }, children: [_jsxs(StyledSummaryListContent, { loading: isLoading, "aria-label": meta.title, role: 'region', ref: listContentRef, children: [isLoading && _jsx(Progress, { placement: 'local' }), !isLoading && !!rows?.length && (_jsx("ul", { ref: listRef, children: rows.map((row, index) => (_jsx(MapItem, { columns: columns, itemIndex: index, row: row, labelFieldId: meta.mapFieldIds?.label }, row.reactKey.toString()))) }))] }), _jsx(EmptyContainer, { view: view })] })] })] }) }));
49
+ }, children: [_jsxs(StyledSummaryListContent, { loading: isLoading, "aria-label": meta.title, role: 'region', ref: listContentRef, children: [isLoading && _jsx(Progress, { placement: 'local' }), !isLoading && !!rows?.length && (_jsx("ul", { ref: listRef, children: rows.map((row, index) => (_jsx(MapItem, { columns: columns, itemIndex: index, row: row, labelFieldId: meta.mapFieldIds?.label }, row.reactKey.toString()))) }))] }), domContainer && hasNoRecords && (_jsx(EmptyContainer, { message: isFilterApplied({ filterExpression, searchText, externalState }, meta.externalFilters)
50
+ ? translate('No records found')
51
+ : translate('No records') }))] })] })] }) }));
46
52
  };
47
53
  export default Map;
48
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Map/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useMemo } from 'react';\n\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport {\n Card,\n useTheme,\n Progress,\n useFullscreenContext,\n LocationView\n} from '@pega/cosmos-react-core';\nimport { StyledSummaryListContent } from '@pega/cosmos-react-core/lib/components/SummaryList/SummaryList';\n\nimport { calculateBodyMaxHeight } from '../Timeline/utility';\nimport { EXTERNAL_FILTERS } from '../../constants';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport Toolbar from '../../Components/Toolbar';\nimport EmptyContainer from '../../Components/EmptyContainer';\n\nimport StyledViewContainer, { StyledReferencesSummaryList, StyledCardContent } from './Map.styles';\nimport MapItem from './MapItem';\nimport { getValueWithUnit, getMaxHeight, getPins } from './utils';\n\ninterface MapViewProps {\n view: RsCoreTypes.View;\n}\n\nconst Map = ({ view }: MapViewProps) => {\n const { meta, columns, rows, isLoading, bodyHeight, totalItemCount } = view;\n const fullscreen = useFullscreenContext();\n const {\n base: {\n 'content-width': { xs }\n }\n } = useTheme();\n\n useEffect(() => {\n view.type.onPaginate({\n startIndex: 0,\n endIndex: view.resultsCount!,\n id: 'rootVirtualiser'\n });\n }, [view.type, view.resultsCount]);\n\n const listRef = useRef<HTMLUListElement>(null);\n const listContentRef = useRef<HTMLDivElement>(null);\n const domContainer = view.getDomContainer();\n\n const height = useMemo(\n () => getValueWithUnit(bodyHeight, meta.basicMode, meta.numberOfRows),\n [bodyHeight, meta.basicMode, meta.numberOfRows]\n );\n\n const maxHeight = useMemo(\n () =>\n getMaxHeight(\n calculateBodyMaxHeight(meta.height?.maxHeight, domContainer, listContentRef.current),\n meta.basicMode\n ),\n [meta.height?.maxHeight, meta.basicMode, domContainer]\n );\n\n const minHeight = useMemo(() => {\n if (meta.basicMode && totalItemCount === 0) {\n return '100px';\n }\n return '25rem';\n }, [meta.basicMode, totalItemCount]);\n\n return (\n <Card>\n <StyledCardContent>\n <Toolbar view={view} />\n <RenderView view={view} type={EXTERNAL_FILTERS} />\n <StyledViewContainer\n container={{\n cols: `repeat(auto-fit, minmax(${xs}, 1fr))`,\n autoRows: 'minmax(50%, 100%)'\n }}\n className='row-container'\n >\n <LocationView\n pins={getPins({\n mapFieldIds: meta.mapFieldIds,\n rows,\n columns\n })}\n height='auto'\n centerMapOnChange\n />\n <StyledReferencesSummaryList\n item={{ grow: 1 }}\n $style={{\n minHeight,\n ...(!fullscreen?.[0] && { height, maxHeight })\n }}\n >\n <StyledSummaryListContent\n loading={isLoading}\n aria-label={meta.title}\n role='region'\n ref={listContentRef}\n >\n {isLoading && <Progress placement='local' />}\n {!isLoading && !!rows?.length && (\n <ul ref={listRef}>\n {rows.map((row, index) => (\n <MapItem\n key={row.reactKey.toString()}\n columns={columns}\n itemIndex={index}\n row={row}\n labelFieldId={meta.mapFieldIds?.label}\n />\n ))}\n </ul>\n )}\n </StyledSummaryListContent>\n <EmptyContainer view={view} />\n </StyledReferencesSummaryList>\n </StyledViewContainer>\n </StyledCardContent>\n </Card>\n );\n};\n\nexport default Map;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Map/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useMemo } from 'react';\n\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport {\n Card,\n useTheme,\n Progress,\n useFullscreenContext,\n LocationView\n} from '@pega/cosmos-react-core';\nimport { StyledSummaryListContent } from '@pega/cosmos-react-core/lib/components/SummaryList/SummaryList';\n\nimport { calculateBodyMaxHeight } from '../Timeline/utility';\nimport { EXTERNAL_FILTERS } from '../../constants';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport Toolbar from '../../Components/Toolbar';\nimport EmptyContainer from '../../Components/DefaultComponents/EmptyContainer';\nimport { isFilterApplied } from '../../Utils';\nimport useTranslate from '../../Hooks/useTranslate';\n\nimport StyledViewContainer, { StyledReferencesSummaryList, StyledCardContent } from './Map.styles';\nimport MapItem from './MapItem';\nimport { getValueWithUnit, getMaxHeight, getPins } from './utils';\n\ninterface MapViewProps {\n view: RsCoreTypes.View;\n}\n\nconst Map = ({ view }: MapViewProps) => {\n const { meta, columns, rows, isLoading, bodyHeight, totalItemCount, state, hasNoRecords } = view;\n const { filterExpression, searchText, externalState } = state || {};\n const fullscreen = useFullscreenContext();\n const [translate] = useTranslate();\n const {\n base: {\n 'content-width': { xs }\n }\n } = useTheme();\n\n useEffect(() => {\n view.type.onPaginate({\n startIndex: 0,\n endIndex: view.resultsCount!,\n id: 'rootVirtualiser'\n });\n }, [view.type, view.resultsCount]);\n\n const listRef = useRef<HTMLUListElement>(null);\n const listContentRef = useRef<HTMLDivElement>(null);\n const domContainer = view.getDomContainer();\n\n const height = useMemo(\n () => getValueWithUnit(bodyHeight, meta.basicMode, meta.numberOfRows),\n [bodyHeight, meta.basicMode, meta.numberOfRows]\n );\n\n const maxHeight = useMemo(\n () =>\n getMaxHeight(\n calculateBodyMaxHeight(meta.height?.maxHeight, domContainer, listContentRef.current),\n meta.basicMode\n ),\n [meta.height?.maxHeight, meta.basicMode, domContainer]\n );\n\n const minHeight = useMemo(() => {\n if (meta.basicMode && totalItemCount === 0) {\n return '100px';\n }\n return '25rem';\n }, [meta.basicMode, totalItemCount]);\n\n return (\n <Card>\n <StyledCardContent>\n <Toolbar view={view} />\n <RenderView view={view} type={EXTERNAL_FILTERS} />\n <StyledViewContainer\n container={{\n cols: `repeat(auto-fit, minmax(${xs}, 1fr))`,\n autoRows: 'minmax(50%, 100%)'\n }}\n className='row-container'\n >\n <LocationView\n pins={getPins({\n mapFieldIds: meta.mapFieldIds,\n rows,\n columns\n })}\n height='auto'\n centerMapOnChange\n />\n <StyledReferencesSummaryList\n item={{ grow: 1 }}\n $style={{\n minHeight,\n ...(!fullscreen?.[0] && { height, maxHeight })\n }}\n >\n <StyledSummaryListContent\n loading={isLoading}\n aria-label={meta.title}\n role='region'\n ref={listContentRef}\n >\n {isLoading && <Progress placement='local' />}\n {!isLoading && !!rows?.length && (\n <ul ref={listRef}>\n {rows.map((row, index) => (\n <MapItem\n key={row.reactKey.toString()}\n columns={columns}\n itemIndex={index}\n row={row}\n labelFieldId={meta.mapFieldIds?.label}\n />\n ))}\n </ul>\n )}\n </StyledSummaryListContent>\n {domContainer && hasNoRecords && (\n <EmptyContainer\n message={\n isFilterApplied(\n { filterExpression, searchText, externalState },\n meta.externalFilters\n )\n ? translate('No records found')\n : translate('No records')\n }\n />\n )}\n </StyledReferencesSummaryList>\n </StyledViewContainer>\n </StyledCardContent>\n </Card>\n );\n};\n\nexport default Map;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizeWrapper.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Table/VirtualizeWrapper.jsx"],"names":[],"mappings":"AAcA;;;;;;;;;4CAwIC;;;;;;;;;;;;;;;;sBAtJqB,YAAY"}
1
+ {"version":3,"file":"VirtualizeWrapper.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Table/VirtualizeWrapper.jsx"],"names":[],"mappings":"AAgBA;;;;;;;;;4CAyJC;;;;;;;;;;;;;;;;sBAzKqB,YAAY"}
@@ -6,12 +6,17 @@ import Virtualize from '../../Components/Virtualise';
6
6
  import VirtualizeInfinite from '../../Components/Virtualise/VirtualizeInfinite';
7
7
  import VariableHeightVirtualizer from '../../Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer';
8
8
  import { isPaginationRequestCompleted } from '../../Components/Virtualise/utility';
9
+ import { isFilterApplied } from '../../Utils';
9
10
  import EmptyContainer from '../../Components/DefaultComponents/EmptyContainer';
10
- import useCountChange from './useCountChange';
11
+ import useTranslate from '../../Hooks/useTranslate';
11
12
  import Row from './Row';
13
+ import useCountChange from './useCountChange';
12
14
  export default function VirtualizeWrapper({ view, children, id, renderHeader = null, rowContainerClass = '', renderFooter = null, isFullscreen = false,
13
15
  // TODO: Remove this prop and deprecate older virtualizers once we fully migrate to variable row height virtualizer for gallery and grouped list views
14
16
  useVariableRowHeightVirtualization = false }) {
17
+ const { state, meta } = view;
18
+ const { filterExpression, searchText, externalState } = state;
19
+ const [translate] = useTranslate();
15
20
  const isProgressiveVirtualizerEverLoaded = useRef(false);
16
21
  const paginationPayload = useRef({});
17
22
  const [isFetching, setIsFetching] = useState(false);
@@ -27,6 +32,9 @@ useVariableRowHeightVirtualization = false }) {
27
32
  setIsFetching(true);
28
33
  view.type.onPaginate(payload, payloadMeta);
29
34
  }, [view.type.onPaginate]);
35
+ const renderEmptyRecords = useCallback(() => (_jsx(EmptyContainer, { message: isFilterApplied({ filterExpression, searchText, externalState }, meta.externalFilters)
36
+ ? translate('No records found')
37
+ : translate('No records') })), [filterExpression, searchText, externalState, meta.externalFilters]);
30
38
  useEffect(() => {
31
39
  if (view.isInstantRender)
32
40
  return;
@@ -40,10 +48,9 @@ useVariableRowHeightVirtualization = false }) {
40
48
  setHasMoreResults(view.rows?.length === requestedRows);
41
49
  }, [view.isInstantRender, view.state?.paginationOptions?.[id]]);
42
50
  useCountChange(view, isFetching, view.getVirtualizeElement?.(id)?.notifyCountChange);
43
- const noResultRenderer = useCallback(() => _jsx(EmptyContainer, {}), []);
44
51
  if (useVariableRowHeightVirtualization) {
45
52
  const paginationStartIndex = view?.state?.paginationOptions?.rootVirtualiser?.startIndex || 0;
46
- return (_jsx(VariableHeightVirtualizer, { id: id, totalItemCount: view.totalItemCount, isDataFetching: isFetching, loadedDataRange: view?.state?.paginationOptions?.[id] || {}, apiCallback: paginationCallback, defaultItemHeight: 40, maxItemsToPaint: 5000, headerRenderer: renderHeader, footerRenderer: renderFooter, noResultRenderer: noResultRenderer, itemContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, ref: r => {
53
+ return (_jsx(VariableHeightVirtualizer, { id: id, totalItemCount: view.totalItemCount, isDataFetching: isFetching, loadedDataRange: view?.state?.paginationOptions?.[id] || {}, apiCallback: paginationCallback, defaultItemHeight: 40, maxItemsToPaint: 5000, renderHeader: renderHeader, renderFooter: renderFooter, renderEmptyRecords: renderEmptyRecords, itemContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, ref: r => {
47
54
  view.putVirtualizeElement(id, r);
48
55
  view.setScrollNode(r?.getBufferContainer());
49
56
  }, viewMaxHeight: isFullscreen ? null : view.bodyHeight, minHeightWhenNoItemsRendered: '100px', children: view?.groupHeaders?.[0]?.getRows()?.map((row, index) => (_jsx(Row, { row: row, columns: view.columns, level: 0, dataIndex: paginationStartIndex + index }, row.reactKey))) }));
@@ -52,12 +59,12 @@ useVariableRowHeightVirtualization = false }) {
52
59
  return (_jsx(VirtualizeInfinite, { id: id, viewMaxHeight: isFullscreen ? null : view.bodyHeight, itemHeight: view.rowHeight, callback: paginationCallback, isFetching: isFetching, hasMoreResults: hasMoreResults, renderHeader: renderHeader, renderFooter: renderFooter, ref: r => {
53
60
  view.putVirtualizeElement(id, r);
54
61
  view.setScrollNode(r && r.vi && r.vi.bContainer);
55
- }, rowContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, state: view.state?.paginationOptions?.[id], resetCount: view.isCountUpdateRequired, showLoadingIndicator: view.meta.template === REPEATING_STRUCTURE_TEMPLATES.TABLE, children: children }));
62
+ }, rowContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, state: view.state?.paginationOptions?.[id], resetCount: view.isCountUpdateRequired, showLoadingIndicator: view.meta.template === REPEATING_STRUCTURE_TEMPLATES.TABLE, renderEmptyRecords: renderEmptyRecords, children: children }));
56
63
  }
57
64
  return (_jsx(Virtualize, { id: id, viewMaxHeight: isFullscreen ? null : view.bodyHeight, totalRecordCount: view.totalItemCount, itemHeight: view.rowHeight, callback: paginationCallback, isFetching: isFetching, renderHeader: renderHeader, renderFooter: renderFooter, ref: r => {
58
65
  view.putVirtualizeElement(id, r);
59
66
  view.setScrollNode(r && r.vi && r.vi.bContainer);
60
- }, rowContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, state: view.state?.paginationOptions?.[id], showLoadingIndicator: view.meta.template === REPEATING_STRUCTURE_TEMPLATES.TABLE, children: children }));
67
+ }, rowContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, state: view.state?.paginationOptions?.[id], showLoadingIndicator: view.meta.template === REPEATING_STRUCTURE_TEMPLATES.TABLE, renderEmptyRecords: renderEmptyRecords, children: children }));
61
68
  }
62
69
  VirtualizeWrapper.propTypes = {
63
70
  children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,