@wavemaker-ai/react-runtime 1.0.0-rc.309
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/actions/base-action.d.ts +7 -0
- package/actions/base-action.js +30 -0
- package/actions/login-action.d.ts +11 -0
- package/actions/login-action.js +54 -0
- package/actions/logout-action.d.ts +10 -0
- package/actions/logout-action.js +39 -0
- package/actions/navigation-action.d.ts +35 -0
- package/actions/navigation-action.js +381 -0
- package/actions/notification-action.d.ts +20 -0
- package/actions/notification-action.js +164 -0
- package/actions/timer-action.d.ts +27 -0
- package/actions/timer-action.js +162 -0
- package/actions/toast-provider.d.ts +12 -0
- package/actions/toast-provider.js +111 -0
- package/actions/toast.d.ts +7 -0
- package/actions/toast.js +117 -0
- package/actions/toast.service.d.ts +17 -0
- package/actions/toast.service.js +93 -0
- package/actions/types/index.d.ts +26 -0
- package/actions/types/index.js +11 -0
- package/components/advanced/carousel/index.d.ts +72 -0
- package/components/advanced/carousel/index.js +467 -0
- package/components/advanced/carousel/props.d.ts +40 -0
- package/components/advanced/carousel/props.js +5 -0
- package/components/advanced/carousel/template.d.ts +72 -0
- package/components/advanced/carousel/template.js +83 -0
- package/components/advanced/login/index.d.ts +75 -0
- package/components/advanced/login/index.js +317 -0
- package/components/advanced/login/props.d.ts +41 -0
- package/components/advanced/login/props.js +5 -0
- package/components/advanced/marquee/index.d.ts +68 -0
- package/components/advanced/marquee/index.js +169 -0
- package/components/advanced/marquee/props.d.ts +32 -0
- package/components/advanced/marquee/props.js +5 -0
- package/components/basic/anchor/index.d.ts +83 -0
- package/components/basic/anchor/index.js +255 -0
- package/components/basic/anchor/props.d.ts +76 -0
- package/components/basic/anchor/props.js +5 -0
- package/components/basic/audio/index.d.ts +72 -0
- package/components/basic/audio/index.js +73 -0
- package/components/basic/audio/props.d.ts +48 -0
- package/components/basic/audio/props.js +5 -0
- package/components/basic/html/index.d.ts +69 -0
- package/components/basic/html/index.js +224 -0
- package/components/basic/html/props.d.ts +32 -0
- package/components/basic/html/props.js +5 -0
- package/components/basic/html/utils.d.ts +4 -0
- package/components/basic/html/utils.js +36 -0
- package/components/basic/icon/index.d.ts +71 -0
- package/components/basic/icon/index.js +93 -0
- package/components/basic/icon/props.d.ts +46 -0
- package/components/basic/icon/props.js +5 -0
- package/components/basic/iframe/iframe.utils.d.ts +2 -0
- package/components/basic/iframe/iframe.utils.js +17 -0
- package/components/basic/iframe/index.d.ts +67 -0
- package/components/basic/iframe/index.js +111 -0
- package/components/basic/iframe/props.d.ts +27 -0
- package/components/basic/iframe/props.js +5 -0
- package/components/basic/label/index.d.ts +72 -0
- package/components/basic/label/index.js +145 -0
- package/components/basic/label/props.d.ts +54 -0
- package/components/basic/label/props.js +5 -0
- package/components/basic/message/index.d.ts +18 -0
- package/components/basic/message/index.js +146 -0
- package/components/basic/message/props.d.ts +51 -0
- package/components/basic/message/props.js +5 -0
- package/components/basic/picture/index.d.ts +75 -0
- package/components/basic/picture/index.js +131 -0
- package/components/basic/picture/props.d.ts +57 -0
- package/components/basic/picture/props.js +5 -0
- package/components/basic/progress-bar/index.d.ts +73 -0
- package/components/basic/progress-bar/index.js +183 -0
- package/components/basic/progress-bar/props.d.ts +66 -0
- package/components/basic/progress-bar/props.js +41 -0
- package/components/basic/progress-circle/index.d.ts +78 -0
- package/components/basic/progress-circle/index.js +197 -0
- package/components/basic/progress-circle/props.d.ts +80 -0
- package/components/basic/progress-circle/props.js +39 -0
- package/components/basic/richtexteditor/index.d.ts +143 -0
- package/components/basic/richtexteditor/index.js +513 -0
- package/components/basic/richtexteditor/props.d.ts +89 -0
- package/components/basic/richtexteditor/props.js +5 -0
- package/components/basic/search/index.d.ts +178 -0
- package/components/basic/search/index.js +1257 -0
- package/components/basic/search/props.d.ts +233 -0
- package/components/basic/search/props.js +5 -0
- package/components/basic/search/providers.d.ts +53 -0
- package/components/basic/search/providers.js +415 -0
- package/components/basic/spinner/index.d.ts +74 -0
- package/components/basic/spinner/index.js +205 -0
- package/components/basic/spinner/props.d.ts +63 -0
- package/components/basic/spinner/props.js +27 -0
- package/components/basic/tile/index.d.ts +68 -0
- package/components/basic/tile/index.js +104 -0
- package/components/basic/tile/props.d.ts +11 -0
- package/components/basic/tile/props.js +5 -0
- package/components/basic/tree/Components/TreeNodeComponent.d.ts +4 -0
- package/components/basic/tree/Components/TreeNodeComponent.js +174 -0
- package/components/basic/tree/hooks/useTreePartialNodeApi.d.ts +17 -0
- package/components/basic/tree/hooks/useTreePartialNodeApi.js +157 -0
- package/components/basic/tree/index.d.ts +83 -0
- package/components/basic/tree/index.js +529 -0
- package/components/basic/tree/props.d.ts +127 -0
- package/components/basic/tree/props.js +5 -0
- package/components/basic/tree/utils.d.ts +39 -0
- package/components/basic/tree/utils.js +272 -0
- package/components/basic/video/index.d.ts +79 -0
- package/components/basic/video/index.js +108 -0
- package/components/basic/video/props.d.ts +77 -0
- package/components/basic/video/props.js +5 -0
- package/components/chart/index.d.ts +129 -0
- package/components/chart/index.js +58 -0
- package/components/chart/props.d.ts +188 -0
- package/components/chart/props.js +81 -0
- package/components/chart/src/ChartRenderer.d.ts +14 -0
- package/components/chart/src/ChartRenderer.js +226 -0
- package/components/chart/src/chart.d.ts +4 -0
- package/components/chart/src/chart.js +284 -0
- package/components/chart/src/chartStyles.generated.d.ts +7 -0
- package/components/chart/src/chartStyles.generated.js +14 -0
- package/components/chart/src/chartUtils.d.ts +26 -0
- package/components/chart/src/chartUtils.js +461 -0
- package/components/chart/src/constants.d.ts +28 -0
- package/components/chart/src/constants.js +139 -0
- package/components/chart/src/css.d.js +1 -0
- package/components/chart/src/d3Setup.d.ts +11 -0
- package/components/chart/src/d3Setup.js +37 -0
- package/components/chart/src/dataUtils.d.ts +79 -0
- package/components/chart/src/dataUtils.js +612 -0
- package/components/chart/src/formatUtils.d.ts +5 -0
- package/components/chart/src/formatUtils.js +63 -0
- package/components/chart/src/index.d.ts +3 -0
- package/components/chart/src/index.js +25 -0
- package/components/chart/src/nvd3Source.generated.d.ts +6 -0
- package/components/chart/src/nvd3Source.generated.js +13 -0
- package/components/chart/src/pieDonutResponsiveLayout.d.ts +30 -0
- package/components/chart/src/pieDonutResponsiveLayout.js +155 -0
- package/components/chart/src/types.d.ts +115 -0
- package/components/chart/src/types.js +5 -0
- package/components/common/AppSpinner.d.ts +9 -0
- package/components/common/AppSpinner.js +36 -0
- package/components/common/app-spinner.d.ts +5 -0
- package/components/common/app-spinner.js +26 -0
- package/components/common/index.d.ts +1 -0
- package/components/common/index.js +12 -0
- package/components/constants.d.ts +1135 -0
- package/components/constants.js +1211 -0
- package/components/container/accordion/accordion-pane/index.d.ts +81 -0
- package/components/container/accordion/accordion-pane/index.js +126 -0
- package/components/container/accordion/accordion-pane/props.d.ts +88 -0
- package/components/container/accordion/accordion-pane/props.js +24 -0
- package/components/container/accordion/index.d.ts +76 -0
- package/components/container/accordion/index.js +254 -0
- package/components/container/accordion/props.d.ts +57 -0
- package/components/container/accordion/props.js +21 -0
- package/components/container/index.d.ts +84 -0
- package/components/container/index.js +178 -0
- package/components/container/layout-grid/grid-column/index.d.ts +70 -0
- package/components/container/layout-grid/grid-column/index.js +45 -0
- package/components/container/layout-grid/grid-column/props.d.ts +27 -0
- package/components/container/layout-grid/grid-column/props.js +5 -0
- package/components/container/layout-grid/grid-row/index.d.ts +66 -0
- package/components/container/layout-grid/grid-row/index.js +31 -0
- package/components/container/layout-grid/grid-row/props.d.ts +6 -0
- package/components/container/layout-grid/grid-row/props.js +5 -0
- package/components/container/layout-grid/index.d.ts +68 -0
- package/components/container/layout-grid/index.js +40 -0
- package/components/container/layout-grid/props.d.ts +6 -0
- package/components/container/layout-grid/props.js +5 -0
- package/components/container/linear-layout/index.d.ts +67 -0
- package/components/container/linear-layout/index.js +83 -0
- package/components/container/linear-layout/linear-layout-item/index.d.ts +64 -0
- package/components/container/linear-layout/linear-layout-item/index.js +54 -0
- package/components/container/linear-layout/linear-layout-item/props.d.ts +14 -0
- package/components/container/linear-layout/linear-layout-item/props.js +5 -0
- package/components/container/linear-layout/props.d.ts +41 -0
- package/components/container/linear-layout/props.js +5 -0
- package/components/container/panel/components/panel-content/index.d.ts +8 -0
- package/components/container/panel/components/panel-content/index.js +18 -0
- package/components/container/panel/components/panel-header/index.d.ts +4 -0
- package/components/container/panel/components/panel-header/index.js +149 -0
- package/components/container/panel/components/panel-header/props.d.ts +50 -0
- package/components/container/panel/components/panel-header/props.js +5 -0
- package/components/container/panel/hooks.d.ts +22 -0
- package/components/container/panel/hooks.js +144 -0
- package/components/container/panel/index.d.ts +118 -0
- package/components/container/panel/index.js +307 -0
- package/components/container/panel/props.d.ts +158 -0
- package/components/container/panel/props.js +5 -0
- package/components/container/props.d.ts +72 -0
- package/components/container/props.js +5 -0
- package/components/container/repeat-template/index.d.ts +82 -0
- package/components/container/repeat-template/index.js +45 -0
- package/components/container/repeat-template/props.d.ts +6 -0
- package/components/container/repeat-template/props.js +5 -0
- package/components/container/tabs/index.d.ts +84 -0
- package/components/container/tabs/index.js +556 -0
- package/components/container/tabs/props.d.ts +104 -0
- package/components/container/tabs/props.js +40 -0
- package/components/container/tabs/tab-pane/index.d.ts +91 -0
- package/components/container/tabs/tab-pane/index.js +131 -0
- package/components/container/tabs/tab-pane/props.d.ts +84 -0
- package/components/container/tabs/tab-pane/props.js +5 -0
- package/components/container/tabs/utils.d.ts +17 -0
- package/components/container/tabs/utils.js +51 -0
- package/components/container/wizard/WizardContext.d.ts +4 -0
- package/components/container/wizard/WizardContext.js +16 -0
- package/components/container/wizard/components/StepComponents.d.ts +16 -0
- package/components/container/wizard/components/StepComponents.js +101 -0
- package/components/container/wizard/components/WizardStep.d.ts +5 -0
- package/components/container/wizard/components/WizardStep.js +96 -0
- package/components/container/wizard/index.d.ts +166 -0
- package/components/container/wizard/index.js +967 -0
- package/components/container/wizard/props.d.ts +281 -0
- package/components/container/wizard/props.js +5 -0
- package/components/container/wizard/utils.d.ts +12 -0
- package/components/container/wizard/utils.js +178 -0
- package/components/container/wizard/wizard-action/index.d.ts +18 -0
- package/components/container/wizard/wizard-action/index.js +97 -0
- package/components/container/wizard/wizard-step/index.d.ts +63 -0
- package/components/container/wizard/wizard-step/index.js +124 -0
- package/components/data/card/card-actions/index.d.ts +67 -0
- package/components/data/card/card-actions/index.js +32 -0
- package/components/data/card/card-content/index.d.ts +67 -0
- package/components/data/card/card-content/index.js +38 -0
- package/components/data/card/card-footer/index.d.ts +67 -0
- package/components/data/card/card-footer/index.js +32 -0
- package/components/data/card/index.d.ts +89 -0
- package/components/data/card/index.js +247 -0
- package/components/data/card/props.d.ts +131 -0
- package/components/data/card/props.js +5 -0
- package/components/data/form/base-form/constant.d.ts +33 -0
- package/components/data/form/base-form/constant.js +39 -0
- package/components/data/form/base-form/hooks/index.d.ts +7 -0
- package/components/data/form/base-form/hooks/index.js +77 -0
- package/components/data/form/base-form/hooks/useFormDataSync.d.ts +16 -0
- package/components/data/form/base-form/hooks/useFormDataSync.js +238 -0
- package/components/data/form/base-form/hooks/useFormOperations.d.ts +13 -0
- package/components/data/form/base-form/hooks/useFormOperations.js +175 -0
- package/components/data/form/base-form/hooks/useFormSubmission.d.ts +11 -0
- package/components/data/form/base-form/hooks/useFormSubmission.js +291 -0
- package/components/data/form/base-form/hooks/useFormValidation.d.ts +11 -0
- package/components/data/form/base-form/hooks/useFormValidation.js +176 -0
- package/components/data/form/base-form/hooks/useParentFormRelationship.d.ts +12 -0
- package/components/data/form/base-form/hooks/useParentFormRelationship.js +127 -0
- package/components/data/form/base-form/index.d.ts +3 -0
- package/components/data/form/base-form/index.js +802 -0
- package/components/data/form/base-form/props.d.ts +297 -0
- package/components/data/form/base-form/props.js +180 -0
- package/components/data/form/base-form/utils.d.ts +75 -0
- package/components/data/form/base-form/utils.js +411 -0
- package/components/data/form/dynamic-fields/constant.d.ts +1 -0
- package/components/data/form/dynamic-fields/constant.js +53 -0
- package/components/data/form/dynamic-fields/index.d.ts +2 -0
- package/components/data/form/dynamic-fields/index.js +167 -0
- package/components/data/form/dynamic-fields/props.d.ts +70 -0
- package/components/data/form/dynamic-fields/props.js +5 -0
- package/components/data/form/dynamic-fields/utils.d.ts +46 -0
- package/components/data/form/dynamic-fields/utils.js +272 -0
- package/components/data/form/form-action/index.d.ts +137 -0
- package/components/data/form/form-action/index.js +94 -0
- package/components/data/form/form-body/index.d.ts +5 -0
- package/components/data/form/form-body/index.js +28 -0
- package/components/data/form/form-context.d.ts +91 -0
- package/components/data/form/form-context.js +65 -0
- package/components/data/form/form-controller/hooks/index.d.ts +7 -0
- package/components/data/form/form-controller/hooks/index.js +132 -0
- package/components/data/form/form-controller/props.d.ts +139 -0
- package/components/data/form/form-controller/props.js +19 -0
- package/components/data/form/form-controller/utils.d.ts +5 -0
- package/components/data/form/form-controller/utils.js +135 -0
- package/components/data/form/form-controller/validation-contrustor.d.ts +3 -0
- package/components/data/form/form-controller/validation-contrustor.js +573 -0
- package/components/data/form/form-controller/withFormController.d.ts +3 -0
- package/components/data/form/form-controller/withFormController.js +309 -0
- package/components/data/form/form-dynamic-section/index.d.ts +5 -0
- package/components/data/form/form-dynamic-section/index.js +46 -0
- package/components/data/form/form-dynamic-section/props.d.ts +5 -0
- package/components/data/form/form-dynamic-section/props.js +5 -0
- package/components/data/form/form-field/base-field.d.ts +3 -0
- package/components/data/form/form-field/base-field.js +172 -0
- package/components/data/form/form-field/index.d.ts +14 -0
- package/components/data/form/form-field/index.js +87 -0
- package/components/data/form/form-field/props.d.ts +206 -0
- package/components/data/form/form-field/props.js +5 -0
- package/components/data/form/form-footer/index.d.ts +6 -0
- package/components/data/form/form-footer/index.js +27 -0
- package/components/data/form/form-header/index.d.ts +12 -0
- package/components/data/form/form-header/index.js +61 -0
- package/components/data/form/index.d.ts +4 -0
- package/components/data/form/index.js +76 -0
- package/components/data/form/props.d.ts +130 -0
- package/components/data/form/props.js +5 -0
- package/components/data/list/components/GroupHeader.d.ts +6 -0
- package/components/data/list/components/GroupHeader.js +35 -0
- package/components/data/list/components/GroupedListItems.d.ts +6 -0
- package/components/data/list/components/GroupedListItems.js +108 -0
- package/components/data/list/components/ListContainer.d.ts +6 -0
- package/components/data/list/components/ListContainer.js +27 -0
- package/components/data/list/components/ListDND.d.ts +39 -0
- package/components/data/list/components/ListDND.js +246 -0
- package/components/data/list/components/ListHeader.d.ts +7 -0
- package/components/data/list/components/ListHeader.js +50 -0
- package/components/data/list/components/ListItem.d.ts +18 -0
- package/components/data/list/components/ListItem.js +166 -0
- package/components/data/list/components/ListItemWithTemplate.d.ts +6 -0
- package/components/data/list/components/ListItemWithTemplate.js +113 -0
- package/components/data/list/components/ListItems.d.ts +7 -0
- package/components/data/list/components/ListItems.js +231 -0
- package/components/data/list/components/ListPagination.d.ts +7 -0
- package/components/data/list/components/ListPagination.js +183 -0
- package/components/data/list/components/LoadMoreButton.d.ts +6 -0
- package/components/data/list/components/LoadMoreButton.js +35 -0
- package/components/data/list/components/NoDataMessage.d.ts +6 -0
- package/components/data/list/components/NoDataMessage.js +22 -0
- package/components/data/list/components/StandardListItems.d.ts +6 -0
- package/components/data/list/components/StandardListItems.js +88 -0
- package/components/data/list/components/index.d.ts +12 -0
- package/components/data/list/components/index.js +119 -0
- package/components/data/list/components/props.d.ts +245 -0
- package/components/data/list/components/props.js +5 -0
- package/components/data/list/hooks/index.d.ts +11 -0
- package/components/data/list/hooks/index.js +75 -0
- package/components/data/list/hooks/props.d.ts +89 -0
- package/components/data/list/hooks/props.js +5 -0
- package/components/data/list/hooks/useCurrentPageItems.d.ts +6 -0
- package/components/data/list/hooks/useCurrentPageItems.js +48 -0
- package/components/data/list/hooks/useGroupedData.d.ts +9 -0
- package/components/data/list/hooks/useGroupedData.js +37 -0
- package/components/data/list/hooks/useListData.d.ts +9 -0
- package/components/data/list/hooks/useListData.js +60 -0
- package/components/data/list/hooks/useListEffects.d.ts +67 -0
- package/components/data/list/hooks/useListEffects.js +355 -0
- package/components/data/list/hooks/useListEventHandlers.d.ts +9 -0
- package/components/data/list/hooks/useListEventHandlers.js +323 -0
- package/components/data/list/hooks/useListPagination.d.ts +8 -0
- package/components/data/list/hooks/useListPagination.js +163 -0
- package/components/data/list/hooks/useListState.d.ts +28 -0
- package/components/data/list/hooks/useListState.js +114 -0
- package/components/data/list/hooks/useListStateManager.d.ts +26 -0
- package/components/data/list/hooks/useListStateManager.js +195 -0
- package/components/data/list/hooks/usePaginatedGroupedData.d.ts +6 -0
- package/components/data/list/hooks/usePaginatedGroupedData.js +134 -0
- package/components/data/list/index.d.ts +174 -0
- package/components/data/list/index.js +691 -0
- package/components/data/list/props.d.ts +405 -0
- package/components/data/list/props.js +5 -0
- package/components/data/list/templates/media-template.d.ts +2 -0
- package/components/data/list/templates/media-template.js +50 -0
- package/components/data/list/utils/constants.d.ts +52 -0
- package/components/data/list/utils/constants.js +82 -0
- package/components/data/list/utils/list-helpers.d.ts +41 -0
- package/components/data/list/utils/list-helpers.js +187 -0
- package/components/data/list/utils/list-widget-methods.d.ts +4 -0
- package/components/data/list/utils/list-widget-methods.js +159 -0
- package/components/data/list/utils/widget-instance-utils.d.ts +33 -0
- package/components/data/list/utils/widget-instance-utils.js +83 -0
- package/components/data/live-filter/index.d.ts +15 -0
- package/components/data/live-filter/index.js +304 -0
- package/components/data/live-filter/props.d.ts +96 -0
- package/components/data/live-filter/props.js +16 -0
- package/components/data/live-form/index.d.ts +15 -0
- package/components/data/live-form/index.js +143 -0
- package/components/data/live-form/props.d.ts +50 -0
- package/components/data/live-form/props.js +20 -0
- package/components/data/pagination/components/BasicPagination.d.ts +3 -0
- package/components/data/pagination/components/BasicPagination.js +133 -0
- package/components/data/pagination/components/ClassicPagination.d.ts +3 -0
- package/components/data/pagination/components/ClassicPagination.js +191 -0
- package/components/data/pagination/components/InlinePagination.d.ts +11 -0
- package/components/data/pagination/components/InlinePagination.js +99 -0
- package/components/data/pagination/components/LoadingComponent.d.ts +3 -0
- package/components/data/pagination/components/LoadingComponent.js +31 -0
- package/components/data/pagination/components/PageSizeSelector.d.ts +3 -0
- package/components/data/pagination/components/PageSizeSelector.js +188 -0
- package/components/data/pagination/components/PagerNavigation.d.ts +3 -0
- package/components/data/pagination/components/PagerNavigation.js +105 -0
- package/components/data/pagination/components/TotalRecords.d.ts +3 -0
- package/components/data/pagination/components/TotalRecords.js +48 -0
- package/components/data/pagination/components/index.d.ts +6 -0
- package/components/data/pagination/components/index.js +47 -0
- package/components/data/pagination/components/props.d.ts +54 -0
- package/components/data/pagination/components/props.js +5 -0
- package/components/data/pagination/hooks/index.d.ts +2 -0
- package/components/data/pagination/hooks/index.js +19 -0
- package/components/data/pagination/hooks/props.d.ts +232 -0
- package/components/data/pagination/hooks/props.js +5 -0
- package/components/data/pagination/hooks/useNavigationSize.d.ts +5 -0
- package/components/data/pagination/hooks/useNavigationSize.js +44 -0
- package/components/data/pagination/hooks/usePagination.d.ts +35 -0
- package/components/data/pagination/hooks/usePagination.js +1095 -0
- package/components/data/pagination/index.d.ts +13 -0
- package/components/data/pagination/index.js +454 -0
- package/components/data/table/components/AddNewRow.d.ts +3 -0
- package/components/data/table/components/AddNewRow.js +194 -0
- package/components/data/table/components/EditableCell.d.ts +4 -0
- package/components/data/table/components/EditableCell.js +92 -0
- package/components/data/table/components/FieldValidationError.d.ts +4 -0
- package/components/data/table/components/FieldValidationError.js +24 -0
- package/components/data/table/components/RowCells.d.ts +29 -0
- package/components/data/table/components/RowCells.js +81 -0
- package/components/data/table/components/RowExpansionButton.d.ts +4 -0
- package/components/data/table/components/RowExpansionButton.js +74 -0
- package/components/data/table/components/SummaryCell.d.ts +3 -0
- package/components/data/table/components/SummaryCell.js +111 -0
- package/components/data/table/components/SummaryRow.d.ts +3 -0
- package/components/data/table/components/SummaryRow.js +54 -0
- package/components/data/table/components/SummaryRowFooter.d.ts +3 -0
- package/components/data/table/components/SummaryRowFooter.js +46 -0
- package/components/data/table/components/TableBody.d.ts +3 -0
- package/components/data/table/components/TableBody.js +278 -0
- package/components/data/table/components/TableDataRow.d.ts +27 -0
- package/components/data/table/components/TableDataRow.js +119 -0
- package/components/data/table/components/TableFilters.d.ts +24 -0
- package/components/data/table/components/TableFilters.js +429 -0
- package/components/data/table/components/TableFooterActions.d.ts +3 -0
- package/components/data/table/components/TableFooterActions.js +48 -0
- package/components/data/table/components/TableHeader.d.ts +3 -0
- package/components/data/table/components/TableHeader.js +450 -0
- package/components/data/table/components/TablePanelHeading.d.ts +3 -0
- package/components/data/table/components/TablePanelHeading.js +202 -0
- package/components/data/table/components/index.d.ts +12 -0
- package/components/data/table/components/index.js +95 -0
- package/components/data/table/hooks/index.d.ts +19 -0
- package/components/data/table/hooks/index.js +231 -0
- package/components/data/table/hooks/use-edited-rows.d.ts +16 -0
- package/components/data/table/hooks/use-edited-rows.js +141 -0
- package/components/data/table/hooks/useCellState.d.ts +10 -0
- package/components/data/table/hooks/useCellState.js +110 -0
- package/components/data/table/hooks/useCustomExpressionColumns.d.ts +16 -0
- package/components/data/table/hooks/useCustomExpressionColumns.js +88 -0
- package/components/data/table/hooks/useDynamicColumns.d.ts +34 -0
- package/components/data/table/hooks/useDynamicColumns.js +105 -0
- package/components/data/table/hooks/useEditingState.d.ts +5 -0
- package/components/data/table/hooks/useEditingState.js +47 -0
- package/components/data/table/hooks/useFormWidget.d.ts +2 -0
- package/components/data/table/hooks/useFormWidget.js +190 -0
- package/components/data/table/hooks/usePaginationState.d.ts +6 -0
- package/components/data/table/hooks/usePaginationState.js +81 -0
- package/components/data/table/hooks/usePanelStructure.d.ts +2 -0
- package/components/data/table/hooks/usePanelStructure.js +43 -0
- package/components/data/table/hooks/useResponsiveColumns.d.ts +84 -0
- package/components/data/table/hooks/useResponsiveColumns.js +34 -0
- package/components/data/table/hooks/useRowExpansion.d.ts +5 -0
- package/components/data/table/hooks/useRowExpansion.js +140 -0
- package/components/data/table/hooks/useRowHandlers.d.ts +5 -0
- package/components/data/table/hooks/useRowHandlers.js +72 -0
- package/components/data/table/hooks/useRowSelection.d.ts +2 -0
- package/components/data/table/hooks/useRowSelection.js +428 -0
- package/components/data/table/hooks/useServerSideSorting.d.ts +26 -0
- package/components/data/table/hooks/useServerSideSorting.js +203 -0
- package/components/data/table/hooks/useTableColumns.d.ts +2 -0
- package/components/data/table/hooks/useTableColumns.js +360 -0
- package/components/data/table/hooks/useTableData.d.ts +2 -0
- package/components/data/table/hooks/useTableData.js +199 -0
- package/components/data/table/hooks/useTableEdit.d.ts +4 -0
- package/components/data/table/hooks/useTableEdit.js +651 -0
- package/components/data/table/hooks/useTableEffects.d.ts +25 -0
- package/components/data/table/hooks/useTableEffects.js +157 -0
- package/components/data/table/hooks/useTableFilter.d.ts +26 -0
- package/components/data/table/hooks/useTableFilter.js +389 -0
- package/components/data/table/hooks/useTableInitialization.d.ts +5 -0
- package/components/data/table/hooks/useTableInitialization.js +105 -0
- package/components/data/table/hooks/useTableState.d.ts +2 -0
- package/components/data/table/hooks/useTableState.js +75 -0
- package/components/data/table/hooks/useTableStateManager.d.ts +38 -0
- package/components/data/table/hooks/useTableStateManager.js +633 -0
- package/components/data/table/index.d.ts +287 -0
- package/components/data/table/index.js +1830 -0
- package/components/data/table/live-table/index.d.ts +75 -0
- package/components/data/table/live-table/index.js +283 -0
- package/components/data/table/props.d.ts +1368 -0
- package/components/data/table/props.js +5 -0
- package/components/data/table/table-action/index.d.ts +65 -0
- package/components/data/table/table-action/index.js +94 -0
- package/components/data/table/table-column/index.d.ts +65 -0
- package/components/data/table/table-column/index.js +44 -0
- package/components/data/table/table-group/index.d.ts +13 -0
- package/components/data/table/table-group/index.js +26 -0
- package/components/data/table/table-row/index.d.ts +65 -0
- package/components/data/table/table-row/index.js +58 -0
- package/components/data/table/table-row-action/index.d.ts +69 -0
- package/components/data/table/table-row-action/index.js +95 -0
- package/components/data/table/utils/buildSelectionColumns.d.ts +3 -0
- package/components/data/table/utils/buildSelectionColumns.js +161 -0
- package/components/data/table/utils/columnBuilder.d.ts +35 -0
- package/components/data/table/utils/columnBuilder.js +225 -0
- package/components/data/table/utils/columnProxy.d.ts +21 -0
- package/components/data/table/utils/columnProxy.js +117 -0
- package/components/data/table/utils/columnWidthDistribution.d.ts +22 -0
- package/components/data/table/utils/columnWidthDistribution.js +98 -0
- package/components/data/table/utils/constants.d.ts +52 -0
- package/components/data/table/utils/constants.js +84 -0
- package/components/data/table/utils/crud-handlers.d.ts +11 -0
- package/components/data/table/utils/crud-handlers.js +523 -0
- package/components/data/table/utils/dynamic-columns.d.ts +38 -0
- package/components/data/table/utils/dynamic-columns.js +222 -0
- package/components/data/table/utils/groupHeaderUtils.d.ts +18 -0
- package/components/data/table/utils/groupHeaderUtils.js +102 -0
- package/components/data/table/utils/index.d.ts +101 -0
- package/components/data/table/utils/index.js +849 -0
- package/components/data/table/utils/renderDisplayCell.d.ts +11 -0
- package/components/data/table/utils/renderDisplayCell.js +183 -0
- package/components/data/table/utils/script-page-size-broadcast.d.ts +2 -0
- package/components/data/table/utils/script-page-size-broadcast.js +45 -0
- package/components/data/table/utils/selectionUtils.d.ts +37 -0
- package/components/data/table/utils/selectionUtils.js +165 -0
- package/components/data/table/utils/table-helpers.d.ts +62 -0
- package/components/data/table/utils/table-helpers.js +100 -0
- package/components/data/table/utils/validation.d.ts +13 -0
- package/components/data/table/utils/validation.js +125 -0
- package/components/data/types.d.ts +104 -0
- package/components/data/types.js +113 -0
- package/components/data/utils/field-data-utils.d.ts +7 -0
- package/components/data/utils/field-data-utils.js +66 -0
- package/components/data/utils/filter-field-util.d.ts +13 -0
- package/components/data/utils/filter-field-util.js +81 -0
- package/components/data/utils/index.d.ts +90 -0
- package/components/data/utils/index.js +216 -0
- package/components/dialogs/alert-dialog/index.d.ts +158 -0
- package/components/dialogs/alert-dialog/index.js +90 -0
- package/components/dialogs/alert-dialog/props.d.ts +43 -0
- package/components/dialogs/alert-dialog/props.js +5 -0
- package/components/dialogs/confirm-dialog/index.d.ts +160 -0
- package/components/dialogs/confirm-dialog/index.js +115 -0
- package/components/dialogs/confirm-dialog/props.d.ts +47 -0
- package/components/dialogs/confirm-dialog/props.js +5 -0
- package/components/dialogs/dialog/index.d.ts +170 -0
- package/components/dialogs/dialog/index.js +73 -0
- package/components/dialogs/dialog/props.d.ts +66 -0
- package/components/dialogs/dialog/props.js +5 -0
- package/components/dialogs/dialog-actions/index.d.ts +67 -0
- package/components/dialogs/dialog-actions/index.js +28 -0
- package/components/dialogs/dialog-actions/props.d.ts +14 -0
- package/components/dialogs/dialog-actions/props.js +5 -0
- package/components/dialogs/dialog-body/index.d.ts +66 -0
- package/components/dialogs/dialog-body/index.js +32 -0
- package/components/dialogs/dialog-body/props.d.ts +15 -0
- package/components/dialogs/dialog-body/props.js +5 -0
- package/components/dialogs/dialog-content/index.d.ts +69 -0
- package/components/dialogs/dialog-content/index.js +43 -0
- package/components/dialogs/dialog-content/props.d.ts +27 -0
- package/components/dialogs/dialog-content/props.js +5 -0
- package/components/dialogs/dialog-header/index.d.ts +84 -0
- package/components/dialogs/dialog-header/index.js +104 -0
- package/components/dialogs/dialog-header/props.d.ts +73 -0
- package/components/dialogs/dialog-header/props.js +5 -0
- package/components/dialogs/iframe-dialog/index.d.ts +178 -0
- package/components/dialogs/iframe-dialog/index.js +131 -0
- package/components/dialogs/iframe-dialog/props.d.ts +83 -0
- package/components/dialogs/iframe-dialog/props.js +5 -0
- package/components/dialogs/index.d.ts +4 -0
- package/components/dialogs/index.js +139 -0
- package/components/dialogs/login-dialog/index.d.ts +163 -0
- package/components/dialogs/login-dialog/index.js +370 -0
- package/components/dialogs/login-dialog/props.d.ts +98 -0
- package/components/dialogs/login-dialog/props.js +5 -0
- package/components/dialogs/page-dialog/index.d.ts +162 -0
- package/components/dialogs/page-dialog/index.js +105 -0
- package/components/dialogs/page-dialog/props.d.ts +59 -0
- package/components/dialogs/page-dialog/props.js +5 -0
- package/components/dialogs/props.d.ts +41 -0
- package/components/dialogs/props.js +5 -0
- package/components/dialogs/withDialogWrapper.d.ts +59 -0
- package/components/dialogs/withDialogWrapper.js +124 -0
- package/components/form/button/index.d.ts +77 -0
- package/components/form/button/index.js +255 -0
- package/components/form/button/props.d.ts +71 -0
- package/components/form/button/props.js +5 -0
- package/components/form/button-group/index.d.ts +69 -0
- package/components/form/button-group/index.js +74 -0
- package/components/form/button-group/props.d.ts +24 -0
- package/components/form/button-group/props.js +5 -0
- package/components/input/calendar/index.d.ts +130 -0
- package/components/input/calendar/index.js +566 -0
- package/components/input/calendar/props.d.ts +105 -0
- package/components/input/calendar/props.js +5 -0
- package/components/input/calendar/utils.d.ts +51 -0
- package/components/input/calendar/utils.js +336 -0
- package/components/input/chips/SortableChip/index.d.ts +4 -0
- package/components/input/chips/SortableChip/index.js +115 -0
- package/components/input/chips/SortableChip/props.d.ts +16 -0
- package/components/input/chips/SortableChip/props.js +5 -0
- package/components/input/chips/index.d.ts +224 -0
- package/components/input/chips/index.js +583 -0
- package/components/input/chips/props.d.ts +232 -0
- package/components/input/chips/props.js +5 -0
- package/components/input/chips/utils.d.ts +22 -0
- package/components/input/chips/utils.js +292 -0
- package/components/input/color-picker/index.d.ts +151 -0
- package/components/input/color-picker/index.js +689 -0
- package/components/input/color-picker/props.d.ts +131 -0
- package/components/input/color-picker/props.js +5 -0
- package/components/input/composite/index.d.ts +69 -0
- package/components/input/composite/index.js +147 -0
- package/components/input/composite/props.d.ts +23 -0
- package/components/input/composite/props.js +5 -0
- package/components/input/currency/index.d.ts +175 -0
- package/components/input/currency/index.js +265 -0
- package/components/input/currency/props.d.ts +154 -0
- package/components/input/currency/props.js +5 -0
- package/components/input/default/checkbox/index.d.ts +150 -0
- package/components/input/default/checkbox/index.js +253 -0
- package/components/input/default/checkbox/props.d.ts +78 -0
- package/components/input/default/checkbox/props.js +5 -0
- package/components/input/default/checkboxset/index.d.ts +191 -0
- package/components/input/default/checkboxset/index.js +478 -0
- package/components/input/default/checkboxset/props.d.ts +199 -0
- package/components/input/default/checkboxset/props.js +5 -0
- package/components/input/default/checkboxset/utils.d.ts +2 -0
- package/components/input/default/checkboxset/utils.js +30 -0
- package/components/input/default/radioset/index.d.ts +182 -0
- package/components/input/default/radioset/index.js +364 -0
- package/components/input/default/radioset/props.d.ts +172 -0
- package/components/input/default/radioset/props.js +5 -0
- package/components/input/default/switch/index.d.ts +174 -0
- package/components/input/default/switch/index.js +519 -0
- package/components/input/default/switch/prop.d.ts +153 -0
- package/components/input/default/switch/prop.js +5 -0
- package/components/input/epoch/date/components/DatePickerPopover.d.ts +4 -0
- package/components/input/epoch/date/components/DatePickerPopover.js +218 -0
- package/components/input/epoch/date/index.d.ts +86 -0
- package/components/input/epoch/date/index.js +606 -0
- package/components/input/epoch/date/props.d.ts +274 -0
- package/components/input/epoch/date/props.js +5 -0
- package/components/input/epoch/date/styled.d.ts +3 -0
- package/components/input/epoch/date/styled.js +70 -0
- package/components/input/epoch/date/utils.d.ts +20 -0
- package/components/input/epoch/date/utils.js +201 -0
- package/components/input/epoch/datetime/index.d.ts +86 -0
- package/components/input/epoch/datetime/index.js +717 -0
- package/components/input/epoch/datetime/props.d.ts +212 -0
- package/components/input/epoch/datetime/props.js +5 -0
- package/components/input/epoch/datetime/utils.d.ts +20 -0
- package/components/input/epoch/datetime/utils.js +283 -0
- package/components/input/epoch/time/index.d.ts +86 -0
- package/components/input/epoch/time/index.js +478 -0
- package/components/input/epoch/time/props.d.ts +155 -0
- package/components/input/epoch/time/props.js +5 -0
- package/components/input/epoch/time/utils.d.ts +24 -0
- package/components/input/epoch/time/utils.js +240 -0
- package/components/input/fileupload/Utils.d.ts +14 -0
- package/components/input/fileupload/Utils.js +139 -0
- package/components/input/fileupload/components/ListItems.d.ts +11 -0
- package/components/input/fileupload/components/ListItems.js +135 -0
- package/components/input/fileupload/components/MultiUpload.d.ts +4 -0
- package/components/input/fileupload/components/MultiUpload.js +78 -0
- package/components/input/fileupload/components/SingleUpload.d.ts +4 -0
- package/components/input/fileupload/components/SingleUpload.js +58 -0
- package/components/input/fileupload/index.d.ts +92 -0
- package/components/input/fileupload/index.js +179 -0
- package/components/input/fileupload/props.d.ts +320 -0
- package/components/input/fileupload/props.js +5 -0
- package/components/input/fileupload/useFileUpload.d.ts +36 -0
- package/components/input/fileupload/useFileUpload.js +414 -0
- package/components/input/number/index.d.ts +164 -0
- package/components/input/number/index.js +406 -0
- package/components/input/number/props.d.ts +119 -0
- package/components/input/number/props.js +5 -0
- package/components/input/rating/index.d.ts +208 -0
- package/components/input/rating/index.js +461 -0
- package/components/input/rating/props.d.ts +195 -0
- package/components/input/rating/props.js +5 -0
- package/components/input/select/index.d.ts +173 -0
- package/components/input/select/index.js +492 -0
- package/components/input/select/props.d.ts +134 -0
- package/components/input/select/props.js +5 -0
- package/components/input/slider/index.d.ts +162 -0
- package/components/input/slider/index.js +337 -0
- package/components/input/slider/props.d.ts +101 -0
- package/components/input/slider/props.js +5 -0
- package/components/input/text/index.d.ts +177 -0
- package/components/input/text/index.js +499 -0
- package/components/input/text/props.d.ts +141 -0
- package/components/input/text/props.js +5 -0
- package/components/input/text/util.d.ts +42 -0
- package/components/input/text/util.js +334 -0
- package/components/input/textarea/index.d.ts +151 -0
- package/components/input/textarea/index.js +366 -0
- package/components/input/textarea/props.d.ts +85 -0
- package/components/input/textarea/props.js +5 -0
- package/components/input/upload/index.d.ts +142 -0
- package/components/input/upload/index.js +133 -0
- package/components/input/upload/props.d.ts +61 -0
- package/components/input/upload/props.js +5 -0
- package/components/input/util/index.d.ts +1 -0
- package/components/input/util/index.js +11 -0
- package/components/layout/footer/index.d.ts +15 -0
- package/components/layout/footer/index.js +37 -0
- package/components/layout/footer/props.d.ts +8 -0
- package/components/layout/footer/props.js +5 -0
- package/components/layout/header/index.d.ts +15 -0
- package/components/layout/header/index.js +40 -0
- package/components/layout/header/props.d.ts +8 -0
- package/components/layout/header/props.js +5 -0
- package/components/layout/leftnav/index.d.ts +15 -0
- package/components/layout/leftnav/index.js +54 -0
- package/components/layout/leftnav/props.d.ts +25 -0
- package/components/layout/leftnav/props.js +5 -0
- package/components/layout/rightnav/index.d.ts +15 -0
- package/components/layout/rightnav/index.js +38 -0
- package/components/layout/rightnav/props.d.ts +13 -0
- package/components/layout/rightnav/props.js +5 -0
- package/components/layout/topnav/index.d.ts +15 -0
- package/components/layout/topnav/index.js +40 -0
- package/components/layout/topnav/props.d.ts +8 -0
- package/components/layout/topnav/props.js +5 -0
- package/components/navbar/index.d.ts +70 -0
- package/components/navbar/index.js +101 -0
- package/components/navbar/nav/index.d.ts +90 -0
- package/components/navbar/nav/index.js +244 -0
- package/components/navbar/nav/props.d.ts +56 -0
- package/components/navbar/nav/props.js +5 -0
- package/components/navbar/nav-item/index.d.ts +63 -0
- package/components/navbar/nav-item/index.js +66 -0
- package/components/navbar/nav-item/props.d.ts +29 -0
- package/components/navbar/nav-item/props.js +5 -0
- package/components/navigation/breadcrumb/index.d.ts +66 -0
- package/components/navigation/breadcrumb/index.js +67 -0
- package/components/navigation/breadcrumb/props.d.ts +6 -0
- package/components/navigation/breadcrumb/props.js +5 -0
- package/components/navigation/menu/components/ListItems.d.ts +23 -0
- package/components/navigation/menu/components/ListItems.js +71 -0
- package/components/navigation/menu/constants.d.ts +53 -0
- package/components/navigation/menu/constants.js +102 -0
- package/components/navigation/menu/hooks/useHoverState.hook.d.ts +17 -0
- package/components/navigation/menu/hooks/useHoverState.hook.js +48 -0
- package/components/navigation/menu/hooks/useKeyboardMovements.hook.d.ts +12 -0
- package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +37 -0
- package/components/navigation/menu/hooks/useTransformedDataset.hook.d.ts +5 -0
- package/components/navigation/menu/hooks/useTransformedDataset.hook.js +15 -0
- package/components/navigation/menu/index.d.ts +105 -0
- package/components/navigation/menu/index.js +1031 -0
- package/components/navigation/menu/props.d.ts +74 -0
- package/components/navigation/menu/props.js +5 -0
- package/components/navigation/menu/utils/action-task.d.ts +1 -0
- package/components/navigation/menu/utils/action-task.js +14 -0
- package/components/navigation/menu/utils/role-filter.d.ts +9 -0
- package/components/navigation/menu/utils/role-filter.js +76 -0
- package/components/navigation/popover/index.d.ts +97 -0
- package/components/navigation/popover/index.js +310 -0
- package/components/navigation/popover/props.d.ts +28 -0
- package/components/navigation/popover/props.js +13 -0
- package/components/page/content/index.d.ts +15 -0
- package/components/page/content/index.js +35 -0
- package/components/page/content/props.d.ts +6 -0
- package/components/page/content/props.js +5 -0
- package/components/page/error-boundary/index.d.ts +13 -0
- package/components/page/error-boundary/index.js +119 -0
- package/components/page/error-boundary/props.d.ts +30 -0
- package/components/page/error-boundary/props.js +5 -0
- package/components/page/index.d.ts +15 -0
- package/components/page/index.js +151 -0
- package/components/page/page-content/index.d.ts +15 -0
- package/components/page/page-content/index.js +34 -0
- package/components/page/page-content/props.d.ts +16 -0
- package/components/page/page-content/props.js +5 -0
- package/components/page/partial/index.d.ts +61 -0
- package/components/page/partial/index.js +46 -0
- package/components/page/partial/props.d.ts +6 -0
- package/components/page/partial/props.js +5 -0
- package/components/page/partial-container/index.d.ts +13 -0
- package/components/page/partial-container/index.js +112 -0
- package/components/page/partial-container/props.d.ts +38 -0
- package/components/page/partial-container/props.js +5 -0
- package/components/page/props.d.ts +33 -0
- package/components/page/props.js +5 -0
- package/components/page/toast-container/index.d.ts +13 -0
- package/components/page/toast-container/index.js +43 -0
- package/components/page/toast-container/props.d.ts +8 -0
- package/components/page/toast-container/props.js +5 -0
- package/components/prefab/container/index.d.ts +12 -0
- package/components/prefab/container/index.js +64 -0
- package/components/prefab/container/props.d.ts +23 -0
- package/components/prefab/container/props.js +5 -0
- package/components/prefab/index.d.ts +12 -0
- package/components/prefab/index.js +69 -0
- package/components/prefab/props.d.ts +18 -0
- package/components/prefab/props.js +5 -0
- package/context/AppContext.d.ts +9 -0
- package/context/AppContext.js +25 -0
- package/context/AppSpinnerProvider.d.ts +15 -0
- package/context/AppSpinnerProvider.js +43 -0
- package/context/LayoutProvider.d.ts +7 -0
- package/context/LayoutProvider.js +66 -0
- package/context/LocalizationProvider.d.ts +4 -0
- package/context/LocalizationProvider.js +80 -0
- package/context/PrefabContext.d.ts +15 -0
- package/context/PrefabContext.js +195 -0
- package/context/WidgetProvider.d.ts +19 -0
- package/context/WidgetProvider.js +274 -0
- package/core/app-config.js +1 -0
- package/core/app.service.d.ts +19 -0
- package/core/app.service.js +366 -0
- package/core/appVariablesStore.d.ts +5 -0
- package/core/appVariablesStore.js +23 -0
- package/core/appstore.d.ts +35 -0
- package/core/appstore.js +88 -0
- package/core/constants/currency-constant.d.ts +11 -0
- package/core/constants/currency-constant.js +1071 -0
- package/core/constants/events.d.ts +24 -0
- package/core/constants/events.js +63 -0
- package/core/constants/index.d.ts +10 -0
- package/core/constants/index.js +49 -0
- package/core/dialog.service.d.ts +31 -0
- package/core/dialog.service.js +75 -0
- package/core/event-notifier.d.ts +20 -0
- package/core/event-notifier.js +150 -0
- package/core/formatter/array-formatters.d.ts +4 -0
- package/core/formatter/array-formatters.js +33 -0
- package/core/formatter/date-formatters.d.ts +9 -0
- package/core/formatter/date-formatters.js +245 -0
- package/core/formatter/index.d.ts +19 -0
- package/core/formatter/index.js +133 -0
- package/core/formatter/number-formatters.d.ts +20 -0
- package/core/formatter/number-formatters.js +181 -0
- package/core/formatter/security-formatters.d.ts +25 -0
- package/core/formatter/security-formatters.js +321 -0
- package/core/formatter/string-formatters.d.ts +10 -0
- package/core/formatter/string-formatters.js +49 -0
- package/core/formatter/types.d.ts +33 -0
- package/core/formatter/types.js +18 -0
- package/core/formatters.d.ts +3 -0
- package/core/formatters.js +24 -0
- package/core/proxy-service.d.ts +6 -0
- package/core/proxy-service.js +571 -0
- package/core/script-registry.d.ts +23 -0
- package/core/script-registry.js +149 -0
- package/core/security.service.d.ts +12 -0
- package/core/security.service.js +11 -0
- package/core/util/compare.d.ts +1 -0
- package/core/util/compare.js +36 -0
- package/core/util/dom.d.ts +4 -0
- package/core/util/dom.js +107 -0
- package/core/util/index.d.ts +65 -0
- package/core/util/index.js +191 -0
- package/core/util/safe-is-equal.js +156 -0
- package/core/util/security.d.ts +64 -0
- package/core/util/security.js +183 -0
- package/core/util/utils.d.ts +34 -0
- package/core/util/utils.js +228 -0
- package/core/widget-observer.d.ts +3 -0
- package/core/widget-observer.js +98 -0
- package/higherOrder/BaseApp.d.ts +13 -0
- package/higherOrder/BaseApp.js +614 -0
- package/higherOrder/BaseAppProps.d.ts +37 -0
- package/higherOrder/BaseAppProps.js +5 -0
- package/higherOrder/BaseDateTime.d.ts +62 -0
- package/higherOrder/BaseDateTime.js +268 -0
- package/higherOrder/BasePage.d.ts +10 -0
- package/higherOrder/BasePage.js +909 -0
- package/higherOrder/BasePartial.d.ts +7 -0
- package/higherOrder/BasePartial.js +125 -0
- package/higherOrder/BasePrefab.d.ts +17 -0
- package/higherOrder/BasePrefab.js +234 -0
- package/higherOrder/DataNav.d.ts +53 -0
- package/higherOrder/DataNav.js +461 -0
- package/higherOrder/helper.d.ts +32 -0
- package/higherOrder/helper.js +81 -0
- package/higherOrder/props.d.ts +116 -0
- package/higherOrder/props.js +5 -0
- package/higherOrder/withBaseWrapper.d.ts +5 -0
- package/higherOrder/withBaseWrapper.js +218 -0
- package/higherOrder/withStandalone.d.ts +11 -0
- package/higherOrder/withStandalone.js +29 -0
- package/hooks/useAccess.d.ts +18 -0
- package/hooks/useAccess.js +321 -0
- package/hooks/useAppConfig.d.ts +3 -0
- package/hooks/useAppConfig.js +42 -0
- package/hooks/useAuth.d.ts +55 -0
- package/hooks/useAuth.js +568 -0
- package/hooks/useDataSourceSubscription.d.ts +15 -0
- package/hooks/useDataSourceSubscription.js +125 -0
- package/hooks/useDebounce.d.ts +21 -0
- package/hooks/useDebounce.js +76 -0
- package/hooks/useDeviceVisibility.d.ts +4 -0
- package/hooks/useDeviceVisibility.js +49 -0
- package/hooks/useHttp.d.ts +57 -0
- package/hooks/useHttp.js +531 -0
- package/libs/index.js +13 -0
- package/libs/prefab/index.js +20 -0
- package/mui-config/theme-provider.d.ts +3 -0
- package/mui-config/theme-provider.js +17 -0
- package/mui-config/theme.d.ts +2 -0
- package/mui-config/theme.js +364 -0
- package/package-lock.json +16455 -0
- package/package.json +135 -0
- package/providers/AppProviders.js +27 -0
- package/runtime-dynamic/App.d.ts +7 -0
- package/runtime-dynamic/App.js +144 -0
- package/runtime-dynamic/app-initializer.d.ts +15 -0
- package/runtime-dynamic/app-initializer.js +447 -0
- package/runtime-dynamic/components/ErrorBoundary.d.ts +18 -0
- package/runtime-dynamic/components/ErrorBoundary.js +93 -0
- package/runtime-dynamic/components/PageWrapper.d.ts +1 -0
- package/runtime-dynamic/components/PageWrapper.js +43 -0
- package/runtime-dynamic/components/PrefabPreview.d.ts +1 -0
- package/runtime-dynamic/components/PrefabPreview.js +84 -0
- package/runtime-dynamic/components/partial-content.d.ts +15 -0
- package/runtime-dynamic/components/partial-content.js +50 -0
- package/runtime-dynamic/components/prefab-content.d.ts +10 -0
- package/runtime-dynamic/components/prefab-content.js +31 -0
- package/runtime-dynamic/components/use-dynamic-component.d.ts +10 -0
- package/runtime-dynamic/components/use-dynamic-component.js +165 -0
- package/runtime-dynamic/factories/build-base-page-like-component.d.ts +8 -0
- package/runtime-dynamic/factories/build-base-page-like-component.js +59 -0
- package/runtime-dynamic/factories/prefab-factory.d.ts +3 -0
- package/runtime-dynamic/factories/prefab-factory.js +82 -0
- package/runtime-dynamic/factories/startup-info.d.ts +6 -0
- package/runtime-dynamic/factories/startup-info.js +28 -0
- package/runtime-dynamic/factories/utils.d.ts +23 -0
- package/runtime-dynamic/factories/utils.js +131 -0
- package/runtime-dynamic/index.d.ts +14 -0
- package/runtime-dynamic/index.js +191 -0
- package/runtime-dynamic/main.d.ts +2 -0
- package/runtime-dynamic/main.js +84 -0
- package/runtime-dynamic/preview-mode.d.ts +15 -0
- package/runtime-dynamic/preview-mode.js +31 -0
- package/runtime-dynamic/preview-navigation.d.ts +6 -0
- package/runtime-dynamic/preview-navigation.js +38 -0
- package/runtime-dynamic/preview-resource-base.d.ts +12 -0
- package/runtime-dynamic/preview-resource-base.js +65 -0
- package/runtime-dynamic/registry/component-registry.d.ts +3 -0
- package/runtime-dynamic/registry/component-registry.js +353 -0
- package/runtime-dynamic/registry/custom-widget-registry.d.ts +7 -0
- package/runtime-dynamic/registry/custom-widget-registry.js +18 -0
- package/runtime-dynamic/registry/index.d.ts +2 -0
- package/runtime-dynamic/registry/index.js +63 -0
- package/runtime-dynamic/registry/store.d.ts +9 -0
- package/runtime-dynamic/registry/store.js +26 -0
- package/runtime-dynamic/routes.d.ts +2 -0
- package/runtime-dynamic/routes.js +107 -0
- package/runtime-dynamic/services/app-extension-provider.d.ts +1 -0
- package/runtime-dynamic/services/app-extension-provider.js +45 -0
- package/runtime-dynamic/services/cache.d.ts +29 -0
- package/runtime-dynamic/services/cache.js +57 -0
- package/runtime-dynamic/services/component-ref-provider.d.ts +12 -0
- package/runtime-dynamic/services/component-ref-provider.js +149 -0
- package/runtime-dynamic/services/css-scoping.d.ts +2 -0
- package/runtime-dynamic/services/css-scoping.js +53 -0
- package/runtime-dynamic/services/fragment-url.d.ts +16 -0
- package/runtime-dynamic/services/fragment-url.js +74 -0
- package/runtime-dynamic/services/index.d.ts +10 -0
- package/runtime-dynamic/services/index.js +152 -0
- package/runtime-dynamic/services/markup-transpiler.d.ts +12 -0
- package/runtime-dynamic/services/markup-transpiler.js +250 -0
- package/runtime-dynamic/services/prefab-resources.d.ts +18 -0
- package/runtime-dynamic/services/prefab-resources.js +159 -0
- package/runtime-dynamic/services/resource-manager.d.ts +2 -0
- package/runtime-dynamic/services/resource-manager.js +66 -0
- package/runtime-dynamic/services/script-executor.d.ts +8 -0
- package/runtime-dynamic/services/script-executor.js +90 -0
- package/runtime-dynamic/services/variable-factory.d.ts +2 -0
- package/runtime-dynamic/services/variable-factory.js +260 -0
- package/runtime-dynamic/services/variable-registry.d.ts +12 -0
- package/runtime-dynamic/services/variable-registry.js +118 -0
- package/runtime-dynamic/services/variable-transpiler.d.ts +5 -0
- package/runtime-dynamic/services/variable-transpiler.js +159 -0
- package/runtime-dynamic/shims/next-image.d.ts +35 -0
- package/runtime-dynamic/shims/next-image.js +60 -0
- package/runtime-dynamic/shims/next-link.d.ts +25 -0
- package/runtime-dynamic/shims/next-link.js +33 -0
- package/runtime-dynamic/shims/next-navigation.d.ts +16 -0
- package/runtime-dynamic/shims/next-navigation.js +52 -0
- package/runtime-dynamic/utils/index.d.ts +9 -0
- package/runtime-dynamic/utils/index.js +40 -0
- package/store/bindActions/i18nActions.d.ts +7 -0
- package/store/bindActions/i18nActions.js +18 -0
- package/store/index.d.ts +18 -0
- package/store/index.js +40 -0
- package/store/middleware/navigationMiddleware.d.ts +10 -0
- package/store/middleware/navigationMiddleware.js +48 -0
- package/store/middleware/pendingTabNavigationIntentMiddleware.d.ts +6 -0
- package/store/middleware/pendingTabNavigationIntentMiddleware.js +25 -0
- package/store/slices/appConfigSlice.d.ts +21 -0
- package/store/slices/appConfigSlice.js +105 -0
- package/store/slices/authSlice.d.ts +54 -0
- package/store/slices/authSlice.js +526 -0
- package/store/slices/i18nSlice.d.ts +25 -0
- package/store/slices/i18nSlice.js +206 -0
- package/store/slices/navigationSlice.d.ts +7 -0
- package/store/slices/navigationSlice.js +35 -0
- package/store/viewport.service.d.ts +45 -0
- package/store/viewport.service.js +255 -0
- package/tsconfig.declaration.tsbuildinfo +1 -0
- package/types/global.d.js +3 -0
- package/types/index.d.ts +64 -0
- package/types/index.js +15 -0
- package/utils/attr.d.ts +1 -0
- package/utils/attr.js +92 -0
- package/utils/custom-expression/index.d.ts +43 -0
- package/utils/custom-expression/index.js +161 -0
- package/utils/custom-expression/parser.d.ts +15 -0
- package/utils/custom-expression/parser.js +208 -0
- package/utils/dataset-util.d.ts +31 -0
- package/utils/dataset-util.js +173 -0
- package/utils/eval-expression.js +32 -0
- package/utils/form-state.util.d.ts +62 -0
- package/utils/form-state.util.js +167 -0
- package/utils/form-utils.d.ts +84 -0
- package/utils/form-utils.js +232 -0
- package/utils/format-util.d.ts +25 -0
- package/utils/format-util.js +300 -0
- package/utils/layoutsize-util.d.ts +1 -0
- package/utils/layoutsize-util.js +57 -0
- package/utils/lib-error-skipper.d.ts +11 -0
- package/utils/lib-error-skipper.js +75 -0
- package/utils/page-params-util.d.ts +20 -0
- package/utils/page-params-util.js +56 -0
- package/utils/pending-tab-navigation-intent.d.ts +4 -0
- package/utils/pending-tab-navigation-intent.js +25 -0
- package/utils/resource-url.d.ts +1 -0
- package/utils/resource-url.js +27 -0
- package/utils/state-persistance.d.ts +27 -0
- package/utils/state-persistance.js +411 -0
- package/utils/style-utils.d.ts +28 -0
- package/utils/style-utils.js +92 -0
- package/utils/transformedDataset-utils.d.ts +67 -0
- package/utils/transformedDataset-utils.js +645 -0
- package/utils/widget-cleanup-util.d.ts +32 -0
- package/utils/widget-cleanup-util.js +109 -0
- package/utils/widgets.d.ts +3 -0
- package/utils/widgets.js +97 -0
- package/variables/base-variable.d.ts +61 -0
- package/variables/base-variable.js +180 -0
- package/variables/constants.d.ts +21 -0
- package/variables/constants.js +27 -0
- package/variables/crud-variable.d.ts +39 -0
- package/variables/crud-variable.js +227 -0
- package/variables/live-variable.d.ts +58 -0
- package/variables/live-variable.js +226 -0
- package/variables/metadata.service.d.ts +24 -0
- package/variables/metadata.service.js +122 -0
- package/variables/model-variable.d.ts +12 -0
- package/variables/model-variable.js +86 -0
- package/variables/service-variable.d.ts +41 -0
- package/variables/service-variable.js +356 -0
- package/wm-namespace.d.ts +11 -0
- package/wm-namespace.js +14 -0
|
@@ -0,0 +1,1095 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.usePagination = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var _lodash = require("lodash");
|
|
12
|
+
var _utils = require("../../table/utils");
|
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
// Utility function to check if the datasource has paging capability
|
|
16
|
+
var isDataSourceHasPaging = function isDataSourceHasPaging(datasource) {
|
|
17
|
+
return datasource && typeof datasource.execute === "function" && datasource.execute("IS_PAGEABLE");
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// Utility function to calculate paging values
|
|
21
|
+
var calculatePagingValues = function calculatePagingValues(dataSize, maxResults) {
|
|
22
|
+
return dataSize > maxResults ? Math.ceil(dataSize / maxResults) : dataSize < 0 ? 0 : 1;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// Utility function to create a dummy synthetic event when no event is available
|
|
26
|
+
var createDummyEvent = function createDummyEvent() {
|
|
27
|
+
var eventName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "synthetic";
|
|
28
|
+
return {
|
|
29
|
+
bubbles: false,
|
|
30
|
+
cancelable: false,
|
|
31
|
+
currentTarget: null,
|
|
32
|
+
defaultPrevented: false,
|
|
33
|
+
eventPhase: 0,
|
|
34
|
+
isTrusted: false,
|
|
35
|
+
nativeEvent: new Event(eventName),
|
|
36
|
+
target: null,
|
|
37
|
+
timeStamp: Date.now(),
|
|
38
|
+
type: eventName,
|
|
39
|
+
// Dynamic type based on the event being triggered
|
|
40
|
+
isDefaultPrevented: function isDefaultPrevented() {
|
|
41
|
+
return false;
|
|
42
|
+
},
|
|
43
|
+
isPropagationStopped: function isPropagationStopped() {
|
|
44
|
+
return false;
|
|
45
|
+
},
|
|
46
|
+
persist: function persist() {},
|
|
47
|
+
preventDefault: function preventDefault() {},
|
|
48
|
+
stopPropagation: function stopPropagation() {}
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
var usePagination = exports.usePagination = function usePagination(_ref) {
|
|
52
|
+
var _listener$Widgets;
|
|
53
|
+
var dataset = _ref.dataset,
|
|
54
|
+
_ref$maxResults = _ref.maxResults,
|
|
55
|
+
maxResults = _ref$maxResults === void 0 ? 10 : _ref$maxResults,
|
|
56
|
+
initialPage = _ref.currentPage,
|
|
57
|
+
navigation = _ref.navigation,
|
|
58
|
+
name = _ref.name,
|
|
59
|
+
listener = _ref.listener,
|
|
60
|
+
onPaginationChange = _ref.onPaginationChange,
|
|
61
|
+
onSetRecord = _ref.onSetRecord,
|
|
62
|
+
onPageSizeChange = _ref.onPageSizeChange,
|
|
63
|
+
paginationMeta = _ref.paginationMeta,
|
|
64
|
+
totalItems = _ref.totalItems,
|
|
65
|
+
datasource = _ref.datasource,
|
|
66
|
+
setIsLoadingMore = _ref.setIsLoadingMore,
|
|
67
|
+
_ref$isServerSidePagi = _ref.isServerSidePagination,
|
|
68
|
+
isServerSidePagination = _ref$isServerSidePagi === void 0 ? false : _ref$isServerSidePagi,
|
|
69
|
+
listDirection = _ref.listDirection,
|
|
70
|
+
scrollContainerRef = _ref.scrollContainerRef,
|
|
71
|
+
sentinelRefProp = _ref.sentinelRef,
|
|
72
|
+
datasourceInvokeOptions = _ref.datasourceInvokeOptions;
|
|
73
|
+
// Extract onPageSizeChange from listener if not provided directly
|
|
74
|
+
var pageSizeChangeHandler = onPageSizeChange || (listener === null || listener === void 0 ? void 0 : listener.onPageSizeChange);
|
|
75
|
+
var widgetInstance = listener === null || listener === void 0 || (_listener$Widgets = listener.Widgets) === null || _listener$Widgets === void 0 ? void 0 : _listener$Widgets[name];
|
|
76
|
+
// Consolidated pagination state
|
|
77
|
+
var _useState = (0, _react.useState)({
|
|
78
|
+
currentPage: initialPage || 1,
|
|
79
|
+
pageCount: 0,
|
|
80
|
+
dataSize: 0,
|
|
81
|
+
currentMaxResults: (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.size) || maxResults,
|
|
82
|
+
error: null
|
|
83
|
+
}),
|
|
84
|
+
paginationState = _useState[0],
|
|
85
|
+
setPaginationState = _useState[1];
|
|
86
|
+
|
|
87
|
+
// Data state
|
|
88
|
+
var _useState2 = (0, _react.useState)({
|
|
89
|
+
fullData: [],
|
|
90
|
+
result: []
|
|
91
|
+
}),
|
|
92
|
+
dataState = _useState2[0],
|
|
93
|
+
setDataState = _useState2[1];
|
|
94
|
+
|
|
95
|
+
// Accumulated data state - used for both Scroll and On-Demand navigation
|
|
96
|
+
// Both modes need to accumulate data as user loads more pages
|
|
97
|
+
var _useState3 = (0, _react.useState)({
|
|
98
|
+
accumulatedData: [],
|
|
99
|
+
lastLoadedPage: 0,
|
|
100
|
+
isAccumulating: navigation === "Scroll" || navigation === "On-Demand",
|
|
101
|
+
isInitialized: false
|
|
102
|
+
}),
|
|
103
|
+
accumulatingState = _useState3[0],
|
|
104
|
+
setAccumulatingState = _useState3[1];
|
|
105
|
+
|
|
106
|
+
// Navigation disable states - consolidated for better performance
|
|
107
|
+
var _useState4 = (0, _react.useState)({
|
|
108
|
+
isDisableNext: true,
|
|
109
|
+
isDisablePrevious: true,
|
|
110
|
+
isDisableFirst: true,
|
|
111
|
+
isDisableLast: true,
|
|
112
|
+
isDisableCurrent: false,
|
|
113
|
+
isDisableCount: false
|
|
114
|
+
}),
|
|
115
|
+
disableStates = _useState4[0],
|
|
116
|
+
setDisableStates = _useState4[1];
|
|
117
|
+
var isFetchingRef = (0, _react.useRef)(false);
|
|
118
|
+
var isResettingRef = (0, _react.useRef)(false); // Track if we're currently resetting accumulated data
|
|
119
|
+
|
|
120
|
+
// Refs for accumulated data (Scroll and On-Demand)
|
|
121
|
+
var observerRef = (0, _react.useRef)(null);
|
|
122
|
+
var internalSentinelRef = (0, _react.useRef)(null);
|
|
123
|
+
var sentinelRef = sentinelRefProp !== undefined ? sentinelRefProp : internalSentinelRef;
|
|
124
|
+
var accumulatingStateRef = (0, _react.useRef)(accumulatingState);
|
|
125
|
+
var sentinelHasLeftViewportRef = (0, _react.useRef)(true); // Track if sentinel has left viewport after View Less
|
|
126
|
+
|
|
127
|
+
// Keep ref in sync with state
|
|
128
|
+
(0, _react.useEffect)(function () {
|
|
129
|
+
accumulatingStateRef.current = accumulatingState;
|
|
130
|
+
}, [accumulatingState]);
|
|
131
|
+
|
|
132
|
+
// Memoized computed values for better performance
|
|
133
|
+
var isFirstPage = (0, _react.useMemo)(function () {
|
|
134
|
+
// First check pagination metadata if available
|
|
135
|
+
if (paginationMeta && paginationMeta.first !== undefined) {
|
|
136
|
+
return paginationMeta.first;
|
|
137
|
+
}
|
|
138
|
+
// Fall back to calculation
|
|
139
|
+
return paginationState.currentPage === 1 || !paginationState.currentPage;
|
|
140
|
+
}, [paginationState.currentPage, paginationMeta]);
|
|
141
|
+
var isLastPage = (0, _react.useMemo)(function () {
|
|
142
|
+
// First check pagination metadata if available
|
|
143
|
+
if (paginationMeta && paginationMeta.last !== undefined) {
|
|
144
|
+
return paginationMeta.last;
|
|
145
|
+
}
|
|
146
|
+
// Fall back to calculation
|
|
147
|
+
return paginationState.currentPage === paginationState.pageCount;
|
|
148
|
+
}, [paginationState.currentPage, paginationState.pageCount, paginationMeta]);
|
|
149
|
+
|
|
150
|
+
// Navigation controls
|
|
151
|
+
var allowedNavControls = ["Basic", "Classic", "Pager", "Scroll", "On-Demand"];
|
|
152
|
+
var getValidNavControl = function getValidNavControl(nav) {
|
|
153
|
+
return allowedNavControls.includes(nav) ? nav : "Basic";
|
|
154
|
+
};
|
|
155
|
+
var _useState5 = (0, _react.useState)(getValidNavControl(navigation)),
|
|
156
|
+
navcontrols = _useState5[0],
|
|
157
|
+
setNavcontrols = _useState5[1];
|
|
158
|
+
|
|
159
|
+
// Function to invoke datasource for API-based pagination
|
|
160
|
+
var datasourceInvoke = (0, _react.useCallback)(function (page, size) {
|
|
161
|
+
var isScrollMode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
162
|
+
// Only invoke datasource if server-side pagination is enabled
|
|
163
|
+
if (isServerSidePagination && datasource && typeof datasource.invoke === "function") {
|
|
164
|
+
// Prevent concurrent requests
|
|
165
|
+
if (isFetchingRef.current) {
|
|
166
|
+
return Promise.resolve();
|
|
167
|
+
}
|
|
168
|
+
isFetchingRef.current = true;
|
|
169
|
+
setPaginationState(function (prev) {
|
|
170
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
171
|
+
error: null
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
try {
|
|
175
|
+
// Prepare invoke options with page and optionally size
|
|
176
|
+
var invokeOptions = {
|
|
177
|
+
page: page
|
|
178
|
+
};
|
|
179
|
+
if (size !== undefined) {
|
|
180
|
+
invokeOptions.size = size;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Include additional invoke options if provided (for table sorting/filtering)
|
|
184
|
+
if (datasourceInvokeOptions) {
|
|
185
|
+
// Merge the additional options with page/size
|
|
186
|
+
Object.assign(invokeOptions, datasourceInvokeOptions);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// Wrap the result in Promise.resolve to handle cases where invoke doesn't return a Promise
|
|
190
|
+
var result = datasource.invoke(invokeOptions);
|
|
191
|
+
return Promise.resolve(result).then(function (response) {
|
|
192
|
+
isFetchingRef.current = false;
|
|
193
|
+
|
|
194
|
+
// For accumulating mode (Scroll/On-Demand), we need to accumulate data instead of replacing
|
|
195
|
+
if (isScrollMode && response && response.data) {
|
|
196
|
+
// Get the new accumulated data using ref to avoid circular dependency
|
|
197
|
+
var currentAccumulatedData = accumulatingStateRef.current.accumulatedData;
|
|
198
|
+
|
|
199
|
+
// Ensure unique row IDs using the existing utility
|
|
200
|
+
var newDataWithIds = (0, _utils.addUniqueRowIds)(response.data);
|
|
201
|
+
var newAccumulatedData = [].concat((0, _toConsumableArray2["default"])(currentAccumulatedData), (0, _toConsumableArray2["default"])(newDataWithIds));
|
|
202
|
+
setAccumulatingState(function (prev) {
|
|
203
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
204
|
+
accumulatedData: newAccumulatedData,
|
|
205
|
+
lastLoadedPage: page
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
// Immediately update the data state with accumulated data
|
|
210
|
+
setDataState(function (prev) {
|
|
211
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
212
|
+
fullData: newAccumulatedData,
|
|
213
|
+
result: newAccumulatedData
|
|
214
|
+
});
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
return response;
|
|
218
|
+
})["catch"](function (error) {
|
|
219
|
+
isFetchingRef.current = false;
|
|
220
|
+
console.error("Error fetching page data:", error);
|
|
221
|
+
setPaginationState(function (prev) {
|
|
222
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
223
|
+
error: error.message || "Failed to fetch page data"
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
return Promise.reject(error);
|
|
227
|
+
});
|
|
228
|
+
} catch (error) {
|
|
229
|
+
isFetchingRef.current = false;
|
|
230
|
+
console.error("Error invoking datasource:", error);
|
|
231
|
+
setPaginationState(function (prev) {
|
|
232
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
233
|
+
error: error.message || "Failed to invoke datasource"
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
return Promise.reject(error);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return Promise.resolve();
|
|
240
|
+
}, [datasource, isServerSidePagination, datasourceInvokeOptions]);
|
|
241
|
+
|
|
242
|
+
// Function to load more data for Scroll and On-Demand navigation
|
|
243
|
+
var loadMoreData = (0, _react.useCallback)(function (event) {
|
|
244
|
+
// Support both Scroll and On-Demand navigation
|
|
245
|
+
var isAccumulatingMode = navigation === "Scroll" || navigation === "On-Demand";
|
|
246
|
+
if (!isAccumulatingMode || isLastPage || isFetchingRef.current) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
// For client-side pagination (non-server), just show more items
|
|
251
|
+
if (!isServerSidePagination) {
|
|
252
|
+
var currentVisible = accumulatingStateRef.current.accumulatedData.length;
|
|
253
|
+
var totalAvailable = dataState.fullData.length;
|
|
254
|
+
var nextBatchSize = paginationState.currentMaxResults;
|
|
255
|
+
var newVisibleCount = Math.min(currentVisible + nextBatchSize, totalAvailable);
|
|
256
|
+
|
|
257
|
+
// Get next batch of data
|
|
258
|
+
var nextBatch = dataState.fullData.slice(currentVisible, newVisibleCount);
|
|
259
|
+
var newAccumulatedData = [].concat((0, _toConsumableArray2["default"])(accumulatingStateRef.current.accumulatedData), (0, _toConsumableArray2["default"])(nextBatch));
|
|
260
|
+
setAccumulatingState(function (prev) {
|
|
261
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
262
|
+
accumulatedData: newAccumulatedData,
|
|
263
|
+
lastLoadedPage: prev.lastLoadedPage + 1
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
// Update the result to show accumulated data
|
|
268
|
+
setDataState(function (prev) {
|
|
269
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
270
|
+
result: newAccumulatedData
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
// Update current page
|
|
275
|
+
var _nextPage = accumulatingStateRef.current.lastLoadedPage + 1;
|
|
276
|
+
setPaginationState(function (prev) {
|
|
277
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
278
|
+
currentPage: _nextPage
|
|
279
|
+
});
|
|
280
|
+
});
|
|
281
|
+
if (onPaginationChange) {
|
|
282
|
+
onPaginationChange(event || createDummyEvent("paginationchange"), widgetInstance, _nextPage);
|
|
283
|
+
}
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// Server-side pagination
|
|
288
|
+
var nextPage = accumulatingStateRef.current.lastLoadedPage + 1;
|
|
289
|
+
if (setIsLoadingMore) {
|
|
290
|
+
setIsLoadingMore(true);
|
|
291
|
+
}
|
|
292
|
+
datasourceInvoke(nextPage, paginationState.currentMaxResults, true).then(function () {
|
|
293
|
+
setPaginationState(function (prev) {
|
|
294
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
295
|
+
currentPage: nextPage
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
if (onPaginationChange) {
|
|
299
|
+
onPaginationChange(event || createDummyEvent("paginationchange"), widgetInstance, nextPage);
|
|
300
|
+
}
|
|
301
|
+
if (setIsLoadingMore) {
|
|
302
|
+
setIsLoadingMore(false);
|
|
303
|
+
}
|
|
304
|
+
})["catch"](function () {
|
|
305
|
+
if (setIsLoadingMore) {
|
|
306
|
+
setIsLoadingMore(false);
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
}, [navigation, isServerSidePagination, isLastPage, setIsLoadingMore, datasourceInvoke, paginationState.currentMaxResults, onPaginationChange, widgetInstance, dataState.fullData]);
|
|
310
|
+
|
|
311
|
+
// Function to reset accumulated data (for View Less button in On-Demand navigation)
|
|
312
|
+
var resetAccumulatedData = (0, _react.useCallback)(function (event) {
|
|
313
|
+
if (navigation === "Scroll") {
|
|
314
|
+
sentinelHasLeftViewportRef.current = false;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// Set resetting flag to prevent dataset prop from overwriting our reset
|
|
318
|
+
isResettingRef.current = true;
|
|
319
|
+
|
|
320
|
+
// Reset to initial state
|
|
321
|
+
setAccumulatingState({
|
|
322
|
+
accumulatedData: [],
|
|
323
|
+
lastLoadedPage: 0,
|
|
324
|
+
isAccumulating: navigation === "Scroll" || navigation === "On-Demand",
|
|
325
|
+
isInitialized: false
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
// Immediately clear the result data to trigger UI update
|
|
329
|
+
setDataState(function (prev) {
|
|
330
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
331
|
+
result: []
|
|
332
|
+
});
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
// Reset current page to 1
|
|
336
|
+
setPaginationState(function (prev) {
|
|
337
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
338
|
+
currentPage: 1
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
|
|
342
|
+
// Immediately trigger pagination change callback to reset table's page index
|
|
343
|
+
if (onPaginationChange) {
|
|
344
|
+
onPaginationChange(event || createDummyEvent(), widgetInstance, 1);
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
// For client-side, reset result to first page
|
|
348
|
+
if (!isServerSidePagination && dataState.fullData.length > 0) {
|
|
349
|
+
var firstPageData = dataState.fullData.slice(0, paginationState.currentMaxResults);
|
|
350
|
+
setDataState(function (prev) {
|
|
351
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
352
|
+
result: firstPageData
|
|
353
|
+
});
|
|
354
|
+
});
|
|
355
|
+
|
|
356
|
+
// Re-initialize with first page data
|
|
357
|
+
setTimeout(function () {
|
|
358
|
+
setAccumulatingState({
|
|
359
|
+
accumulatedData: firstPageData,
|
|
360
|
+
lastLoadedPage: 1,
|
|
361
|
+
isAccumulating: true,
|
|
362
|
+
isInitialized: true
|
|
363
|
+
});
|
|
364
|
+
}, 0);
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
// For server-side, refetch first page
|
|
368
|
+
if (isServerSidePagination && datasource && typeof datasource.invoke === "function") {
|
|
369
|
+
if (setIsLoadingMore) {
|
|
370
|
+
setIsLoadingMore(true);
|
|
371
|
+
}
|
|
372
|
+
var invokeOptions = {
|
|
373
|
+
page: 1
|
|
374
|
+
};
|
|
375
|
+
|
|
376
|
+
// Include additional options if provided
|
|
377
|
+
if (datasourceInvokeOptions) {
|
|
378
|
+
Object.assign(invokeOptions, datasourceInvokeOptions);
|
|
379
|
+
}
|
|
380
|
+
var result = datasource.invoke(invokeOptions);
|
|
381
|
+
Promise.resolve(result).then(function (response) {
|
|
382
|
+
if (response && response.data) {
|
|
383
|
+
var newDataWithIds = (0, _utils.addUniqueRowIds)(response.data);
|
|
384
|
+
setAccumulatingState({
|
|
385
|
+
accumulatedData: newDataWithIds,
|
|
386
|
+
lastLoadedPage: 1,
|
|
387
|
+
isAccumulating: true,
|
|
388
|
+
isInitialized: true
|
|
389
|
+
});
|
|
390
|
+
setDataState(function (prev) {
|
|
391
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
392
|
+
fullData: newDataWithIds,
|
|
393
|
+
result: newDataWithIds
|
|
394
|
+
});
|
|
395
|
+
});
|
|
396
|
+
// Clear resetting flag after successfully setting new data
|
|
397
|
+
isResettingRef.current = false;
|
|
398
|
+
}
|
|
399
|
+
if (setIsLoadingMore) {
|
|
400
|
+
setIsLoadingMore(false);
|
|
401
|
+
}
|
|
402
|
+
})["catch"](function () {
|
|
403
|
+
// Clear resetting flag on error
|
|
404
|
+
isResettingRef.current = false;
|
|
405
|
+
if (setIsLoadingMore) {
|
|
406
|
+
setIsLoadingMore(false);
|
|
407
|
+
}
|
|
408
|
+
});
|
|
409
|
+
} else {
|
|
410
|
+
// For client-side, clear resetting flag after setTimeout
|
|
411
|
+
setTimeout(function () {
|
|
412
|
+
isResettingRef.current = false;
|
|
413
|
+
}, 0);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
// Note: Pagination change callback is already called above when resetting state
|
|
417
|
+
}, [navigation, isServerSidePagination, datasource, datasourceInvokeOptions, dataState.fullData, paginationState.currentMaxResults, setIsLoadingMore, onPaginationChange, widgetInstance]);
|
|
418
|
+
|
|
419
|
+
// Vertical/column: sentinel in footer, root = viewport (null). Row/horizontal: sentinel inside list, root = list scroll container.
|
|
420
|
+
var isRowScroll = navigation === "Scroll" && (listDirection === "row" || listDirection === "horizontal");
|
|
421
|
+
|
|
422
|
+
// Single IntersectionObserver for both directions: root = viewport (vertical) or list scroll container (row)
|
|
423
|
+
var setupInfiniteScrollObserver = (0, _react.useCallback)(function (sentinel, scrollRoot) {
|
|
424
|
+
if (observerRef.current) {
|
|
425
|
+
observerRef.current.disconnect();
|
|
426
|
+
observerRef.current = null;
|
|
427
|
+
}
|
|
428
|
+
if (!sentinel || navigation !== "Scroll" || !accumulatingStateRef.current.isInitialized) {
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
if (isRowScroll && !scrollRoot) {
|
|
432
|
+
return; // Row needs list container as root; sentinel is inside list
|
|
433
|
+
}
|
|
434
|
+
observerRef.current = new IntersectionObserver(function (entries) {
|
|
435
|
+
var entry = entries[0];
|
|
436
|
+
if (!entry.isIntersecting && sentinelHasLeftViewportRef.current === false) {
|
|
437
|
+
sentinelHasLeftViewportRef.current = true;
|
|
438
|
+
}
|
|
439
|
+
if (entry.isIntersecting && accumulatingStateRef.current.isInitialized && !isLastPage && !isFetchingRef.current && sentinelHasLeftViewportRef.current) {
|
|
440
|
+
loadMoreData();
|
|
441
|
+
sentinelHasLeftViewportRef.current = false;
|
|
442
|
+
}
|
|
443
|
+
}, {
|
|
444
|
+
root: scrollRoot !== null && scrollRoot !== void 0 ? scrollRoot : null,
|
|
445
|
+
rootMargin: isRowScroll ? "0px" : "100px",
|
|
446
|
+
threshold: 0.1
|
|
447
|
+
});
|
|
448
|
+
observerRef.current.observe(sentinel);
|
|
449
|
+
}, [navigation, isLastPage, loadMoreData, listDirection, isRowScroll]);
|
|
450
|
+
|
|
451
|
+
// Function to reset the paging values to default
|
|
452
|
+
|
|
453
|
+
// Function to calculate the paging values
|
|
454
|
+
|
|
455
|
+
// Function to set default values to the paging parameters
|
|
456
|
+
var setDefaultPagingValues = (0, _react.useCallback)(function (newDataSize, newMaxResults, currentPage) {
|
|
457
|
+
setPaginationState(function (prev) {
|
|
458
|
+
// If neither 'dataSize' nor 'maxResults' is set, then set default values to the paging parameters
|
|
459
|
+
if (!newDataSize && !newMaxResults) {
|
|
460
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
461
|
+
pageCount: 1,
|
|
462
|
+
dataSize: newDataSize,
|
|
463
|
+
currentPage: currentPage !== undefined ? currentPage : prev.currentPage
|
|
464
|
+
});
|
|
465
|
+
} else {
|
|
466
|
+
// Else, set the specified values and recalculate paging parameters
|
|
467
|
+
var updatedMaxResults = newMaxResults || prev.currentMaxResults;
|
|
468
|
+
var updatedDataSize = newDataSize !== undefined ? newDataSize : prev.dataSize;
|
|
469
|
+
var updatedCurrentPage = currentPage !== undefined ? currentPage : prev.currentPage;
|
|
470
|
+
|
|
471
|
+
// Calculate page count based on updated values
|
|
472
|
+
// Use paginationMeta.totalPages if available
|
|
473
|
+
var newPageCount = (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalPages) !== undefined && (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalPages) > 1 ? paginationMeta.totalPages : updatedDataSize > updatedMaxResults ? Math.ceil(updatedDataSize / updatedMaxResults) : updatedDataSize < 0 ? 0 : 1;
|
|
474
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
475
|
+
currentPage: updatedCurrentPage,
|
|
476
|
+
dataSize: updatedDataSize,
|
|
477
|
+
pageCount: newPageCount
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
});
|
|
481
|
+
}, [paginationMeta]);
|
|
482
|
+
|
|
483
|
+
// Function to disable navigation based on the current and total pages
|
|
484
|
+
var disableNavigation = (0, _react.useCallback)(function () {
|
|
485
|
+
setDisableStates({
|
|
486
|
+
isDisableFirst: isFirstPage,
|
|
487
|
+
isDisablePrevious: isFirstPage,
|
|
488
|
+
isDisableNext: isLastPage,
|
|
489
|
+
isDisableLast: isLastPage,
|
|
490
|
+
isDisableCurrent: isFirstPage && isLastPage,
|
|
491
|
+
isDisableCount: false
|
|
492
|
+
});
|
|
493
|
+
}, [isFirstPage, isLastPage]);
|
|
494
|
+
|
|
495
|
+
// Set non-pageable data
|
|
496
|
+
var setNonPageableData = (0, _react.useCallback)(function (newVal) {
|
|
497
|
+
var newDataSize, newMaxResults, currentPage, startIndex;
|
|
498
|
+
|
|
499
|
+
// For server-side pagination, use totalItems or paginationMeta.totalElements as dataSize
|
|
500
|
+
// This represents the total count of all records, not just the current page
|
|
501
|
+
if (isServerSidePagination) {
|
|
502
|
+
var serverTotalCount = totalItems !== null && totalItems !== void 0 ? totalItems : paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements;
|
|
503
|
+
newDataSize = serverTotalCount !== undefined && serverTotalCount >= 0 ? serverTotalCount : (0, _lodash.isArray)(newVal) ? newVal.length : (0, _lodash.isEmpty)(newVal) ? 0 : 1;
|
|
504
|
+
} else {
|
|
505
|
+
// For client-side pagination, use the array length
|
|
506
|
+
newDataSize = (0, _lodash.isArray)(newVal) ? newVal.length : (0, _lodash.isEmpty)(newVal) ? 0 : 1;
|
|
507
|
+
}
|
|
508
|
+
newMaxResults = paginationState.currentMaxResults || newDataSize;
|
|
509
|
+
// Don't default to 1 if currentPage exists
|
|
510
|
+
currentPage = paginationState.currentPage;
|
|
511
|
+
setDefaultPagingValues(newDataSize, newMaxResults, currentPage);
|
|
512
|
+
disableNavigation();
|
|
513
|
+
startIndex = (currentPage - 1) * newMaxResults;
|
|
514
|
+
setDataState(function (prev) {
|
|
515
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
516
|
+
result: (0, _lodash.isArray)(newVal) ? newVal.slice(startIndex, startIndex + newMaxResults) : newVal
|
|
517
|
+
});
|
|
518
|
+
});
|
|
519
|
+
}, [paginationState.currentPage, paginationState.currentMaxResults, disableNavigation, setDefaultPagingValues, isServerSidePagination, totalItems, paginationMeta]);
|
|
520
|
+
|
|
521
|
+
// Set pagination values
|
|
522
|
+
var setPagingValues = (0, _react.useCallback)(function (newVal) {
|
|
523
|
+
// Check if we're in accumulating mode (Scroll or On-Demand with server-side pagination)
|
|
524
|
+
var isAccumulatingMode = (navigation === "Scroll" || navigation === "On-Demand") && isServerSidePagination;
|
|
525
|
+
if (isAccumulatingMode) {
|
|
526
|
+
// Use ref to check accumulated data to avoid circular dependency
|
|
527
|
+
var currentAccumulatedData = accumulatingStateRef.current.accumulatedData;
|
|
528
|
+
|
|
529
|
+
// Only update on initial load (when accumulated data is empty)
|
|
530
|
+
if (currentAccumulatedData.length === 0 && (0, _lodash.isArray)(newVal)) {
|
|
531
|
+
// Ensure initial data has unique IDs using the existing utility
|
|
532
|
+
var initialDataWithIds = (0, _utils.addUniqueRowIds)(newVal);
|
|
533
|
+
setAccumulatingState(function (prev) {
|
|
534
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
535
|
+
accumulatedData: initialDataWithIds,
|
|
536
|
+
lastLoadedPage: 1,
|
|
537
|
+
isInitialized: true
|
|
538
|
+
});
|
|
539
|
+
});
|
|
540
|
+
setDataState(function (prev) {
|
|
541
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
542
|
+
fullData: initialDataWithIds,
|
|
543
|
+
result: initialDataWithIds
|
|
544
|
+
});
|
|
545
|
+
});
|
|
546
|
+
} else if (currentAccumulatedData.length > 0) {
|
|
547
|
+
// For subsequent updates in accumulating mode, always use accumulated data
|
|
548
|
+
setDataState(function (prev) {
|
|
549
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
550
|
+
fullData: currentAccumulatedData,
|
|
551
|
+
result: currentAccumulatedData
|
|
552
|
+
});
|
|
553
|
+
});
|
|
554
|
+
}
|
|
555
|
+
// Always return early for accumulating mode to prevent normal pagination logic
|
|
556
|
+
return;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
// For On-Demand with client-side pagination
|
|
560
|
+
if (navigation === "On-Demand" && !isServerSidePagination) {
|
|
561
|
+
// Store the full data
|
|
562
|
+
setDataState(function (prev) {
|
|
563
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
564
|
+
fullData: (0, _lodash.isArray)(newVal) ? newVal : []
|
|
565
|
+
});
|
|
566
|
+
});
|
|
567
|
+
var _currentAccumulatedData = accumulatingStateRef.current.accumulatedData;
|
|
568
|
+
|
|
569
|
+
// Initialize accumulated data with first page if empty
|
|
570
|
+
if (_currentAccumulatedData.length === 0 && (0, _lodash.isArray)(newVal) && newVal.length > 0) {
|
|
571
|
+
var firstPageData = newVal.slice(0, paginationState.currentMaxResults);
|
|
572
|
+
setAccumulatingState(function (prev) {
|
|
573
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
574
|
+
accumulatedData: firstPageData,
|
|
575
|
+
lastLoadedPage: 1,
|
|
576
|
+
isInitialized: true
|
|
577
|
+
});
|
|
578
|
+
});
|
|
579
|
+
setDataState(function (prev) {
|
|
580
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
581
|
+
result: firstPageData
|
|
582
|
+
});
|
|
583
|
+
});
|
|
584
|
+
} else if (_currentAccumulatedData.length > 0) {
|
|
585
|
+
// Use accumulated data for result
|
|
586
|
+
setDataState(function (prev) {
|
|
587
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
588
|
+
result: _currentAccumulatedData
|
|
589
|
+
});
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
// Update dataSize for proper pagination calculation
|
|
594
|
+
if ((0, _lodash.isArray)(newVal)) {
|
|
595
|
+
setDefaultPagingValues(newVal.length, paginationState.currentMaxResults, 1);
|
|
596
|
+
}
|
|
597
|
+
return;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
// Standard pagination logic
|
|
601
|
+
// Store the data in fullData. This is used for client side searching without modifying the actual dataset
|
|
602
|
+
setDataState(function (prev) {
|
|
603
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
604
|
+
fullData: (0, _lodash.isArray)(newVal) ? newVal : []
|
|
605
|
+
});
|
|
606
|
+
});
|
|
607
|
+
if (newVal && !(0, _lodash.isArray)(newVal)) {
|
|
608
|
+
setNonPageableData(newVal);
|
|
609
|
+
} else if (newVal) {
|
|
610
|
+
setNonPageableData(newVal);
|
|
611
|
+
} else {
|
|
612
|
+
setDataState(function (prev) {
|
|
613
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
614
|
+
result: newVal
|
|
615
|
+
});
|
|
616
|
+
});
|
|
617
|
+
// Don't reset page navigation when dataset is empty - just update counts
|
|
618
|
+
setPaginationState(function (prev) {
|
|
619
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
620
|
+
pageCount: 0,
|
|
621
|
+
dataSize: 0
|
|
622
|
+
});
|
|
623
|
+
});
|
|
624
|
+
}
|
|
625
|
+
}, [setNonPageableData, navigation, isServerSidePagination, paginationState.currentMaxResults, setDefaultPagingValues]);
|
|
626
|
+
|
|
627
|
+
// Validate current page
|
|
628
|
+
var validateCurrentPage = (0, _react.useCallback)(function (event) {
|
|
629
|
+
var currentPage = paginationState.currentPage,
|
|
630
|
+
pageCount = paginationState.pageCount;
|
|
631
|
+
// If the value entered is greater than the last page number or invalid value, then update the page
|
|
632
|
+
if (event && (isNaN(currentPage) || currentPage <= 0 || pageCount && (currentPage > pageCount || (0, _lodash.isNull)(currentPage)))) {
|
|
633
|
+
if (currentPage <= 0) {
|
|
634
|
+
setPaginationState(function (prev) {
|
|
635
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
636
|
+
currentPage: 1
|
|
637
|
+
});
|
|
638
|
+
});
|
|
639
|
+
} else if (currentPage > pageCount) {
|
|
640
|
+
setPaginationState(function (prev) {
|
|
641
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
642
|
+
currentPage: pageCount
|
|
643
|
+
});
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
return false;
|
|
647
|
+
}
|
|
648
|
+
return true;
|
|
649
|
+
}, [paginationState]);
|
|
650
|
+
|
|
651
|
+
// Go to page
|
|
652
|
+
var goToPage = (0, _react.useCallback)(function () {
|
|
653
|
+
var currentPage = paginationState.currentPage,
|
|
654
|
+
currentMaxResults = paginationState.currentMaxResults;
|
|
655
|
+
var fullData = dataState.fullData;
|
|
656
|
+
var firstRow = (currentPage - 1) * currentMaxResults;
|
|
657
|
+
var startIndex = firstRow;
|
|
658
|
+
var data = (0, _lodash.isArray)(fullData) ? fullData.slice(startIndex, startIndex + currentMaxResults) : fullData;
|
|
659
|
+
setDataState(function (prev) {
|
|
660
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
661
|
+
result: data
|
|
662
|
+
});
|
|
663
|
+
});
|
|
664
|
+
disableNavigation();
|
|
665
|
+
}, [paginationState, dataState.fullData, disableNavigation]);
|
|
666
|
+
|
|
667
|
+
// Shared function for common pagination logic
|
|
668
|
+
var performPageNavigation = (0, _react.useCallback)(function (newPage, previousPage, event) {
|
|
669
|
+
// Set loading state if available
|
|
670
|
+
if (setIsLoadingMore) {
|
|
671
|
+
setIsLoadingMore(true);
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
// Always update the current page immediately for better UX
|
|
675
|
+
setPaginationState(function (prev) {
|
|
676
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
677
|
+
currentPage: newPage
|
|
678
|
+
});
|
|
679
|
+
});
|
|
680
|
+
|
|
681
|
+
// If server-side pagination is enabled, use API-based pagination
|
|
682
|
+
if (isServerSidePagination) {
|
|
683
|
+
datasourceInvoke(newPage).then(function () {
|
|
684
|
+
// Only trigger callbacks on successful data fetch
|
|
685
|
+
if (onPaginationChange) {
|
|
686
|
+
onPaginationChange(event || createDummyEvent("paginationchange"), widgetInstance, newPage);
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
// Call onSetRecord with the new page data
|
|
690
|
+
if (onSetRecord) {
|
|
691
|
+
var firstRow = (newPage - 1) * paginationState.currentMaxResults;
|
|
692
|
+
var startIndex = firstRow;
|
|
693
|
+
var data = (0, _lodash.isArray)(dataState.fullData) ? dataState.fullData.slice(startIndex, startIndex + paginationState.currentMaxResults) : dataState.fullData;
|
|
694
|
+
var pageInfo = {
|
|
695
|
+
currentPage: newPage,
|
|
696
|
+
size: paginationState.currentMaxResults,
|
|
697
|
+
totalElements: (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements) || dataState.fullData.length,
|
|
698
|
+
totalPages: paginationState.pageCount
|
|
699
|
+
};
|
|
700
|
+
onSetRecord(event || createDummyEvent("setrecord"), widgetInstance, data, pageInfo);
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
// Clear loading state immediately for better UX
|
|
704
|
+
if (setIsLoadingMore) {
|
|
705
|
+
setIsLoadingMore(false);
|
|
706
|
+
}
|
|
707
|
+
})["catch"](function () {
|
|
708
|
+
// If the data fetch fails, revert to the previous page
|
|
709
|
+
setPaginationState(function (prev) {
|
|
710
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
711
|
+
currentPage: previousPage || paginationState.currentPage
|
|
712
|
+
});
|
|
713
|
+
});
|
|
714
|
+
|
|
715
|
+
// Clear loading state
|
|
716
|
+
if (setIsLoadingMore) {
|
|
717
|
+
setIsLoadingMore(false);
|
|
718
|
+
}
|
|
719
|
+
});
|
|
720
|
+
} else {
|
|
721
|
+
// Client-side pagination - no API call needed
|
|
722
|
+
// Just trigger the callbacks directly
|
|
723
|
+
if (onPaginationChange) {
|
|
724
|
+
onPaginationChange(event || createDummyEvent("paginationchange"), widgetInstance, newPage);
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
// Call onSetRecord with the new page data
|
|
728
|
+
if (onSetRecord) {
|
|
729
|
+
var firstRow = (newPage - 1) * paginationState.currentMaxResults;
|
|
730
|
+
var startIndex = firstRow;
|
|
731
|
+
var data = (0, _lodash.isArray)(dataState.fullData) ? dataState.fullData.slice(startIndex, startIndex + paginationState.currentMaxResults) : dataState.fullData;
|
|
732
|
+
var pageInfo = {
|
|
733
|
+
currentPage: newPage,
|
|
734
|
+
size: paginationState.currentMaxResults,
|
|
735
|
+
totalElements: (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements) || dataState.fullData.length,
|
|
736
|
+
totalPages: paginationState.pageCount
|
|
737
|
+
};
|
|
738
|
+
onSetRecord(event || createDummyEvent("setrecord"), widgetInstance, data, pageInfo);
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
// Clear loading state immediately - no delay needed for client-side pagination
|
|
742
|
+
if (setIsLoadingMore) {
|
|
743
|
+
setIsLoadingMore(false);
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
}, [isServerSidePagination, datasourceInvoke, onPaginationChange, onSetRecord, widgetInstance, paginationState, dataState.fullData, setIsLoadingMore, paginationMeta]);
|
|
747
|
+
|
|
748
|
+
// Navigate to page
|
|
749
|
+
var navigatePage = (0, _react.useCallback)(function (index, event) {
|
|
750
|
+
var isRefresh = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
751
|
+
// Convert the current page to a valid page number
|
|
752
|
+
var currentPage = +paginationState.currentPage;
|
|
753
|
+
var newPage = currentPage;
|
|
754
|
+
switch (index) {
|
|
755
|
+
case "first":
|
|
756
|
+
if (!isFirstPage) {
|
|
757
|
+
newPage = 1;
|
|
758
|
+
} else if (isRefresh) {
|
|
759
|
+
goToPage();
|
|
760
|
+
return;
|
|
761
|
+
} else {
|
|
762
|
+
return;
|
|
763
|
+
}
|
|
764
|
+
break;
|
|
765
|
+
case "prev":
|
|
766
|
+
// Return if already on the first page or invalid page
|
|
767
|
+
if (isFirstPage || !validateCurrentPage(event)) {
|
|
768
|
+
return;
|
|
769
|
+
}
|
|
770
|
+
// Decrement the current page by 1
|
|
771
|
+
newPage = currentPage - 1;
|
|
772
|
+
break;
|
|
773
|
+
case "next":
|
|
774
|
+
// Return if already on the last page or invalid page
|
|
775
|
+
if (isLastPage || !validateCurrentPage(event)) {
|
|
776
|
+
return;
|
|
777
|
+
}
|
|
778
|
+
// Increment the current page by 1
|
|
779
|
+
newPage = currentPage + 1;
|
|
780
|
+
break;
|
|
781
|
+
case "last":
|
|
782
|
+
if (!isLastPage) {
|
|
783
|
+
newPage = paginationState.pageCount;
|
|
784
|
+
} else if (isRefresh) {
|
|
785
|
+
goToPage();
|
|
786
|
+
return;
|
|
787
|
+
} else {
|
|
788
|
+
return;
|
|
789
|
+
}
|
|
790
|
+
break;
|
|
791
|
+
default:
|
|
792
|
+
return;
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
// Call handlers only when page actually changes
|
|
796
|
+
if (newPage !== currentPage) {
|
|
797
|
+
performPageNavigation(newPage, currentPage, event);
|
|
798
|
+
}
|
|
799
|
+
}, [paginationState, isFirstPage, isLastPage, validateCurrentPage, goToPage, performPageNavigation]);
|
|
800
|
+
|
|
801
|
+
// Handle page change for basic pagination
|
|
802
|
+
var handlePageChange = (0, _react.useCallback)(function (event, page) {
|
|
803
|
+
// Do not call goToPage if page has not changed
|
|
804
|
+
if (page !== paginationState.currentPage) {
|
|
805
|
+
// Save current page to restore in case of error
|
|
806
|
+
var previousPage = paginationState.currentPage;
|
|
807
|
+
performPageNavigation(page, previousPage, event);
|
|
808
|
+
}
|
|
809
|
+
}, [paginationState.currentPage, performPageNavigation]);
|
|
810
|
+
|
|
811
|
+
// Handle input change for classic pagination
|
|
812
|
+
var handleInputChange = (0, _react.useCallback)(function (event) {
|
|
813
|
+
var value = parseInt(event.target.value, 10);
|
|
814
|
+
if (!isNaN(value)) {
|
|
815
|
+
setPaginationState(function (prev) {
|
|
816
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
817
|
+
currentPage: value
|
|
818
|
+
});
|
|
819
|
+
});
|
|
820
|
+
}
|
|
821
|
+
}, []);
|
|
822
|
+
|
|
823
|
+
// Handle model change
|
|
824
|
+
var onModelChange = (0, _react.useCallback)(function (event) {
|
|
825
|
+
if (!validateCurrentPage(event)) {
|
|
826
|
+
return;
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
// Call onSetRecord with the current page data
|
|
830
|
+
if (onSetRecord) {
|
|
831
|
+
var currentPage = paginationState.currentPage,
|
|
832
|
+
currentMaxResults = paginationState.currentMaxResults,
|
|
833
|
+
pageCount = paginationState.pageCount;
|
|
834
|
+
var fullData = dataState.fullData;
|
|
835
|
+
var firstRow = (currentPage - 1) * currentMaxResults;
|
|
836
|
+
var startIndex = firstRow;
|
|
837
|
+
var data = (0, _lodash.isArray)(fullData) ? fullData.slice(startIndex, startIndex + currentMaxResults) : fullData;
|
|
838
|
+
var pageInfo = {
|
|
839
|
+
currentPage: currentPage,
|
|
840
|
+
size: currentMaxResults,
|
|
841
|
+
totalElements: (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements) || fullData.length,
|
|
842
|
+
totalPages: pageCount
|
|
843
|
+
};
|
|
844
|
+
onSetRecord(event, widgetInstance, data, pageInfo);
|
|
845
|
+
}
|
|
846
|
+
goToPage();
|
|
847
|
+
}, [goToPage, validateCurrentPage, onSetRecord, paginationState, dataState.fullData, widgetInstance, paginationMeta]);
|
|
848
|
+
|
|
849
|
+
// Handle key down
|
|
850
|
+
var onKeyDown = (0, _react.useCallback)(function (event) {
|
|
851
|
+
if (event.code === "KeyE") {
|
|
852
|
+
event.currentTarget.classList.add("ng-invalid");
|
|
853
|
+
return false;
|
|
854
|
+
}
|
|
855
|
+
event.currentTarget.classList.remove("ng-invalid");
|
|
856
|
+
return true;
|
|
857
|
+
}, []);
|
|
858
|
+
|
|
859
|
+
// Handle page size change
|
|
860
|
+
var handlePageSizeChange = (0, _react.useCallback)(function (event, pageSize) {
|
|
861
|
+
var oldPageSize = paginationState.currentMaxResults,
|
|
862
|
+
oldPage = paginationState.currentPage,
|
|
863
|
+
dataSize = paginationState.dataSize;
|
|
864
|
+
|
|
865
|
+
// Store actualPageSize (the previous page size) similar to Angular
|
|
866
|
+
var actualPageSize = oldPageSize;
|
|
867
|
+
|
|
868
|
+
// Update datasource maxResults if datasource has paging capability
|
|
869
|
+
if (isDataSourceHasPaging(datasource) && datasource) {
|
|
870
|
+
datasource.maxResults = pageSize;
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
// Update page size and reset to first page (similar to Angular behavior)
|
|
874
|
+
setPaginationState(function (prev) {
|
|
875
|
+
// Calculate new page count
|
|
876
|
+
var newPageCount = calculatePagingValues(dataSize, pageSize);
|
|
877
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
878
|
+
currentMaxResults: pageSize,
|
|
879
|
+
currentPage: 1,
|
|
880
|
+
// Always go to first page like Angular
|
|
881
|
+
pageCount: newPageCount
|
|
882
|
+
});
|
|
883
|
+
});
|
|
884
|
+
|
|
885
|
+
// Set loading state if available
|
|
886
|
+
if (setIsLoadingMore) {
|
|
887
|
+
setIsLoadingMore(true);
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
// Call the external handler if provided
|
|
891
|
+
if (pageSizeChangeHandler) {
|
|
892
|
+
pageSizeChangeHandler(pageSize);
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
// Invoke datasource with new page size for server-side pagination
|
|
896
|
+
if (isServerSidePagination) {
|
|
897
|
+
datasourceInvoke(1, pageSize).then(function () {
|
|
898
|
+
// Trigger paginationchange event
|
|
899
|
+
if (onPaginationChange) {
|
|
900
|
+
onPaginationChange(event || createDummyEvent("paginationchange"), widgetInstance, 1);
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
// Call onSetRecord with the new page data
|
|
904
|
+
if (onSetRecord) {
|
|
905
|
+
var data = (0, _lodash.isArray)(dataState.fullData) ? dataState.fullData.slice(0, pageSize) : dataState.fullData;
|
|
906
|
+
var newPageCount = calculatePagingValues(dataState.fullData.length, pageSize);
|
|
907
|
+
var pageInfo = {
|
|
908
|
+
currentPage: 1,
|
|
909
|
+
size: pageSize,
|
|
910
|
+
totalElements: (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements) || dataState.fullData.length,
|
|
911
|
+
totalPages: newPageCount
|
|
912
|
+
};
|
|
913
|
+
onSetRecord(event || createDummyEvent("setrecord"), widgetInstance, data, pageInfo);
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
// Clear loading state
|
|
917
|
+
if (setIsLoadingMore) {
|
|
918
|
+
setIsLoadingMore(false);
|
|
919
|
+
}
|
|
920
|
+
})["catch"](function () {
|
|
921
|
+
// Clear loading state on error
|
|
922
|
+
if (setIsLoadingMore) {
|
|
923
|
+
setIsLoadingMore(false);
|
|
924
|
+
}
|
|
925
|
+
});
|
|
926
|
+
} else {
|
|
927
|
+
// For client-side pagination, navigate to first page
|
|
928
|
+
setTimeout(function () {
|
|
929
|
+
navigatePage("first", event, true);
|
|
930
|
+
}, 0);
|
|
931
|
+
|
|
932
|
+
// Clear loading state immediately for client-side pagination
|
|
933
|
+
if (setIsLoadingMore) {
|
|
934
|
+
setIsLoadingMore(false);
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
}, [pageSizeChangeHandler, navigatePage, datasource, paginationState, isServerSidePagination, datasourceInvoke, onPaginationChange, onSetRecord, widgetInstance, dataState.fullData, setIsLoadingMore, paginationMeta]);
|
|
938
|
+
|
|
939
|
+
// Effect for navigation controls
|
|
940
|
+
(0, _react.useEffect)(function () {
|
|
941
|
+
setNavcontrols(getValidNavControl(navigation));
|
|
942
|
+
|
|
943
|
+
// Reset accumulated data state when navigation changes to Scroll or On-Demand
|
|
944
|
+
if (navigation === "Scroll" || navigation === "On-Demand") {
|
|
945
|
+
setAccumulatingState({
|
|
946
|
+
accumulatedData: [],
|
|
947
|
+
lastLoadedPage: 0,
|
|
948
|
+
isAccumulating: true,
|
|
949
|
+
isInitialized: false
|
|
950
|
+
});
|
|
951
|
+
}
|
|
952
|
+
}, [navigation]);
|
|
953
|
+
|
|
954
|
+
// for dataset changes
|
|
955
|
+
(0, _react.useEffect)(function () {
|
|
956
|
+
if (dataset !== undefined) {
|
|
957
|
+
// Check if we're in accumulating mode (Scroll or On-Demand with server-side pagination)
|
|
958
|
+
var isAccumulatingMode = (navigation === "Scroll" || navigation === "On-Demand") && isServerSidePagination;
|
|
959
|
+
|
|
960
|
+
// For accumulating mode, only process dataset updates if accumulated data is empty
|
|
961
|
+
// This prevents overwriting accumulated data when datasource updates with new page data
|
|
962
|
+
// Also skip if we're currently resetting (to prevent old dataset from overwriting reset)
|
|
963
|
+
if (isAccumulatingMode) {
|
|
964
|
+
var currentAccumulatedData = accumulatingStateRef.current.accumulatedData;
|
|
965
|
+
// Only process dataset if accumulated data is empty (initial load or after reset)
|
|
966
|
+
// AND we're not currently in the middle of a reset operation
|
|
967
|
+
if (currentAccumulatedData.length === 0 && !isResettingRef.current) {
|
|
968
|
+
setPagingValues(dataset);
|
|
969
|
+
}
|
|
970
|
+
} else {
|
|
971
|
+
// For non-accumulating modes, always process dataset updates
|
|
972
|
+
setPagingValues(dataset);
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
}, [dataset, setPagingValues, navigation, isServerSidePagination]);
|
|
976
|
+
|
|
977
|
+
// For server-side pagination, update dataSize and pageCount based on metadata
|
|
978
|
+
(0, _react.useEffect)(function () {
|
|
979
|
+
if (isServerSidePagination) {
|
|
980
|
+
// Handle totalItems/totalElements
|
|
981
|
+
var totalCount = totalItems !== null && totalItems !== void 0 ? totalItems : paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements;
|
|
982
|
+
if (totalCount !== undefined && totalCount >= 0) {
|
|
983
|
+
setPaginationState(function (prev) {
|
|
984
|
+
var updates = {
|
|
985
|
+
dataSize: totalCount
|
|
986
|
+
};
|
|
987
|
+
|
|
988
|
+
// If totalPages not provided, calculate it
|
|
989
|
+
if ((paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalPages) !== undefined) {
|
|
990
|
+
updates.pageCount = paginationMeta.totalPages;
|
|
991
|
+
} else if (prev.currentMaxResults > 0) {
|
|
992
|
+
updates.pageCount = Math.ceil(totalCount / prev.currentMaxResults) || 1;
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
// Handle edge case: current page is out of range
|
|
996
|
+
if (paginationMeta !== null && paginationMeta !== void 0 && paginationMeta.totalPages && prev.currentPage > paginationMeta.totalPages) {
|
|
997
|
+
updates.currentPage = Math.max(1, paginationMeta.totalPages);
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
// Handle empty results
|
|
1001
|
+
if (totalCount === 0) {
|
|
1002
|
+
updates.pageCount = 1; // Show at least one page for empty results
|
|
1003
|
+
updates.currentPage = 1;
|
|
1004
|
+
}
|
|
1005
|
+
return _objectSpread(_objectSpread({}, prev), updates);
|
|
1006
|
+
});
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
}, [isServerSidePagination, totalItems, paginationMeta]);
|
|
1010
|
+
|
|
1011
|
+
// Sync internal state with currentPage prop changes (for controlled pagination)
|
|
1012
|
+
(0, _react.useEffect)(function () {
|
|
1013
|
+
if (initialPage !== undefined && initialPage !== paginationState.currentPage) {
|
|
1014
|
+
setPaginationState(function (prev) {
|
|
1015
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
1016
|
+
currentPage: initialPage
|
|
1017
|
+
});
|
|
1018
|
+
});
|
|
1019
|
+
// Update navigation buttons when page changes
|
|
1020
|
+
disableNavigation();
|
|
1021
|
+
}
|
|
1022
|
+
}, [initialPage, paginationState.currentPage, disableNavigation]);
|
|
1023
|
+
|
|
1024
|
+
// Sync currentMaxResults when maxResults prop changes (e.g. when table passes updated page size from script/broadcast)
|
|
1025
|
+
(0, _react.useEffect)(function () {
|
|
1026
|
+
if (maxResults !== paginationState.currentMaxResults) {
|
|
1027
|
+
setPaginationState(function (prev) {
|
|
1028
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
1029
|
+
currentMaxResults: maxResults
|
|
1030
|
+
});
|
|
1031
|
+
});
|
|
1032
|
+
}
|
|
1033
|
+
}, [maxResults, paginationState.currentMaxResults]);
|
|
1034
|
+
|
|
1035
|
+
// Re-setup observer when init or direction changes: vertical = viewport root, row = list scroll container root
|
|
1036
|
+
(0, _react.useEffect)(function () {
|
|
1037
|
+
var _scrollContainerRef$c;
|
|
1038
|
+
if (!accumulatingState.isInitialized || !sentinelRef.current || navigation !== "Scroll") return;
|
|
1039
|
+
var scrollRoot = isRowScroll ? (_scrollContainerRef$c = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current) !== null && _scrollContainerRef$c !== void 0 ? _scrollContainerRef$c : null : null;
|
|
1040
|
+
if (isRowScroll && !scrollRoot) return;
|
|
1041
|
+
setupInfiniteScrollObserver(sentinelRef.current, scrollRoot);
|
|
1042
|
+
}, [accumulatingState.isInitialized, navigation, setupInfiniteScrollObserver, isRowScroll]);
|
|
1043
|
+
|
|
1044
|
+
// Cleanup observer on unmount
|
|
1045
|
+
(0, _react.useEffect)(function () {
|
|
1046
|
+
return function () {
|
|
1047
|
+
if (observerRef.current) {
|
|
1048
|
+
observerRef.current.disconnect();
|
|
1049
|
+
observerRef.current = null;
|
|
1050
|
+
}
|
|
1051
|
+
};
|
|
1052
|
+
}, []);
|
|
1053
|
+
return {
|
|
1054
|
+
// State
|
|
1055
|
+
currentPage: paginationState.currentPage,
|
|
1056
|
+
pageCount: paginationState.pageCount,
|
|
1057
|
+
dataSize: paginationState.dataSize,
|
|
1058
|
+
result: dataState.result,
|
|
1059
|
+
navcontrols: navcontrols,
|
|
1060
|
+
currentMaxResults: paginationState.currentMaxResults,
|
|
1061
|
+
error: paginationState.error,
|
|
1062
|
+
// Disable states
|
|
1063
|
+
isDisableNext: disableStates.isDisableNext,
|
|
1064
|
+
isDisablePrevious: disableStates.isDisablePrevious,
|
|
1065
|
+
isDisableFirst: disableStates.isDisableFirst,
|
|
1066
|
+
isDisableLast: disableStates.isDisableLast,
|
|
1067
|
+
isDisableCurrent: disableStates.isDisableCurrent,
|
|
1068
|
+
isDisableCount: disableStates.isDisableCount,
|
|
1069
|
+
// Actions
|
|
1070
|
+
navigatePage: navigatePage,
|
|
1071
|
+
handlePageChange: handlePageChange,
|
|
1072
|
+
handleInputChange: handleInputChange,
|
|
1073
|
+
onModelChange: onModelChange,
|
|
1074
|
+
onKeyDown: onKeyDown,
|
|
1075
|
+
setDn: function setDn(value) {
|
|
1076
|
+
return setPaginationState(function (prev) {
|
|
1077
|
+
return _objectSpread(_objectSpread({}, prev), value);
|
|
1078
|
+
});
|
|
1079
|
+
},
|
|
1080
|
+
handlePageSizeChange: handlePageSizeChange,
|
|
1081
|
+
// Utilities
|
|
1082
|
+
isFirstPage: isFirstPage,
|
|
1083
|
+
isLastPage: isLastPage,
|
|
1084
|
+
isFetching: isFetchingRef.current,
|
|
1085
|
+
// Infinite scroll specific
|
|
1086
|
+
setupInfiniteScrollObserver: setupInfiniteScrollObserver,
|
|
1087
|
+
sentinelRef: sentinelRef,
|
|
1088
|
+
isLoadingMore: isFetchingRef.current && (navigation === "Scroll" || navigation === "On-Demand") && accumulatingStateRef.current.lastLoadedPage > 0,
|
|
1089
|
+
hasMoreData: !isLastPage && (navigation === "Scroll" || navigation === "On-Demand"),
|
|
1090
|
+
// On-Demand specific
|
|
1091
|
+
loadMoreData: loadMoreData,
|
|
1092
|
+
resetAccumulatedData: resetAccumulatedData,
|
|
1093
|
+
accumulatedDataCount: accumulatingStateRef.current.accumulatedData.length
|
|
1094
|
+
};
|
|
1095
|
+
};
|