@wavemaker/react-runtime 11.14.1-rc.236
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 +10183 -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,46 @@
|
|
|
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"] = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _excluded = ["styles", "onLoad", "onDestroy", "children"];
|
|
13
|
+
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); }
|
|
14
|
+
var __jsx = _react["default"].createElement;
|
|
15
|
+
var WmPrefabContainer = function WmPrefabContainer(props) {
|
|
16
|
+
var styles = props.styles,
|
|
17
|
+
onLoad = props.onLoad,
|
|
18
|
+
onDestroy = props.onDestroy,
|
|
19
|
+
children = props.children,
|
|
20
|
+
rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
21
|
+
var loadedRef = (0, _react.useRef)(false);
|
|
22
|
+
var ref = (0, _react.useRef)(null);
|
|
23
|
+
(0, _react.useEffect)(function () {
|
|
24
|
+
if (onLoad && !loadedRef.current) {
|
|
25
|
+
setTimeout(function () {
|
|
26
|
+
onLoad(Event, {
|
|
27
|
+
ref: ref.current
|
|
28
|
+
});
|
|
29
|
+
}, 1000);
|
|
30
|
+
loadedRef.current = true;
|
|
31
|
+
}
|
|
32
|
+
return function () {
|
|
33
|
+
if (onDestroy) {
|
|
34
|
+
onDestroy(Event, {
|
|
35
|
+
ref: ref.current
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}, [onLoad, onDestroy]);
|
|
40
|
+
return __jsx("div", (0, _extends2["default"])({
|
|
41
|
+
style: styles
|
|
42
|
+
}, rest, {
|
|
43
|
+
ref: ref
|
|
44
|
+
}), children);
|
|
45
|
+
};
|
|
46
|
+
var _default = exports["default"] = WmPrefabContainer;
|
|
@@ -0,0 +1,67 @@
|
|
|
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"] = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _excluded = ["styles", "onLoad", "onDestroy", "onRender", "children", "trafficlayer", "transitlayer", "stopover", "onMarkerclick", "onMarkerhover", "onMarkerdragend", "show", "listener", "width", "height"];
|
|
14
|
+
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); }
|
|
15
|
+
var __jsx = _react["default"].createElement;
|
|
16
|
+
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; }
|
|
17
|
+
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; }
|
|
18
|
+
var WmPrefab = function WmPrefab(props) {
|
|
19
|
+
var styles = props.styles,
|
|
20
|
+
onLoad = props.onLoad,
|
|
21
|
+
onDestroy = props.onDestroy,
|
|
22
|
+
onRender = props.onRender,
|
|
23
|
+
children = props.children,
|
|
24
|
+
trafficlayer = props.trafficlayer,
|
|
25
|
+
transitlayer = props.transitlayer,
|
|
26
|
+
stopover = props.stopover,
|
|
27
|
+
onMarkerclick = props.onMarkerclick,
|
|
28
|
+
onMarkerhover = props.onMarkerhover,
|
|
29
|
+
onMarkerdragend = props.onMarkerdragend,
|
|
30
|
+
_props$show = props.show,
|
|
31
|
+
show = _props$show === void 0 ? true : _props$show,
|
|
32
|
+
listener = props.listener,
|
|
33
|
+
width = props.width,
|
|
34
|
+
height = props.height,
|
|
35
|
+
rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
36
|
+
var loadedRef = (0, _react.useRef)(false);
|
|
37
|
+
var ref = (0, _react.useRef)(null);
|
|
38
|
+
(0, _react.useEffect)(function () {
|
|
39
|
+
if (onLoad && !loadedRef.current) {
|
|
40
|
+
setTimeout(function () {
|
|
41
|
+
onLoad(Event, {
|
|
42
|
+
ref: ref.current
|
|
43
|
+
});
|
|
44
|
+
}, 1000);
|
|
45
|
+
loadedRef.current = true;
|
|
46
|
+
}
|
|
47
|
+
return function () {
|
|
48
|
+
if (onDestroy) {
|
|
49
|
+
onDestroy(Event, {
|
|
50
|
+
ref: ref.current
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}, [onLoad, onDestroy]);
|
|
55
|
+
if (!show && !loadedRef.current) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return __jsx("div", (0, _extends2["default"])({}, rest, {
|
|
59
|
+
style: _objectSpread(_objectSpread(_objectSpread({}, styles), width !== undefined && {
|
|
60
|
+
width: parseFloat(width)
|
|
61
|
+
}), height !== undefined && {
|
|
62
|
+
height: parseFloat(height)
|
|
63
|
+
}),
|
|
64
|
+
ref: ref
|
|
65
|
+
}), children);
|
|
66
|
+
};
|
|
67
|
+
var _default = exports["default"] = WmPrefab;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useAppProxy = exports.useAppContext = exports["default"] = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var AppContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
9
|
+
var useAppContext = exports.useAppContext = function useAppContext() {
|
|
10
|
+
var _useContext;
|
|
11
|
+
var context = (_useContext = (0, _react.useContext)(AppContext)) === null || _useContext === void 0 ? void 0 : _useContext.state;
|
|
12
|
+
if (context === undefined) {
|
|
13
|
+
throw new Error("useAppContext must be used within an AppProvider");
|
|
14
|
+
}
|
|
15
|
+
return context || {};
|
|
16
|
+
};
|
|
17
|
+
var useAppProxy = exports.useAppProxy = function useAppProxy() {
|
|
18
|
+
var _useContext2;
|
|
19
|
+
var context = (_useContext2 = (0, _react.useContext)(AppContext)) === null || _useContext2 === void 0 ? void 0 : _useContext2.proxy;
|
|
20
|
+
if (context === undefined) {
|
|
21
|
+
throw new Error("useAppProxy must be used within an AppProvider");
|
|
22
|
+
}
|
|
23
|
+
return context;
|
|
24
|
+
};
|
|
25
|
+
var _default = exports["default"] = AppContext;
|
|
@@ -0,0 +1,43 @@
|
|
|
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.useAppSpinner = exports["default"] = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _appSpinner = _interopRequireDefault(require("../components/common/app-spinner"));
|
|
11
|
+
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); }
|
|
12
|
+
var __jsx = _react["default"].createElement;
|
|
13
|
+
var AppSpinnerContext = /*#__PURE__*/_react["default"].createContext(null);
|
|
14
|
+
var AppSpinnerProvider = function AppSpinnerProvider(_ref) {
|
|
15
|
+
var children = _ref.children;
|
|
16
|
+
var _useState = (0, _react.useState)(false),
|
|
17
|
+
spinnerShow = _useState[0],
|
|
18
|
+
setSpinnerShow = _useState[1];
|
|
19
|
+
var _useState2 = (0, _react.useState)(""),
|
|
20
|
+
spinnerMessage = _useState2[0],
|
|
21
|
+
setSpinnerMessage = _useState2[1];
|
|
22
|
+
function show(message) {
|
|
23
|
+
setSpinnerShow(true);
|
|
24
|
+
setSpinnerMessage(message);
|
|
25
|
+
}
|
|
26
|
+
function hide() {
|
|
27
|
+
setSpinnerShow(false);
|
|
28
|
+
setSpinnerMessage("");
|
|
29
|
+
}
|
|
30
|
+
return __jsx(AppSpinnerContext.Provider, {
|
|
31
|
+
value: {
|
|
32
|
+
show: show,
|
|
33
|
+
hide: hide
|
|
34
|
+
}
|
|
35
|
+
}, __jsx(_appSpinner["default"], {
|
|
36
|
+
show: spinnerShow,
|
|
37
|
+
message: spinnerMessage
|
|
38
|
+
}), children);
|
|
39
|
+
};
|
|
40
|
+
var _default = exports["default"] = AppSpinnerProvider;
|
|
41
|
+
var useAppSpinner = exports.useAppSpinner = function useAppSpinner() {
|
|
42
|
+
return (0, _react.useContext)(AppSpinnerContext);
|
|
43
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
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"] = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _store = require("../store");
|
|
11
|
+
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
12
|
+
var _xDatePickers = require("@mui/x-date-pickers");
|
|
13
|
+
var _AdapterMoment = require("@mui/x-date-pickers/AdapterMoment");
|
|
14
|
+
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); }
|
|
15
|
+
var __jsx = _react["default"].createElement;
|
|
16
|
+
var loadedLocales = new Set(["en"]);
|
|
17
|
+
var loadMomentLocale = function loadMomentLocale(locale) {
|
|
18
|
+
if (!locale || locale === "en") {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
var normalizedLocale = locale.toLowerCase();
|
|
22
|
+
if (loadedLocales.has(normalizedLocale)) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
require("moment/locale/".concat(normalizedLocale, ".js"));
|
|
27
|
+
loadedLocales.add(normalizedLocale);
|
|
28
|
+
return true;
|
|
29
|
+
} catch (error) {
|
|
30
|
+
var baseLocale = normalizedLocale.split("-")[0];
|
|
31
|
+
if (baseLocale !== normalizedLocale && baseLocale !== "en" && !loadedLocales.has(baseLocale)) {
|
|
32
|
+
try {
|
|
33
|
+
require("moment/locale/".concat(baseLocale, ".js"));
|
|
34
|
+
loadedLocales.add(baseLocale);
|
|
35
|
+
return true;
|
|
36
|
+
} catch (baseError) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
var CustomLocalizationProvider = function CustomLocalizationProvider(_ref) {
|
|
44
|
+
var children = _ref.children;
|
|
45
|
+
var selectedLocale = (0, _store.useAppSelector)(function (state) {
|
|
46
|
+
return state.i18n.selectedLocale;
|
|
47
|
+
});
|
|
48
|
+
(0, _react.useEffect)(function () {
|
|
49
|
+
if (!selectedLocale) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
var localeLoadSuccess = loadMomentLocale(selectedLocale);
|
|
53
|
+
_momentTimezone["default"].locale(selectedLocale);
|
|
54
|
+
if (localeLoadSuccess) {
|
|
55
|
+
_momentTimezone["default"].updateLocale(selectedLocale, {
|
|
56
|
+
monthsShort: Array.from({
|
|
57
|
+
length: 12
|
|
58
|
+
}, function (_, i) {
|
|
59
|
+
return (0, _momentTimezone["default"])().month(i).format("MMM");
|
|
60
|
+
}),
|
|
61
|
+
months: Array.from({
|
|
62
|
+
length: 12
|
|
63
|
+
}, function (_, i) {
|
|
64
|
+
return (0, _momentTimezone["default"])().month(i).format("MMMM");
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}, [selectedLocale]);
|
|
69
|
+
return __jsx(_xDatePickers.LocalizationProvider, {
|
|
70
|
+
dateAdapter: _AdapterMoment.AdapterMoment,
|
|
71
|
+
adapterLocale: selectedLocale,
|
|
72
|
+
localeText: {
|
|
73
|
+
calendarViewSwitchingButtonAriaLabel: function calendarViewSwitchingButtonAriaLabel(view) {
|
|
74
|
+
return view === "year" ? "year view is open, switch to calendar view" : "calendar view is open, switch to year view";
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}, children);
|
|
78
|
+
};
|
|
79
|
+
var _default = exports["default"] = CustomLocalizationProvider;
|
|
@@ -0,0 +1,66 @@
|
|
|
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.usePrefabContext = exports["default"] = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
var _lodash = require("lodash");
|
|
12
|
+
var _events = require("../core/constants/events");
|
|
13
|
+
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); }
|
|
14
|
+
var __jsx = _react["default"].createElement;
|
|
15
|
+
var PrefabContext = /*#__PURE__*/(0, _react.createContext)({
|
|
16
|
+
inbound: {},
|
|
17
|
+
outbound: {}
|
|
18
|
+
});
|
|
19
|
+
var usePrefabContext = exports.usePrefabContext = function usePrefabContext() {
|
|
20
|
+
return (0, _react.useContext)(PrefabContext);
|
|
21
|
+
};
|
|
22
|
+
var getChangedKeys = function getChangedKeys(prev, curr) {
|
|
23
|
+
var changes = [];
|
|
24
|
+
var keys = new Set([].concat((0, _toConsumableArray2["default"])(Object.keys(prev)), (0, _toConsumableArray2["default"])(Object.keys(curr))));
|
|
25
|
+
keys.forEach(function (key) {
|
|
26
|
+
var ignoredKeys = ["name", "prefabname", "data-widget-id", "prefabName"];
|
|
27
|
+
if (ignoredKeys.includes(key)) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// Skip functions - we only want to track value changes
|
|
31
|
+
var prevValue = prev[key];
|
|
32
|
+
var currValue = curr[key];
|
|
33
|
+
if (typeof prevValue === "function" || typeof currValue === "function") {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (!(0, _lodash.isEqual)(prevValue, currValue)) {
|
|
37
|
+
changes.push({
|
|
38
|
+
key: key,
|
|
39
|
+
oldValue: prevValue,
|
|
40
|
+
newValue: currValue
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
return changes;
|
|
45
|
+
};
|
|
46
|
+
var PrefabProvider = function PrefabProvider(_ref) {
|
|
47
|
+
var Context = _ref.value,
|
|
48
|
+
children = _ref.children;
|
|
49
|
+
var prevInboundRef = (0, _react.useRef)(Context.inbound);
|
|
50
|
+
var prevOutboundRef = (0, _react.useRef)(Context.outbound);
|
|
51
|
+
(0, _react.useEffect)(function () {
|
|
52
|
+
var currInbound = Context.inbound;
|
|
53
|
+
var inboundChanges = getChangedKeys(prevOutboundRef.current, currInbound);
|
|
54
|
+
prevOutboundRef.current = currInbound;
|
|
55
|
+
if (inboundChanges.length > 0) {
|
|
56
|
+
setTimeout(function () {
|
|
57
|
+
_events.EVENTEMITTER_METHODS.PREFAB_STATE_SYNC_EMIT(inboundChanges);
|
|
58
|
+
}, 1000);
|
|
59
|
+
}
|
|
60
|
+
prevInboundRef.current = currInbound;
|
|
61
|
+
}, [Context.inbound]);
|
|
62
|
+
return __jsx(PrefabContext.Provider, {
|
|
63
|
+
value: Context
|
|
64
|
+
}, children);
|
|
65
|
+
};
|
|
66
|
+
var _default = exports["default"] = PrefabProvider;
|
|
@@ -0,0 +1,187 @@
|
|
|
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.useWidgetProxy = exports.useProxy = exports.usePageContext = exports.useAppState = exports.WidgetProvider = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _isEqual = _interopRequireDefault(require("lodash-es/isEqual"));
|
|
13
|
+
var _get = _interopRequireDefault(require("lodash-es/get"));
|
|
14
|
+
var _debounce = _interopRequireDefault(require("lodash-es/debounce"));
|
|
15
|
+
var _proxyService = require("../core/proxy-service");
|
|
16
|
+
var _useHttp = require("../hooks/useHttp");
|
|
17
|
+
var _widgetCleanupUtil = require("../utils/widget-cleanup-util");
|
|
18
|
+
var _formState = require("../utils/form-state.util");
|
|
19
|
+
var _events = require("../core/constants/events");
|
|
20
|
+
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); }
|
|
21
|
+
var __jsx = _react["default"].createElement;
|
|
22
|
+
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; }
|
|
23
|
+
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; }
|
|
24
|
+
var WidgetContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
25
|
+
|
|
26
|
+
// WeakMap to store proxy flags without exposing them as props
|
|
27
|
+
var proxyMap = new WeakMap();
|
|
28
|
+
var WidgetProvider = exports.WidgetProvider = function WidgetProvider(_ref) {
|
|
29
|
+
var _pageContext$componen, _pageContext$componen2;
|
|
30
|
+
var Context = _ref.value,
|
|
31
|
+
children = _ref.children;
|
|
32
|
+
var value = Context.value,
|
|
33
|
+
proxy = Context.proxy;
|
|
34
|
+
var _useState = (0, _react.useState)(value),
|
|
35
|
+
pageContext = _useState[0],
|
|
36
|
+
setPageContext = _useState[1];
|
|
37
|
+
var pageContextRef = (0, _react.useRef)(value);
|
|
38
|
+
pageContextRef.current = pageContext;
|
|
39
|
+
|
|
40
|
+
// Create cleanup utility instance
|
|
41
|
+
var cleanupUtilRef = (0, _react.useRef)(null);
|
|
42
|
+
|
|
43
|
+
// Initialize cleanup utility if not already created
|
|
44
|
+
if (!cleanupUtilRef.current) {
|
|
45
|
+
cleanupUtilRef.current = (0, _widgetCleanupUtil.createWidgetCleanup)({
|
|
46
|
+
setPageContext: setPageContext,
|
|
47
|
+
proxyRef: {
|
|
48
|
+
current: proxy
|
|
49
|
+
},
|
|
50
|
+
debounceDelay: 100
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
(0, _react.useEffect)(function () {
|
|
54
|
+
setPageContext(function (prevContext) {
|
|
55
|
+
var newContext = _objectSpread({}, prevContext);
|
|
56
|
+
if (value !== null && value !== void 0 && value.Widgets && newContext !== null && newContext !== void 0 && newContext.Widgets) {
|
|
57
|
+
Object.keys(value.Widgets).forEach(function (widgetName) {
|
|
58
|
+
var currentWidget = newContext.Widgets[widgetName];
|
|
59
|
+
var incomingWidget = value.Widgets[widgetName];
|
|
60
|
+
if (!currentWidget || !proxyMap.has(currentWidget)) {
|
|
61
|
+
// Create new proxy if widget doesn't exist or isn't proxied
|
|
62
|
+
var widgetProxy = (0, _proxyService.createWidgetProxy)(_objectSpread({}, incomingWidget), widgetName, setPageContext);
|
|
63
|
+
newContext.Widgets[widgetName] = widgetProxy;
|
|
64
|
+
newContext.App.Widgets[widgetName] = widgetProxy;
|
|
65
|
+
|
|
66
|
+
// Register form field if applicable
|
|
67
|
+
(0, _formState.registerFormField)(newContext.Widgets, widgetProxy, incomingWidget);
|
|
68
|
+
} else {
|
|
69
|
+
// Update existing proxy properties - important for widgets that start minimal
|
|
70
|
+
// Always update all properties to ensure proxy has complete data
|
|
71
|
+
Object.entries(incomingWidget).forEach(function (_ref2) {
|
|
72
|
+
var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
|
|
73
|
+
key = _ref3[0],
|
|
74
|
+
val = _ref3[1];
|
|
75
|
+
if (typeof key === "string" && !key.startsWith("_")) {
|
|
76
|
+
currentWidget[key] = val;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Handle other context properties
|
|
84
|
+
value && Object.keys(value).forEach(function (key) {
|
|
85
|
+
if (key !== "Widgets") {
|
|
86
|
+
newContext[key] = value[key];
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
pageContextRef.current = newContext;
|
|
90
|
+
return newContext;
|
|
91
|
+
});
|
|
92
|
+
}, [value]);
|
|
93
|
+
var updateWidgetState = (0, _react.useMemo)(function () {
|
|
94
|
+
return function (widgetName, props) {
|
|
95
|
+
if (!widgetName || !pageContext.Widgets) return;
|
|
96
|
+
var widget = pageContext.Widgets[widgetName];
|
|
97
|
+
if (!(0, _isEqual["default"])(widget, props)) {
|
|
98
|
+
pageContext.Widgets[widgetName] = props;
|
|
99
|
+
pageContextRef.current.Widgets[widgetName] = props;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Register form field with safe structure initialization
|
|
103
|
+
(0, _formState.registerFormFieldSafe)(pageContext.Widgets, props);
|
|
104
|
+
};
|
|
105
|
+
}, []);
|
|
106
|
+
var cleanup = function cleanup(name) {
|
|
107
|
+
var _cleanupUtilRef$curre;
|
|
108
|
+
(_cleanupUtilRef$curre = cleanupUtilRef.current) === null || _cleanupUtilRef$curre === void 0 || _cleanupUtilRef$curre.cleanup(name);
|
|
109
|
+
};
|
|
110
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
111
|
+
return {
|
|
112
|
+
pageContext: pageContext,
|
|
113
|
+
updateWidgetState: updateWidgetState,
|
|
114
|
+
proxy: proxy,
|
|
115
|
+
cleanup: cleanup
|
|
116
|
+
};
|
|
117
|
+
}, [pageContext, updateWidgetState, proxy, cleanup]);
|
|
118
|
+
|
|
119
|
+
// Stable debounced emitter
|
|
120
|
+
var debouncedEmitRef = (0, _react.useRef)((0, _debounce["default"])(function (partialName, context) {
|
|
121
|
+
_events.EVENTEMITTER_METHODS.PARTIAL_STATE_SYNC_EMIT({
|
|
122
|
+
partialName: partialName,
|
|
123
|
+
pageContext: pageContextRef.current
|
|
124
|
+
});
|
|
125
|
+
}, 100));
|
|
126
|
+
|
|
127
|
+
// Extract only what matters to avoid extra renders
|
|
128
|
+
var partialName = (pageContext === null || pageContext === void 0 ? void 0 : pageContext.partialName) || (pageContext === null || pageContext === void 0 || (_pageContext$componen = pageContext.componentType) === null || _pageContext$componen === void 0 ? void 0 : _pageContext$componen.toLowerCase()) === "prefab" && (pageContext === null || pageContext === void 0 ? void 0 : pageContext.name);
|
|
129
|
+
var isPage = (pageContext === null || pageContext === void 0 || (_pageContext$componen2 = pageContext.componentType) === null || _pageContext$componen2 === void 0 ? void 0 : _pageContext$componen2.toUpperCase()) === "PAGE";
|
|
130
|
+
(0, _react.useEffect)(function () {
|
|
131
|
+
if (!isPage) return;
|
|
132
|
+
var handlePartialStateSync = function handlePartialStateSync(data) {
|
|
133
|
+
if (!data.pageContext) return;
|
|
134
|
+
|
|
135
|
+
// If proxy must sync, clone to avoid mutation issues
|
|
136
|
+
proxy.Widgets[data.partialName] = data.pageContext;
|
|
137
|
+
proxy.App.Widgets[data.partialName] = data.pageContext;
|
|
138
|
+
pageContextRef.current.Widgets[data.partialName] = data.pageContext;
|
|
139
|
+
};
|
|
140
|
+
_events.EVENTEMITTER_METHODS.PARTIAL_STATE_SYNC_ON(handlePartialStateSync);
|
|
141
|
+
return function () {
|
|
142
|
+
_events.EVENTEMITTER_METHODS.PARTIAL_STATE_SYNC_OFF(handlePartialStateSync);
|
|
143
|
+
};
|
|
144
|
+
}, [isPage]);
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Emit partial updates only for partial/prefab types
|
|
148
|
+
*/
|
|
149
|
+
(0, _react.useEffect)(function () {
|
|
150
|
+
if (isPage || !partialName) return;
|
|
151
|
+
debouncedEmitRef.current(partialName, pageContext);
|
|
152
|
+
}, [isPage, partialName, pageContext]);
|
|
153
|
+
return __jsx(_useHttp.HttpProvider, null, __jsx(WidgetContext.Provider, {
|
|
154
|
+
value: contextValue
|
|
155
|
+
}, children));
|
|
156
|
+
};
|
|
157
|
+
var usePageContext = exports.usePageContext = function usePageContext() {
|
|
158
|
+
var context = (0, _react.useContext)(WidgetContext);
|
|
159
|
+
if (!context) {
|
|
160
|
+
throw new Error("useWidgetContext must be used within a WidgetProvider");
|
|
161
|
+
}
|
|
162
|
+
return context;
|
|
163
|
+
};
|
|
164
|
+
var useWidgetProxy = exports.useWidgetProxy = function useWidgetProxy(name) {
|
|
165
|
+
var context = (0, _react.useContext)(WidgetContext);
|
|
166
|
+
if (!context) {
|
|
167
|
+
throw new Error("useWidgetProxy must be used within a WidgetProvider");
|
|
168
|
+
}
|
|
169
|
+
return (0, _get["default"])(context.proxy, "Widgets.".concat(name), {});
|
|
170
|
+
};
|
|
171
|
+
var useProxy = exports.useProxy = function useProxy(path) {
|
|
172
|
+
var context = (0, _react.useContext)(WidgetContext);
|
|
173
|
+
if (!context) {
|
|
174
|
+
throw new Error("useProxy must be used within a WidgetProvider");
|
|
175
|
+
}
|
|
176
|
+
if (!path) {
|
|
177
|
+
return context.proxy;
|
|
178
|
+
}
|
|
179
|
+
return (0, _get["default"])(context.proxy, path, null);
|
|
180
|
+
};
|
|
181
|
+
var useAppState = exports.useAppState = function useAppState() {
|
|
182
|
+
var context = (0, _react.useContext)(WidgetContext);
|
|
183
|
+
if (!context) {
|
|
184
|
+
throw new Error("useAppState must be used within a WidgetProvider");
|
|
185
|
+
}
|
|
186
|
+
return context.pageContext;
|
|
187
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|