procode-lowcode-core 1.0.0
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/README.md +188 -0
- package/dist/index.esm.js +22395 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +22405 -0
- package/dist/index.js.map +1 -0
- package/dist/src/Assets/styles/_core-base.scss +18 -0
- package/dist/src/Assets/styles/index.scss +1 -0
- package/dist/types/Action/ActionInvoker.d.ts +12 -0
- package/dist/types/Action/IActionFactory.d.ts +16 -0
- package/dist/types/Action/StandardActions/StandardActionFactory.d.ts +6 -0
- package/dist/types/Action/StandardActions/handleAPICreate.d.ts +3 -0
- package/dist/types/Action/StandardActions/handleAPIDelete.d.ts +3 -0
- package/dist/types/Action/StandardActions/handleAPIGet.d.ts +3 -0
- package/dist/types/Action/StandardActions/handleAPIUpdate.d.ts +3 -0
- package/dist/types/Action/StandardActions/handleCreateAndNavigate.d.ts +3 -0
- package/dist/types/Action/StandardActions/handleFetchSupportiveResult.d.ts +3 -0
- package/dist/types/Action/StandardActions/handleLazyLoadData.d.ts +3 -0
- package/dist/types/Action/StandardActions/handleModifyModel.d.ts +3 -0
- package/dist/types/Action/StandardActions/handleNavigation.d.ts +3 -0
- package/dist/types/Action/StandardActions/handleNavigationBack.d.ts +3 -0
- package/dist/types/Action/StandardActions/handleUpdateAndNavigate.d.ts +3 -0
- package/dist/types/Action/Types.d.ts +43 -0
- package/dist/types/Action/helpers/executeValidationWithModifyViewModel.d.ts +4 -0
- package/dist/types/Action/helpers/validateUiElementSchema.d.ts +5 -0
- package/dist/types/Adapter/CoreAdapterProvider.d.ts +15 -0
- package/dist/types/Adapter/IAdapterProvider.d.ts +24 -0
- package/dist/types/ApplicationStart/AppDependenceyProvider.d.ts +25 -0
- package/dist/types/ApplicationStart/AppRouter.d.ts +21 -0
- package/dist/types/ApplicationStart/Core.d.ts +41 -0
- package/dist/types/ApplicationStart/Elements/DocumentElement.d.ts +6 -0
- package/dist/types/ApplicationStart/Elements/RouterElement.d.ts +7 -0
- package/dist/types/ApplicationStart/HOC/NotificationService.d.ts +8 -0
- package/dist/types/ApplicationStart/HOC/withNotification.d.ts +3 -0
- package/dist/types/ApplicationStart/ScreenInitializer.d.ts +12 -0
- package/dist/types/ApplicationStart/helper/getSlug.d.ts +1 -0
- package/dist/types/ApplicationStart/helper/index.d.ts +2 -0
- package/dist/types/ApplicationStart/helper/loadScreenData.d.ts +11 -0
- package/dist/types/ApplicationStart/helper/setupStoreAction.d.ts +2 -0
- package/dist/types/ApplicationStart/useCoreInitialization.d.ts +2 -0
- package/dist/types/BasicTypes/Enum.d.ts +9 -0
- package/dist/types/BasicTypes/index.d.ts +17 -0
- package/dist/types/Constant.d.ts +19 -0
- package/dist/types/DataModel/CoreViewModelHandler.d.ts +15 -0
- package/dist/types/DataModel/IViewModelHandler.d.ts +36 -0
- package/dist/types/DataModel/SupportiveFunctions/index.d.ts +12 -0
- package/dist/types/DataModel/ViewModel.d.ts +4 -0
- package/dist/types/Renderer/CellRenderer/index.d.ts +4 -0
- package/dist/types/Renderer/ContainerRenderer/Container.d.ts +2 -0
- package/dist/types/Renderer/ContainerRenderer/index.d.ts +3 -0
- package/dist/types/Renderer/DrawerRenderer/Drawer.d.ts +3 -0
- package/dist/types/Renderer/DrawerRenderer/index.d.ts +3 -0
- package/dist/types/Renderer/FormRenderer/index.d.ts +3 -0
- package/dist/types/Renderer/IteratorRenderer/index.d.ts +4 -0
- package/dist/types/Renderer/IteratorRenderer/logs.d.ts +2 -0
- package/dist/types/Renderer/LayoutRenderer/ColumnLayoutRenderer/index.d.ts +4 -0
- package/dist/types/Renderer/LayoutRenderer/GenericLayoutRenderer/index.d.ts +4 -0
- package/dist/types/Renderer/LayoutRenderer/RowLayoutRenderer/index.d.ts +4 -0
- package/dist/types/Renderer/LayoutRenderer/index.d.ts +10 -0
- package/dist/types/Renderer/LoadingRenderer/Loader.d.ts +3 -0
- package/dist/types/Renderer/LoadingRenderer/index.d.ts +2 -0
- package/dist/types/Renderer/OffsetRenderer/index.d.ts +4 -0
- package/dist/types/Renderer/ScreenElementRenderer.d.ts +10 -0
- package/dist/types/Renderer/SkelitonRenderer/constant.d.ts +18 -0
- package/dist/types/Renderer/SkelitonRenderer/index.d.ts +12 -0
- package/dist/types/Renderer/SkelitonRenderer/utils/index.d.ts +1 -0
- package/dist/types/Renderer/WidgetRenderer/Widget.d.ts +13 -0
- package/dist/types/Renderer/WidgetRenderer/index.d.ts +3 -0
- package/dist/types/Renderer/WidgetRenderer/useWidgetProps.d.ts +4 -0
- package/dist/types/Renderer/applyOffset.d.ts +3 -0
- package/dist/types/Renderer/renderElement.d.ts +5 -0
- package/dist/types/RuleInterpreter/EffectFactory.d.ts +4 -0
- package/dist/types/RuleInterpreter/Effects/changeDataKey.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/changeDefaultValue.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/changeLabel.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/changeModelValue.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/changeStyle.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/copyDataKey.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/copyViewModelProperty.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/disableElement.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/disableRequired.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/disableToolTip.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/disableValidation.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/enableElement.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/enableRequired.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/enableToolTip.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/enableValidation.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/hideElement.d.ts +3 -0
- package/dist/types/RuleInterpreter/Effects/index.d.ts +4 -0
- package/dist/types/RuleInterpreter/Effects/showElement.d.ts +3 -0
- package/dist/types/RuleInterpreter/Enums/index.d.ts +33 -0
- package/dist/types/RuleInterpreter/Types/index.d.ts +16 -0
- package/dist/types/RuleInterpreter/UIEffectProcessor.d.ts +14 -0
- package/dist/types/RuleInterpreter/applyUIEffectProcessor.d.ts +5 -0
- package/dist/types/RuleInterpreter/helper/evaluateConditionCriteria.d.ts +2 -0
- package/dist/types/RuleInterpreter/helper/findApplicableOnUiElementSchema.d.ts +1 -0
- package/dist/types/RuleInterpreter/helper/findEffectiveCondition.d.ts +2 -0
- package/dist/types/RuleInterpreter/helper/getOperatorSymbol.d.ts +2 -0
- package/dist/types/RuleInterpreter/helper/setNestedPropertyValue.d.ts +1 -0
- package/dist/types/RuleInterpreter/helper/setVisibility.d.ts +1 -0
- package/dist/types/RuleInterpreter/helper/updateApplicableOnUiElementSchema.d.ts +1 -0
- package/dist/types/Screens/404.d.ts +2 -0
- package/dist/types/Screens/Error.d.ts +2 -0
- package/dist/types/Screens/Screen.d.ts +8 -0
- package/dist/types/Services/CRUDServices/createService.d.ts +4 -0
- package/dist/types/Services/CRUDServices/deleteService.d.ts +4 -0
- package/dist/types/Services/CRUDServices/fetchScreenDataService.d.ts +4 -0
- package/dist/types/Services/CRUDServices/fetchSupportiveDataService.d.ts +4 -0
- package/dist/types/Services/CRUDServices/index.d.ts +12 -0
- package/dist/types/Services/CRUDServices/patchService.d.ts +4 -0
- package/dist/types/Services/CRUDServices/updateService.d.ts +4 -0
- package/dist/types/Services/CentralService.d.ts +19 -0
- package/dist/types/Services/EventService.d.ts +6 -0
- package/dist/types/Services/SchemaService.d.ts +2 -0
- package/dist/types/Services/helpers/ErrorMessageProvider.d.ts +13 -0
- package/dist/types/Services/helpers/ReplaceHandlers/enviromentHandler.d.ts +2 -0
- package/dist/types/Services/helpers/ReplaceHandlers/queryParamHandler.d.ts +2 -0
- package/dist/types/Services/helpers/ReplaceHandlers/routeParamHandler.d.ts +2 -0
- package/dist/types/Services/helpers/ReplaceHandlers/selfHandler.d.ts +2 -0
- package/dist/types/Services/helpers/ReplaceHandlers/stateHandler.d.ts +2 -0
- package/dist/types/Services/helpers/ReplaceHandlers/stateSelectedHandler.d.ts +2 -0
- package/dist/types/Services/helpers/ReplaceHandlers/storageHandler.d.ts +2 -0
- package/dist/types/Services/helpers/coreResponseFormatter.d.ts +10 -0
- package/dist/types/Services/helpers/getStatusBaseNotifiType.d.ts +2 -0
- package/dist/types/Services/helpers/replaceRequestParams.d.ts +11 -0
- package/dist/types/StorageManager/IStorage.d.ts +5 -0
- package/dist/types/StorageManager/LocalStorage.d.ts +6 -0
- package/dist/types/StorageManager/SessionStorage.d.ts +6 -0
- package/dist/types/StorageManager/StorageProvider.d.ts +16 -0
- package/dist/types/Store/Middleware/syncMiddleware.d.ts +1 -0
- package/dist/types/Store/Saga/SagaFunctions/createLoadModelSaga.d.ts +3 -0
- package/dist/types/Store/Saga/SagaFunctions/createLoadViewModelSaga.d.ts +3 -0
- package/dist/types/Store/Saga/SagaFunctions/createUpdateViewModelSaga.d.ts +4 -0
- package/dist/types/Store/Saga/appSaga.d.ts +3 -0
- package/dist/types/Store/Slices/appSlice.d.ts +34 -0
- package/dist/types/Store/Slices/commonDataSlice.d.ts +45 -0
- package/dist/types/Store/Slices/metaDataSlice.d.ts +10 -0
- package/dist/types/Store/commonStore.d.ts +16 -0
- package/dist/types/Store/createStore.d.ts +7 -0
- package/dist/types/Store/getStore.d.ts +8 -0
- package/dist/types/Store/helper/dispatchModifiedState.d.ts +8 -0
- package/dist/types/Store/helper/handleViewModelChange.d.ts +3 -0
- package/dist/types/UIElement/CoreSchemaReaderProvider.d.ts +8 -0
- package/dist/types/UIElement/ISchemaReaderProvider.d.ts +4 -0
- package/dist/types/UIElement/UIElementDefinations/ApiConfig.d.ts +59 -0
- package/dist/types/UIElement/UIElementDefinations/BaseScreenElement.d.ts +74 -0
- package/dist/types/UIElement/UIElementDefinations/CompositeScreenElement.d.ts +5 -0
- package/dist/types/UIElement/UIElementDefinations/Elements/CellElement.d.ts +8 -0
- package/dist/types/UIElement/UIElementDefinations/Elements/ContainerElement.d.ts +4 -0
- package/dist/types/UIElement/UIElementDefinations/Elements/DrawerElement.d.ts +8 -0
- package/dist/types/UIElement/UIElementDefinations/Elements/FormElement.d.ts +5 -0
- package/dist/types/UIElement/UIElementDefinations/Elements/IteratorElement.d.ts +5 -0
- package/dist/types/UIElement/UIElementDefinations/Elements/LayoutElement.d.ts +17 -0
- package/dist/types/UIElement/UIElementDefinations/Elements/OffsetElement.d.ts +15 -0
- package/dist/types/UIElement/UIElementDefinations/Elements/WidgetElement.d.ts +4 -0
- package/dist/types/UIElement/UIElementDefinations/ScreenElement.d.ts +8 -0
- package/dist/types/UIElement/UIElementDefinations/ScreenSchema.d.ts +41 -0
- package/dist/types/UIElement/UIElementDefinations/helpers/generateBaseElement.d.ts +4 -0
- package/dist/types/UIElement/UIElementDefinations/helpers/generateCellElement.d.ts +4 -0
- package/dist/types/UIElement/UIElementDefinations/helpers/generateContainerElement.d.ts +4 -0
- package/dist/types/UIElement/UIElementDefinations/helpers/generateDrawerElement.d.ts +4 -0
- package/dist/types/UIElement/UIElementDefinations/helpers/generateFormElement.d.ts +4 -0
- package/dist/types/UIElement/UIElementDefinations/helpers/generateIteratorElement.d.ts +4 -0
- package/dist/types/UIElement/UIElementDefinations/helpers/generateLayoutElement.d.ts +4 -0
- package/dist/types/UIElement/UIElementDefinations/helpers/generateWidgetElement.d.ts +3 -0
- package/dist/types/Utils/getValueFromNestedObject.d.ts +1 -0
- package/dist/types/Utils/setNestedObjectValue.d.ts +1 -0
- package/dist/types/Validation/IValidationFactory.d.ts +12 -0
- package/dist/types/Validation/StandardValidations/StandardValidationFactory.d.ts +15 -0
- package/dist/types/Validation/StandardValidations/emailBulkValidation.d.ts +5 -0
- package/dist/types/Validation/StandardValidations/emailValidation.d.ts +5 -0
- package/dist/types/Validation/StandardValidations/requiredValidation.d.ts +5 -0
- package/dist/types/Validation/Types.d.ts +33 -0
- package/dist/types/Validation/ValidationInvoker.d.ts +15 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/interfaces.d.ts +32 -0
- package/package.json +78 -0
- package/src/Action/ActionInvoker.ts +79 -0
- package/src/Action/IActionFactory.ts +17 -0
- package/src/Action/StandardActions/StandardActionFactory.ts +33 -0
- package/src/Action/StandardActions/handleAPICreate.ts +22 -0
- package/src/Action/StandardActions/handleAPIDelete.ts +22 -0
- package/src/Action/StandardActions/handleAPIGet.ts +22 -0
- package/src/Action/StandardActions/handleAPIUpdate.ts +22 -0
- package/src/Action/StandardActions/handleCreateAndNavigate.ts +53 -0
- package/src/Action/StandardActions/handleFetchSupportiveResult.ts +24 -0
- package/src/Action/StandardActions/handleLazyLoadData.ts +42 -0
- package/src/Action/StandardActions/handleModifyModel.ts +29 -0
- package/src/Action/StandardActions/handleNavigation.ts +61 -0
- package/src/Action/StandardActions/handleNavigationBack.ts +6 -0
- package/src/Action/StandardActions/handleUpdateAndNavigate.ts +53 -0
- package/src/Action/Types.ts +48 -0
- package/src/Action/helpers/executeValidationWithModifyViewModel.ts +27 -0
- package/src/Action/helpers/validateUiElementSchema.ts +57 -0
- package/src/Adapter/CoreAdapterProvider.ts +103 -0
- package/src/Adapter/IAdapterProvider.ts +50 -0
- package/src/ApplicationStart/AppDependenceyProvider.ts +118 -0
- package/src/ApplicationStart/AppRouter.tsx +130 -0
- package/src/ApplicationStart/Core.tsx +82 -0
- package/src/ApplicationStart/Elements/DocumentElement.tsx +59 -0
- package/src/ApplicationStart/Elements/RouterElement.tsx +42 -0
- package/src/ApplicationStart/HOC/NotificationService.ts +22 -0
- package/src/ApplicationStart/HOC/withNotification.tsx +27 -0
- package/src/ApplicationStart/ScreenInitializer.tsx +101 -0
- package/src/ApplicationStart/helper/getSlug.ts +15 -0
- package/src/ApplicationStart/helper/index.ts +23 -0
- package/src/ApplicationStart/helper/loadScreenData.ts +142 -0
- package/src/ApplicationStart/helper/setupStoreAction.ts +17 -0
- package/src/ApplicationStart/useCoreInitialization.ts +89 -0
- package/src/Assets/styles/_core-base.scss +18 -0
- package/src/Assets/styles/index.scss +1 -0
- package/src/BasicTypes/Enum.ts +9 -0
- package/src/BasicTypes/index.ts +21 -0
- package/src/Constant.ts +46 -0
- package/src/DataModel/CoreViewModelHandler.ts +241 -0
- package/src/DataModel/IViewModelHandler.ts +68 -0
- package/src/DataModel/SupportiveFunctions/index.ts +105 -0
- package/src/DataModel/ViewModel.ts +6 -0
- package/src/Renderer/CellRenderer/index.tsx +48 -0
- package/src/Renderer/ContainerRenderer/Container.tsx +31 -0
- package/src/Renderer/ContainerRenderer/index.tsx +8 -0
- package/src/Renderer/ContainerRenderer/styles/index.scss +234 -0
- package/src/Renderer/DrawerRenderer/Drawer.tsx +35 -0
- package/src/Renderer/DrawerRenderer/index.tsx +17 -0
- package/src/Renderer/DrawerRenderer/styles/index.scss +9 -0
- package/src/Renderer/FormRenderer/index.tsx +42 -0
- package/src/Renderer/IteratorRenderer/index.tsx +48 -0
- package/src/Renderer/IteratorRenderer/logs.ts +18 -0
- package/src/Renderer/LayoutRenderer/ColumnLayoutRenderer/index.tsx +44 -0
- package/src/Renderer/LayoutRenderer/GenericLayoutRenderer/index.tsx +44 -0
- package/src/Renderer/LayoutRenderer/RowLayoutRenderer/index.tsx +46 -0
- package/src/Renderer/LayoutRenderer/index.tsx +43 -0
- package/src/Renderer/LoadingRenderer/Loader.tsx +15 -0
- package/src/Renderer/LoadingRenderer/index.tsx +11 -0
- package/src/Renderer/LoadingRenderer/spinner.scss +75 -0
- package/src/Renderer/OffsetRenderer/index.tsx +50 -0
- package/src/Renderer/ScreenElementRenderer.tsx +31 -0
- package/src/Renderer/SkelitonRenderer/constant.ts +18 -0
- package/src/Renderer/SkelitonRenderer/index.tsx +25 -0
- package/src/Renderer/SkelitonRenderer/styles/index.scss +135 -0
- package/src/Renderer/SkelitonRenderer/utils/index.ts +24 -0
- package/src/Renderer/WidgetRenderer/Widget.tsx +60 -0
- package/src/Renderer/WidgetRenderer/index.tsx +44 -0
- package/src/Renderer/WidgetRenderer/useWidgetProps.ts +164 -0
- package/src/Renderer/applyOffset.tsx +8 -0
- package/src/Renderer/renderElement.tsx +116 -0
- package/src/RuleInterpreter/EffectFactory.ts +23 -0
- package/src/RuleInterpreter/Effects/changeDataKey.ts +53 -0
- package/src/RuleInterpreter/Effects/changeDefaultValue.ts +42 -0
- package/src/RuleInterpreter/Effects/changeLabel.ts +41 -0
- package/src/RuleInterpreter/Effects/changeModelValue.ts +39 -0
- package/src/RuleInterpreter/Effects/changeStyle.ts +42 -0
- package/src/RuleInterpreter/Effects/copyDataKey.ts +55 -0
- package/src/RuleInterpreter/Effects/copyViewModelProperty.ts +42 -0
- package/src/RuleInterpreter/Effects/disableElement.ts +16 -0
- package/src/RuleInterpreter/Effects/disableRequired.ts +25 -0
- package/src/RuleInterpreter/Effects/disableToolTip.ts +18 -0
- package/src/RuleInterpreter/Effects/disableValidation.ts +25 -0
- package/src/RuleInterpreter/Effects/enableElement.ts +16 -0
- package/src/RuleInterpreter/Effects/enableRequired.ts +25 -0
- package/src/RuleInterpreter/Effects/enableToolTip.ts +18 -0
- package/src/RuleInterpreter/Effects/enableValidation.ts +25 -0
- package/src/RuleInterpreter/Effects/hideElement.ts +20 -0
- package/src/RuleInterpreter/Effects/index.ts +38 -0
- package/src/RuleInterpreter/Effects/showElement.ts +20 -0
- package/src/RuleInterpreter/Enums/index.ts +60 -0
- package/src/RuleInterpreter/Types/index.ts +18 -0
- package/src/RuleInterpreter/UIEffectProcessor.ts +106 -0
- package/src/RuleInterpreter/applyUIEffectProcessor.ts +23 -0
- package/src/RuleInterpreter/helper/evaluateConditionCriteria.ts +81 -0
- package/src/RuleInterpreter/helper/findApplicableOnUiElementSchema.ts +19 -0
- package/src/RuleInterpreter/helper/findEffectiveCondition.ts +10 -0
- package/src/RuleInterpreter/helper/getOperatorSymbol.ts +17 -0
- package/src/RuleInterpreter/helper/setNestedPropertyValue.ts +18 -0
- package/src/RuleInterpreter/helper/setVisibility.ts +3 -0
- package/src/RuleInterpreter/helper/updateApplicableOnUiElementSchema.ts +45 -0
- package/src/Screens/404.tsx +11 -0
- package/src/Screens/Error.tsx +13 -0
- package/src/Screens/Screen.tsx +43 -0
- package/src/Screens/styles/index.scss +37 -0
- package/src/Services/CRUDServices/createService.ts +32 -0
- package/src/Services/CRUDServices/deleteService.ts +37 -0
- package/src/Services/CRUDServices/fetchScreenDataService.ts +37 -0
- package/src/Services/CRUDServices/fetchSupportiveDataService.ts +36 -0
- package/src/Services/CRUDServices/index.ts +19 -0
- package/src/Services/CRUDServices/patchService.ts +31 -0
- package/src/Services/CRUDServices/updateService.ts +31 -0
- package/src/Services/CentralService.ts +156 -0
- package/src/Services/EventService.ts +22 -0
- package/src/Services/SchemaService.ts +21 -0
- package/src/Services/helpers/ErrorMessageProvider.ts +77 -0
- package/src/Services/helpers/ReplaceHandlers/enviromentHandler.ts +13 -0
- package/src/Services/helpers/ReplaceHandlers/queryParamHandler.ts +12 -0
- package/src/Services/helpers/ReplaceHandlers/routeParamHandler.ts +12 -0
- package/src/Services/helpers/ReplaceHandlers/selfHandler.ts +8 -0
- package/src/Services/helpers/ReplaceHandlers/stateHandler.ts +14 -0
- package/src/Services/helpers/ReplaceHandlers/stateSelectedHandler.ts +10 -0
- package/src/Services/helpers/ReplaceHandlers/storageHandler.ts +14 -0
- package/src/Services/helpers/coreResponseFormatter.ts +17 -0
- package/src/Services/helpers/getStatusBaseNotifiType.ts +6 -0
- package/src/Services/helpers/replaceRequestParams.ts +55 -0
- package/src/StorageManager/IStorage.ts +5 -0
- package/src/StorageManager/LocalStorage.ts +18 -0
- package/src/StorageManager/SessionStorage.ts +18 -0
- package/src/StorageManager/StorageProvider.ts +46 -0
- package/src/Store/Middleware/syncMiddleware.ts +5 -0
- package/src/Store/Saga/SagaFunctions/createLoadModelSaga.ts +16 -0
- package/src/Store/Saga/SagaFunctions/createLoadViewModelSaga.ts +16 -0
- package/src/Store/Saga/SagaFunctions/createUpdateViewModelSaga.ts +22 -0
- package/src/Store/Saga/appSaga.ts +35 -0
- package/src/Store/Slices/appSlice.ts +60 -0
- package/src/Store/Slices/commonDataSlice.ts +35 -0
- package/src/Store/Slices/metaDataSlice.ts +17 -0
- package/src/Store/commonStore.ts +9 -0
- package/src/Store/createStore.ts +23 -0
- package/src/Store/getStore.ts +23 -0
- package/src/Store/helper/dispatchModifiedState.ts +33 -0
- package/src/Store/helper/handleViewModelChange.ts +29 -0
- package/src/UIElement/CoreSchemaReaderProvider.ts +28 -0
- package/src/UIElement/ISchemaReaderProvider.ts +5 -0
- package/src/UIElement/UIElementDefinations/ApiConfig.ts +60 -0
- package/src/UIElement/UIElementDefinations/BaseScreenElement.ts +77 -0
- package/src/UIElement/UIElementDefinations/CompositeScreenElement.ts +6 -0
- package/src/UIElement/UIElementDefinations/Elements/CellElement.ts +9 -0
- package/src/UIElement/UIElementDefinations/Elements/ContainerElement.ts +5 -0
- package/src/UIElement/UIElementDefinations/Elements/DrawerElement.ts +6 -0
- package/src/UIElement/UIElementDefinations/Elements/FormElement.ts +6 -0
- package/src/UIElement/UIElementDefinations/Elements/IteratorElement.ts +6 -0
- package/src/UIElement/UIElementDefinations/Elements/LayoutElement.ts +18 -0
- package/src/UIElement/UIElementDefinations/Elements/OffsetElement.ts +11 -0
- package/src/UIElement/UIElementDefinations/Elements/WidgetElement.ts +5 -0
- package/src/UIElement/UIElementDefinations/ScreenElement.ts +16 -0
- package/src/UIElement/UIElementDefinations/ScreenSchema.ts +74 -0
- package/src/UIElement/UIElementDefinations/helpers/generateBaseElement.ts +29 -0
- package/src/UIElement/UIElementDefinations/helpers/generateCellElement.ts +26 -0
- package/src/UIElement/UIElementDefinations/helpers/generateContainerElement.ts +20 -0
- package/src/UIElement/UIElementDefinations/helpers/generateDrawerElement.ts +20 -0
- package/src/UIElement/UIElementDefinations/helpers/generateFormElement.ts +21 -0
- package/src/UIElement/UIElementDefinations/helpers/generateIteratorElement.ts +18 -0
- package/src/UIElement/UIElementDefinations/helpers/generateLayoutElement.ts +31 -0
- package/src/UIElement/UIElementDefinations/helpers/generateWidgetElement.ts +12 -0
- package/src/Utils/getValueFromNestedObject.ts +13 -0
- package/src/Utils/setNestedObjectValue.ts +23 -0
- package/src/Validation/IValidationFactory.ts +11 -0
- package/src/Validation/StandardValidations/StandardValidationFactory.ts +19 -0
- package/src/Validation/StandardValidations/emailBulkValidation.ts +20 -0
- package/src/Validation/StandardValidations/emailValidation.ts +16 -0
- package/src/Validation/StandardValidations/requiredValidation.ts +20 -0
- package/src/Validation/Types.ts +38 -0
- package/src/Validation/ValidationInvoker.ts +155 -0
- package/src/index.ts +40 -0
- package/src/interfaces.ts +84 -0
- package/src/language.json +8 -0
- package/src/react-app-env.d.ts +1 -0
- package/src/vite-env.d.ts +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# ProCode Core
|
|
2
|
+
|
|
3
|
+
A comprehensive React framework library for building low-code applications with powerful UI components, data management, and extensible architecture.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install procode-core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Default Export - Core Component
|
|
14
|
+
|
|
15
|
+
The main React component that bootstraps your ProCode application:
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import React from 'react';
|
|
19
|
+
import Core, { CoreProps } from 'procode-core';
|
|
20
|
+
|
|
21
|
+
const App: React.FC = () => {
|
|
22
|
+
const coreProps: CoreProps = {
|
|
23
|
+
// Configure your ProCode application
|
|
24
|
+
adapterProvider: yourAdapterProvider,
|
|
25
|
+
viewModelHandler: yourViewModelHandler,
|
|
26
|
+
// ... other configuration
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
return <Core {...coreProps} />;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export default App;
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Interfaces and Types
|
|
36
|
+
|
|
37
|
+
Import all interfaces and types for TypeScript development:
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
// Import all interfaces
|
|
41
|
+
import { Interfaces } from 'procode-core';
|
|
42
|
+
|
|
43
|
+
// Or import specific interfaces
|
|
44
|
+
import {
|
|
45
|
+
IActionFactory,
|
|
46
|
+
IAdapterProvider,
|
|
47
|
+
CoreProps,
|
|
48
|
+
BaseScreenElement,
|
|
49
|
+
ScreenSchema
|
|
50
|
+
} from 'procode-core';
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Styles
|
|
54
|
+
|
|
55
|
+
Import the core styles in your application:
|
|
56
|
+
|
|
57
|
+
```scss
|
|
58
|
+
// Import all core styles
|
|
59
|
+
@import 'procode-core/styles';
|
|
60
|
+
|
|
61
|
+
// Or import specific base styles
|
|
62
|
+
@import 'procode-core/styles/core-base';
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
```tsx
|
|
66
|
+
// In JavaScript/TypeScript, you can get the style paths
|
|
67
|
+
import { getCoreStylesPath, getCoreBaseStylesPath } from 'procode-core';
|
|
68
|
+
|
|
69
|
+
console.log(getCoreStylesPath()); // './Assets/styles/index.scss'
|
|
70
|
+
console.log(getCoreBaseStylesPath()); // './Assets/styles/_core-base.scss'
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Key Features
|
|
74
|
+
|
|
75
|
+
### 🎯 **Core Component**
|
|
76
|
+
- **Default Export**: `Core` - Main React component for bootstrapping ProCode applications
|
|
77
|
+
- **Type-safe Props**: `CoreProps` interface for comprehensive configuration
|
|
78
|
+
|
|
79
|
+
### 🔧 **Interfaces & Types**
|
|
80
|
+
- **Action Interfaces**: `IActionFactory`, `StandardActionType`
|
|
81
|
+
- **Adapter Interfaces**: `IAdapterProvider`, `AdapterType`
|
|
82
|
+
- **Data Model Interfaces**: `IViewModelHandler`, `QueryFilters`, `ViewModel`
|
|
83
|
+
- **UI Element Definitions**: `BaseScreenElement`, `ScreenSchema`, `WidgetElement`
|
|
84
|
+
- **Validation Interfaces**: `IValidationFactory`, `ValidationFcResponse`
|
|
85
|
+
|
|
86
|
+
### 🎨 **Styling System**
|
|
87
|
+
- **Core Base Styles**: Essential styles for ProCode components
|
|
88
|
+
- **Modular SCSS**: Import specific style modules as needed
|
|
89
|
+
- **Container Renderer**: Layout and container styling
|
|
90
|
+
- **Loading Components**: Spinner and skeleton loaders
|
|
91
|
+
- **Drawer Components**: Overlay and drawer styling
|
|
92
|
+
|
|
93
|
+
### 📊 **Data Management**
|
|
94
|
+
- **View Model Handling**: Comprehensive data binding and state management
|
|
95
|
+
- **CRUD Services**: Built-in services for data operations
|
|
96
|
+
- **Query Filters**: Advanced filtering and querying capabilities
|
|
97
|
+
- **Event Service**: Pub/sub event system for component communication
|
|
98
|
+
|
|
99
|
+
### 🔌 **Extensibility**
|
|
100
|
+
- **Custom Adapters**: Implement custom data adapters
|
|
101
|
+
- **Custom Actions**: Define custom business logic actions
|
|
102
|
+
- **Custom Validations**: Create custom validation rules
|
|
103
|
+
- **Custom Widgets**: Build custom UI components
|
|
104
|
+
|
|
105
|
+
## Architecture
|
|
106
|
+
|
|
107
|
+
ProCode Core follows a modular architecture with clear separation of concerns:
|
|
108
|
+
|
|
109
|
+
- **Application Start**: Core bootstrapping and dependency injection
|
|
110
|
+
- **Renderer System**: Component rendering with layout, container, and widget renderers
|
|
111
|
+
- **Rule Interpreter**: Business rule processing and UI effect application
|
|
112
|
+
- **Storage Manager**: Flexible storage abstraction layer
|
|
113
|
+
- **Service Layer**: HTTP services and data management
|
|
114
|
+
- **Validation System**: Extensible validation framework
|
|
115
|
+
|
|
116
|
+
## Examples
|
|
117
|
+
|
|
118
|
+
### Basic Setup
|
|
119
|
+
|
|
120
|
+
```tsx
|
|
121
|
+
import React from 'react';
|
|
122
|
+
import Core, {
|
|
123
|
+
CoreProps,
|
|
124
|
+
IAdapterProvider,
|
|
125
|
+
IViewModelHandler
|
|
126
|
+
} from 'procode-core';
|
|
127
|
+
import 'procode-core/styles';
|
|
128
|
+
|
|
129
|
+
const App: React.FC = () => {
|
|
130
|
+
const props: CoreProps = {
|
|
131
|
+
adapterProvider: myAdapterProvider,
|
|
132
|
+
viewModelHandler: myViewModelHandler,
|
|
133
|
+
templateActionProvider: myActionFactory,
|
|
134
|
+
customWidgetProvider: myWidgetProvider,
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
return <Core {...props} />;
|
|
138
|
+
};
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Custom Adapter Implementation
|
|
142
|
+
|
|
143
|
+
```tsx
|
|
144
|
+
import { IAdapterProvider, AdapterType, EventService } from 'procode-core';
|
|
145
|
+
|
|
146
|
+
class MyAdapterProvider implements IAdapterProvider {
|
|
147
|
+
setUpScreenAdapter(id: string, eventService: EventService): void {
|
|
148
|
+
// Implement your custom adapter logic
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Using Interfaces
|
|
154
|
+
|
|
155
|
+
```tsx
|
|
156
|
+
import {
|
|
157
|
+
BaseScreenElement,
|
|
158
|
+
WidgetElement,
|
|
159
|
+
ScreenSchema,
|
|
160
|
+
CoreProps
|
|
161
|
+
} from 'procode-core';
|
|
162
|
+
|
|
163
|
+
interface MyCustomWidget extends WidgetElement {
|
|
164
|
+
customProperty: string;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
const mySchema: ScreenSchema = {
|
|
168
|
+
// Define your screen schema
|
|
169
|
+
};
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Requirements
|
|
173
|
+
|
|
174
|
+
- React 18.2.0+
|
|
175
|
+
- TypeScript 4.9.3+
|
|
176
|
+
- Node.js 16+
|
|
177
|
+
|
|
178
|
+
## License
|
|
179
|
+
|
|
180
|
+
MIT
|
|
181
|
+
|
|
182
|
+
## Contributing
|
|
183
|
+
|
|
184
|
+
We welcome contributions! Please see our contributing guidelines for more details.
|
|
185
|
+
|
|
186
|
+
## Support
|
|
187
|
+
|
|
188
|
+
For support and questions, please visit our documentation or create an issue in the repository.
|