@wavemaker/react-runtime 11.14.1-16.6404
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,196 @@
|
|
|
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"] = DynamicForm;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _isArray = _interopRequireDefault(require("lodash-es/isArray"));
|
|
13
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
14
|
+
var _formContext = require("../form-context");
|
|
15
|
+
var _text = _interopRequireDefault(require("../../../input/text"));
|
|
16
|
+
var _textarea = _interopRequireDefault(require("../../../input/textarea"));
|
|
17
|
+
var _number = _interopRequireDefault(require("../../../input/number"));
|
|
18
|
+
var _currency = _interopRequireDefault(require("../../../input/currency"));
|
|
19
|
+
var _select = _interopRequireDefault(require("../../../input/select"));
|
|
20
|
+
var _slider = _interopRequireDefault(require("../../../input/slider"));
|
|
21
|
+
var _rating = _interopRequireDefault(require("../../../input/rating"));
|
|
22
|
+
var _checkbox = _interopRequireDefault(require("../../../input/default/checkbox"));
|
|
23
|
+
var _checkboxset = _interopRequireDefault(require("../../../input/default/checkboxset"));
|
|
24
|
+
var _radioset = _interopRequireDefault(require("../../../input/default/radioset"));
|
|
25
|
+
var _switch = _interopRequireDefault(require("../../../input/default/switch"));
|
|
26
|
+
var _date = _interopRequireDefault(require("../../../input/epoch/date"));
|
|
27
|
+
var _datetime = _interopRequireDefault(require("../../../input/epoch/datetime"));
|
|
28
|
+
var _time = _interopRequireDefault(require("../../../input/epoch/time"));
|
|
29
|
+
var _chips = _interopRequireDefault(require("../../../input/chips"));
|
|
30
|
+
var _colorPicker = _interopRequireDefault(require("../../../input/color-picker"));
|
|
31
|
+
var _fileupload = _interopRequireDefault(require("../../../input/fileupload"));
|
|
32
|
+
var _calendar = _interopRequireDefault(require("../../../input/calendar"));
|
|
33
|
+
var _layoutGrid = _interopRequireDefault(require("../../../container/layout-grid"));
|
|
34
|
+
var _gridRow = _interopRequireDefault(require("../../../container/layout-grid/grid-row"));
|
|
35
|
+
var _gridColumn = _interopRequireDefault(require("../../../container/layout-grid/grid-column"));
|
|
36
|
+
var _label = _interopRequireDefault(require("../../../basic/label"));
|
|
37
|
+
var _formField = _interopRequireDefault(require("../form-field"));
|
|
38
|
+
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); }
|
|
39
|
+
var __jsx = _react["default"].createElement;
|
|
40
|
+
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; }
|
|
41
|
+
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; } // Form context
|
|
42
|
+
// Input components
|
|
43
|
+
// Default input components
|
|
44
|
+
// Date/Time components
|
|
45
|
+
// Other input components
|
|
46
|
+
// Layout components
|
|
47
|
+
// Basic components
|
|
48
|
+
// Form field wrapper
|
|
49
|
+
// Import types
|
|
50
|
+
|
|
51
|
+
// Component mapping for dynamic rendering
|
|
52
|
+
var COMPONENT_MAP = {
|
|
53
|
+
text: _text["default"],
|
|
54
|
+
textarea: _textarea["default"],
|
|
55
|
+
number: _number["default"],
|
|
56
|
+
currency: _currency["default"],
|
|
57
|
+
select: _select["default"],
|
|
58
|
+
slider: _slider["default"],
|
|
59
|
+
rating: _rating["default"],
|
|
60
|
+
checkbox: _checkbox["default"],
|
|
61
|
+
checkboxset: _checkboxset["default"],
|
|
62
|
+
radioset: _radioset["default"],
|
|
63
|
+
"switch": _switch["default"],
|
|
64
|
+
date: _date["default"],
|
|
65
|
+
datetime: _datetime["default"],
|
|
66
|
+
time: _time["default"],
|
|
67
|
+
chips: _chips["default"],
|
|
68
|
+
colorpicker: _colorPicker["default"],
|
|
69
|
+
fileupload: _fileupload["default"],
|
|
70
|
+
calendar: _calendar["default"]
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
// Default CSS classes
|
|
74
|
+
var DEFAULT_FIELD_CLASS = "app-dynamic-form-field";
|
|
75
|
+
function DynamicForm(props) {
|
|
76
|
+
var metadata = props.metadata,
|
|
77
|
+
listener = props.listener,
|
|
78
|
+
_props$layout = props.layout,
|
|
79
|
+
layout = _props$layout === void 0 ? "1-column" : _props$layout,
|
|
80
|
+
_props$noOfColumns = props.noOfColumns,
|
|
81
|
+
noOfColumns = _props$noOfColumns === void 0 ? 1 : _props$noOfColumns,
|
|
82
|
+
_props$isHorizontal = props.isHorizontal,
|
|
83
|
+
isHorizontal = _props$isHorizontal === void 0 ? false : _props$isHorizontal,
|
|
84
|
+
_props$name = props.name,
|
|
85
|
+
name = _props$name === void 0 ? "dynamicForm" : _props$name,
|
|
86
|
+
formRef = props.formRef,
|
|
87
|
+
onBeforeRender = props.onBeforeRender;
|
|
88
|
+
var formContext = (0, _formContext.useFormContext)();
|
|
89
|
+
var _ref = formContext || {},
|
|
90
|
+
captionposition = _ref.captionposition;
|
|
91
|
+
var metadataRef = (0, _react.useRef)(metadata);
|
|
92
|
+
(0, _react.useEffect)(function () {
|
|
93
|
+
if (onBeforeRender) metadataRef.current = onBeforeRender(metadata, props);else metadataRef.current = metadata;
|
|
94
|
+
}, [metadata, onBeforeRender]);
|
|
95
|
+
|
|
96
|
+
// Return null if fields is not an array or empty
|
|
97
|
+
if (!(0, _isArray["default"])(metadataRef.current) || metadataRef.current.length === 0) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// Calculate column width based on layout
|
|
102
|
+
var getColumnWidth = function getColumnWidth(fieldColumnWidth) {
|
|
103
|
+
if (fieldColumnWidth) return fieldColumnWidth;
|
|
104
|
+
|
|
105
|
+
// Calculate based on layout
|
|
106
|
+
var columns = layout === "custom" ? noOfColumns : parseInt(layout.split("-")[0]);
|
|
107
|
+
return Math.floor(12 / columns);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
// Render individual form field
|
|
111
|
+
var renderFormField = function renderFormField(field) {
|
|
112
|
+
var ComponentToRender = COMPONENT_MAP[field.widget] || _text["default"];
|
|
113
|
+
|
|
114
|
+
// Prepare field props
|
|
115
|
+
var fieldProps = _objectSpread(_objectSpread({}, field), {}, {
|
|
116
|
+
listener: listener,
|
|
117
|
+
captionposition: isHorizontal ? "horizontal" : captionposition
|
|
118
|
+
}, formContext && {
|
|
119
|
+
formContext: formContext,
|
|
120
|
+
onChangeHandler: formContext.onChangeHandler
|
|
121
|
+
});
|
|
122
|
+
return __jsx(ComponentToRender, fieldProps);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
// Render form field with label using FormField wrapper
|
|
126
|
+
var renderFormFieldWithWrapper = function renderFormFieldWithWrapper(field) {
|
|
127
|
+
var columnWidth = getColumnWidth(field.columnwidth);
|
|
128
|
+
return __jsx(_gridColumn["default"], {
|
|
129
|
+
key: field.name,
|
|
130
|
+
name: "".concat(field.name, "Column"),
|
|
131
|
+
columnwidth: columnWidth,
|
|
132
|
+
listener: listener
|
|
133
|
+
}, __jsx(_formField["default"], (0, _extends2["default"])({}, field, {
|
|
134
|
+
name: field.name,
|
|
135
|
+
field: "true",
|
|
136
|
+
listener: listener,
|
|
137
|
+
className: (0, _clsx["default"])(DEFAULT_FIELD_CLASS, field.className, " app-textbox"),
|
|
138
|
+
formRef: formRef,
|
|
139
|
+
required: field.required === true || String(field.required) === "true",
|
|
140
|
+
renderFormFields: function renderFormFields($formField) {
|
|
141
|
+
return __jsx(_react["default"].Fragment, null, __jsx(_label["default"], {
|
|
142
|
+
name: "".concat($formField.name, "_formLabel"),
|
|
143
|
+
caption: $formField.displayname,
|
|
144
|
+
required: $formField.required,
|
|
145
|
+
listener: listener,
|
|
146
|
+
className: (0, _clsx["default"])("app-label control-label formfield-label", (formRef === null || formRef === void 0 ? void 0 : formRef.captionCls) || ""),
|
|
147
|
+
htmlFor: $formField.name
|
|
148
|
+
}), renderFormField(_objectSpread(_objectSpread(_objectSpread({}, field), $formField), {}, {
|
|
149
|
+
name: $formField.name + "_formWidget",
|
|
150
|
+
className: (0, _clsx["default"])(field.className, (formRef === null || formRef === void 0 ? void 0 : formRef.widgetCls) || "")
|
|
151
|
+
})));
|
|
152
|
+
}
|
|
153
|
+
})));
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
// Group fields into rows based on column layout
|
|
157
|
+
var groupFieldsIntoRows = function groupFieldsIntoRows(fields) {
|
|
158
|
+
var columns = layout === "custom" ? noOfColumns : parseInt(layout.split("-")[0]);
|
|
159
|
+
var rows = [];
|
|
160
|
+
for (var i = 0; i < fields.length; i += columns) {
|
|
161
|
+
rows.push(fields.slice(i, i + columns));
|
|
162
|
+
}
|
|
163
|
+
return rows;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
// Render fields in grid layout
|
|
167
|
+
var renderFieldsInGrid = function renderFieldsInGrid() {
|
|
168
|
+
if (layout === "1-column") {
|
|
169
|
+
// Single column layout - each field in its own row
|
|
170
|
+
return metadataRef.current.map(function (field) {
|
|
171
|
+
return __jsx(_gridRow["default"], {
|
|
172
|
+
key: field.name,
|
|
173
|
+
name: "".concat(field.name, "Row"),
|
|
174
|
+
listener: listener
|
|
175
|
+
}, renderFormFieldWithWrapper(field));
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Multi-column layout - group fields into rows
|
|
180
|
+
var fieldRows = groupFieldsIntoRows(metadataRef.current);
|
|
181
|
+
return fieldRows.map(function (row, rowIndex) {
|
|
182
|
+
return __jsx(_gridRow["default"], {
|
|
183
|
+
key: "row-".concat(rowIndex),
|
|
184
|
+
name: "dynamicFormRow".concat(rowIndex),
|
|
185
|
+
listener: listener
|
|
186
|
+
}, row.map(function (field) {
|
|
187
|
+
return renderFormFieldWithWrapper(field);
|
|
188
|
+
}));
|
|
189
|
+
});
|
|
190
|
+
};
|
|
191
|
+
return __jsx(_layoutGrid["default"], {
|
|
192
|
+
name: name,
|
|
193
|
+
listener: listener,
|
|
194
|
+
className: "dynamic-form-grid"
|
|
195
|
+
}, renderFieldsInGrid());
|
|
196
|
+
}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.validateForm = exports.validateField = exports.updateFieldValue = exports.transformSingleField = exports.transformAPIResponse = exports.sortFields = exports.hasFormErrors = exports.getFormData = exports.getFieldByName = exports.filterFieldsByWidget = exports.createDefaultField = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
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; }
|
|
11
|
+
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; }
|
|
12
|
+
// Widget type mapping from API types to component types
|
|
13
|
+
var API_TYPE_TO_WIDGET_MAP = {
|
|
14
|
+
text: "text",
|
|
15
|
+
string: "text",
|
|
16
|
+
email: "text",
|
|
17
|
+
password: "text",
|
|
18
|
+
textarea: "textarea",
|
|
19
|
+
number: "number",
|
|
20
|
+
integer: "number",
|
|
21
|
+
decimal: "number",
|
|
22
|
+
"float": "number",
|
|
23
|
+
currency: "currency",
|
|
24
|
+
select: "select",
|
|
25
|
+
dropdown: "select",
|
|
26
|
+
choice: "select",
|
|
27
|
+
radio: "radioset",
|
|
28
|
+
radioset: "radioset",
|
|
29
|
+
checkbox: "checkbox",
|
|
30
|
+
checkboxset: "checkboxset",
|
|
31
|
+
"switch": "switch",
|
|
32
|
+
toggle: "switch",
|
|
33
|
+
slider: "slider",
|
|
34
|
+
range: "slider",
|
|
35
|
+
rating: "rating",
|
|
36
|
+
date: "date",
|
|
37
|
+
datetime: "datetime",
|
|
38
|
+
time: "time",
|
|
39
|
+
color: "colorpicker",
|
|
40
|
+
file: "fileupload",
|
|
41
|
+
upload: "fileupload",
|
|
42
|
+
chips: "chips",
|
|
43
|
+
tags: "chips",
|
|
44
|
+
calendar: "calendar"
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Transform API response fields to FormFieldMetadata
|
|
49
|
+
*/
|
|
50
|
+
var transformAPIResponse = exports.transformAPIResponse = function transformAPIResponse(apiFields) {
|
|
51
|
+
return apiFields.map(function (field) {
|
|
52
|
+
return transformSingleField(field);
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Transform a single API field to FormFieldMetadata
|
|
58
|
+
*/
|
|
59
|
+
var transformSingleField = exports.transformSingleField = function transformSingleField(apiField) {
|
|
60
|
+
var widget = API_TYPE_TO_WIDGET_MAP[apiField.type.toLowerCase()] || "text";
|
|
61
|
+
var formField = {
|
|
62
|
+
name: apiField.name,
|
|
63
|
+
widget: widget,
|
|
64
|
+
label: apiField.label || apiField.name,
|
|
65
|
+
placeholder: apiField.placeholder,
|
|
66
|
+
required: apiField.required || false,
|
|
67
|
+
datavalue: apiField.value || apiField.defaultvalue,
|
|
68
|
+
defaultvalue: apiField.defaultvalue
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// Handle validation properties
|
|
72
|
+
if (apiField.validation) {
|
|
73
|
+
var validation = apiField.validation;
|
|
74
|
+
if (validation.maxLength) formField.maxchars = validation.maxLength;
|
|
75
|
+
if (validation.minLength) formField.minchars = validation.minLength;
|
|
76
|
+
if (validation.min) formField.minvalue = validation.min;
|
|
77
|
+
if (validation.max) formField.maxvalue = validation.max;
|
|
78
|
+
if (validation.pattern) formField.regexp = validation.pattern;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Handle select/choice fields
|
|
82
|
+
if (widget === "select" || widget === "radioset" || widget === "checkboxset") {
|
|
83
|
+
if (apiField.options) {
|
|
84
|
+
formField.dataset = apiField.options.map(function (option) {
|
|
85
|
+
return _objectSpread({
|
|
86
|
+
key: option.value,
|
|
87
|
+
value: option.label
|
|
88
|
+
}, option);
|
|
89
|
+
});
|
|
90
|
+
formField.datafield = "key";
|
|
91
|
+
formField.displayfield = "value";
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Copy any additional properties
|
|
96
|
+
Object.keys(apiField).forEach(function (key) {
|
|
97
|
+
if (!formField.hasOwnProperty(key) && key !== "type" && key !== "validation" && key !== "options") {
|
|
98
|
+
formField[key] = apiField[key];
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
return formField;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Validate a form field value
|
|
106
|
+
*/
|
|
107
|
+
var validateField = exports.validateField = function validateField(field, value) {
|
|
108
|
+
// Required field validation
|
|
109
|
+
if (field.required && (value === null || value === undefined || value === "")) {
|
|
110
|
+
return "".concat(field.label || field.name, " is required");
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Skip other validations if value is empty and field is not required
|
|
114
|
+
if (value === null || value === undefined || value === "") {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// String length validation
|
|
119
|
+
if (typeof value === "string") {
|
|
120
|
+
if (field.maxchars && value.length > field.maxchars) {
|
|
121
|
+
return "".concat(field.label || field.name, " must not exceed ").concat(field.maxchars, " characters");
|
|
122
|
+
}
|
|
123
|
+
if (field.minchars && value.length < field.minchars) {
|
|
124
|
+
return "".concat(field.label || field.name, " must be at least ").concat(field.minchars, " characters");
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// Number validation
|
|
129
|
+
if (field.widget === "number" && typeof value === "number") {
|
|
130
|
+
if (field.minvalue !== undefined && value < field.minvalue) {
|
|
131
|
+
return "".concat(field.label || field.name, " must be at least ").concat(field.minvalue);
|
|
132
|
+
}
|
|
133
|
+
if (field.maxvalue !== undefined && value > field.maxvalue) {
|
|
134
|
+
return "".concat(field.label || field.name, " must not exceed ").concat(field.maxvalue);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Regex validation
|
|
139
|
+
if (field.regexp && typeof value === "string") {
|
|
140
|
+
var regex = new RegExp(field.regexp);
|
|
141
|
+
if (!regex.test(value)) {
|
|
142
|
+
return field.regexpmessage || "".concat(field.label || field.name, " format is invalid");
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return null;
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Validate all fields in a form
|
|
150
|
+
*/
|
|
151
|
+
var validateForm = exports.validateForm = function validateForm(fields, formData) {
|
|
152
|
+
var errors = {};
|
|
153
|
+
fields.forEach(function (field) {
|
|
154
|
+
var error = validateField(field, formData[field.name]);
|
|
155
|
+
if (error) {
|
|
156
|
+
errors[field.name] = error;
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
return errors;
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Get form data values from fields
|
|
164
|
+
*/
|
|
165
|
+
var getFormData = exports.getFormData = function getFormData(fields) {
|
|
166
|
+
var data = {};
|
|
167
|
+
fields.forEach(function (field) {
|
|
168
|
+
data[field.name] = field.datavalue || field.defaultvalue || "";
|
|
169
|
+
});
|
|
170
|
+
return data;
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Update a field's value in the fields array
|
|
175
|
+
*/
|
|
176
|
+
var updateFieldValue = exports.updateFieldValue = function updateFieldValue(fields, fieldName, value) {
|
|
177
|
+
return fields.map(function (field) {
|
|
178
|
+
return field.name === fieldName ? _objectSpread(_objectSpread({}, field), {}, {
|
|
179
|
+
datavalue: value
|
|
180
|
+
}) : field;
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Get field by name
|
|
186
|
+
*/
|
|
187
|
+
var getFieldByName = exports.getFieldByName = function getFieldByName(fields, fieldName) {
|
|
188
|
+
return fields.find(function (field) {
|
|
189
|
+
return field.name === fieldName;
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Check if form has any validation errors
|
|
195
|
+
*/
|
|
196
|
+
var hasFormErrors = exports.hasFormErrors = function hasFormErrors(fields, formData) {
|
|
197
|
+
var errors = validateForm(fields, formData);
|
|
198
|
+
return Object.keys(errors).length > 0;
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Create default field metadata
|
|
203
|
+
*/
|
|
204
|
+
var createDefaultField = exports.createDefaultField = function createDefaultField(name) {
|
|
205
|
+
var widget = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "text";
|
|
206
|
+
return {
|
|
207
|
+
name: name,
|
|
208
|
+
widget: widget,
|
|
209
|
+
label: name.charAt(0).toUpperCase() + name.slice(1),
|
|
210
|
+
required: false,
|
|
211
|
+
datavalue: ""
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Sort fields by a given property
|
|
217
|
+
*/
|
|
218
|
+
var sortFields = exports.sortFields = function sortFields(fields) {
|
|
219
|
+
var sortBy = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "name";
|
|
220
|
+
return (0, _toConsumableArray2["default"])(fields).sort(function (a, b) {
|
|
221
|
+
var aVal = a[sortBy];
|
|
222
|
+
var bVal = b[sortBy];
|
|
223
|
+
if (typeof aVal === "string" && typeof bVal === "string") {
|
|
224
|
+
return aVal.localeCompare(bVal);
|
|
225
|
+
}
|
|
226
|
+
return String(aVal).localeCompare(String(bVal));
|
|
227
|
+
});
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Filter fields by widget type
|
|
232
|
+
*/
|
|
233
|
+
var filterFieldsByWidget = exports.filterFieldsByWidget = function filterFieldsByWidget(fields, widgetTypes) {
|
|
234
|
+
return fields.filter(function (field) {
|
|
235
|
+
return widgetTypes.includes(field.widget);
|
|
236
|
+
});
|
|
237
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
14
|
+
var _button = require("@wavemaker/react-runtime/components/form/button");
|
|
15
|
+
var _anchor = require("@wavemaker/react-runtime/components/basic/anchor");
|
|
16
|
+
var _formContext = require("@wavemaker/react-runtime/components/data/form/form-context");
|
|
17
|
+
var _excluded = ["position", "btnClass", "updateMode", "displayName", "headeraction", "showViewMode"];
|
|
18
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
19
|
+
var __jsx = _react["default"].createElement;
|
|
20
|
+
var WmFormActions = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
21
|
+
var _props$show;
|
|
22
|
+
var _props$position = props.position,
|
|
23
|
+
position = _props$position === void 0 ? "footer" : _props$position,
|
|
24
|
+
btnClass = props.btnClass,
|
|
25
|
+
updateMode = props.updateMode,
|
|
26
|
+
displayName = props.displayName,
|
|
27
|
+
_props$headeraction = props.headeraction,
|
|
28
|
+
headeraction = _props$headeraction === void 0 ? false : _props$headeraction,
|
|
29
|
+
showViewMode = props.showViewMode,
|
|
30
|
+
rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
31
|
+
var isheaderaction = position === "header" && !headeraction;
|
|
32
|
+
|
|
33
|
+
// Get formRef from context
|
|
34
|
+
var formRef = (0, _formContext.useFormContext)();
|
|
35
|
+
|
|
36
|
+
// register header action
|
|
37
|
+
(0, _react.useEffect)(function () {
|
|
38
|
+
if (formRef && isheaderaction && formRef.registerHeaderAction) {
|
|
39
|
+
formRef.registerHeaderAction(props.name, props);
|
|
40
|
+
}
|
|
41
|
+
}, [formRef, props]);
|
|
42
|
+
|
|
43
|
+
// check for view mode and update mode
|
|
44
|
+
if (formRef !== null && formRef !== void 0 && formRef.isViewMode && updateMode || !(formRef !== null && formRef !== void 0 && formRef.isViewMode) && !updateMode) return null;else if (isheaderaction) return null;
|
|
45
|
+
if (props.widgettype === "anchor") {
|
|
46
|
+
return __jsx(_anchor.WmAnchor, (0, _extends2["default"])({}, rest, {
|
|
47
|
+
title: displayName,
|
|
48
|
+
caption: displayName,
|
|
49
|
+
className: (0, _clsx["default"])(btnClass, rest.className)
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
return __jsx(_button.WmButton, (0, _defineProperty2["default"])({
|
|
53
|
+
className: (0, _clsx["default"])(btnClass, rest.className),
|
|
54
|
+
caption: displayName,
|
|
55
|
+
title: displayName,
|
|
56
|
+
iconclass: props.iconclass,
|
|
57
|
+
type: props.type,
|
|
58
|
+
disabled: props.disabled,
|
|
59
|
+
onClick: props.onClick,
|
|
60
|
+
name: props.name,
|
|
61
|
+
show: (_props$show = props.show) === null || _props$show === void 0 ? void 0 : _props$show.toString(),
|
|
62
|
+
showindevices: props.showindevices,
|
|
63
|
+
styles: props.styles,
|
|
64
|
+
conditionalstyles: props.conditionalstyles,
|
|
65
|
+
conditionalclass: props.conditionalclass,
|
|
66
|
+
animation: props.animation,
|
|
67
|
+
listener: props.listener
|
|
68
|
+
}, "title", props.title || props.displayName));
|
|
69
|
+
});
|
|
70
|
+
WmFormActions.displayName = "WmFormActions";
|
|
71
|
+
var _default = exports["default"] = WmFormActions;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FormBody = FormBody;
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
|
+
var _excluded = ["children", "className", "styles"];
|
|
14
|
+
var __jsx = _react["default"].createElement;
|
|
15
|
+
var DEFAULT_CLASS = "panel-body form-body";
|
|
16
|
+
function FormBody(props) {
|
|
17
|
+
var children = props.children,
|
|
18
|
+
className = props.className,
|
|
19
|
+
styles = props.styles,
|
|
20
|
+
rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
21
|
+
return __jsx("div", (0, _extends2["default"])({
|
|
22
|
+
className: (0, _clsx["default"])(DEFAULT_CLASS, className),
|
|
23
|
+
style: styles
|
|
24
|
+
}, rest), children);
|
|
25
|
+
}
|
|
26
|
+
var _default = exports["default"] = FormBody;
|
|
@@ -0,0 +1,34 @@
|
|
|
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.useIsViewMode = exports.useFormContext = exports["default"] = exports.FormProvider = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
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
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
var FormContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
16
|
+
var FormProvider = exports.FormProvider = function FormProvider(_ref) {
|
|
17
|
+
var value = _ref.value,
|
|
18
|
+
isViewMode = _ref.isViewMode,
|
|
19
|
+
children = _ref.children;
|
|
20
|
+
return __jsx(FormContext.Provider, {
|
|
21
|
+
value: _objectSpread(_objectSpread({}, value), {}, {
|
|
22
|
+
isViewMode: isViewMode
|
|
23
|
+
})
|
|
24
|
+
}, children);
|
|
25
|
+
};
|
|
26
|
+
var useFormContext = exports.useFormContext = function useFormContext() {
|
|
27
|
+
var context = (0, _react.useContext)(FormContext);
|
|
28
|
+
return context;
|
|
29
|
+
};
|
|
30
|
+
var useIsViewMode = exports.useIsViewMode = function useIsViewMode() {
|
|
31
|
+
var context = useFormContext();
|
|
32
|
+
return context === null || context === void 0 ? void 0 : context.isViewMode;
|
|
33
|
+
};
|
|
34
|
+
var _default = exports["default"] = FormContext;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.VALIDATOR = void 0;
|
|
7
|
+
var VALIDATOR = exports.VALIDATOR = {
|
|
8
|
+
REQUIRED: "required",
|
|
9
|
+
MAXCHARS: "maxchars",
|
|
10
|
+
MINVALUE: "minvalue",
|
|
11
|
+
MAXVALUE: "maxvalue",
|
|
12
|
+
REGEXP: "regexp",
|
|
13
|
+
MINDATE: "mindate",
|
|
14
|
+
MAXDATE: "maxdate",
|
|
15
|
+
MINTIME: "mintime",
|
|
16
|
+
MAXTIME: "maxtime",
|
|
17
|
+
EXCLUDEDATES: "excludedates",
|
|
18
|
+
EXCLUDEDAYS: "excludedays"
|
|
19
|
+
};
|