@pega/lists-core 8.0.0-build.27.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +185 -0
- package/README.md +80 -0
- package/SECURITY.md +11 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +14 -0
- package/lib/index.js.map +1 -0
- package/lib/src/core/RsCore.d.ts +37 -0
- package/lib/src/core/RsCore.d.ts.map +1 -0
- package/lib/src/core/RsCore.js +48 -0
- package/lib/src/core/RsCore.js.map +1 -0
- package/lib/src/core/RsInternal.d.ts +85 -0
- package/lib/src/core/RsInternal.d.ts.map +1 -0
- package/lib/src/core/RsInternal.js +104 -0
- package/lib/src/core/RsInternal.js.map +1 -0
- package/lib/src/core/RsProps.d.ts +52 -0
- package/lib/src/core/RsProps.d.ts.map +1 -0
- package/lib/src/core/RsProps.js +47 -0
- package/lib/src/core/RsProps.js.map +1 -0
- package/lib/src/core/RsStore.d.ts +62 -0
- package/lib/src/core/RsStore.d.ts.map +1 -0
- package/lib/src/core/RsStore.js +59 -0
- package/lib/src/core/RsStore.js.map +1 -0
- package/lib/src/core/StateResolver.d.ts +45 -0
- package/lib/src/core/StateResolver.d.ts.map +1 -0
- package/lib/src/core/StateResolver.js +276 -0
- package/lib/src/core/StateResolver.js.map +1 -0
- package/lib/src/core/a11y/BaseA11y.d.ts +161 -0
- package/lib/src/core/a11y/BaseA11y.d.ts.map +1 -0
- package/lib/src/core/a11y/BaseA11y.js +549 -0
- package/lib/src/core/a11y/BaseA11y.js.map +1 -0
- package/lib/src/core/actions/actionConstants.d.ts +77 -0
- package/lib/src/core/actions/actionConstants.d.ts.map +1 -0
- package/lib/src/core/actions/actionConstants.js +79 -0
- package/lib/src/core/actions/actionConstants.js.map +1 -0
- package/lib/src/core/actions/actions.d.ts +400 -0
- package/lib/src/core/actions/actions.d.ts.map +1 -0
- package/lib/src/core/actions/actions.js +537 -0
- package/lib/src/core/actions/actions.js.map +1 -0
- package/lib/src/core/actions/actions.types.d.ts +504 -0
- package/lib/src/core/actions/actions.types.d.ts.map +1 -0
- package/lib/src/core/actions/actions.types.js +5 -0
- package/lib/src/core/actions/actions.types.js.map +1 -0
- package/lib/src/core/config/config.d.ts +9 -0
- package/lib/src/core/config/config.d.ts.map +1 -0
- package/lib/src/core/config/config.js +93 -0
- package/lib/src/core/config/config.js.map +1 -0
- package/lib/src/core/config/filterConfig.d.ts +123 -0
- package/lib/src/core/config/filterConfig.d.ts.map +1 -0
- package/lib/src/core/config/filterConfig.js +238 -0
- package/lib/src/core/config/filterConfig.js.map +1 -0
- package/lib/src/core/constants.d.ts +146 -0
- package/lib/src/core/constants.d.ts.map +1 -0
- package/lib/src/core/constants.js +124 -0
- package/lib/src/core/constants.js.map +1 -0
- package/lib/src/core/features/featureFactory.d.ts +52 -0
- package/lib/src/core/features/featureFactory.d.ts.map +1 -0
- package/lib/src/core/features/featureFactory.js +118 -0
- package/lib/src/core/features/featureFactory.js.map +1 -0
- package/lib/src/core/features/uIFeatures/afterRender/animation.d.ts +24 -0
- package/lib/src/core/features/uIFeatures/afterRender/animation.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/afterRender/animation.js +157 -0
- package/lib/src/core/features/uIFeatures/afterRender/animation.js.map +1 -0
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.d.ts +29 -0
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.js +114 -0
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.js.map +1 -0
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.d.ts +38 -0
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js +157 -0
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js.map +1 -0
- package/lib/src/core/features/uIFeatures/afterRender/customizeParentContainer/index.d.ts +16 -0
- package/lib/src/core/features/uIFeatures/afterRender/customizeParentContainer/index.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/afterRender/customizeParentContainer/index.js +32 -0
- package/lib/src/core/features/uIFeatures/afterRender/customizeParentContainer/index.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustHeight.d.ts +25 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustHeight.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustHeight.js +139 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustHeight.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustHeightToFitRecords.d.ts +18 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustHeightToFitRecords.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustHeightToFitRecords.js +46 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustHeightToFitRecords.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustMaxHeight.d.ts +13 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustMaxHeight.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustMaxHeight.js +38 -0
- package/lib/src/core/features/uIFeatures/beforeRender/adjustMaxHeight.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/aggregation.d.ts +11 -0
- package/lib/src/core/features/uIFeatures/beforeRender/aggregation.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/aggregation.js +48 -0
- package/lib/src/core/features/uIFeatures/beforeRender/aggregation.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/animation.d.ts +25 -0
- package/lib/src/core/features/uIFeatures/beforeRender/animation.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/animation.js +106 -0
- package/lib/src/core/features/uIFeatures/beforeRender/animation.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.d.ts +18 -0
- package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.js +56 -0
- package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/changePersonalisation.d.ts +7 -0
- package/lib/src/core/features/uIFeatures/beforeRender/changePersonalisation.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/changePersonalisation.js +34 -0
- package/lib/src/core/features/uIFeatures/beforeRender/changePersonalisation.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnAlias.d.ts +10 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnAlias.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnAlias.js +72 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnAlias.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnDisplayMode.d.ts +9 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnDisplayMode.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnDisplayMode.js +26 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnDisplayMode.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.d.ts +9 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.js +29 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnOrder.d.ts +11 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnOrder.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnOrder.js +38 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnOrder.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.d.ts +11 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js +199 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/index.d.ts +5 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/index.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/index.js +29 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/index.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.d.ts +14 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.js +118 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSort.d.ts +8 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSort.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSort.js +25 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnSort.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts +9 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js +26 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnVisualOrder.d.ts +12 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnVisualOrder.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnVisualOrder.js +57 -0
- package/lib/src/core/features/uIFeatures/beforeRender/columnVisualOrder.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/conditionalStyleFormat.d.ts +9 -0
- package/lib/src/core/features/uIFeatures/beforeRender/conditionalStyleFormat.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/conditionalStyleFormat.js +36 -0
- package/lib/src/core/features/uIFeatures/beforeRender/conditionalStyleFormat.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/customColumn.d.ts +9 -0
- package/lib/src/core/features/uIFeatures/beforeRender/customColumn.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/customColumn.js +70 -0
- package/lib/src/core/features/uIFeatures/beforeRender/customColumn.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/edit.d.ts +12 -0
- package/lib/src/core/features/uIFeatures/beforeRender/edit.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/edit.js +94 -0
- package/lib/src/core/features/uIFeatures/beforeRender/edit.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/errorColumn.d.ts +9 -0
- package/lib/src/core/features/uIFeatures/beforeRender/errorColumn.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/errorColumn.js +26 -0
- package/lib/src/core/features/uIFeatures/beforeRender/errorColumn.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/filter.d.ts +10 -0
- package/lib/src/core/features/uIFeatures/beforeRender/filter.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/filter.js +36 -0
- package/lib/src/core/features/uIFeatures/beforeRender/filter.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/freeze.d.ts +15 -0
- package/lib/src/core/features/uIFeatures/beforeRender/freeze.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/freeze.js +119 -0
- package/lib/src/core/features/uIFeatures/beforeRender/freeze.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/grouping.d.ts +38 -0
- package/lib/src/core/features/uIFeatures/beforeRender/grouping.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/grouping.js +451 -0
- package/lib/src/core/features/uIFeatures/beforeRender/grouping.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/groupsorting.d.ts +7 -0
- package/lib/src/core/features/uIFeatures/beforeRender/groupsorting.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/groupsorting.js +36 -0
- package/lib/src/core/features/uIFeatures/beforeRender/groupsorting.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/moveListRecords.d.ts +7 -0
- package/lib/src/core/features/uIFeatures/beforeRender/moveListRecords.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/moveListRecords.js +76 -0
- package/lib/src/core/features/uIFeatures/beforeRender/moveListRecords.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/personalization.d.ts +16 -0
- package/lib/src/core/features/uIFeatures/beforeRender/personalization.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/personalization.js +306 -0
- package/lib/src/core/features/uIFeatures/beforeRender/personalization.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.d.ts +7 -0
- package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.js +59 -0
- package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.d.ts +7 -0
- package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.js +30 -0
- package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/refresh.d.ts +15 -0
- package/lib/src/core/features/uIFeatures/beforeRender/refresh.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/refresh.js +40 -0
- package/lib/src/core/features/uIFeatures/beforeRender/refresh.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/renderHeader.d.ts +7 -0
- package/lib/src/core/features/uIFeatures/beforeRender/renderHeader.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/renderHeader.js +21 -0
- package/lib/src/core/features/uIFeatures/beforeRender/renderHeader.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/resetFetch.d.ts +7 -0
- package/lib/src/core/features/uIFeatures/beforeRender/resetFetch.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/resetFetch.js +55 -0
- package/lib/src/core/features/uIFeatures/beforeRender/resetFetch.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts +7 -0
- package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js +24 -0
- package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.d.ts +9 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js +232 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.d.ts +7 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js +18 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowSelect.d.ts +23 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowSelect.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowSelect.js +135 -0
- package/lib/src/core/features/uIFeatures/beforeRender/rowSelect.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/scrollToTop.d.ts +14 -0
- package/lib/src/core/features/uIFeatures/beforeRender/scrollToTop.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/scrollToTop.js +36 -0
- package/lib/src/core/features/uIFeatures/beforeRender/scrollToTop.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.d.ts +19 -0
- package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js +157 -0
- package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.d.ts +29 -0
- package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js +214 -0
- package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/toggleHeaderIcons.d.ts +11 -0
- package/lib/src/core/features/uIFeatures/beforeRender/toggleHeaderIcons.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/toggleHeaderIcons.js +26 -0
- package/lib/src/core/features/uIFeatures/beforeRender/toggleHeaderIcons.js.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/toggleSelectAllCheckbox.d.ts +12 -0
- package/lib/src/core/features/uIFeatures/beforeRender/toggleSelectAllCheckbox.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/beforeRender/toggleSelectAllCheckbox.js +51 -0
- package/lib/src/core/features/uIFeatures/beforeRender/toggleSelectAllCheckbox.js.map +1 -0
- package/lib/src/core/features/uIFeatures/index.d.ts +55 -0
- package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -0
- package/lib/src/core/features/uIFeatures/index.js +95 -0
- package/lib/src/core/features/uIFeatures/index.js.map +1 -0
- package/lib/src/core/generators/ColumnGenerator.d.ts +349 -0
- package/lib/src/core/generators/ColumnGenerator.d.ts.map +1 -0
- package/lib/src/core/generators/ColumnGenerator.js +725 -0
- package/lib/src/core/generators/ColumnGenerator.js.map +1 -0
- package/lib/src/core/generators/ColumnGenerator.types.d.ts +149 -0
- package/lib/src/core/generators/ColumnGenerator.types.d.ts.map +1 -0
- package/lib/src/core/generators/ColumnGenerator.types.js +2 -0
- package/lib/src/core/generators/ColumnGenerator.types.js.map +1 -0
- package/lib/src/core/generators/GroupGenerator.d.ts +59 -0
- package/lib/src/core/generators/GroupGenerator.d.ts.map +1 -0
- package/lib/src/core/generators/GroupGenerator.js +64 -0
- package/lib/src/core/generators/GroupGenerator.js.map +1 -0
- package/lib/src/core/generators/RowGenerator.d.ts +97 -0
- package/lib/src/core/generators/RowGenerator.d.ts.map +1 -0
- package/lib/src/core/generators/RowGenerator.js +285 -0
- package/lib/src/core/generators/RowGenerator.js.map +1 -0
- package/lib/src/core/generators/RowGenerator.types.d.ts +95 -0
- package/lib/src/core/generators/RowGenerator.types.d.ts.map +1 -0
- package/lib/src/core/generators/RowGenerator.types.js +2 -0
- package/lib/src/core/generators/RowGenerator.types.js.map +1 -0
- package/lib/src/core/generators/ViewGenerator.d.ts +280 -0
- package/lib/src/core/generators/ViewGenerator.d.ts.map +1 -0
- package/lib/src/core/generators/ViewGenerator.js +585 -0
- package/lib/src/core/generators/ViewGenerator.js.map +1 -0
- package/lib/src/core/generators/ViewGenerator.types.d.ts +180 -0
- package/lib/src/core/generators/ViewGenerator.types.d.ts.map +1 -0
- package/lib/src/core/generators/ViewGenerator.types.js +2 -0
- package/lib/src/core/generators/ViewGenerator.types.js.map +1 -0
- package/lib/src/core/generators/__tests__/viewUtilityMockSetup.d.ts +69 -0
- package/lib/src/core/generators/__tests__/viewUtilityMockSetup.d.ts.map +1 -0
- package/lib/src/core/generators/__tests__/viewUtilityMockSetup.js +16 -0
- package/lib/src/core/generators/__tests__/viewUtilityMockSetup.js.map +1 -0
- package/lib/src/core/generators/viewUtilityMethods.d.ts +316 -0
- package/lib/src/core/generators/viewUtilityMethods.d.ts.map +1 -0
- package/lib/src/core/generators/viewUtilityMethods.js +542 -0
- package/lib/src/core/generators/viewUtilityMethods.js.map +1 -0
- package/lib/src/core/index.d.ts +7 -0
- package/lib/src/core/index.d.ts.map +1 -0
- package/lib/src/core/index.js +80 -0
- package/lib/src/core/index.js.map +1 -0
- package/lib/src/core/pubSub/events.d.ts +6 -0
- package/lib/src/core/pubSub/events.d.ts.map +1 -0
- package/lib/src/core/pubSub/events.js +6 -0
- package/lib/src/core/pubSub/events.js.map +1 -0
- package/lib/src/core/pubSub/index.d.ts +7 -0
- package/lib/src/core/pubSub/index.d.ts.map +1 -0
- package/lib/src/core/pubSub/index.js +35 -0
- package/lib/src/core/pubSub/index.js.map +1 -0
- package/lib/src/core/reducers/aggregation.d.ts +5 -0
- package/lib/src/core/reducers/aggregation.d.ts.map +1 -0
- package/lib/src/core/reducers/aggregation.js +35 -0
- package/lib/src/core/reducers/aggregation.js.map +1 -0
- package/lib/src/core/reducers/bootstrap.d.ts +5 -0
- package/lib/src/core/reducers/bootstrap.d.ts.map +1 -0
- package/lib/src/core/reducers/bootstrap.js +12 -0
- package/lib/src/core/reducers/bootstrap.js.map +1 -0
- package/lib/src/core/reducers/columnAlias.d.ts +5 -0
- package/lib/src/core/reducers/columnAlias.d.ts.map +1 -0
- package/lib/src/core/reducers/columnAlias.js +28 -0
- package/lib/src/core/reducers/columnAlias.js.map +1 -0
- package/lib/src/core/reducers/conditionalStyleFormat.d.ts +5 -0
- package/lib/src/core/reducers/conditionalStyleFormat.d.ts.map +1 -0
- package/lib/src/core/reducers/conditionalStyleFormat.js +13 -0
- package/lib/src/core/reducers/conditionalStyleFormat.js.map +1 -0
- package/lib/src/core/reducers/customColumn.d.ts +5 -0
- package/lib/src/core/reducers/customColumn.d.ts.map +1 -0
- package/lib/src/core/reducers/customColumn.js +40 -0
- package/lib/src/core/reducers/customColumn.js.map +1 -0
- package/lib/src/core/reducers/dragDrop.d.ts +6 -0
- package/lib/src/core/reducers/dragDrop.d.ts.map +1 -0
- package/lib/src/core/reducers/dragDrop.js +100 -0
- package/lib/src/core/reducers/dragDrop.js.map +1 -0
- package/lib/src/core/reducers/edit.d.ts +5 -0
- package/lib/src/core/reducers/edit.d.ts.map +1 -0
- package/lib/src/core/reducers/edit.js +65 -0
- package/lib/src/core/reducers/edit.js.map +1 -0
- package/lib/src/core/reducers/error.d.ts +69 -0
- package/lib/src/core/reducers/error.d.ts.map +1 -0
- package/lib/src/core/reducers/error.js +21 -0
- package/lib/src/core/reducers/error.js.map +1 -0
- package/lib/src/core/reducers/externalState.d.ts +5 -0
- package/lib/src/core/reducers/externalState.d.ts.map +1 -0
- package/lib/src/core/reducers/externalState.js +20 -0
- package/lib/src/core/reducers/externalState.js.map +1 -0
- package/lib/src/core/reducers/filter.d.ts +5 -0
- package/lib/src/core/reducers/filter.d.ts.map +1 -0
- package/lib/src/core/reducers/filter.js +29 -0
- package/lib/src/core/reducers/filter.js.map +1 -0
- package/lib/src/core/reducers/forceUpdate.d.ts +5 -0
- package/lib/src/core/reducers/forceUpdate.d.ts.map +1 -0
- package/lib/src/core/reducers/forceUpdate.js +25 -0
- package/lib/src/core/reducers/forceUpdate.js.map +1 -0
- package/lib/src/core/reducers/freeze.d.ts +5 -0
- package/lib/src/core/reducers/freeze.d.ts.map +1 -0
- package/lib/src/core/reducers/freeze.js +36 -0
- package/lib/src/core/reducers/freeze.js.map +1 -0
- package/lib/src/core/reducers/grouping.d.ts +5 -0
- package/lib/src/core/reducers/grouping.d.ts.map +1 -0
- package/lib/src/core/reducers/grouping.js +142 -0
- package/lib/src/core/reducers/grouping.js.map +1 -0
- package/lib/src/core/reducers/index.d.ts +5 -0
- package/lib/src/core/reducers/index.d.ts.map +1 -0
- package/lib/src/core/reducers/index.js +77 -0
- package/lib/src/core/reducers/index.js.map +1 -0
- package/lib/src/core/reducers/moveRecords.d.ts +5 -0
- package/lib/src/core/reducers/moveRecords.d.ts.map +1 -0
- package/lib/src/core/reducers/moveRecords.js +10 -0
- package/lib/src/core/reducers/moveRecords.js.map +1 -0
- package/lib/src/core/reducers/notificationsReducer.d.ts +4 -0
- package/lib/src/core/reducers/notificationsReducer.d.ts.map +1 -0
- package/lib/src/core/reducers/notificationsReducer.js +49 -0
- package/lib/src/core/reducers/notificationsReducer.js.map +1 -0
- package/lib/src/core/reducers/paginations.d.ts +5 -0
- package/lib/src/core/reducers/paginations.d.ts.map +1 -0
- package/lib/src/core/reducers/paginations.js +19 -0
- package/lib/src/core/reducers/paginations.js.map +1 -0
- package/lib/src/core/reducers/personalizationDirtyReducer.d.ts +5 -0
- package/lib/src/core/reducers/personalizationDirtyReducer.d.ts.map +1 -0
- package/lib/src/core/reducers/personalizationDirtyReducer.js +46 -0
- package/lib/src/core/reducers/personalizationDirtyReducer.js.map +1 -0
- package/lib/src/core/reducers/personalizationReducer.d.ts +5 -0
- package/lib/src/core/reducers/personalizationReducer.d.ts.map +1 -0
- package/lib/src/core/reducers/personalizationReducer.js +238 -0
- package/lib/src/core/reducers/personalizationReducer.js.map +1 -0
- package/lib/src/core/reducers/refresh.d.ts +5 -0
- package/lib/src/core/reducers/refresh.d.ts.map +1 -0
- package/lib/src/core/reducers/refresh.js +16 -0
- package/lib/src/core/reducers/refresh.js.map +1 -0
- package/lib/src/core/reducers/renderFormatter.d.ts +5 -0
- package/lib/src/core/reducers/renderFormatter.d.ts.map +1 -0
- package/lib/src/core/reducers/renderFormatter.js +22 -0
- package/lib/src/core/reducers/renderFormatter.js.map +1 -0
- package/lib/src/core/reducers/resize.d.ts +5 -0
- package/lib/src/core/reducers/resize.d.ts.map +1 -0
- package/lib/src/core/reducers/resize.js +32 -0
- package/lib/src/core/reducers/resize.js.map +1 -0
- package/lib/src/core/reducers/rowSelect.d.ts +5 -0
- package/lib/src/core/reducers/rowSelect.d.ts.map +1 -0
- package/lib/src/core/reducers/rowSelect.js +86 -0
- package/lib/src/core/reducers/rowSelect.js.map +1 -0
- package/lib/src/core/reducers/sanitize.d.ts +5 -0
- package/lib/src/core/reducers/sanitize.d.ts.map +1 -0
- package/lib/src/core/reducers/sanitize.js +21 -0
- package/lib/src/core/reducers/sanitize.js.map +1 -0
- package/lib/src/core/reducers/search.d.ts +5 -0
- package/lib/src/core/reducers/search.d.ts.map +1 -0
- package/lib/src/core/reducers/search.js +13 -0
- package/lib/src/core/reducers/search.js.map +1 -0
- package/lib/src/core/reducers/showHeaderIcons.d.ts +5 -0
- package/lib/src/core/reducers/showHeaderIcons.d.ts.map +1 -0
- package/lib/src/core/reducers/showHeaderIcons.js +13 -0
- package/lib/src/core/reducers/showHeaderIcons.js.map +1 -0
- package/lib/src/core/reducers/smallScreen.d.ts +5 -0
- package/lib/src/core/reducers/smallScreen.d.ts.map +1 -0
- package/lib/src/core/reducers/smallScreen.js +22 -0
- package/lib/src/core/reducers/smallScreen.js.map +1 -0
- package/lib/src/core/reducers/sort.d.ts +5 -0
- package/lib/src/core/reducers/sort.d.ts.map +1 -0
- package/lib/src/core/reducers/sort.js +71 -0
- package/lib/src/core/reducers/sort.js.map +1 -0
- package/lib/src/core/reducers/versioning/index.d.ts +16 -0
- package/lib/src/core/reducers/versioning/index.d.ts.map +1 -0
- package/lib/src/core/reducers/versioning/index.js +46 -0
- package/lib/src/core/reducers/versioning/index.js.map +1 -0
- package/lib/src/core/reducers/versioning/v1.d.ts +136 -0
- package/lib/src/core/reducers/versioning/v1.d.ts.map +1 -0
- package/lib/src/core/reducers/versioning/v1.js +156 -0
- package/lib/src/core/reducers/versioning/v1.js.map +1 -0
- package/lib/src/core/reducers/visibility.d.ts +5 -0
- package/lib/src/core/reducers/visibility.d.ts.map +1 -0
- package/lib/src/core/reducers/visibility.js +49 -0
- package/lib/src/core/reducers/visibility.js.map +1 -0
- package/lib/src/core/test/junitMocks.d.ts +756 -0
- package/lib/src/core/test/junitMocks.d.ts.map +1 -0
- package/lib/src/core/test/junitMocks.js +2923 -0
- package/lib/src/core/test/junitMocks.js.map +1 -0
- package/lib/src/core/test/samples/a11ySample.d.ts +8 -0
- package/lib/src/core/test/samples/a11ySample.d.ts.map +1 -0
- package/lib/src/core/test/samples/a11ySample.js +1131 -0
- package/lib/src/core/test/samples/a11ySample.js.map +1 -0
- package/lib/src/core/test/samples/a11ySampleWithLoaders.d.ts +8 -0
- package/lib/src/core/test/samples/a11ySampleWithLoaders.d.ts.map +1 -0
- package/lib/src/core/test/samples/a11ySampleWithLoaders.js +1134 -0
- package/lib/src/core/test/samples/a11ySampleWithLoaders.js.map +1 -0
- package/lib/src/core/test/samples/utils.d.ts +2 -0
- package/lib/src/core/test/samples/utils.d.ts.map +1 -0
- package/lib/src/core/test/samples/utils.js +9 -0
- package/lib/src/core/test/samples/utils.js.map +1 -0
- package/lib/src/core/test/utils/rowDragDropUtils.d.ts +20 -0
- package/lib/src/core/test/utils/rowDragDropUtils.d.ts.map +1 -0
- package/lib/src/core/test/utils/rowDragDropUtils.js +98 -0
- package/lib/src/core/test/utils/rowDragDropUtils.js.map +1 -0
- package/lib/src/core/utils/condition-utils.d.ts +15 -0
- package/lib/src/core/utils/condition-utils.d.ts.map +1 -0
- package/lib/src/core/utils/condition-utils.js +114 -0
- package/lib/src/core/utils/condition-utils.js.map +1 -0
- package/lib/src/core/utils/util.d.ts +380 -0
- package/lib/src/core/utils/util.d.ts.map +1 -0
- package/lib/src/core/utils/util.js +912 -0
- package/lib/src/core/utils/util.js.map +1 -0
- package/lib/src/core/utils/util.types.d.ts +43 -0
- package/lib/src/core/utils/util.types.d.ts.map +1 -0
- package/lib/src/core/utils/util.types.js +2 -0
- package/lib/src/core/utils/util.types.js.map +1 -0
- package/lib/types/ApiContext.types.d.ts +392 -0
- package/lib/types/ApiContext.types.d.ts.map +1 -0
- package/lib/types/ApiContext.types.js +2 -0
- package/lib/types/ApiContext.types.js.map +1 -0
- package/lib/types/Meta.types.d.ts +705 -0
- package/lib/types/Meta.types.d.ts.map +1 -0
- package/lib/types/Meta.types.js +37 -0
- package/lib/types/Meta.types.js.map +1 -0
- package/lib/types/RsCoreBootArgs.types.d.ts +103 -0
- package/lib/types/RsCoreBootArgs.types.d.ts.map +1 -0
- package/lib/types/RsCoreBootArgs.types.js +2 -0
- package/lib/types/RsCoreBootArgs.types.js.map +1 -0
- package/lib/types/State.types.d.ts +374 -0
- package/lib/types/State.types.d.ts.map +1 -0
- package/lib/types/State.types.js +5 -0
- package/lib/types/State.types.js.map +1 -0
- package/lib/types.d.ts +30 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/package.json +30 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnOrder.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,qDAAqD;AAErD,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAA2C,EAAE,EAAE;IAC3F,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzD,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC;IAChD,MAAM,iBAAiB,GAAG,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC3C,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK;YACT,kBAAkB,GAAG,iBAAiB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACxF,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,eAAe,GAAG,EAAE;IAClB,MAAM,sBAAsB,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAE/D,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,sBAAsB,CACpB,CAAC,YAAY,CAAC,EACd;YACE,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,aAAa;YACnB,KAAK,EAAE,eAAe,EAAE,MAAM;YAC9B,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM;SACvC,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type View from '../../../generators/ViewGenerator';\nimport type Column from '../../../generators/ColumnGenerator';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nconst getColumnOrder = ([{ getView, getState }]: [featureProps: BeforeRenderFeatureProps]) => {\n const { colOrder = [], freezeColumns = [] } = getState();\n const freezeColumnsCount = freezeColumns.length;\n const totalColumnsCount = getView().columns?.length ?? 0;\n getView().columns?.forEach((column, index) => {\n const { id } = column.field;\n const style = { ...column.style };\n const existingOrder = colOrder.indexOf(`${id}`);\n style.order =\n freezeColumnsCount + totalColumnsCount + (existingOrder > -1 ? existingOrder : index);\n if (freezeColumns.includes(`${id}`)) {\n style.order = freezeColumns.indexOf(`${id}`);\n }\n column = column.setProp('style', style);\n });\n};\n\n/**\n * Sets the {@link Column.style style} prop for each column when any of the following properties are changed:\n * - {@link State.colOrder}\n * - {@link State.freezeColumns}\n * - `active` in {@link State.personalization}\n * - `size` of {@link View.columns columns}.\n */\nexport default () => {\n const memoizedGetColumnOrder = withMemoization(getColumnOrder);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const state = featureProps.getState();\n memoizedGetColumnOrder(\n [featureProps],\n [\n state.colOrder,\n state.freezeColumns,\n state?.personalization?.active,\n featureProps.getView().columns?.length\n ]\n );\n };\n};\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BeforeRenderFeatureProps } from '../../featureFactory';
|
|
2
|
+
/**
|
|
3
|
+
* Sets the column {@link RsStore. getFieldReorderProps reorder} props (onDragStart, onDrag, onDragEnd). This feature is executed when any of the following state slices are changed:
|
|
4
|
+
* - {@link State.columnWidths}
|
|
5
|
+
* - {@link State.freezeColumns}
|
|
6
|
+
* - {@link State.colOrder}
|
|
7
|
+
* - {@link State.hiddenColumns}
|
|
8
|
+
*/
|
|
9
|
+
declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
|
|
10
|
+
export default _default;
|
|
11
|
+
//# sourceMappingURL=columnReOrder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnReOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnReOrder.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AA+OrE;;;;;;GAMG;6CAIqC,wBAAwB;AAHhE,wBAcE"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { actionColumnDragDrop } from '../../../actions/actions';
|
|
2
|
+
import { rowActionColumnMeta, rowDragDropColumnMeta, rowSelectColumnMeta } from '../../../constants';
|
|
3
|
+
import { withMemoization } from '../../../utils/util';
|
|
4
|
+
const ColIdSelector = '[data-col-id]';
|
|
5
|
+
const SomeNegativeBigOffset = `${Number.MIN_SAFE_INTEGER}px`;
|
|
6
|
+
// Todo: comeback and see if there is any other way to just have no drag image
|
|
7
|
+
const emptyImg = document.createElement('img');
|
|
8
|
+
emptyImg.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
|
|
9
|
+
function createElement(type, className) {
|
|
10
|
+
const domNode = document.createElement(type);
|
|
11
|
+
domNode.classList.add(className);
|
|
12
|
+
return domNode;
|
|
13
|
+
}
|
|
14
|
+
const columnReOrder = ([{ getView, getState, dispatch }]) => {
|
|
15
|
+
if (!getView().meta.reorderFields) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const { columnWidths, freezeColumns = [] } = getState();
|
|
19
|
+
let fieldDragHelper = {};
|
|
20
|
+
const allPositions = (() => {
|
|
21
|
+
const allWidths = getView()
|
|
22
|
+
.columns.filter(column => !column.hidden) // Take all visible columns
|
|
23
|
+
.map(column => ({
|
|
24
|
+
width: (columnWidths?.[column.field.id] ?? column.field.width),
|
|
25
|
+
order: column.style?.order,
|
|
26
|
+
id: column.field.id
|
|
27
|
+
}));
|
|
28
|
+
// Bail out when AllWidths/Visible columns is empty
|
|
29
|
+
if (allWidths.length === 0) {
|
|
30
|
+
return {
|
|
31
|
+
allWidths,
|
|
32
|
+
freezeColumnsWidth: 0
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
allWidths.sort((a, b) => a.order - b.order);
|
|
36
|
+
let previousColOffset = 0;
|
|
37
|
+
allWidths.forEach(column => {
|
|
38
|
+
column.offset = previousColOffset;
|
|
39
|
+
previousColOffset += column.width;
|
|
40
|
+
});
|
|
41
|
+
allWidths.push({
|
|
42
|
+
width: 0,
|
|
43
|
+
order: allWidths[allWidths.length - 1].order + 1,
|
|
44
|
+
offset: allWidths[allWidths.length - 1].offset + allWidths[allWidths.length - 1].width,
|
|
45
|
+
id: 'last$'
|
|
46
|
+
});
|
|
47
|
+
const visibleFreezeColumns = getView().columns.filter(col => col.frozen && !col.hidden);
|
|
48
|
+
const freezeColumnsWidth = allWidths[visibleFreezeColumns.length]?.offset;
|
|
49
|
+
return {
|
|
50
|
+
allWidths,
|
|
51
|
+
freezeColumnsWidth
|
|
52
|
+
};
|
|
53
|
+
})();
|
|
54
|
+
const { allWidths, freezeColumnsWidth } = allPositions;
|
|
55
|
+
// https://bugzilla.mozilla.org/show_bug.cgi?id=505521
|
|
56
|
+
// This DragOver on document is the hack for the above bug as clientX is not proper in firefox
|
|
57
|
+
const documentDragOver = (e) => {
|
|
58
|
+
fieldDragHelper.mouseX = e.clientX;
|
|
59
|
+
fieldDragHelper.mouseY = e.clientY;
|
|
60
|
+
};
|
|
61
|
+
const onDragStart = (e) => {
|
|
62
|
+
fieldDragHelper = {};
|
|
63
|
+
const domContainer = getView().getDomContainer();
|
|
64
|
+
const scrollNode = getView().getScrollNode();
|
|
65
|
+
const virtualizeEle = getView()
|
|
66
|
+
.getVirtualizeElement('rootVirtualiser')
|
|
67
|
+
?.getParentContainer?.();
|
|
68
|
+
fieldDragHelper.dragLineNode = createElement('div', 'table-drag-line');
|
|
69
|
+
fieldDragHelper.dragProxyNode = createElement('div', 'table-drag-proxy');
|
|
70
|
+
const container = domContainer?.getElementsByClassName('container')[0];
|
|
71
|
+
const Header = domContainer?.getElementsByClassName('sticky-header')[0];
|
|
72
|
+
container.appendChild(fieldDragHelper.dragProxyNode);
|
|
73
|
+
virtualizeEle.appendChild(fieldDragHelper.dragLineNode);
|
|
74
|
+
fieldDragHelper.dragLineNode.style.height = `${
|
|
75
|
+
// eslint-disable-next-line no-unsafe-optional-chaining
|
|
76
|
+
scrollNode?.clientHeight + Header.clientHeight}px`;
|
|
77
|
+
const sourceElem = e.target.closest(ColIdSelector);
|
|
78
|
+
fieldDragHelper.sourceElemIndex = allWidths.findIndex(xCol => {
|
|
79
|
+
return `${xCol.id}` === sourceElem.dataset.colId;
|
|
80
|
+
});
|
|
81
|
+
if (!sourceElem)
|
|
82
|
+
return;
|
|
83
|
+
document.body.appendChild(emptyImg);
|
|
84
|
+
if (e.dataTransfer) {
|
|
85
|
+
e.dataTransfer.setDragImage(emptyImg, 0, 0);
|
|
86
|
+
// e.dataTransfer.setDragImage(new Image(0, 0), 0, 0);
|
|
87
|
+
e.dataTransfer.effectAllowed = 'none';
|
|
88
|
+
e.dataTransfer.dropEffect = 'none';
|
|
89
|
+
}
|
|
90
|
+
document.addEventListener('dragover', documentDragOver);
|
|
91
|
+
fieldDragHelper.virtualizeOffsetLeft = virtualizeEle.getBoundingClientRect().left;
|
|
92
|
+
fieldDragHelper.dragProxyOffset =
|
|
93
|
+
sourceElem.offsetLeft -
|
|
94
|
+
(virtualizeEle.scrollLeft + fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft);
|
|
95
|
+
fieldDragHelper.dragProxyNode.style.width = sourceElem.style.width;
|
|
96
|
+
fieldDragHelper.dragProxyNode.style.marginLeft = `${fieldDragHelper.dragProxyOffset}px`;
|
|
97
|
+
fieldDragHelper.dragProxyNode.style.left = SomeNegativeBigOffset;
|
|
98
|
+
fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;
|
|
99
|
+
fieldDragHelper.dragProxyNode.style.display = 'block';
|
|
100
|
+
fieldDragHelper.dragLineNode.style.display = 'block';
|
|
101
|
+
return false; // required for browser allowing image drag out of container
|
|
102
|
+
};
|
|
103
|
+
const onDrag = (e) => {
|
|
104
|
+
e.preventDefault();
|
|
105
|
+
const virtualizeEle = getView()
|
|
106
|
+
.getVirtualizeElement('rootVirtualiser')
|
|
107
|
+
?.getParentContainer?.();
|
|
108
|
+
const distanceFromFreezeB = fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft - freezeColumnsWidth;
|
|
109
|
+
// is our cursor pointer near to freeze columBoundary?
|
|
110
|
+
if (freezeColumnsWidth !== 0 &&
|
|
111
|
+
distanceFromFreezeB < 100 &&
|
|
112
|
+
distanceFromFreezeB > 0 &&
|
|
113
|
+
virtualizeEle.scrollLeft > 0) {
|
|
114
|
+
// is something there to scroll?
|
|
115
|
+
if (distanceFromFreezeB > 50) {
|
|
116
|
+
virtualizeEle.scrollLeft -= 1;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
virtualizeEle.scrollLeft -= 3;
|
|
120
|
+
}
|
|
121
|
+
fieldDragHelper.dragProxyNode.style.left = `${fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft}px`;
|
|
122
|
+
fieldDragHelper.dropTarget = allWidths[freezeColumns.length].id;
|
|
123
|
+
fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
fieldDragHelper.dragProxyNode.style.left = `${fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft}px`;
|
|
127
|
+
let currentDragLeftOffset = parseInt(
|
|
128
|
+
// @ts-expect-error parseInt expects string.
|
|
129
|
+
virtualizeEle.scrollLeft + fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft, 10);
|
|
130
|
+
if (distanceFromFreezeB < 0) {
|
|
131
|
+
// if we are in freezeZone do not consider scrollLeft for targetColLine calc
|
|
132
|
+
currentDragLeftOffset -= virtualizeEle.scrollLeft;
|
|
133
|
+
}
|
|
134
|
+
let xColIndex = allWidths.findIndex(xCol => {
|
|
135
|
+
return currentDragLeftOffset < xCol.offset + xCol.width / 2;
|
|
136
|
+
});
|
|
137
|
+
if (xColIndex === -1) {
|
|
138
|
+
xColIndex = allWidths.length - 1;
|
|
139
|
+
}
|
|
140
|
+
fieldDragHelper.dragLineNode.style.left = `${allWidths[xColIndex].offset}px`;
|
|
141
|
+
if (distanceFromFreezeB < 0) {
|
|
142
|
+
// if we are in freezeZone consider scrollLeft for dragLine calculation
|
|
143
|
+
fieldDragHelper.dragLineNode.style.left = `${allWidths[xColIndex].offset + virtualizeEle.scrollLeft}px`;
|
|
144
|
+
}
|
|
145
|
+
if (xColIndex <= fieldDragHelper.sourceElemIndex) {
|
|
146
|
+
fieldDragHelper.dropTarget = allWidths[xColIndex].id;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
fieldDragHelper.dropTarget = allWidths[xColIndex - 1].id;
|
|
150
|
+
}
|
|
151
|
+
// Edge Case to not show dragLine when the col is under frozen area
|
|
152
|
+
if (distanceFromFreezeB > 0 &&
|
|
153
|
+
allWidths[xColIndex].offset < virtualizeEle.scrollLeft + freezeColumnsWidth) {
|
|
154
|
+
fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;
|
|
155
|
+
}
|
|
156
|
+
return false;
|
|
157
|
+
};
|
|
158
|
+
const onDragEnd = (e) => {
|
|
159
|
+
e.preventDefault();
|
|
160
|
+
fieldDragHelper.dragProxyNode.style.display = 'none';
|
|
161
|
+
fieldDragHelper.dragLineNode.style.display = 'none';
|
|
162
|
+
const sourceElem = e.target.closest(ColIdSelector);
|
|
163
|
+
if (rowSelectColumnMeta.field.id !== fieldDragHelper.dropTarget &&
|
|
164
|
+
rowDragDropColumnMeta.field.id !== fieldDragHelper.dropTarget &&
|
|
165
|
+
rowActionColumnMeta.field.id !== fieldDragHelper.dropTarget &&
|
|
166
|
+
sourceElem &&
|
|
167
|
+
`${sourceElem.dataset.colId}` !== `${fieldDragHelper.dropTarget}`) {
|
|
168
|
+
dispatch(actionColumnDragDrop(sourceElem.dataset.colId, fieldDragHelper.dropTarget));
|
|
169
|
+
}
|
|
170
|
+
document.body.removeChild(emptyImg);
|
|
171
|
+
fieldDragHelper.dragLineNode.remove();
|
|
172
|
+
fieldDragHelper.dragProxyNode.remove();
|
|
173
|
+
document.removeEventListener('dragover', documentDragOver);
|
|
174
|
+
fieldDragHelper = {};
|
|
175
|
+
return false;
|
|
176
|
+
};
|
|
177
|
+
return {
|
|
178
|
+
onDragStart,
|
|
179
|
+
onDrag,
|
|
180
|
+
onDragEnd
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Sets the column {@link RsStore. getFieldReorderProps reorder} props (onDragStart, onDrag, onDragEnd). This feature is executed when any of the following state slices are changed:
|
|
185
|
+
* - {@link State.columnWidths}
|
|
186
|
+
* - {@link State.freezeColumns}
|
|
187
|
+
* - {@link State.colOrder}
|
|
188
|
+
* - {@link State.hiddenColumns}
|
|
189
|
+
*/
|
|
190
|
+
export default () => {
|
|
191
|
+
const memoizedColReOrder = withMemoization(columnReOrder);
|
|
192
|
+
return function execute(featureProps) {
|
|
193
|
+
const state = featureProps.getState();
|
|
194
|
+
featureProps
|
|
195
|
+
.getRsStore()
|
|
196
|
+
.setFieldReorderProps(memoizedColReOrder([featureProps], [state.columnWidths, state.freezeColumns, state.colOrder, state.hiddenColumns]));
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
//# sourceMappingURL=columnReOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnReOrder.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnReOrder.ts"],"names":[],"mappings":"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","sourcesContent":["import { actionColumnDragDrop } from '../../../actions/actions';\nimport {\n rowActionColumnMeta,\n rowDragDropColumnMeta,\n rowSelectColumnMeta\n} from '../../../constants';\nimport type RsStore from '../../../RsStore';\nimport { withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { State } from '../../../../../types/State.types';\n\ntype FieldDragHelper = {\n mouseX: number;\n mouseY: number;\n dragLineNode: HTMLElement;\n dragProxyNode: HTMLElement;\n sourceElemIndex: number;\n dragProxyOffset: number;\n virtualizeOffsetLeft: number;\n dropTarget: string;\n};\n\nconst ColIdSelector = '[data-col-id]';\nconst SomeNegativeBigOffset = `${Number.MIN_SAFE_INTEGER}px`;\n\n// Todo: comeback and see if there is any other way to just have no drag image\nconst emptyImg = document.createElement('img');\nemptyImg.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n\nfunction createElement(type: string, className: string): HTMLElement {\n const domNode = document.createElement(type);\n domNode.classList.add(className);\n return domNode;\n}\n\nconst columnReOrder = ([{ getView, getState, dispatch }]: [\n featureProps: BeforeRenderFeatureProps\n]): RsStore['fieldReorderProps'] => {\n if (!getView().meta.reorderFields) {\n return null;\n }\n const { columnWidths, freezeColumns = [] } = getState();\n let fieldDragHelper: FieldDragHelper = {} as FieldDragHelper;\n const allPositions = (() => {\n const allWidths: {\n width: number;\n order: number;\n offset?: number;\n id: string;\n }[] = getView()\n .columns!.filter(column => !column.hidden) // Take all visible columns\n .map(column => ({\n width: (columnWidths?.[column.field.id] ?? column.field.width)!,\n order: column.style?.order,\n id: column.field.id\n }));\n // Bail out when AllWidths/Visible columns is empty\n if (allWidths.length === 0) {\n return {\n allWidths,\n freezeColumnsWidth: 0\n };\n }\n\n allWidths.sort((a, b) => a.order - b.order);\n\n let previousColOffset = 0;\n allWidths.forEach(column => {\n column.offset = previousColOffset;\n previousColOffset += column.width;\n });\n allWidths.push({\n width: 0,\n order: allWidths[allWidths.length - 1].order + 1,\n offset: allWidths[allWidths.length - 1].offset! + allWidths[allWidths.length - 1].width,\n id: 'last$'\n });\n const visibleFreezeColumns = getView().columns!.filter(col => col.frozen && !col.hidden);\n const freezeColumnsWidth = allWidths[visibleFreezeColumns.length]?.offset;\n return {\n allWidths,\n freezeColumnsWidth\n };\n })();\n\n const { allWidths, freezeColumnsWidth } = allPositions;\n\n // https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n // This DragOver on document is the hack for the above bug as clientX is not proper in firefox\n const documentDragOver = (e: DragEvent) => {\n fieldDragHelper.mouseX = e.clientX;\n fieldDragHelper.mouseY = e.clientY;\n };\n\n const onDragStart = (e: DragEvent) => {\n fieldDragHelper = {} as FieldDragHelper;\n const domContainer = getView().getDomContainer();\n const scrollNode = getView().getScrollNode();\n const virtualizeEle = getView()\n .getVirtualizeElement('rootVirtualiser')\n ?.getParentContainer?.()!;\n fieldDragHelper.dragLineNode = createElement('div', 'table-drag-line');\n fieldDragHelper.dragProxyNode = createElement('div', 'table-drag-proxy');\n const container = domContainer?.getElementsByClassName('container')[0]!;\n const Header = domContainer?.getElementsByClassName('sticky-header')[0]!;\n container.appendChild(fieldDragHelper.dragProxyNode);\n virtualizeEle.appendChild(fieldDragHelper.dragLineNode);\n fieldDragHelper.dragLineNode.style.height = `${\n // eslint-disable-next-line no-unsafe-optional-chaining\n scrollNode?.clientHeight! + Header.clientHeight\n }px`;\n\n const sourceElem = (e.target as HTMLElement).closest(ColIdSelector) as HTMLElement;\n fieldDragHelper.sourceElemIndex = allWidths.findIndex(xCol => {\n return `${xCol.id}` === sourceElem.dataset.colId;\n });\n\n if (!sourceElem) return;\n\n document.body.appendChild(emptyImg);\n if (e.dataTransfer) {\n e.dataTransfer.setDragImage(emptyImg, 0, 0);\n // e.dataTransfer.setDragImage(new Image(0, 0), 0, 0);\n e.dataTransfer.effectAllowed = 'none';\n e.dataTransfer.dropEffect = 'none';\n }\n document.addEventListener('dragover', documentDragOver);\n\n fieldDragHelper.virtualizeOffsetLeft = virtualizeEle.getBoundingClientRect().left;\n fieldDragHelper.dragProxyOffset =\n sourceElem.offsetLeft -\n (virtualizeEle.scrollLeft + fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft);\n fieldDragHelper.dragProxyNode.style.width = sourceElem.style.width;\n fieldDragHelper.dragProxyNode.style.marginLeft = `${fieldDragHelper.dragProxyOffset}px`;\n fieldDragHelper.dragProxyNode.style.left = SomeNegativeBigOffset;\n fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;\n fieldDragHelper.dragProxyNode.style.display = 'block';\n fieldDragHelper.dragLineNode.style.display = 'block';\n\n return false; // required for browser allowing image drag out of container\n };\n\n const onDrag = (e: DragEvent) => {\n e.preventDefault();\n const virtualizeEle = getView()\n .getVirtualizeElement('rootVirtualiser')\n ?.getParentContainer?.()!;\n const distanceFromFreezeB =\n fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft - freezeColumnsWidth!;\n // is our cursor pointer near to freeze columBoundary?\n if (\n freezeColumnsWidth !== 0 &&\n distanceFromFreezeB < 100 &&\n distanceFromFreezeB > 0 &&\n virtualizeEle.scrollLeft > 0\n ) {\n // is something there to scroll?\n if (distanceFromFreezeB > 50) {\n virtualizeEle.scrollLeft -= 1;\n } else {\n virtualizeEle.scrollLeft -= 3;\n }\n fieldDragHelper.dragProxyNode.style.left = `${\n fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft\n }px`;\n fieldDragHelper.dropTarget = allWidths[freezeColumns.length].id;\n fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;\n return false;\n }\n\n fieldDragHelper.dragProxyNode.style.left = `${\n fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft\n }px`;\n let currentDragLeftOffset = parseInt(\n // @ts-expect-error parseInt expects string.\n virtualizeEle.scrollLeft + fieldDragHelper.mouseX - fieldDragHelper.virtualizeOffsetLeft,\n 10\n );\n\n if (distanceFromFreezeB < 0) {\n // if we are in freezeZone do not consider scrollLeft for targetColLine calc\n currentDragLeftOffset -= virtualizeEle.scrollLeft;\n }\n\n let xColIndex = allWidths.findIndex(xCol => {\n return currentDragLeftOffset < xCol.offset! + xCol.width / 2;\n });\n\n if (xColIndex === -1) {\n xColIndex = allWidths.length - 1;\n }\n fieldDragHelper.dragLineNode.style.left = `${allWidths[xColIndex].offset}px`;\n\n if (distanceFromFreezeB < 0) {\n // if we are in freezeZone consider scrollLeft for dragLine calculation\n fieldDragHelper.dragLineNode.style.left = `${\n allWidths[xColIndex].offset! + virtualizeEle.scrollLeft\n }px`;\n }\n\n if (xColIndex <= fieldDragHelper.sourceElemIndex) {\n fieldDragHelper.dropTarget = allWidths[xColIndex].id;\n } else {\n fieldDragHelper.dropTarget = allWidths[xColIndex - 1].id;\n }\n\n // Edge Case to not show dragLine when the col is under frozen area\n if (\n distanceFromFreezeB > 0 &&\n allWidths[xColIndex].offset! < virtualizeEle.scrollLeft + freezeColumnsWidth!\n ) {\n fieldDragHelper.dragLineNode.style.left = SomeNegativeBigOffset;\n }\n\n return false;\n };\n\n const onDragEnd = (e: DragEvent) => {\n e.preventDefault();\n fieldDragHelper.dragProxyNode.style.display = 'none';\n fieldDragHelper.dragLineNode.style.display = 'none';\n const sourceElem: HTMLElement | null = (e.target as HTMLElement).closest(ColIdSelector);\n if (\n rowSelectColumnMeta.field.id !== fieldDragHelper.dropTarget &&\n rowDragDropColumnMeta.field.id !== fieldDragHelper.dropTarget &&\n rowActionColumnMeta.field.id !== fieldDragHelper.dropTarget &&\n sourceElem &&\n `${sourceElem.dataset.colId}` !== `${fieldDragHelper.dropTarget}`\n ) {\n dispatch(actionColumnDragDrop(sourceElem.dataset.colId!, fieldDragHelper.dropTarget));\n }\n document.body.removeChild(emptyImg);\n fieldDragHelper.dragLineNode.remove();\n fieldDragHelper.dragProxyNode.remove();\n document.removeEventListener('dragover', documentDragOver);\n fieldDragHelper = {} as FieldDragHelper;\n return false;\n };\n\n return {\n onDragStart,\n onDrag,\n onDragEnd\n };\n};\n\n/**\n * Sets the column {@link RsStore. getFieldReorderProps reorder} props (onDragStart, onDrag, onDragEnd). This feature is executed when any of the following state slices are changed:\n * - {@link State.columnWidths}\n * - {@link State.freezeColumns}\n * - {@link State.colOrder}\n * - {@link State.hiddenColumns}\n */\nexport default () => {\n const memoizedColReOrder = withMemoization(columnReOrder);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const state = featureProps.getState();\n featureProps\n .getRsStore()\n .setFieldReorderProps(\n memoizedColReOrder(\n [featureProps],\n [state.columnWidths, state.freezeColumns, state.colOrder, state.hiddenColumns]\n )\n );\n };\n};\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BeforeRenderFeatureProps } from '../../../featureFactory';
|
|
2
|
+
export declare const setColumnWidths: ([{ getView, getState }]: [featureProps: BeforeRenderFeatureProps]) => void;
|
|
3
|
+
declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
|
|
4
|
+
export default _default;
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/beforeRender/columnSizing/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAExE,eAAO,MAAM,eAAe,4BAA6B,CACvD,YAAY,EAAE,wBAAwB,CACvC,SAoBA,CAAC;6CAKsC,wBAAwB;AAHhE,wBAWE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { withMemoization } from '../../../../utils/util';
|
|
2
|
+
export const setColumnWidths = ([{ getView, getState }]) => {
|
|
3
|
+
const { columnWidths = {} } = getState();
|
|
4
|
+
const widthUnit = 'px';
|
|
5
|
+
getView().columns?.forEach(column => {
|
|
6
|
+
const style = { ...column.style };
|
|
7
|
+
const currentWidth = columnWidths[column.field.id] || column.field.width;
|
|
8
|
+
let isWidthChanged = false;
|
|
9
|
+
if (column.isWidthChanged ||
|
|
10
|
+
(column.currentWidth !== undefined && column.currentWidth !== currentWidth)) {
|
|
11
|
+
isWidthChanged = true;
|
|
12
|
+
}
|
|
13
|
+
style.width = `${currentWidth}${widthUnit}`;
|
|
14
|
+
column = column.setProp({
|
|
15
|
+
currentWidth,
|
|
16
|
+
isWidthChanged,
|
|
17
|
+
style
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
export default () => {
|
|
22
|
+
const memoizedSetColumnWidths = withMemoization(setColumnWidths);
|
|
23
|
+
return function execute(featureProps) {
|
|
24
|
+
const { getState } = featureProps;
|
|
25
|
+
const state = getState();
|
|
26
|
+
memoizedSetColumnWidths([featureProps], [state?.columnWidths, state?.customFields, state?.personalization?.active]);
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/beforeRender/columnSizing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAErD,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QAClC,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACzE,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IACE,MAAM,CAAC,cAAc;YACrB,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,CAAC,EAC3E,CAAC;YACD,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,KAAK,GAAG,GAAG,YAAa,GAAG,SAAS,EAAE,CAAC;QAC7C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YACtB,YAAY;YACZ,cAAc;YACd,KAAK;SACN,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,GAAG,EAAE;IAClB,MAAM,uBAAuB,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAEjE,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,uBAAuB,CACrB,CAAC,YAAY,CAAC,EACd,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,CAC3E,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { withMemoization } from '../../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../../featureFactory';\n\nexport const setColumnWidths = ([{ getView, getState }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n const { columnWidths = {} } = getState();\n const widthUnit = 'px';\n getView().columns?.forEach(column => {\n const style = { ...column.style };\n const currentWidth = columnWidths[column.field.id] || column.field.width;\n let isWidthChanged = false;\n if (\n column.isWidthChanged ||\n (column.currentWidth !== undefined && column.currentWidth !== currentWidth)\n ) {\n isWidthChanged = true;\n }\n style.width = `${currentWidth!}${widthUnit}`;\n column = column.setProp({\n currentWidth,\n isWidthChanged,\n style\n });\n });\n};\n\nexport default () => {\n const memoizedSetColumnWidths = withMemoization(setColumnWidths);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const { getState } = featureProps;\n const state = getState();\n memoizedSetColumnWidths(\n [featureProps],\n [state?.columnWidths, state?.customFields, state?.personalization?.active]\n );\n };\n};\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { State } from '../../../../../../types/State.types';
|
|
2
|
+
import type Column from '../../../../generators/ColumnGenerator';
|
|
3
|
+
import type View from '../../../../generators/ViewGenerator';
|
|
4
|
+
import type { BeforeRenderFeatureProps } from '../../../featureFactory';
|
|
5
|
+
export declare const COLUMN_RESIZING_CLASS = "column-resizing";
|
|
6
|
+
export declare function setColumnStyle(domContainer: View['domContainer'], style: string, columnId: number, value: number): void;
|
|
7
|
+
export declare const resizedColumnWidth: (column: Column, distanceDragged: number) => number;
|
|
8
|
+
export declare const getNextFrozenColumns: (columnId: string, freezeColumns?: State["freezeColumns"]) => string[];
|
|
9
|
+
export declare const columnResizerProps: ([{ getState, getView, dispatch }]: [featureProps: BeforeRenderFeatureProps]) => {
|
|
10
|
+
onMouseDown: (e: MouseEvent) => boolean;
|
|
11
|
+
};
|
|
12
|
+
declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
|
|
13
|
+
export default _default;
|
|
14
|
+
//# sourceMappingURL=resize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/beforeRender/columnSizing/resize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,KAAK,MAAM,MAAM,wCAAwC,CAAC;AACjE,OAAO,KAAK,IAAI,MAAM,sCAAsC,CAAC;AAE7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGxE,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD,wBAAgB,cAAc,CAC5B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,EAClC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,QAKd;AAED,eAAO,MAAM,kBAAkB,WAAY,MAAM,mBAAmB,MAAM,WAOzE,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,kBACD,KAAK,CAAC,eAAe,CAAC,aAUtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,sCAAuC,CACpE,YAAY,EAAE,wBAAwB,CACvC;qBAiEyB,UAAU;CA+BnC,CAAC;6CAKsC,wBAAwB;AAHhE,wBAWE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { actionColumnResize, actionColumnAutoSize } from '../../../../actions/actions';
|
|
2
|
+
import { withMemoization } from '../../../../utils/util';
|
|
3
|
+
import { calculateFieldLeft } from '../freeze';
|
|
4
|
+
export const COLUMN_RESIZING_CLASS = 'column-resizing';
|
|
5
|
+
export function setColumnStyle(domContainer, style, columnId, value) {
|
|
6
|
+
if (domContainer && domContainer.style) {
|
|
7
|
+
domContainer.style.setProperty(`--col-${style}-${columnId}`, `${value}px`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const resizedColumnWidth = (column, distanceDragged) => {
|
|
11
|
+
const existingWidth = column.currentWidth || column.field.width || column.field.minWidth;
|
|
12
|
+
let width = existingWidth + distanceDragged;
|
|
13
|
+
if (width < column.field.minWidth) {
|
|
14
|
+
width = column.field.minWidth;
|
|
15
|
+
}
|
|
16
|
+
return width;
|
|
17
|
+
};
|
|
18
|
+
export const getNextFrozenColumns = (columnId, freezeColumns = []) => {
|
|
19
|
+
const nextFrozenColumns = [];
|
|
20
|
+
const freezeColIndex = freezeColumns.indexOf(columnId); // If current column freezed
|
|
21
|
+
if (freezeColIndex > -1) {
|
|
22
|
+
for (let i = freezeColIndex + 1; i < freezeColumns.length; i += 1) {
|
|
23
|
+
nextFrozenColumns.push(freezeColumns[i]);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return nextFrozenColumns;
|
|
27
|
+
};
|
|
28
|
+
export const columnResizerProps = ([{ getState, getView, dispatch }]) => {
|
|
29
|
+
const { freezeColumns, hiddenColumns, columnWidths = {} } = getState();
|
|
30
|
+
let column = {};
|
|
31
|
+
let startPosition = 0;
|
|
32
|
+
let resized = false;
|
|
33
|
+
let updatedWidth = 0;
|
|
34
|
+
let currentCell = null;
|
|
35
|
+
let nextFrozenColumns = []; // Contains next frozen columns with left positions to apply left on resize
|
|
36
|
+
const updateWidth = (distance) => {
|
|
37
|
+
updatedWidth = resizedColumnWidth({ ...column, currentWidth: column.currentWidth }, distance);
|
|
38
|
+
column = column.setProp('currentWidth', updatedWidth); // Updating current width
|
|
39
|
+
setColumnStyle(getView().getDomContainer(), 'width', column.field.idHash, updatedWidth);
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Update left positions to frozen columns or right of this column.
|
|
43
|
+
*/
|
|
44
|
+
const updateLefts = () => {
|
|
45
|
+
nextFrozenColumns.forEach(colId => {
|
|
46
|
+
const left = calculateFieldLeft(colId, getView().columns, freezeColumns, hiddenColumns, { ...columnWidths, [column.field.id]: updatedWidth } // injecting the resized width to current column
|
|
47
|
+
);
|
|
48
|
+
const nextFrozenColumn = getView().columns?.find(c => `${c.field.id}` === colId);
|
|
49
|
+
setColumnStyle(getView().getDomContainer(), 'left', nextFrozenColumn.field.idHash, left);
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
const resizeHandler = (e) => {
|
|
53
|
+
e.preventDefault();
|
|
54
|
+
const distance = e.clientX - startPosition;
|
|
55
|
+
if (distance !== 0) {
|
|
56
|
+
column =
|
|
57
|
+
getView().columns?.find(c => `${c.field.id}` === currentCell?.dataset.colId) ??
|
|
58
|
+
{};
|
|
59
|
+
updateWidth(distance);
|
|
60
|
+
updateLefts();
|
|
61
|
+
resized = true;
|
|
62
|
+
}
|
|
63
|
+
startPosition = e.clientX;
|
|
64
|
+
return false;
|
|
65
|
+
};
|
|
66
|
+
const resizeEndHandler = (e) => {
|
|
67
|
+
e.preventDefault();
|
|
68
|
+
const domContainer = getView().getDomContainer();
|
|
69
|
+
domContainer.removeEventListener('mousemove', resizeHandler);
|
|
70
|
+
domContainer.removeEventListener('mouseup', resizeEndHandler);
|
|
71
|
+
domContainer.removeEventListener('mouseleave', resizeEndHandler);
|
|
72
|
+
if (resized) {
|
|
73
|
+
dispatch(actionColumnResize({ [column.field.id]: updatedWidth }));
|
|
74
|
+
resized = false;
|
|
75
|
+
}
|
|
76
|
+
currentCell.style.pointerEvents = 'auto';
|
|
77
|
+
currentCell.classList.toggle(COLUMN_RESIZING_CLASS);
|
|
78
|
+
domContainer.classList.toggle(COLUMN_RESIZING_CLASS);
|
|
79
|
+
return false;
|
|
80
|
+
};
|
|
81
|
+
const onMouseDown = (e) => {
|
|
82
|
+
e.preventDefault();
|
|
83
|
+
e.stopPropagation();
|
|
84
|
+
startPosition = e.clientX;
|
|
85
|
+
const domContainer = getView().getDomContainer();
|
|
86
|
+
domContainer.addEventListener('mousemove', resizeHandler);
|
|
87
|
+
domContainer.addEventListener('mouseup', resizeEndHandler);
|
|
88
|
+
domContainer.addEventListener('mouseleave', resizeEndHandler);
|
|
89
|
+
currentCell = e.target.closest('.cell');
|
|
90
|
+
currentCell.style.pointerEvents = 'none';
|
|
91
|
+
if (e.detail >= 2) {
|
|
92
|
+
// It is a double click so ask for a resize on column
|
|
93
|
+
const col = getView().columns?.find(c => `${c.field.id}` === currentCell.dataset.colId);
|
|
94
|
+
if (col?.field?.resize) {
|
|
95
|
+
dispatch(actionColumnAutoSize(col, getView().getDomContainer(), true));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
currentCell.classList.toggle(COLUMN_RESIZING_CLASS);
|
|
99
|
+
domContainer.classList.toggle(COLUMN_RESIZING_CLASS);
|
|
100
|
+
// TODO: getState().freezeColumns should
|
|
101
|
+
// give latest state after the action triggered from current feature only on above lines. Check this.
|
|
102
|
+
nextFrozenColumns = getNextFrozenColumns(currentCell.dataset.colId, getState().freezeColumns);
|
|
103
|
+
return false;
|
|
104
|
+
};
|
|
105
|
+
return {
|
|
106
|
+
onMouseDown
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
export default () => {
|
|
110
|
+
const memoizedColumnResize = withMemoization(columnResizerProps);
|
|
111
|
+
return function execute(featureProps) {
|
|
112
|
+
const { freezeColumns, hiddenColumns, columnWidths } = featureProps.getState();
|
|
113
|
+
featureProps
|
|
114
|
+
.getRsStore()
|
|
115
|
+
.setColumnResizerProps(memoizedColumnResize([featureProps], [freezeColumns, hiddenColumns, columnWidths]));
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=resize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resize.js","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/beforeRender/columnSizing/resize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { State } from '../../../../../../types/State.types';\nimport { actionColumnResize, actionColumnAutoSize } from '../../../../actions/actions';\nimport type Column from '../../../../generators/ColumnGenerator';\nimport type View from '../../../../generators/ViewGenerator';\nimport { withMemoization } from '../../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../../featureFactory';\nimport { calculateFieldLeft } from '../freeze';\n\nexport const COLUMN_RESIZING_CLASS = 'column-resizing';\n\nexport function setColumnStyle(\n domContainer: View['domContainer'],\n style: string,\n columnId: number,\n value: number\n) {\n if (domContainer && domContainer.style) {\n domContainer.style.setProperty(`--col-${style}-${columnId}`, `${value}px`);\n }\n}\n\nexport const resizedColumnWidth = (column: Column, distanceDragged: number) => {\n const existingWidth = column.currentWidth || column.field.width || column.field.minWidth;\n let width = existingWidth! + distanceDragged;\n if (width < column.field.minWidth!) {\n width = column.field.minWidth!;\n }\n return width;\n};\n\nexport const getNextFrozenColumns = (\n columnId: string,\n freezeColumns: State['freezeColumns'] = []\n) => {\n const nextFrozenColumns = [];\n const freezeColIndex = freezeColumns.indexOf(columnId); // If current column freezed\n if (freezeColIndex > -1) {\n for (let i = freezeColIndex + 1; i < freezeColumns.length; i += 1) {\n nextFrozenColumns.push(freezeColumns[i]);\n }\n }\n return nextFrozenColumns;\n};\n\nexport const columnResizerProps = ([{ getState, getView, dispatch }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n const { freezeColumns, hiddenColumns, columnWidths = {} } = getState();\n let column: Column = {} as Column;\n let startPosition = 0;\n let resized = false;\n let updatedWidth = 0;\n let currentCell: HTMLElement | null = null;\n let nextFrozenColumns: string[] = []; // Contains next frozen columns with left positions to apply left on resize\n const updateWidth = (distance: number) => {\n updatedWidth = resizedColumnWidth(\n { ...column, currentWidth: column.currentWidth } as Column,\n distance\n );\n column = column.setProp('currentWidth', updatedWidth); // Updating current width\n setColumnStyle(getView().getDomContainer(), 'width', column.field.idHash!, updatedWidth);\n };\n\n /**\n * Update left positions to frozen columns or right of this column.\n */\n const updateLefts = () => {\n nextFrozenColumns.forEach(colId => {\n const left = calculateFieldLeft(\n colId,\n getView().columns,\n freezeColumns,\n hiddenColumns,\n { ...columnWidths, [column.field.id]: updatedWidth } // injecting the resized width to current column\n );\n const nextFrozenColumn = getView().columns?.find(c => `${c.field.id}` === colId);\n setColumnStyle(getView().getDomContainer(), 'left', nextFrozenColumn!.field.idHash!, left);\n });\n };\n\n const resizeHandler = (e: MouseEvent) => {\n e.preventDefault();\n const distance = e.clientX - startPosition;\n if (distance !== 0) {\n column =\n getView().columns?.find(c => `${c.field.id}` === currentCell?.dataset.colId) ??\n ({} as Column);\n updateWidth(distance);\n updateLefts();\n resized = true;\n }\n startPosition = e.clientX;\n return false;\n };\n\n const resizeEndHandler = (e: MouseEvent) => {\n e.preventDefault();\n const domContainer = getView().getDomContainer()!;\n domContainer.removeEventListener('mousemove', resizeHandler);\n domContainer.removeEventListener('mouseup', resizeEndHandler);\n domContainer.removeEventListener('mouseleave', resizeEndHandler);\n if (resized) {\n dispatch(actionColumnResize({ [column.field.id]: updatedWidth }));\n resized = false;\n }\n currentCell!.style.pointerEvents = 'auto';\n currentCell!.classList.toggle(COLUMN_RESIZING_CLASS);\n domContainer.classList.toggle(COLUMN_RESIZING_CLASS);\n return false;\n };\n\n const onMouseDown = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n startPosition = e.clientX;\n const domContainer = getView().getDomContainer()!;\n domContainer.addEventListener('mousemove', resizeHandler);\n domContainer.addEventListener('mouseup', resizeEndHandler);\n domContainer.addEventListener('mouseleave', resizeEndHandler);\n currentCell = (e.target as HTMLElement).closest('.cell')!;\n currentCell.style.pointerEvents = 'none';\n\n if (e.detail >= 2) {\n // It is a double click so ask for a resize on column\n const col = getView().columns?.find(c => `${c.field.id}` === currentCell!.dataset.colId);\n if (col?.field?.resize) {\n dispatch(actionColumnAutoSize(col, getView().getDomContainer()!, true));\n }\n }\n\n currentCell.classList.toggle(COLUMN_RESIZING_CLASS);\n domContainer.classList.toggle(COLUMN_RESIZING_CLASS);\n // TODO: getState().freezeColumns should\n // give latest state after the action triggered from current feature only on above lines. Check this.\n nextFrozenColumns = getNextFrozenColumns(currentCell.dataset.colId!, getState().freezeColumns);\n\n return false;\n };\n\n return {\n onMouseDown\n };\n};\n\nexport default () => {\n const memoizedColumnResize = withMemoization(columnResizerProps);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const { freezeColumns, hiddenColumns, columnWidths } = featureProps.getState();\n featureProps\n .getRsStore()\n .setColumnResizerProps(\n memoizedColumnResize([featureProps], [freezeColumns, hiddenColumns, columnWidths])\n );\n };\n};\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BeforeRenderFeatureProps } from '../../featureFactory';
|
|
2
|
+
/** Sets the sort properties({@link Column.sorted sorted}, {@link Column.sortSequence sortSequence}, {@link Column.sortOrder sortOrder}) for each column when any of the following properties are changed:
|
|
3
|
+
* - {@link State.sortingOrder}
|
|
4
|
+
* - `active` in {@link State.personalization}
|
|
5
|
+
*/
|
|
6
|
+
declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=columnSort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnSort.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnSort.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAkBrE;;;GAGG;6CAIqC,wBAAwB;AAHhE,wBAOE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { withMemoization } from '../../../utils/util';
|
|
2
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
3
|
+
const updateSort = ([{ getView, getState }]) => {
|
|
4
|
+
const { sortingOrder = [] } = getState();
|
|
5
|
+
getView().columns?.forEach(column => {
|
|
6
|
+
const sort = sortingOrder.find(s => s.columnId.toString() === `${column.field.id}`);
|
|
7
|
+
column = column.setProp({
|
|
8
|
+
sorted: !!sort,
|
|
9
|
+
sortSequence: sort?.sequence,
|
|
10
|
+
sortOrder: sort?.order
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
/** Sets the sort properties({@link Column.sorted sorted}, {@link Column.sortSequence sortSequence}, {@link Column.sortOrder sortOrder}) for each column when any of the following properties are changed:
|
|
15
|
+
* - {@link State.sortingOrder}
|
|
16
|
+
* - `active` in {@link State.personalization}
|
|
17
|
+
*/
|
|
18
|
+
export default () => {
|
|
19
|
+
const memoizedUpdateSort = withMemoization(updateSort);
|
|
20
|
+
return function execute(featureProps) {
|
|
21
|
+
const state = featureProps.getState();
|
|
22
|
+
memoizedUpdateSort([featureProps], [state.sortingOrder, state?.personalization?.active]);
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=columnSort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnSort.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,qDAAqD;AAErD,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAA2C,EAAE,EAAE;IACvF,MAAM,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YACtB,MAAM,EAAE,CAAC,CAAC,IAAI;YACd,YAAY,EAAE,IAAI,EAAE,QAAQ;YAC5B,SAAS,EAAE,IAAI,EAAE,KAAK;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;GAGG;AACH,eAAe,GAAG,EAAE;IAClB,MAAM,kBAAkB,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAEvD,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,kBAAkB,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type Column from '../../../generators/ColumnGenerator';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nconst updateSort = ([{ getView, getState }]: [featureProps: BeforeRenderFeatureProps]) => {\n const { sortingOrder = [] } = getState();\n getView().columns?.forEach(column => {\n const sort = sortingOrder.find(s => s.columnId.toString() === `${column.field.id}`);\n column = column.setProp({\n sorted: !!sort,\n sortSequence: sort?.sequence,\n sortOrder: sort?.order\n });\n });\n};\n\n/** Sets the sort properties({@link Column.sorted sorted}, {@link Column.sortSequence sortSequence}, {@link Column.sortOrder sortOrder}) for each column when any of the following properties are changed:\n * - {@link State.sortingOrder}\n * - `active` in {@link State.personalization}\n */\nexport default () => {\n const memoizedUpdateSort = withMemoization(updateSort);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const state = featureProps.getState();\n memoizedUpdateSort([featureProps], [state.sortingOrder, state?.personalization?.active]);\n };\n};\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BeforeRenderFeatureProps } from '../../featureFactory';
|
|
2
|
+
export declare const updateFieldDefs: ([{ getView, getState }]: [featureProps: BeforeRenderFeatureProps]) => void;
|
|
3
|
+
/** Sets the {@link Column.style display} and {@link Column.hidden hidden} property of each column when any of the following properties are changed:
|
|
4
|
+
* - {@link State.hiddenColumns}
|
|
5
|
+
* - `active` {@link State.personalization}
|
|
6
|
+
*/
|
|
7
|
+
declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
|
|
8
|
+
export default _default;
|
|
9
|
+
//# sourceMappingURL=columnToggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnToggle.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnToggle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAMrE,eAAO,MAAM,eAAe,4BAA6B,CACvD,YAAY,EAAE,wBAAwB,CACvC,SAWA,CAAC;AAEF;;;GAGG;6CAIqC,wBAAwB;AAHhE,wBAOE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { withMemoization } from '../../../utils/util';
|
|
2
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
3
|
+
export const updateFieldDefs = ([{ getView, getState }]) => {
|
|
4
|
+
const { hiddenColumns = [] } = getState();
|
|
5
|
+
getView().columns?.forEach(column => {
|
|
6
|
+
const style = { ...column.style };
|
|
7
|
+
const hidden = hiddenColumns.includes(`${column.field.id}`);
|
|
8
|
+
style.display = hidden ? 'none' : 'unset';
|
|
9
|
+
column = column.setProp({
|
|
10
|
+
style,
|
|
11
|
+
hidden
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
/** Sets the {@link Column.style display} and {@link Column.hidden hidden} property of each column when any of the following properties are changed:
|
|
16
|
+
* - {@link State.hiddenColumns}
|
|
17
|
+
* - `active` {@link State.personalization}
|
|
18
|
+
*/
|
|
19
|
+
export default () => {
|
|
20
|
+
const memoizedToggleColumns = withMemoization(updateFieldDefs);
|
|
21
|
+
return function execute(featureProps) {
|
|
22
|
+
const state = featureProps.getState();
|
|
23
|
+
memoizedToggleColumns([featureProps], [state?.hiddenColumns, state?.personalization?.active]);
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=columnToggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnToggle.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnToggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,qDAAqD;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAErD,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC1C,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QAClC,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YACtB,KAAK;YACL,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;GAGG;AACH,eAAe,GAAG,EAAE;IAClB,MAAM,qBAAqB,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAE/D,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,qBAAqB,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { withMemoization } from '../../../utils/util';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type Column from '../../../generators/ColumnGenerator';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport const updateFieldDefs = ([{ getView, getState }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n const { hiddenColumns = [] } = getState();\n getView().columns?.forEach(column => {\n const style = { ...column.style };\n const hidden = hiddenColumns.includes(`${column.field.id}`);\n style.display = hidden ? 'none' : 'unset';\n column = column.setProp({\n style,\n hidden\n });\n });\n};\n\n/** Sets the {@link Column.style display} and {@link Column.hidden hidden} property of each column when any of the following properties are changed:\n * - {@link State.hiddenColumns}\n * - `active` {@link State.personalization}\n */\nexport default () => {\n const memoizedToggleColumns = withMemoization(updateFieldDefs);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n const state = featureProps.getState();\n memoizedToggleColumns([featureProps], [state?.hiddenColumns, state?.personalization?.active]);\n };\n};\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BeforeRenderFeatureProps } from '../../featureFactory';
|
|
2
|
+
/**
|
|
3
|
+
* Sets the {@link Column.isFirstVisualColumn isFirstVisualColumn}, {@link Column.isFirstDataColumn isFirstDataColumn}, {@link Column.isLastColumn isLastColumn}, {@link Column.order order} properties of each column when any of the following properties are changed:
|
|
4
|
+
* - {@link State.hiddenColumns}
|
|
5
|
+
* - {@link State.freezeColumns}
|
|
6
|
+
* - {@link State.colOrder}
|
|
7
|
+
* - `active` in {@link State.personalization}
|
|
8
|
+
* - `size` of {@link View.columns columns}
|
|
9
|
+
*/
|
|
10
|
+
declare const _default: () => (featureProps: BeforeRenderFeatureProps) => void;
|
|
11
|
+
export default _default;
|
|
12
|
+
//# sourceMappingURL=columnVisualOrder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnVisualOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/columnVisualOrder.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AA2CrE;;;;;;;GAOG;6CAIqC,wBAAwB;AAHhE,wBAgBE"}
|