@wavemaker/react-runtime 11.14.1-15.6409
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.js +32 -0
- package/actions/login-action.js +53 -0
- package/actions/logout-action.js +41 -0
- package/actions/navigation-action.js +145 -0
- package/actions/notification-action.js +147 -0
- package/actions/timer-action.js +164 -0
- package/actions/toast-provider.js +111 -0
- package/actions/toast.js +115 -0
- package/actions/toast.service.js +94 -0
- package/actions/types/index.js +11 -0
- package/components/advanced/carousel/index.js +456 -0
- package/components/advanced/carousel/props.js +5 -0
- package/components/advanced/carousel/template.js +72 -0
- package/components/advanced/login/index.js +307 -0
- package/components/advanced/login/props.js +5 -0
- package/components/advanced/marquee/index.js +158 -0
- package/components/advanced/marquee/props.js +5 -0
- package/components/basic/anchor/index.js +239 -0
- package/components/basic/anchor/props.js +5 -0
- package/components/basic/audio/index.js +61 -0
- package/components/basic/html/index.js +158 -0
- package/components/basic/icon/index.js +85 -0
- package/components/basic/iframe/iframe.utils.js +10 -0
- package/components/basic/iframe/index.js +95 -0
- package/components/basic/label/index.js +139 -0
- package/components/basic/message/index.js +120 -0
- package/components/basic/message/props.js +5 -0
- package/components/basic/picture/index.js +117 -0
- package/components/basic/picture/props.js +5 -0
- package/components/basic/progress-bar/index.js +168 -0
- package/components/basic/progress-bar/props.js +18 -0
- package/components/basic/progress-circle/index.js +196 -0
- package/components/basic/progress-circle/props.js +16 -0
- package/components/basic/richtexteditor/index.js +533 -0
- package/components/basic/richtexteditor/props.js +5 -0
- package/components/basic/search/index.js +1023 -0
- package/components/basic/search/props.js +5 -0
- package/components/basic/search/providers.js +350 -0
- package/components/basic/spinner/index.js +202 -0
- package/components/basic/spinner/props.js +12 -0
- package/components/basic/tile/index.js +91 -0
- package/components/basic/tree/Components/TreeNodeComponent.js +142 -0
- package/components/basic/tree/index.js +503 -0
- package/components/basic/tree/props.js +5 -0
- package/components/basic/tree/utils.js +154 -0
- package/components/basic/video/index.js +85 -0
- package/components/basic/video/props.js +5 -0
- package/components/chart/components/barColumnChart/index.js +132 -0
- package/components/chart/components/barColumnChart/props.js +5 -0
- package/components/chart/components/bubbleChart/index.js +176 -0
- package/components/chart/components/bubbleChart/props.js +5 -0
- package/components/chart/components/chartLegend/components/ClassicLegendItem.js +39 -0
- package/components/chart/components/chartLegend/components/FuriousLegendItem.js +81 -0
- package/components/chart/components/chartLegend/index.js +69 -0
- package/components/chart/components/chartLegend/props.js +5 -0
- package/components/chart/components/chartLegend/utils.js +31 -0
- package/components/chart/components/chartTooltip/index.js +53 -0
- package/components/chart/components/chartTooltip/styles.js +37 -0
- package/components/chart/components/chartTooltip/utils.js +23 -0
- package/components/chart/components/cumulativeLineChart/index.js +113 -0
- package/components/chart/components/cumulativeLineChart/props.js +5 -0
- package/components/chart/components/cumulativeLineChart/utils.js +34 -0
- package/components/chart/components/index.js +40 -0
- package/components/chart/components/lineAreaChart/index.js +140 -0
- package/components/chart/components/lineAreaChart/props.js +5 -0
- package/components/chart/components/noDataMessage/index.js +27 -0
- package/components/chart/components/pieDonutChart/index.js +171 -0
- package/components/chart/components/pieDonutChart/props.js +5 -0
- package/components/chart/constant.js +72 -0
- package/components/chart/index.js +930 -0
- package/components/chart/props.js +5 -0
- package/components/chart/utils.js +691 -0
- package/components/common/AppSpinner.js +36 -0
- package/components/common/app-spinner.js +26 -0
- package/components/common/index.js +12 -0
- package/components/constants.js +1208 -0
- package/components/container/accordion/accordion-pane/index.js +108 -0
- package/components/container/accordion/accordion-pane/props.js +11 -0
- package/components/container/accordion/index.js +232 -0
- package/components/container/accordion/props.js +13 -0
- package/components/container/alignment-utils.js +183 -0
- package/components/container/index.js +188 -0
- package/components/container/layout-grid/grid-column/index.js +34 -0
- package/components/container/layout-grid/grid-row/index.js +24 -0
- package/components/container/layout-grid/index.js +33 -0
- package/components/container/linear-layout/index.js +72 -0
- package/components/container/linear-layout/linear-layout-item/index.js +43 -0
- package/components/container/panel/components/panel-header/index.js +144 -0
- package/components/container/panel/components/panel-header/props.js +5 -0
- package/components/container/panel/hooks.js +144 -0
- package/components/container/panel/index.js +286 -0
- package/components/container/panel/props.js +5 -0
- package/components/container/props.js +5 -0
- package/components/container/tabs/index.js +379 -0
- package/components/container/tabs/props.js +20 -0
- package/components/container/tabs/tab-pane/index.js +42 -0
- package/components/container/tabs/tab-pane/props.js +5 -0
- package/components/container/wizard/WizardContext.js +16 -0
- package/components/container/wizard/components/StepComponents.js +100 -0
- package/components/container/wizard/components/WizardStep.js +89 -0
- package/components/container/wizard/index.js +710 -0
- package/components/container/wizard/props.js +5 -0
- package/components/container/wizard/utils.js +133 -0
- package/components/container/wizard/wizard-action/index.js +22 -0
- package/components/container/wizard/wizard-step/index.js +94 -0
- package/components/data/card/card-actions/index.js +24 -0
- package/components/data/card/card-content/index.js +38 -0
- package/components/data/card/card-footer/index.js +24 -0
- package/components/data/card/index.js +246 -0
- package/components/data/card/props.js +5 -0
- package/components/data/form/base-form/constant.js +39 -0
- package/components/data/form/base-form/index.js +460 -0
- package/components/data/form/base-form/props.js +29 -0
- package/components/data/form/base-form/utils.js +42 -0
- package/components/data/form/dynamic-fields/index.js +196 -0
- package/components/data/form/dynamic-fields/props.js +5 -0
- package/components/data/form/dynamic-fields/utils.js +237 -0
- package/components/data/form/form-action/index.js +71 -0
- package/components/data/form/form-body/index.js +26 -0
- package/components/data/form/form-context.js +34 -0
- package/components/data/form/form-controller/props.js +19 -0
- package/components/data/form/form-controller/validation-contrustor.js +313 -0
- package/components/data/form/form-controller/withFormController.js +320 -0
- package/components/data/form/form-field/base-field.js +138 -0
- package/components/data/form/form-field/index.js +36 -0
- package/components/data/form/form-field/props.js +5 -0
- package/components/data/form/form-footer/index.js +26 -0
- package/components/data/form/form-header/index.js +56 -0
- package/components/data/form/index.js +39 -0
- package/components/data/form/props.js +5 -0
- package/components/data/list/components/GroupHeader.js +35 -0
- package/components/data/list/components/GroupedListItems.js +98 -0
- package/components/data/list/components/ListContainer.js +27 -0
- package/components/data/list/components/ListDND.js +241 -0
- package/components/data/list/components/ListHeader.js +59 -0
- package/components/data/list/components/ListItem.js +148 -0
- package/components/data/list/components/ListItemWithTemplate.js +59 -0
- package/components/data/list/components/ListItems.js +231 -0
- package/components/data/list/components/ListPagination.js +165 -0
- package/components/data/list/components/LoadMoreButton.js +39 -0
- package/components/data/list/components/NoDataMessage.js +22 -0
- package/components/data/list/components/StandardListItems.js +84 -0
- package/components/data/list/components/index.js +119 -0
- package/components/data/list/components/props.js +5 -0
- package/components/data/list/hooks/index.js +75 -0
- package/components/data/list/hooks/props.js +5 -0
- package/components/data/list/hooks/useCurrentPageItems.js +48 -0
- package/components/data/list/hooks/useGroupedData.js +37 -0
- package/components/data/list/hooks/useListData.js +60 -0
- package/components/data/list/hooks/useListEffects.js +285 -0
- package/components/data/list/hooks/useListEventHandlers.js +291 -0
- package/components/data/list/hooks/useListPagination.js +168 -0
- package/components/data/list/hooks/useListState.js +98 -0
- package/components/data/list/hooks/useListStateManager.js +195 -0
- package/components/data/list/hooks/usePaginatedGroupedData.js +121 -0
- package/components/data/list/index.js +611 -0
- package/components/data/list/props.js +5 -0
- package/components/data/list/templates/media-template.js +53 -0
- package/components/data/list/utils/constants.js +81 -0
- package/components/data/list/utils/list-helpers.js +173 -0
- package/components/data/list/utils/list-widget-methods.js +114 -0
- package/components/data/live-filter/index.js +279 -0
- package/components/data/live-filter/props.js +12 -0
- package/components/data/live-form/index.js +93 -0
- package/components/data/live-form/props.js +16 -0
- package/components/data/pagination/components/BasicPagination.js +77 -0
- package/components/data/pagination/components/ClassicPagination.js +191 -0
- package/components/data/pagination/components/InlinePagination.js +99 -0
- package/components/data/pagination/components/LoadingComponent.js +31 -0
- package/components/data/pagination/components/PageSizeSelector.js +175 -0
- package/components/data/pagination/components/PagerNavigation.js +105 -0
- package/components/data/pagination/components/TotalRecords.js +52 -0
- package/components/data/pagination/components/index.js +47 -0
- package/components/data/pagination/components/props.js +5 -0
- package/components/data/pagination/hooks/index.js +19 -0
- package/components/data/pagination/hooks/props.js +5 -0
- package/components/data/pagination/hooks/useNavigationSize.js +44 -0
- package/components/data/pagination/hooks/usePagination.js +796 -0
- package/components/data/pagination/index.js +322 -0
- package/components/data/table/components/AddNewRow.js +190 -0
- package/components/data/table/components/EditableCell.js +91 -0
- package/components/data/table/components/FieldValidationError.js +24 -0
- package/components/data/table/components/RowExpansionButton.js +74 -0
- package/components/data/table/components/TableBody.js +279 -0
- package/components/data/table/components/TableFilters.js +325 -0
- package/components/data/table/components/TableFooterActions.js +48 -0
- package/components/data/table/components/TableHeader.js +174 -0
- package/components/data/table/components/TablePanelHeading.js +68 -0
- package/components/data/table/components/index.js +74 -0
- package/components/data/table/hooks/index.js +219 -0
- package/components/data/table/hooks/useCellState.js +117 -0
- package/components/data/table/hooks/useDynamicColumns.js +85 -0
- package/components/data/table/hooks/useEditingState.js +47 -0
- package/components/data/table/hooks/useFormWidget.js +184 -0
- package/components/data/table/hooks/usePaginationState.js +60 -0
- package/components/data/table/hooks/usePanelStructure.js +40 -0
- package/components/data/table/hooks/useResponsiveColumns.js +34 -0
- package/components/data/table/hooks/useRowExpansion.js +110 -0
- package/components/data/table/hooks/useRowHandlers.js +38 -0
- package/components/data/table/hooks/useRowSelection.js +213 -0
- package/components/data/table/hooks/useServerSideSorting.js +165 -0
- package/components/data/table/hooks/useTableColumns.js +263 -0
- package/components/data/table/hooks/useTableData.js +154 -0
- package/components/data/table/hooks/useTableEdit.js +467 -0
- package/components/data/table/hooks/useTableEffects.js +139 -0
- package/components/data/table/hooks/useTableFilter.js +389 -0
- package/components/data/table/hooks/useTableInitialization.js +103 -0
- package/components/data/table/hooks/useTableState.js +69 -0
- package/components/data/table/hooks/useTableStateManager.js +558 -0
- package/components/data/table/index.js +1295 -0
- package/components/data/table/live-table/index.js +232 -0
- package/components/data/table/props.js +5 -0
- package/components/data/table/table-action/index.js +78 -0
- package/components/data/table/table-column/index.js +35 -0
- package/components/data/table/table-row/index.js +49 -0
- package/components/data/table/table-row-action/index.js +74 -0
- package/components/data/table/utils/buildSelectionColumns.js +173 -0
- package/components/data/table/utils/columnBuilder.js +209 -0
- package/components/data/table/utils/columnProxy.js +48 -0
- package/components/data/table/utils/columnWidthDistribution.js +98 -0
- package/components/data/table/utils/constants.js +80 -0
- package/components/data/table/utils/crud-handlers.js +518 -0
- package/components/data/table/utils/dynamic-columns.js +118 -0
- package/components/data/table/utils/index.js +607 -0
- package/components/data/table/utils/renderDisplayCell.js +183 -0
- package/components/data/table/utils/selectionUtils.js +166 -0
- package/components/data/table/utils/table-helpers.js +100 -0
- package/components/data/table/utils/validation.js +124 -0
- package/components/data/types.js +113 -0
- package/components/data/utils/field-data-utils.js +66 -0
- package/components/data/utils/filter-field-util.js +81 -0
- package/components/data/utils/index.js +216 -0
- package/components/dialogs/alert-dialog/index.js +80 -0
- package/components/dialogs/confirm-dialog/index.js +105 -0
- package/components/dialogs/dialog/index.js +56 -0
- package/components/dialogs/dialog-actions/index.js +18 -0
- package/components/dialogs/dialog-body/index.js +21 -0
- package/components/dialogs/dialog-content/index.js +30 -0
- package/components/dialogs/dialog-header/index.js +93 -0
- package/components/dialogs/iframe-dialog/index.js +114 -0
- package/components/dialogs/index.js +129 -0
- package/components/dialogs/login-dialog/index.js +369 -0
- package/components/dialogs/login-dialog/props.js +5 -0
- package/components/dialogs/page-dialog/index.js +96 -0
- package/components/dialogs/withDialogWrapper.js +108 -0
- package/components/form/button/index.js +216 -0
- package/components/form/button-group/index.js +60 -0
- package/components/input/calendar/index.js +546 -0
- package/components/input/calendar/props.js +5 -0
- package/components/input/calendar/utils.js +340 -0
- package/components/input/chips/SortableChip/index.js +115 -0
- package/components/input/chips/SortableChip/props.js +5 -0
- package/components/input/chips/index.js +488 -0
- package/components/input/chips/props.js +5 -0
- package/components/input/chips/utils.js +259 -0
- package/components/input/color-picker/index.js +678 -0
- package/components/input/color-picker/props.js +5 -0
- package/components/input/composite/index.js +137 -0
- package/components/input/currency/index.js +263 -0
- package/components/input/currency/props.js +5 -0
- package/components/input/default/checkbox/index.js +230 -0
- package/components/input/default/checkbox/props.js +5 -0
- package/components/input/default/checkboxset/index.js +476 -0
- package/components/input/default/checkboxset/props.js +5 -0
- package/components/input/default/radioset/index.js +379 -0
- package/components/input/default/radioset/props.js +5 -0
- package/components/input/default/switch/index.js +490 -0
- package/components/input/default/switch/prop.js +5 -0
- package/components/input/epoch/date/components/DatePickerPopover.js +220 -0
- package/components/input/epoch/date/index.js +520 -0
- package/components/input/epoch/date/props.js +5 -0
- package/components/input/epoch/date/styled.js +70 -0
- package/components/input/epoch/date/utils.js +108 -0
- package/components/input/epoch/datetime/index.js +656 -0
- package/components/input/epoch/datetime/props.js +5 -0
- package/components/input/epoch/datetime/styled.js +90 -0
- package/components/input/epoch/datetime/utils.js +244 -0
- package/components/input/epoch/time/index.js +412 -0
- package/components/input/epoch/time/props.js +5 -0
- package/components/input/epoch/time/utils.js +209 -0
- package/components/input/fileupload/Utils.js +134 -0
- package/components/input/fileupload/components/ListItems.js +140 -0
- package/components/input/fileupload/components/MultiUpload.js +85 -0
- package/components/input/fileupload/components/SingleUpload.js +65 -0
- package/components/input/fileupload/index.js +170 -0
- package/components/input/fileupload/props.js +5 -0
- package/components/input/fileupload/useFileUpload.js +400 -0
- package/components/input/number/index.js +295 -0
- package/components/input/number/props.js +5 -0
- package/components/input/rating/index.js +368 -0
- package/components/input/rating/props.js +5 -0
- package/components/input/select/index.js +344 -0
- package/components/input/select/props.js +5 -0
- package/components/input/slider/index.js +167 -0
- package/components/input/slider/props.js +5 -0
- package/components/input/text/index.js +434 -0
- package/components/input/text/props.js +5 -0
- package/components/input/text/util.js +179 -0
- package/components/input/textarea/index.js +347 -0
- package/components/input/textarea/props.js +5 -0
- package/components/layout/footer/index.js +30 -0
- package/components/layout/header/index.js +30 -0
- package/components/layout/leftnav/index.js +44 -0
- package/components/layout/rightnav/index.js +32 -0
- package/components/layout/topnav/index.js +34 -0
- package/components/navbar/index.js +41 -0
- package/components/navbar/nav/index.js +102 -0
- package/components/navbar/nav/props.js +5 -0
- package/components/navbar/nav-item/index.js +44 -0
- package/components/navigation/breadcrumb/index.js +56 -0
- package/components/navigation/breadcrumb/props.js +5 -0
- package/components/navigation/menu/components/ListItems.js +66 -0
- package/components/navigation/menu/constants.js +101 -0
- package/components/navigation/menu/index.js +807 -0
- package/components/navigation/menu/props.js +5 -0
- package/components/navigation/popover/index.js +209 -0
- package/components/navigation/popover/props.js +15 -0
- package/components/page/content/index.js +28 -0
- package/components/page/error-boundary/index.js +108 -0
- package/components/page/index.js +137 -0
- package/components/page/page-content/index.js +23 -0
- package/components/page/partial/index.js +36 -0
- package/components/page/partial-container/index.js +48 -0
- package/components/page/props.js +5 -0
- package/components/page/toast-container/index.js +33 -0
- package/components/prefab/container/index.js +46 -0
- package/components/prefab/index.js +67 -0
- package/context/AppContext.js +25 -0
- package/context/AppSpinnerProvider.js +43 -0
- package/context/LocalizationProvider.js +79 -0
- package/context/PrefabContext.js +66 -0
- package/context/WidgetProvider.js +187 -0
- package/core/app-config.js +1 -0
- package/core/app.service.js +357 -0
- package/core/appVariablesStore.js +20 -0
- package/core/appstore.js +88 -0
- package/core/constants/currency-constant.js +1071 -0
- package/core/constants/events.js +34 -0
- package/core/constants/index.js +27 -0
- package/core/dialog.service.js +76 -0
- package/core/event-notifier.js +151 -0
- package/core/formatter/date-formatters.js +222 -0
- package/core/formatter/index.js +131 -0
- package/core/formatter/number-formatters.js +142 -0
- package/core/formatter/security-formatters.js +323 -0
- package/core/formatter/string-formatters.js +52 -0
- package/core/formatter/types.js +18 -0
- package/core/formatters.js +24 -0
- package/core/proxy-service.js +412 -0
- package/core/script-registry.js +63 -0
- package/core/security.service.js +11 -0
- package/core/util/common.js +33 -0
- package/core/util/dom.js +107 -0
- package/core/util/index.js +136 -0
- package/core/util/security.js +184 -0
- package/core/util/utils.js +189 -0
- package/core/widget-observer.js +98 -0
- package/higherOrder/BaseApp.js +430 -0
- package/higherOrder/BaseAppProps.js +5 -0
- package/higherOrder/BaseDateTime.js +251 -0
- package/higherOrder/BasePage.js +715 -0
- package/higherOrder/BasePartial.js +124 -0
- package/higherOrder/BasePrefab.js +145 -0
- package/higherOrder/DataNav.js +377 -0
- package/higherOrder/helper.js +43 -0
- package/higherOrder/props.js +5 -0
- package/higherOrder/withBaseWrapper.js +183 -0
- package/hooks/useAccess.js +308 -0
- package/hooks/useAppConfig.js +42 -0
- package/hooks/useAuth.js +562 -0
- package/hooks/useDataSourceSubscription.js +125 -0
- package/hooks/useDebounce.js +76 -0
- package/hooks/useDeviceVisibility.js +49 -0
- package/hooks/useHttp.js +338 -0
- package/libs/index.js +20 -0
- package/mui-config/theme-provider.js +17 -0
- package/mui-config/theme.js +371 -0
- package/package-lock.json +10177 -0
- package/package.json +95 -0
- package/store/index.js +33 -0
- package/store/middleware/navigationMiddleware.js +48 -0
- package/store/slices/appConfigSlice.js +103 -0
- package/store/slices/authSlice.js +508 -0
- package/store/slices/i18nSlice.js +206 -0
- package/types/index.js +15 -0
- package/utils/dataset-util.js +174 -0
- package/utils/eval-expression.js +32 -0
- package/utils/form-state.util.js +140 -0
- package/utils/form-utils.js +187 -0
- package/utils/format-util.js +260 -0
- package/utils/page-params-util.js +24 -0
- package/utils/resource-url.js +27 -0
- package/utils/state-persistance.js +343 -0
- package/utils/style-utils.js +73 -0
- package/utils/transformedDataset-utils.js +633 -0
- package/utils/widget-cleanup-util.js +84 -0
- package/utils/widgets.js +99 -0
- package/variables/base-variable.js +173 -0
- package/variables/constants.js +27 -0
- package/variables/live-variable.js +166 -0
- package/variables/model-variable.js +77 -0
- package/variables/service-variable.js +307 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.BasePartial = void 0;
|
|
9
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _store = require("@wavemaker/react-runtime/store");
|
|
14
|
+
var _merge = _interopRequireDefault(require("lodash-es/merge"));
|
|
15
|
+
var _BasePage = _interopRequireDefault(require("@wavemaker/react-runtime/higherOrder/BasePage"));
|
|
16
|
+
var _appstore = _interopRequireDefault(require("@wavemaker/react-runtime/core/appstore"));
|
|
17
|
+
var _appConfigSlice = require("@wavemaker/react-runtime/store/slices/appConfigSlice");
|
|
18
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
19
|
+
var __jsx = _react["default"].createElement;
|
|
20
|
+
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; }
|
|
21
|
+
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; }
|
|
22
|
+
var BasePartial = exports.BasePartial = function BasePartial(WrappedComponent, addPageScript, getVariables, componentInfo) {
|
|
23
|
+
var BasePartialWrapper = function BasePartialWrapper(props) {
|
|
24
|
+
var _info$appConfig, _i18n$prefabMessages;
|
|
25
|
+
var prefabName = props.prefabName;
|
|
26
|
+
var dispatch = (0, _store.useAppDispatch)();
|
|
27
|
+
var info = (0, _store.useAppSelector)(function (state) {
|
|
28
|
+
return state.info;
|
|
29
|
+
});
|
|
30
|
+
var i18n = (0, _store.useAppSelector)(function (state) {
|
|
31
|
+
return state.i18n;
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// Get prefab definitions from state if available
|
|
35
|
+
var prefabDefinitions = (0, _store.useAppSelector)(function (state) {
|
|
36
|
+
return state.info.prefabs[prefabName] ? state.info.prefabs[prefabName].serviceDefs : {};
|
|
37
|
+
});
|
|
38
|
+
var _useState = (0, _react.useState)(true),
|
|
39
|
+
loading = _useState[0],
|
|
40
|
+
setLoading = _useState[1];
|
|
41
|
+
var _useState2 = (0, _react.useState)(prefabDefinitions || {}),
|
|
42
|
+
serviceDefs = _useState2[0],
|
|
43
|
+
setServiceDefs = _useState2[1];
|
|
44
|
+
var baseUrl = info !== null && info !== void 0 && (_info$appConfig = info.appConfig) !== null && _info$appConfig !== void 0 && _info$appConfig.url ? "".concat(info.appConfig.url, "/services/prefabs/").concat(prefabName, "/servicedefs") : "";
|
|
45
|
+
var appLocale = (0, _merge["default"])({}, (i18n === null || i18n === void 0 ? void 0 : i18n.appLocale) || {}, (i18n === null || i18n === void 0 || (_i18n$prefabMessages = i18n.prefabMessages) === null || _i18n$prefabMessages === void 0 ? void 0 : _i18n$prefabMessages[prefabName]) || {});
|
|
46
|
+
|
|
47
|
+
// Fetch service definitions when component mounts only if not already in state
|
|
48
|
+
(0, _react.useEffect)(function () {
|
|
49
|
+
// Skip fetching if we already have the definitions in state
|
|
50
|
+
if (prefabDefinitions || !baseUrl) {
|
|
51
|
+
setLoading(false);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
var fetchServiceDefs = /*#__PURE__*/function () {
|
|
55
|
+
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
56
|
+
var response;
|
|
57
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
58
|
+
while (1) switch (_context.prev = _context.next) {
|
|
59
|
+
case 0:
|
|
60
|
+
if (baseUrl) {
|
|
61
|
+
_context.next = 4;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
console.warn("Base URL is not available");
|
|
65
|
+
setLoading(false);
|
|
66
|
+
return _context.abrupt("return");
|
|
67
|
+
case 4:
|
|
68
|
+
_context.prev = 4;
|
|
69
|
+
_context.next = 7;
|
|
70
|
+
return dispatch((0, _appConfigSlice.getPrefabDefinitions)({
|
|
71
|
+
prefabName: prefabName,
|
|
72
|
+
baseUrl: baseUrl
|
|
73
|
+
})).unwrap();
|
|
74
|
+
case 7:
|
|
75
|
+
response = _context.sent;
|
|
76
|
+
setServiceDefs(response || {});
|
|
77
|
+
_appstore["default"].set("".concat(prefabName, "-partials"), {
|
|
78
|
+
partials: componentInfo.partials
|
|
79
|
+
});
|
|
80
|
+
_context.next = 15;
|
|
81
|
+
break;
|
|
82
|
+
case 12:
|
|
83
|
+
_context.prev = 12;
|
|
84
|
+
_context.t0 = _context["catch"](4);
|
|
85
|
+
console.error("Failed to fetch service definitions:", _context.t0);
|
|
86
|
+
case 15:
|
|
87
|
+
_context.prev = 15;
|
|
88
|
+
setLoading(false);
|
|
89
|
+
return _context.finish(15);
|
|
90
|
+
case 18:
|
|
91
|
+
case "end":
|
|
92
|
+
return _context.stop();
|
|
93
|
+
}
|
|
94
|
+
}, _callee, null, [[4, 12, 15, 18]]);
|
|
95
|
+
}));
|
|
96
|
+
return function fetchServiceDefs() {
|
|
97
|
+
return _ref.apply(this, arguments);
|
|
98
|
+
};
|
|
99
|
+
}();
|
|
100
|
+
fetchServiceDefs();
|
|
101
|
+
}, [baseUrl, prefabDefinitions, prefabName]);
|
|
102
|
+
if (loading) {
|
|
103
|
+
return __jsx("div", null, "Loading....");
|
|
104
|
+
}
|
|
105
|
+
var FragmentConsumer = function FragmentConsumer(fragmentProps) {
|
|
106
|
+
var combinedProps = _objectSpread(_objectSpread({}, props), fragmentProps);
|
|
107
|
+
return __jsx(WrappedComponent, combinedProps);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
// Apply BaseFragment HOC to our FragmentConsumer
|
|
111
|
+
var EnhancedComponent = (0, _BasePage["default"])(FragmentConsumer, addPageScript, getVariables, componentInfo, {
|
|
112
|
+
serviceDefs: serviceDefs,
|
|
113
|
+
appLocale: appLocale,
|
|
114
|
+
baseUrl: baseUrl || "",
|
|
115
|
+
Prefab: true,
|
|
116
|
+
prefabName: prefabName
|
|
117
|
+
});
|
|
118
|
+
return __jsx(EnhancedComponent, props);
|
|
119
|
+
};
|
|
120
|
+
return /*#__PURE__*/_react["default"].memo(BasePartialWrapper);
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
// Export the BasePrefab function as the default export
|
|
124
|
+
var _default = exports["default"] = BasePartial;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.BasePrefab = void 0;
|
|
9
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _store = require("@wavemaker/react-runtime/store");
|
|
15
|
+
var _merge = _interopRequireDefault(require("lodash-es/merge"));
|
|
16
|
+
var _BasePage = _interopRequireDefault(require("@wavemaker/react-runtime/higherOrder/BasePage"));
|
|
17
|
+
var _appstore = _interopRequireDefault(require("@wavemaker/react-runtime/core/appstore"));
|
|
18
|
+
var _appConfigSlice = require("@wavemaker/react-runtime/store/slices/appConfigSlice");
|
|
19
|
+
var _PrefabContext = _interopRequireDefault(require("@wavemaker/react-runtime/context/PrefabContext"));
|
|
20
|
+
var _excluded = ["pages", "partials", "componentType"];
|
|
21
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
22
|
+
var __jsx = _react["default"].createElement;
|
|
23
|
+
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; }
|
|
24
|
+
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; }
|
|
25
|
+
var BasePrefab = exports.BasePrefab = function BasePrefab(WrappedComponent, addPageScript, getVariables, componentInfo) {
|
|
26
|
+
// Create a wrapper component to handle data fetching
|
|
27
|
+
var BasePrefabWrapper = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
28
|
+
var _i18n$prefabMessages;
|
|
29
|
+
var prefabname = props.prefabname;
|
|
30
|
+
var _ref = componentInfo || {},
|
|
31
|
+
pages = _ref.pages,
|
|
32
|
+
partials = _ref.partials,
|
|
33
|
+
componentType = _ref.componentType,
|
|
34
|
+
rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
35
|
+
var dispatch = (0, _store.useAppDispatch)();
|
|
36
|
+
var appConfig = (0, _store.useAppSelector)(function (state) {
|
|
37
|
+
return state.info.appConfig;
|
|
38
|
+
});
|
|
39
|
+
var i18n = (0, _store.useAppSelector)(function (state) {
|
|
40
|
+
return state.i18n;
|
|
41
|
+
});
|
|
42
|
+
// Get prefab definitions from state if available
|
|
43
|
+
var prefabDefinitions = (0, _store.useAppSelector)(function (state) {
|
|
44
|
+
return state.info[prefabname] ? state.info[prefabname] : null;
|
|
45
|
+
});
|
|
46
|
+
var _useState = (0, _react.useState)(prefabDefinitions ? false : true),
|
|
47
|
+
loading = _useState[0],
|
|
48
|
+
setLoading = _useState[1];
|
|
49
|
+
var _useState2 = (0, _react.useState)(prefabDefinitions || {}),
|
|
50
|
+
serviceDefs = _useState2[0],
|
|
51
|
+
setServiceDefs = _useState2[1];
|
|
52
|
+
var baseUrl = appConfig !== null && appConfig !== void 0 && appConfig.url ? "".concat(appConfig.url, "/services/prefabs/").concat(prefabname, "/servicedefs") : "";
|
|
53
|
+
// Fetch service definitions when component mounts only if not already in state
|
|
54
|
+
(0, _react.useEffect)(function () {
|
|
55
|
+
// Skip fetching if we already have the definitions in state
|
|
56
|
+
if (prefabDefinitions || !baseUrl) {
|
|
57
|
+
setLoading(false);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
var fetchServiceDefs = /*#__PURE__*/function () {
|
|
61
|
+
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
62
|
+
var response;
|
|
63
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
64
|
+
while (1) switch (_context.prev = _context.next) {
|
|
65
|
+
case 0:
|
|
66
|
+
if (baseUrl) {
|
|
67
|
+
_context.next = 4;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
console.warn("Base URL is not available");
|
|
71
|
+
setLoading(false);
|
|
72
|
+
return _context.abrupt("return");
|
|
73
|
+
case 4:
|
|
74
|
+
_context.prev = 4;
|
|
75
|
+
_context.next = 7;
|
|
76
|
+
return dispatch((0, _appConfigSlice.getPrefabDefinitions)({
|
|
77
|
+
prefabName: prefabname,
|
|
78
|
+
baseUrl: appConfig.url || "",
|
|
79
|
+
pages: pages || []
|
|
80
|
+
})).unwrap();
|
|
81
|
+
case 7:
|
|
82
|
+
response = _context.sent;
|
|
83
|
+
setServiceDefs(response || {});
|
|
84
|
+
_appstore["default"].set("".concat(prefabname, "-partials"), {
|
|
85
|
+
partials: partials || []
|
|
86
|
+
});
|
|
87
|
+
_context.next = 15;
|
|
88
|
+
break;
|
|
89
|
+
case 12:
|
|
90
|
+
_context.prev = 12;
|
|
91
|
+
_context.t0 = _context["catch"](4);
|
|
92
|
+
console.error("Failed to fetch service definitions:", _context.t0);
|
|
93
|
+
case 15:
|
|
94
|
+
_context.prev = 15;
|
|
95
|
+
setLoading(false);
|
|
96
|
+
return _context.finish(15);
|
|
97
|
+
case 18:
|
|
98
|
+
case "end":
|
|
99
|
+
return _context.stop();
|
|
100
|
+
}
|
|
101
|
+
}, _callee, null, [[4, 12, 15, 18]]);
|
|
102
|
+
}));
|
|
103
|
+
return function fetchServiceDefs() {
|
|
104
|
+
return _ref2.apply(this, arguments);
|
|
105
|
+
};
|
|
106
|
+
}();
|
|
107
|
+
fetchServiceDefs();
|
|
108
|
+
}, [baseUrl, prefabname, dispatch, prefabDefinitions]);
|
|
109
|
+
if (!prefabname) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
var appLocale = (0, _merge["default"])({}, (i18n === null || i18n === void 0 ? void 0 : i18n.appLocale) || {}, (i18n === null || i18n === void 0 || (_i18n$prefabMessages = i18n.prefabMessages) === null || _i18n$prefabMessages === void 0 ? void 0 : _i18n$prefabMessages[prefabname]) || {});
|
|
113
|
+
if (loading) {
|
|
114
|
+
return __jsx("div", null, "Loading....");
|
|
115
|
+
}
|
|
116
|
+
var FragmentConsumer = function FragmentConsumer(fragmentProps) {
|
|
117
|
+
var combinedProps = _objectSpread(_objectSpread({}, props), fragmentProps);
|
|
118
|
+
return __jsx(WrappedComponent, combinedProps);
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
// Apply BasePage HOC to our FragmentConsumer
|
|
122
|
+
var EnhancedComponent = (0, _BasePage["default"])(FragmentConsumer, addPageScript, getVariables, _objectSpread(_objectSpread({}, rest), {}, {
|
|
123
|
+
componentName: prefabname,
|
|
124
|
+
componentType: componentType
|
|
125
|
+
}), {
|
|
126
|
+
serviceDefs: (serviceDefs === null || serviceDefs === void 0 ? void 0 : serviceDefs.serviceDefs) || {},
|
|
127
|
+
appLocale: appLocale,
|
|
128
|
+
prefab: true,
|
|
129
|
+
prefabName: prefabname
|
|
130
|
+
});
|
|
131
|
+
return __jsx(EnhancedComponent, props);
|
|
132
|
+
}, function (next, prev) {
|
|
133
|
+
return next.prefabname === prev.prefabname;
|
|
134
|
+
});
|
|
135
|
+
var BasePrefabWithProvider = function BasePrefabWithProvider(props) {
|
|
136
|
+
return __jsx(_PrefabContext["default"], {
|
|
137
|
+
value: {
|
|
138
|
+
inbound: props.inbound || {},
|
|
139
|
+
outbound: props.outbound || {}
|
|
140
|
+
}
|
|
141
|
+
}, __jsx(BasePrefabWrapper, props));
|
|
142
|
+
};
|
|
143
|
+
return BasePrefabWithProvider;
|
|
144
|
+
};
|
|
145
|
+
var _default = exports["default"] = BasePrefab;
|
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.handleNavigation = exports["default"] = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _withBaseWrapper = require("@wavemaker/react-runtime/higherOrder/withBaseWrapper");
|
|
16
|
+
var _excluded = ["dataset", "itemicon", "itemlabel", "itemhint", "itemlink", "itemtarget", "itembadge", "itemchildren", "itemaction", "itemclass", "itemid", "isactive", "userrole", "orderby", "datafield", "displayfield", "listener", "styles", "className"];
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
18
|
+
var __jsx = _react["default"].createElement;
|
|
19
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
20
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
21
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
22
|
+
var getValidLink = function getValidLink(link) {
|
|
23
|
+
if (!link) return undefined;
|
|
24
|
+
var routRegex = /^(\/|#\/|#)(?!\W).*/;
|
|
25
|
+
if (routRegex.test(link)) {
|
|
26
|
+
var match = link.match(/[\w]+.*/);
|
|
27
|
+
if (match) {
|
|
28
|
+
link = "#/".concat(match[0]);
|
|
29
|
+
}
|
|
30
|
+
} else if (link.startsWith("www.")) {
|
|
31
|
+
link = "//".concat(link);
|
|
32
|
+
}
|
|
33
|
+
return link;
|
|
34
|
+
};
|
|
35
|
+
var getElement = function getElement(obj, key) {
|
|
36
|
+
return obj && obj[key];
|
|
37
|
+
};
|
|
38
|
+
var isDefined = function isDefined(value) {
|
|
39
|
+
return value !== undefined;
|
|
40
|
+
};
|
|
41
|
+
var validateAccessRoles = function validateAccessRoles(roles, userRoles) {
|
|
42
|
+
if (!roles || typeof roles !== "string") return true;
|
|
43
|
+
var roleList = roles.split(",").map(function (role) {
|
|
44
|
+
return role.trim();
|
|
45
|
+
});
|
|
46
|
+
return roleList.some(function (role) {
|
|
47
|
+
return userRoles.includes(role);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
var createArrayFrom = function createArrayFrom(value) {
|
|
51
|
+
if (Array.isArray(value)) {
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
return value ? [value] : [];
|
|
55
|
+
};
|
|
56
|
+
var getOrderedDataset = function getOrderedDataset(dataset, orderby) {
|
|
57
|
+
if (!orderby) return dataset;
|
|
58
|
+
var _orderby$split = orderby.split(":"),
|
|
59
|
+
_orderby$split2 = (0, _slicedToArray2["default"])(_orderby$split, 2),
|
|
60
|
+
field = _orderby$split2[0],
|
|
61
|
+
direction = _orderby$split2[1];
|
|
62
|
+
return dataset.sort(function (a, b) {
|
|
63
|
+
var valA = a[field] || a.label || a.value || a;
|
|
64
|
+
var valB = b[field] || b.label || b.value || b;
|
|
65
|
+
var comparison = 0;
|
|
66
|
+
if (valA < valB) comparison = -1;
|
|
67
|
+
if (valA > valB) comparison = 1;
|
|
68
|
+
return direction === "desc" ? -comparison : comparison;
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
var getEvaluatedData = function getEvaluatedData(dataObj, options, context) {
|
|
72
|
+
if (options.bindExpression) {
|
|
73
|
+
return options.bindExpression(context, dataObj);
|
|
74
|
+
}
|
|
75
|
+
if (options.field) {
|
|
76
|
+
return dataObj[options.field];
|
|
77
|
+
}
|
|
78
|
+
return undefined;
|
|
79
|
+
};
|
|
80
|
+
var getCurrentRouteId = function getCurrentRouteId() {
|
|
81
|
+
var path = window.location.pathname.substr(1).split("?")[0];
|
|
82
|
+
var segments = path.split("/");
|
|
83
|
+
return segments[segments.length - 1] || "Main";
|
|
84
|
+
};
|
|
85
|
+
var findPathToNode = function findPathToNode(nodes, targetId) {
|
|
86
|
+
var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
87
|
+
var _iterator = _createForOfIteratorHelper(nodes),
|
|
88
|
+
_step;
|
|
89
|
+
try {
|
|
90
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
91
|
+
var _node$link, _node$children;
|
|
92
|
+
var node = _step.value;
|
|
93
|
+
if (node.id === targetId || (_node$link = node.link) !== null && _node$link !== void 0 && _node$link.includes(targetId)) {
|
|
94
|
+
return [].concat((0, _toConsumableArray2["default"])(path), [node]);
|
|
95
|
+
}
|
|
96
|
+
if ((_node$children = node.children) !== null && _node$children !== void 0 && _node$children.length) {
|
|
97
|
+
var foundPath = findPathToNode(node.children, targetId, [].concat((0, _toConsumableArray2["default"])(path), [node]));
|
|
98
|
+
if (foundPath.length) {
|
|
99
|
+
return foundPath;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
} catch (err) {
|
|
104
|
+
_iterator.e(err);
|
|
105
|
+
} finally {
|
|
106
|
+
_iterator.f();
|
|
107
|
+
}
|
|
108
|
+
return [];
|
|
109
|
+
};
|
|
110
|
+
var handleNavigation = exports.handleNavigation = function handleNavigation(item, event) {
|
|
111
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
112
|
+
var onBeforenavigate = options.onBeforenavigate,
|
|
113
|
+
defaultTarget = options.defaultTarget;
|
|
114
|
+
event.preventDefault();
|
|
115
|
+
var locals = {
|
|
116
|
+
$item: item.value,
|
|
117
|
+
$event: event
|
|
118
|
+
};
|
|
119
|
+
var canNavigate = !((onBeforenavigate === null || onBeforenavigate === void 0 ? void 0 : onBeforenavigate(locals)) === false);
|
|
120
|
+
var linkTarget = item.target || defaultTarget;
|
|
121
|
+
var itemLink = item.link;
|
|
122
|
+
if (itemLink && canNavigate) {
|
|
123
|
+
var queryString = itemLink.split("?")[1];
|
|
124
|
+
var cleanPath = itemLink.replace(/^#?\/?/, "").split("?")[0];
|
|
125
|
+
var currentPath = window.location.pathname;
|
|
126
|
+
var pathSegments = currentPath.split("/");
|
|
127
|
+
if (pathSegments.length > 1) {
|
|
128
|
+
pathSegments[pathSegments.length - 1] = cleanPath;
|
|
129
|
+
var newPath = pathSegments.join("/") + (queryString ? "?".concat(queryString) : "");
|
|
130
|
+
window.location.href = newPath;
|
|
131
|
+
} else {
|
|
132
|
+
window.location.href = "/".concat(cleanPath).concat(queryString ? "?".concat(queryString) : "");
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
var withDatasetAwareNavigation = function withDatasetAwareNavigation(WrappedComponent) {
|
|
137
|
+
var NavigationWrappedComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
138
|
+
var _listener$appConfig, _securityService$logg;
|
|
139
|
+
var dataset = props.dataset,
|
|
140
|
+
itemicon = props.itemicon,
|
|
141
|
+
itemlabel = props.itemlabel,
|
|
142
|
+
itemhint = props.itemhint,
|
|
143
|
+
itemlink = props.itemlink,
|
|
144
|
+
itemtarget = props.itemtarget,
|
|
145
|
+
itembadge = props.itembadge,
|
|
146
|
+
itemchildren = props.itemchildren,
|
|
147
|
+
itemaction = props.itemaction,
|
|
148
|
+
itemclass = props.itemclass,
|
|
149
|
+
itemid = props.itemid,
|
|
150
|
+
isactive = props.isactive,
|
|
151
|
+
userrole = props.userrole,
|
|
152
|
+
orderby = props.orderby,
|
|
153
|
+
datafield = props.datafield,
|
|
154
|
+
displayfield = props.displayfield,
|
|
155
|
+
listener = props.listener,
|
|
156
|
+
styles = props.styles,
|
|
157
|
+
className = props.className,
|
|
158
|
+
restProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
159
|
+
var _useState = (0, _react.useState)([]),
|
|
160
|
+
navNodes = _useState[0],
|
|
161
|
+
setNavNodes = _useState[1];
|
|
162
|
+
var securityService = (listener === null || listener === void 0 || (_listener$appConfig = listener.appConfig) === null || _listener$appConfig === void 0 ? void 0 : _listener$appConfig.SecurityService) || {
|
|
163
|
+
loggedInUser: []
|
|
164
|
+
};
|
|
165
|
+
var userRoles = ((_securityService$logg = securityService.loggedInUser) === null || _securityService$logg === void 0 ? void 0 : _securityService$logg.roles) || [];
|
|
166
|
+
var binditemlabel = (0, _react.useRef)(null);
|
|
167
|
+
var binditemhint = (0, _react.useRef)(null);
|
|
168
|
+
var binditemicon = (0, _react.useRef)(null);
|
|
169
|
+
var binditemaction = (0, _react.useRef)(null);
|
|
170
|
+
var binditembadge = (0, _react.useRef)(null);
|
|
171
|
+
var binditemchildren = (0, _react.useRef)(null);
|
|
172
|
+
var binditemid = (0, _react.useRef)(null);
|
|
173
|
+
var binditemlink = (0, _react.useRef)(null);
|
|
174
|
+
var binditemtarget = (0, _react.useRef)(null);
|
|
175
|
+
var binduserrole = (0, _react.useRef)(null);
|
|
176
|
+
var bindisactive = (0, _react.useRef)(null);
|
|
177
|
+
var _itemFieldMap = (0, _react.useRef)({
|
|
178
|
+
idField: itemid || "id",
|
|
179
|
+
iconField: itemicon || "icon",
|
|
180
|
+
labelField: itemlabel || "label",
|
|
181
|
+
hintField: itemhint || "hint",
|
|
182
|
+
linkField: itemlink || "link",
|
|
183
|
+
targetField: itemtarget || "target",
|
|
184
|
+
badgeField: itembadge || "badge",
|
|
185
|
+
childrenField: itemchildren || "children",
|
|
186
|
+
classField: itemclass || "class",
|
|
187
|
+
actionField: itemaction || "action",
|
|
188
|
+
isactiveField: isactive || "isactive",
|
|
189
|
+
roleField: userrole || "role"
|
|
190
|
+
});
|
|
191
|
+
(0, _react.useEffect)(function () {
|
|
192
|
+
binditemlabel.current = restProps["itemlabel.bind"] || null;
|
|
193
|
+
binditemhint.current = restProps["itemhint.bind"] || null;
|
|
194
|
+
binditemicon.current = restProps["itemicon.bind"] || null;
|
|
195
|
+
binditemaction.current = restProps["itemaction.bind"] || null;
|
|
196
|
+
binditembadge.current = restProps["itembadge.bind"] || null;
|
|
197
|
+
binditemchildren.current = restProps["itemchildren.bind"] || null;
|
|
198
|
+
binditemid.current = restProps["itemid.bind"] || null;
|
|
199
|
+
binditemlink.current = restProps["itemlink.bind"] || null;
|
|
200
|
+
binditemtarget.current = restProps["itemtarget.bind"] || null;
|
|
201
|
+
binduserrole.current = restProps["userrole.bind"] || null;
|
|
202
|
+
bindisactive.current = restProps["isactive.bind"] || null;
|
|
203
|
+
}, [restProps]);
|
|
204
|
+
(0, _react.useEffect)(function () {
|
|
205
|
+
resetNodes();
|
|
206
|
+
}, [dataset, itemicon, itemlabel, itemhint, itemlink, itemtarget, itembadge, itemchildren, itemaction, itemclass, itemid, isactive, userrole, orderby, datafield, displayfield]);
|
|
207
|
+
var resetItemFieldMap = function resetItemFieldMap() {
|
|
208
|
+
_itemFieldMap.current = {
|
|
209
|
+
idField: itemid || "id",
|
|
210
|
+
iconField: itemicon || "icon",
|
|
211
|
+
labelField: itemlabel || "label",
|
|
212
|
+
hintField: itemhint || "hint",
|
|
213
|
+
linkField: itemlink || "link",
|
|
214
|
+
targetField: itemtarget || "target",
|
|
215
|
+
badgeField: itembadge || "badge",
|
|
216
|
+
childrenField: itemchildren || "children",
|
|
217
|
+
classField: itemclass || "class",
|
|
218
|
+
actionField: itemaction || "action",
|
|
219
|
+
isactiveField: isactive || "isactive",
|
|
220
|
+
roleField: userrole || "role"
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
var getNode = function getNode(fields, node) {
|
|
224
|
+
var context = {};
|
|
225
|
+
|
|
226
|
+
// Handle different node structures
|
|
227
|
+
var processedNode;
|
|
228
|
+
if (typeof node === "string") {
|
|
229
|
+
processedNode = {
|
|
230
|
+
label: node,
|
|
231
|
+
value: node,
|
|
232
|
+
expanded: false
|
|
233
|
+
};
|
|
234
|
+
} else if ((0, _typeof2["default"])(node) === "object") {
|
|
235
|
+
var childrenData = getElement(node, fields.childrenField);
|
|
236
|
+
var children = Array.isArray(childrenData) ? childrenData.map(function (child) {
|
|
237
|
+
return getNode(fields, child);
|
|
238
|
+
}) : [];
|
|
239
|
+
processedNode = {
|
|
240
|
+
action: getEvaluatedData(node, {
|
|
241
|
+
field: itemaction,
|
|
242
|
+
bindExpression: binditemaction.current
|
|
243
|
+
}, context) || getElement(node, fields.actionField),
|
|
244
|
+
badge: getEvaluatedData(node, {
|
|
245
|
+
field: itembadge,
|
|
246
|
+
bindExpression: binditembadge.current
|
|
247
|
+
}, context) || getElement(node, fields.badgeField),
|
|
248
|
+
children: children,
|
|
249
|
+
"class": getElement(node, fields.classField),
|
|
250
|
+
disabled: node.disabled,
|
|
251
|
+
icon: getEvaluatedData(node, {
|
|
252
|
+
field: itemicon,
|
|
253
|
+
bindExpression: binditemicon.current
|
|
254
|
+
}, context) || getElement(node, fields.iconField),
|
|
255
|
+
id: getEvaluatedData(node, {
|
|
256
|
+
field: itemid,
|
|
257
|
+
bindExpression: binditemid.current
|
|
258
|
+
}, context) || getElement(node, fields.idField),
|
|
259
|
+
label: getEvaluatedData(node, {
|
|
260
|
+
field: itemlabel,
|
|
261
|
+
bindExpression: binditemlabel.current
|
|
262
|
+
}, context) || getElement(node, fields.labelField) || node.label || String(node),
|
|
263
|
+
hint: getEvaluatedData(node, {
|
|
264
|
+
field: itemhint,
|
|
265
|
+
bindExpression: binditemhint.current
|
|
266
|
+
}, context) || getElement(node, fields.hintField),
|
|
267
|
+
link: getValidLink(getEvaluatedData(node, {
|
|
268
|
+
field: itemlink,
|
|
269
|
+
bindExpression: binditemlink.current
|
|
270
|
+
}, context) || getElement(node, fields.linkField)) || node.link,
|
|
271
|
+
target: getEvaluatedData(node, {
|
|
272
|
+
field: itemtarget,
|
|
273
|
+
bindExpression: binditemtarget.current
|
|
274
|
+
}, context) || getElement(node, fields.targetField),
|
|
275
|
+
role: getEvaluatedData(node, {
|
|
276
|
+
field: userrole,
|
|
277
|
+
bindExpression: binduserrole.current
|
|
278
|
+
}, context) || getElement(node, fields.roleField),
|
|
279
|
+
isactive: getEvaluatedData(node, {
|
|
280
|
+
field: isactive,
|
|
281
|
+
bindExpression: bindisactive.current
|
|
282
|
+
}, context) || getElement(node, fields.isactiveField),
|
|
283
|
+
value: datafield && datafield !== "All Fields" ? getElement(node, datafield) : node,
|
|
284
|
+
expanded: false
|
|
285
|
+
};
|
|
286
|
+
} else {
|
|
287
|
+
processedNode = {
|
|
288
|
+
label: String(node),
|
|
289
|
+
value: node,
|
|
290
|
+
expanded: false
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
return processedNode;
|
|
294
|
+
};
|
|
295
|
+
var prepareNodeDataSet = function prepareNodeDataSet(nv) {
|
|
296
|
+
if (!nv) return [];
|
|
297
|
+
|
|
298
|
+
// Handle comma-separated string
|
|
299
|
+
if (typeof nv === "string") {
|
|
300
|
+
var items = nv.split(",").map(function (item) {
|
|
301
|
+
return item.trim();
|
|
302
|
+
}).filter(function (item) {
|
|
303
|
+
return item.length > 0;
|
|
304
|
+
});
|
|
305
|
+
return items.map(function (item) {
|
|
306
|
+
return {
|
|
307
|
+
label: item,
|
|
308
|
+
value: item
|
|
309
|
+
};
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// Handle plain object (convert to array of key-value pairs)
|
|
314
|
+
if (nv && (0, _typeof2["default"])(nv) === "object" && !Array.isArray(nv)) {
|
|
315
|
+
return Object.entries(nv).map(function (_ref) {
|
|
316
|
+
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
317
|
+
key = _ref2[0],
|
|
318
|
+
value = _ref2[1];
|
|
319
|
+
return {
|
|
320
|
+
label: String(value),
|
|
321
|
+
value: key,
|
|
322
|
+
key: key
|
|
323
|
+
};
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// Handle array
|
|
328
|
+
var arrayData = createArrayFrom(nv);
|
|
329
|
+
return arrayData.map(function (val) {
|
|
330
|
+
if (typeof val === "string") {
|
|
331
|
+
return {
|
|
332
|
+
label: val,
|
|
333
|
+
value: val
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
if ((0, _typeof2["default"])(val) !== "object") {
|
|
337
|
+
return {
|
|
338
|
+
label: String(val),
|
|
339
|
+
value: val
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
return val;
|
|
343
|
+
});
|
|
344
|
+
};
|
|
345
|
+
var getNodes = function getNodes() {
|
|
346
|
+
var nv = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : dataset || [];
|
|
347
|
+
if (!nv || Array.isArray(nv) && nv.length === 0) {
|
|
348
|
+
return [];
|
|
349
|
+
}
|
|
350
|
+
var nodes = getOrderedDataset(prepareNodeDataSet(nv), orderby) || [];
|
|
351
|
+
if (nodes.length) {
|
|
352
|
+
var nodeFields = _itemFieldMap.current;
|
|
353
|
+
nodes = nodes.reduce(function (result, node) {
|
|
354
|
+
if (validateAccessRoles(getElement(node, nodeFields.roleField), userRoles)) {
|
|
355
|
+
result.push(getNode(nodeFields, node));
|
|
356
|
+
}
|
|
357
|
+
return result;
|
|
358
|
+
}, []);
|
|
359
|
+
}
|
|
360
|
+
return nodes;
|
|
361
|
+
};
|
|
362
|
+
var resetNodes = function resetNodes() {
|
|
363
|
+
resetItemFieldMap();
|
|
364
|
+
var newNodes = getNodes();
|
|
365
|
+
setNavNodes(newNodes);
|
|
366
|
+
};
|
|
367
|
+
return __jsx(WrappedComponent, (0, _extends2["default"])({}, props, {
|
|
368
|
+
ref: ref,
|
|
369
|
+
navNodes: navNodes,
|
|
370
|
+
resetNavNodes: resetNodes,
|
|
371
|
+
handleNavigation: handleNavigation
|
|
372
|
+
}));
|
|
373
|
+
});
|
|
374
|
+
NavigationWrappedComponent.displayName = "withDatasetAwareNavigation(".concat(WrappedComponent.displayName || WrappedComponent.name || "Component", ")");
|
|
375
|
+
return (0, _withBaseWrapper.withBaseWrapper)(NavigationWrappedComponent);
|
|
376
|
+
};
|
|
377
|
+
var _default = exports["default"] = withDatasetAwareNavigation;
|