@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,357 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getCurrentRouteQueryParam = void 0;
|
|
8
|
+
exports.getDefaultProperties = getDefaultProperties;
|
|
9
|
+
exports.handle401 = exports.getRedirectPage = exports.getQueryString = void 0;
|
|
10
|
+
exports.loadWmProperties = loadWmProperties;
|
|
11
|
+
exports.setupAxiosInterceptors = void 0;
|
|
12
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
+
var _navigationMiddleware = require("@wavemaker/react-runtime/store/middleware/navigationMiddleware");
|
|
17
|
+
var _store = require("@wavemaker/react-runtime/store");
|
|
18
|
+
var _axios = _interopRequireDefault(require("axios"));
|
|
19
|
+
var _authSlice = require("@wavemaker/react-runtime/store/slices/authSlice");
|
|
20
|
+
var _get = _interopRequireDefault(require("lodash-es/get"));
|
|
21
|
+
var _isEmpty = _interopRequireDefault(require("lodash-es/isEmpty"));
|
|
22
|
+
var _appstore = _interopRequireDefault(require("./appstore"));
|
|
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
|
+
function loadWmProperties(_x) {
|
|
26
|
+
return _loadWmProperties.apply(this, arguments);
|
|
27
|
+
}
|
|
28
|
+
function _loadWmProperties() {
|
|
29
|
+
_loadWmProperties = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(baseUrl) {
|
|
30
|
+
var response, text, jsonData;
|
|
31
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
32
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
33
|
+
case 0:
|
|
34
|
+
_context4.prev = 0;
|
|
35
|
+
_context4.next = 3;
|
|
36
|
+
return _axios["default"].get("".concat(baseUrl, "/services/application/wmProperties.js"));
|
|
37
|
+
case 3:
|
|
38
|
+
response = _context4.sent;
|
|
39
|
+
text = response.data;
|
|
40
|
+
jsonData = text.substring(text.indexOf("{"), text.length - 1);
|
|
41
|
+
return _context4.abrupt("return", JSON.parse(jsonData));
|
|
42
|
+
case 9:
|
|
43
|
+
_context4.prev = 9;
|
|
44
|
+
_context4.t0 = _context4["catch"](0);
|
|
45
|
+
console.error("Failed to load WM properties:", _context4.t0);
|
|
46
|
+
return _context4.abrupt("return", getDefaultProperties());
|
|
47
|
+
case 13:
|
|
48
|
+
case "end":
|
|
49
|
+
return _context4.stop();
|
|
50
|
+
}
|
|
51
|
+
}, _callee4, null, [[0, 9]]);
|
|
52
|
+
}));
|
|
53
|
+
return _loadWmProperties.apply(this, arguments);
|
|
54
|
+
}
|
|
55
|
+
function getDefaultProperties() {
|
|
56
|
+
return {
|
|
57
|
+
defaultLanguage: "en",
|
|
58
|
+
defaultTimezone: "UTC"
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
var LOGIN_METHOD = {
|
|
62
|
+
DIALOG: "DIALOG",
|
|
63
|
+
PAGE: "PAGE",
|
|
64
|
+
SSO: "SSO"
|
|
65
|
+
};
|
|
66
|
+
var createQueryString = function createQueryString(params) {
|
|
67
|
+
if (!params) return "";
|
|
68
|
+
var searchParams = new URLSearchParams();
|
|
69
|
+
Object.entries(params).filter(function (_ref) {
|
|
70
|
+
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
71
|
+
_ = _ref2[0],
|
|
72
|
+
value = _ref2[1];
|
|
73
|
+
return value !== undefined;
|
|
74
|
+
}).forEach(function (_ref3) {
|
|
75
|
+
var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
|
|
76
|
+
key = _ref4[0],
|
|
77
|
+
value = _ref4[1];
|
|
78
|
+
searchParams.set(key, value);
|
|
79
|
+
});
|
|
80
|
+
return searchParams.toString();
|
|
81
|
+
};
|
|
82
|
+
var mergeQueryParams = function mergeQueryParams() {
|
|
83
|
+
var baseParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
84
|
+
var additionalParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
85
|
+
return _objectSpread(_objectSpread({}, baseParams), additionalParams);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Gets the page which needs to be redirected to on successful login
|
|
90
|
+
* @param config,
|
|
91
|
+
* @param page, page name for redirection
|
|
92
|
+
* @returns {any|string}
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
var getCurrentRouteQueryParam = exports.getCurrentRouteQueryParam = function getCurrentRouteQueryParam(paramName) {
|
|
96
|
+
if (typeof window === "undefined") return null; // Ensure this runs only in the browser
|
|
97
|
+
|
|
98
|
+
var searchParams = new URLSearchParams(window.location.search);
|
|
99
|
+
return searchParams.get(paramName);
|
|
100
|
+
};
|
|
101
|
+
var getRedirectPage = exports.getRedirectPage = function getRedirectPage(config, page) {
|
|
102
|
+
var state = _store.store.getState();
|
|
103
|
+
var info = state.info;
|
|
104
|
+
var homePage = info.appConfig.appProperties.homePage,
|
|
105
|
+
loginPage = (0, _get["default"])(config, "loginConfig.pageName");
|
|
106
|
+
var prevRedirectPage,
|
|
107
|
+
redirectPage = page;
|
|
108
|
+
|
|
109
|
+
// If user is already on Home page or Login page, they should not be redirected to that page, hence return undefined
|
|
110
|
+
if (redirectPage === homePage || redirectPage === loginPage) {
|
|
111
|
+
var _getCurrentRouteQuery;
|
|
112
|
+
/*
|
|
113
|
+
* Find previous redirect page from URL, if exists, user should redirect to that page.
|
|
114
|
+
* USE CASE:
|
|
115
|
+
* - User is on http://localhost:8080/app/Login?redirectTo=page
|
|
116
|
+
* - A variable call fails resulting in 401
|
|
117
|
+
* - In this case, redirectTo page should be 'page' and not undefined
|
|
118
|
+
*/
|
|
119
|
+
prevRedirectPage = (_getCurrentRouteQuery = getCurrentRouteQueryParam("redirectTo")) !== null && _getCurrentRouteQuery !== void 0 ? _getCurrentRouteQuery : undefined;
|
|
120
|
+
redirectPage = !(0, _isEmpty["default"])(prevRedirectPage) ? prevRedirectPage : undefined;
|
|
121
|
+
}
|
|
122
|
+
return redirectPage;
|
|
123
|
+
};
|
|
124
|
+
var handle401 = exports.handle401 = /*#__PURE__*/function () {
|
|
125
|
+
var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(page, options) {
|
|
126
|
+
var state, securityConfig, router, loginConfig, userInfo, loginMethod, sessionTimeoutConfig, sessionTimeoutMethod, sessionTimeoutQueryParams, queryString, loginQueryParams, _queryString, isNotOnLoginPage, hasQueryString;
|
|
127
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
128
|
+
while (1) switch (_context.prev = _context.next) {
|
|
129
|
+
case 0:
|
|
130
|
+
state = _store.store.getState();
|
|
131
|
+
securityConfig = state.auth.securityConfig;
|
|
132
|
+
if (securityConfig) {
|
|
133
|
+
_context.next = 4;
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
return _context.abrupt("return");
|
|
137
|
+
case 4:
|
|
138
|
+
if (securityConfig !== null && securityConfig !== void 0 && securityConfig.securityEnabled) {
|
|
139
|
+
_context.next = 6;
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
return _context.abrupt("return");
|
|
143
|
+
case 6:
|
|
144
|
+
router = (0, _navigationMiddleware.getRouterInstance)();
|
|
145
|
+
if (router) {
|
|
146
|
+
_context.next = 10;
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
console.error("Router is not defined");
|
|
150
|
+
return _context.abrupt("return");
|
|
151
|
+
case 10:
|
|
152
|
+
loginConfig = securityConfig.loginConfig || {};
|
|
153
|
+
userInfo = securityConfig.userInfo;
|
|
154
|
+
loginMethod = ((loginConfig === null || loginConfig === void 0 ? void 0 : loginConfig.type) || LOGIN_METHOD.PAGE).toUpperCase();
|
|
155
|
+
if (!(userInfo !== null && userInfo !== void 0 && userInfo.userName)) {
|
|
156
|
+
_context.next = 30;
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
sessionTimeoutConfig = loginConfig.sessionTimeout || {
|
|
160
|
+
type: LOGIN_METHOD.DIALOG
|
|
161
|
+
};
|
|
162
|
+
sessionTimeoutMethod = (sessionTimeoutConfig.type || LOGIN_METHOD.DIALOG).toUpperCase();
|
|
163
|
+
_context.t0 = sessionTimeoutMethod;
|
|
164
|
+
_context.next = _context.t0 === LOGIN_METHOD.DIALOG ? 19 : _context.t0 === LOGIN_METHOD.PAGE ? 21 : _context.t0 === LOGIN_METHOD.SSO ? 25 : 28;
|
|
165
|
+
break;
|
|
166
|
+
case 19:
|
|
167
|
+
showLoginDialog();
|
|
168
|
+
return _context.abrupt("break", 28);
|
|
169
|
+
case 21:
|
|
170
|
+
page = page || "";
|
|
171
|
+
sessionTimeoutQueryParams = mergeQueryParams({
|
|
172
|
+
redirectTo: page
|
|
173
|
+
}, options === null || options === void 0 ? void 0 : options.queryParams);
|
|
174
|
+
if (page !== sessionTimeoutConfig.pageName) {
|
|
175
|
+
queryString = createQueryString(sessionTimeoutQueryParams);
|
|
176
|
+
router.push("".concat(sessionTimeoutConfig.pageName).concat(queryString ? "?".concat(queryString) : ""));
|
|
177
|
+
}
|
|
178
|
+
return _context.abrupt("break", 28);
|
|
179
|
+
case 25:
|
|
180
|
+
_context.next = 27;
|
|
181
|
+
return handleSSOLogin(loginConfig, options);
|
|
182
|
+
case 27:
|
|
183
|
+
return _context.abrupt("break", 28);
|
|
184
|
+
case 28:
|
|
185
|
+
_context.next = 45;
|
|
186
|
+
break;
|
|
187
|
+
case 30:
|
|
188
|
+
_context.t1 = loginMethod;
|
|
189
|
+
_context.next = _context.t1 === LOGIN_METHOD.DIALOG ? 33 : _context.t1 === LOGIN_METHOD.PAGE ? 35 : _context.t1 === LOGIN_METHOD.SSO ? 42 : 45;
|
|
190
|
+
break;
|
|
191
|
+
case 33:
|
|
192
|
+
showLoginDialog(true);
|
|
193
|
+
return _context.abrupt("break", 45);
|
|
194
|
+
case 35:
|
|
195
|
+
page = page || getRedirectPage(securityConfig, page) || "";
|
|
196
|
+
loginQueryParams = mergeQueryParams({
|
|
197
|
+
redirectTo: page
|
|
198
|
+
}, options === null || options === void 0 ? void 0 : options.queryParams);
|
|
199
|
+
_queryString = createQueryString(loginQueryParams);
|
|
200
|
+
/*
|
|
201
|
+
Prevents the page from refreshing if the user is already on the login page.
|
|
202
|
+
*/
|
|
203
|
+
isNotOnLoginPage = window.location.pathname.endsWith(loginConfig.pageName);
|
|
204
|
+
hasQueryString = _queryString !== "";
|
|
205
|
+
if (!isNotOnLoginPage && hasQueryString) {
|
|
206
|
+
router.push("".concat(loginConfig.pageName).concat(_queryString ? "?".concat(_queryString) : ""));
|
|
207
|
+
}
|
|
208
|
+
return _context.abrupt("break", 45);
|
|
209
|
+
case 42:
|
|
210
|
+
_context.next = 44;
|
|
211
|
+
return handleSSOLogin(loginConfig, options);
|
|
212
|
+
case 44:
|
|
213
|
+
return _context.abrupt("break", 45);
|
|
214
|
+
case 45:
|
|
215
|
+
case "end":
|
|
216
|
+
return _context.stop();
|
|
217
|
+
}
|
|
218
|
+
}, _callee);
|
|
219
|
+
}));
|
|
220
|
+
return function handle401(_x2, _x3) {
|
|
221
|
+
return _ref5.apply(this, arguments);
|
|
222
|
+
};
|
|
223
|
+
}();
|
|
224
|
+
|
|
225
|
+
// Placeholder methods - implement based on your app's specific requirements
|
|
226
|
+
var showLoginDialog = function showLoginDialog() {
|
|
227
|
+
var noRedirect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
228
|
+
var DialogService = _appstore["default"].getDependency("DialogService");
|
|
229
|
+
DialogService.open("CommonLoginDialog");
|
|
230
|
+
};
|
|
231
|
+
var getRedirectedRouteQueryParams = function getRedirectedRouteQueryParams() {
|
|
232
|
+
if (typeof window === "undefined") {
|
|
233
|
+
return {}; // Prevents errors during SSR
|
|
234
|
+
}
|
|
235
|
+
var params = new URLSearchParams(window.location.search);
|
|
236
|
+
var queryParams = {};
|
|
237
|
+
params.forEach(function (value, key) {
|
|
238
|
+
queryParams[key] = value;
|
|
239
|
+
});
|
|
240
|
+
return queryParams;
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
// accepts query object like {a:1, b:2} and returns a=1&b=2 string
|
|
244
|
+
var getQueryString = exports.getQueryString = function getQueryString(queryObject) {
|
|
245
|
+
return Object.entries(queryObject).map(function (_ref6) {
|
|
246
|
+
var _ref7 = (0, _slicedToArray2["default"])(_ref6, 2),
|
|
247
|
+
key = _ref7[0],
|
|
248
|
+
value = _ref7[1];
|
|
249
|
+
return "".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(value));
|
|
250
|
+
}).join("&");
|
|
251
|
+
};
|
|
252
|
+
var handleSSOLogin = /*#__PURE__*/function () {
|
|
253
|
+
var _ref8 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(config, options) {
|
|
254
|
+
var state, info, baseUrl, SSO_URL, PREVIEW_WINDOW_NAME, page, queryParams, ssoUrl;
|
|
255
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
256
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
257
|
+
case 0:
|
|
258
|
+
state = _store.store.getState();
|
|
259
|
+
info = state.info;
|
|
260
|
+
baseUrl = info.appConfig.url || "";
|
|
261
|
+
SSO_URL = baseUrl + "/services/security/ssologin", PREVIEW_WINDOW_NAME = "WM_PREVIEW_WINDOW";
|
|
262
|
+
page = getRedirectPage(config);
|
|
263
|
+
page = page ? "?redirectPage=" + encodeURIComponent(page) : "";
|
|
264
|
+
/*
|
|
265
|
+
* For preview, getRedirectedRouteQueryParams() gets the queryparams form the activated route
|
|
266
|
+
* For deployed app, canactivate guard resolved to false and gets the queryparams from the canactivate gurard(no active route component)
|
|
267
|
+
*/
|
|
268
|
+
queryParams = options && options.queryParams || getRedirectedRouteQueryParams();
|
|
269
|
+
queryParams = getQueryString(queryParams);
|
|
270
|
+
queryParams = queryParams ? "?" + queryParams : "";
|
|
271
|
+
// showing a redirecting message
|
|
272
|
+
// appending redirect to page and page params
|
|
273
|
+
// const ssoUrl = getDeployedURL() + SSO_URL + page + queryParams; Not sure where should get getDeployedURL(), so removed for now, but this is required in actual implementation
|
|
274
|
+
ssoUrl = SSO_URL + page + queryParams;
|
|
275
|
+
/*
|
|
276
|
+
* remove iFrame when redirected to IdP login page.
|
|
277
|
+
* this is being done as IDPs do not allow to get themselves loaded into iFrames.
|
|
278
|
+
* remove-toolbar has been assigned with a window name WM_PREVIEW_WINDOW, check if the iframe is our toolbar related and
|
|
279
|
+
* safely change the location of the parent toolbar with current url.
|
|
280
|
+
*/
|
|
281
|
+
if (window.self !== window.top) {
|
|
282
|
+
try {
|
|
283
|
+
if (window.parent && window.location.origin === window.parent.origin) {
|
|
284
|
+
if (window.parent.name === PREVIEW_WINDOW_NAME) {
|
|
285
|
+
window.parent.location.href = window.self.location.href;
|
|
286
|
+
window.parent.name = "";
|
|
287
|
+
}
|
|
288
|
+
} else {
|
|
289
|
+
window.location.href = ssoUrl;
|
|
290
|
+
}
|
|
291
|
+
} catch (error) {
|
|
292
|
+
window.location.href = ssoUrl;
|
|
293
|
+
}
|
|
294
|
+
} else {
|
|
295
|
+
window.location.href = ssoUrl;
|
|
296
|
+
}
|
|
297
|
+
case 11:
|
|
298
|
+
case "end":
|
|
299
|
+
return _context2.stop();
|
|
300
|
+
}
|
|
301
|
+
}, _callee2);
|
|
302
|
+
}));
|
|
303
|
+
return function handleSSOLogin(_x4, _x5) {
|
|
304
|
+
return _ref8.apply(this, arguments);
|
|
305
|
+
};
|
|
306
|
+
}();
|
|
307
|
+
var setupAxiosInterceptors = exports.setupAxiosInterceptors = function setupAxiosInterceptors() {
|
|
308
|
+
_axios["default"].defaults.withCredentials = true;
|
|
309
|
+
_axios["default"].interceptors.request.use(/*#__PURE__*/function () {
|
|
310
|
+
var _ref9 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(config) {
|
|
311
|
+
var _state$info, _config$url;
|
|
312
|
+
var state, token, baseUrl;
|
|
313
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
314
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
315
|
+
case 0:
|
|
316
|
+
state = _store.store.getState();
|
|
317
|
+
token = state.auth.token;
|
|
318
|
+
baseUrl = ((_state$info = state.info) === null || _state$info === void 0 || (_state$info = _state$info.appConfig) === null || _state$info === void 0 ? void 0 : _state$info.url) || ""; // Remove manual Cookie header setting as it's restricted by browsers
|
|
319
|
+
// and withCredentials already handles cookie transmission
|
|
320
|
+
if ((_config$url = config.url) !== null && _config$url !== void 0 && _config$url.startsWith(baseUrl) && token) {
|
|
321
|
+
if (config.headers) config.headers[_authSlice.XSRF_HEADER_NAME] = token;
|
|
322
|
+
}
|
|
323
|
+
return _context3.abrupt("return", config);
|
|
324
|
+
case 5:
|
|
325
|
+
case "end":
|
|
326
|
+
return _context3.stop();
|
|
327
|
+
}
|
|
328
|
+
}, _callee3);
|
|
329
|
+
}));
|
|
330
|
+
return function (_x6) {
|
|
331
|
+
return _ref9.apply(this, arguments);
|
|
332
|
+
};
|
|
333
|
+
}(), function (error) {
|
|
334
|
+
// Handle request config errors
|
|
335
|
+
return Promise.reject(error);
|
|
336
|
+
});
|
|
337
|
+
_axios["default"].interceptors.response.use(function (response) {
|
|
338
|
+
return response;
|
|
339
|
+
}, function (error) {
|
|
340
|
+
if (error.response) {
|
|
341
|
+
var _error$response$confi, _error$response$confi2;
|
|
342
|
+
var state = _store.store.getState();
|
|
343
|
+
var info = state.info;
|
|
344
|
+
|
|
345
|
+
// Check for 401 Unauthorized
|
|
346
|
+
if (error.response.status === 401 && (_error$response$confi = error.response.config.url) !== null && _error$response$confi !== void 0 && _error$response$confi.startsWith(info.appConfig.url) && !((_error$response$confi2 = error.response.config.url) !== null && _error$response$confi2 !== void 0 && _error$response$confi2.includes("/services/"))) {
|
|
347
|
+
handle401();
|
|
348
|
+
}
|
|
349
|
+
} else if (error.request) {
|
|
350
|
+
console.error("No response received:", error.request);
|
|
351
|
+
} else {
|
|
352
|
+
console.error("Error setting up request:", error.message);
|
|
353
|
+
}
|
|
354
|
+
// Always return a rejected promise to allow further error handling
|
|
355
|
+
return Promise.reject(error);
|
|
356
|
+
});
|
|
357
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.resetAppVariables = exports.getAppVariablesInstance = void 0;
|
|
7
|
+
var appVariablesInstance;
|
|
8
|
+
var isInitialized = false;
|
|
9
|
+
var getAppVariablesInstance = exports.getAppVariablesInstance = function getAppVariablesInstance(pageProxy, getAppVariables) {
|
|
10
|
+
if (!isInitialized) {
|
|
11
|
+
appVariablesInstance = getAppVariables(pageProxy);
|
|
12
|
+
isInitialized = true;
|
|
13
|
+
console.log("App variables initialized once");
|
|
14
|
+
}
|
|
15
|
+
return appVariablesInstance;
|
|
16
|
+
};
|
|
17
|
+
var resetAppVariables = exports.resetAppVariables = function resetAppVariables() {
|
|
18
|
+
appVariablesInstance = null;
|
|
19
|
+
isInitialized = false;
|
|
20
|
+
};
|
package/core/appstore.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var map = new Map();
|
|
8
|
+
var _get = function get(t) {
|
|
9
|
+
return map.get(t);
|
|
10
|
+
};
|
|
11
|
+
var _set = function set(t, o) {
|
|
12
|
+
map.set(t, o);
|
|
13
|
+
};
|
|
14
|
+
var _remove = function remove(t) {
|
|
15
|
+
var v = map.get(t);
|
|
16
|
+
v && map["delete"](t);
|
|
17
|
+
return v;
|
|
18
|
+
};
|
|
19
|
+
var getDependency = function getDependency(t) {
|
|
20
|
+
var v = map.get(t);
|
|
21
|
+
if (v) {
|
|
22
|
+
return v;
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
};
|
|
26
|
+
var getApp = function getApp() {
|
|
27
|
+
var entries = Object.fromEntries(map.entries());
|
|
28
|
+
return entries;
|
|
29
|
+
};
|
|
30
|
+
var getInstance = function getInstance(key) {
|
|
31
|
+
return {
|
|
32
|
+
set: function set(o) {
|
|
33
|
+
return _set(key, o);
|
|
34
|
+
},
|
|
35
|
+
get: function get() {
|
|
36
|
+
return _get(key);
|
|
37
|
+
},
|
|
38
|
+
remove: function remove() {
|
|
39
|
+
return _remove(key);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
var appstore = {
|
|
44
|
+
set: _set,
|
|
45
|
+
get: _get,
|
|
46
|
+
remove: _remove,
|
|
47
|
+
getDependency: getDependency,
|
|
48
|
+
getApp: getApp,
|
|
49
|
+
I18nService: getInstance("I18nService"),
|
|
50
|
+
DialogService: getInstance("DialogService")
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// Initialize I18nService with default implementation if not already set
|
|
54
|
+
if (!appstore.I18nService.get()) {
|
|
55
|
+
appstore.I18nService.set({
|
|
56
|
+
selectedLocale: "en",
|
|
57
|
+
getSelectedLocale: function getSelectedLocale() {
|
|
58
|
+
// Try to get from session storage first
|
|
59
|
+
if (typeof window !== "undefined") {
|
|
60
|
+
var _window$sessionStorag;
|
|
61
|
+
var sessionLocale = (_window$sessionStorag = window.sessionStorage) === null || _window$sessionStorag === void 0 ? void 0 : _window$sessionStorag.getItem("selectedLocale");
|
|
62
|
+
if (sessionLocale) {
|
|
63
|
+
return sessionLocale;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Fall back to the selectedLocale property or default
|
|
67
|
+
return this.selectedLocale || "en";
|
|
68
|
+
},
|
|
69
|
+
isRTLLocale: function isRTLLocale(newLocale) {
|
|
70
|
+
var _appstore$I18nService;
|
|
71
|
+
// Default RTL implementation - can be overridden
|
|
72
|
+
var rtlLocales = ["ar", "he", "fa", "ur"];
|
|
73
|
+
var locale = newLocale || ((_appstore$I18nService = appstore.I18nService.get()) === null || _appstore$I18nService === void 0 ? void 0 : _appstore$I18nService.getSelectedLocale()) || "en";
|
|
74
|
+
return rtlLocales.some(function (rtl) {
|
|
75
|
+
return locale.startsWith(rtl);
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
setRTL: function setRTL(locale) {
|
|
79
|
+
// Default setRTL implementation - can be overridden
|
|
80
|
+
if (typeof document !== "undefined") {
|
|
81
|
+
var _appstore$I18nService2;
|
|
82
|
+
var isRTL = (_appstore$I18nService2 = appstore.I18nService.get()) === null || _appstore$I18nService2 === void 0 ? void 0 : _appstore$I18nService2.isRTLLocale(locale);
|
|
83
|
+
document.body.style.direction = isRTL ? "rtl" : "ltr";
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
var _default = exports["default"] = appstore;
|