@legalplace/wizardx-core 2.6.4 → 2.7.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/CHANGELOG.md +35 -0
- package/dist/App.js +13 -4
- package/dist/PluginLoader.d.ts +3 -1
- package/dist/PluginLoader.js +12 -0
- package/dist/ThemeLoader.d.ts +2 -2
- package/dist/componentsConnectors/connectBox.d.ts +3 -1
- package/dist/componentsConnectors/connectDocument.d.ts +3 -1
- package/dist/componentsConnectors/connectHeader.d.ts +3 -1
- package/dist/componentsConnectors/connectMetaTitle.d.ts +3 -1
- package/dist/componentsConnectors/connectOption.d.ts +6 -2
- package/dist/componentsConnectors/connectOption.js +1 -1
- package/dist/componentsConnectors/connectPagination.d.ts +3 -1
- package/dist/componentsConnectors/connectPreview.d.ts +3 -1
- package/dist/componentsConnectors/connectProgress.d.ts +3 -1
- package/dist/componentsConnectors/connectRootOption.d.ts +3 -1
- package/dist/componentsConnectors/connectSection.d.ts +3 -1
- package/dist/componentsConnectors/connectSection.js +7 -10
- package/dist/componentsConnectors/connectSummary.d.ts +3 -1
- package/dist/componentsConnectors/connectSummaryItem.d.ts +3 -1
- package/dist/componentsConnectors/connectVariable.d.ts +6 -2
- package/dist/componentsConnectors/connectVariable.js +1 -1
- package/dist/componentsConnectors/connectWizardWrapper.d.ts +3 -1
- package/dist/componentsConnectors/connector/componentConnector.d.ts +5 -1
- package/dist/componentsConnectors/connector/componentConnector.js +44 -4
- package/dist/componentsConnectors/connector/index.d.ts +1 -0
- package/dist/componentsConnectors/connector/index.js +1 -0
- package/dist/componentsConnectors/index.d.ts +17 -0
- package/dist/componentsConnectors/index.js +17 -0
- package/dist/componentsConnectors/library.d.ts +43 -15
- package/dist/helpers/apiEndpoint.d.ts +1 -0
- package/dist/helpers/apiEndpoint.js +4 -0
- package/dist/helpers/index.d.ts +4 -0
- package/dist/helpers/index.js +4 -0
- package/dist/helpers/propsEqualityCheck.d.ts +1 -0
- package/dist/helpers/propsEqualityCheck.js +9 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/useActions.d.ts +2 -0
- package/dist/hooks/useActions.js +4 -0
- package/dist/hooks/useDispatch.d.ts +1 -0
- package/dist/hooks/useDispatch.js +4 -0
- package/dist/hooks/useSelectors.d.ts +2 -0
- package/dist/hooks/useSelectors.js +4 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +13 -0
- package/dist/libs/PathReader.d.ts +10 -6
- package/dist/libs/PathReader.js +47 -28
- package/dist/libs/index.d.ts +5 -0
- package/dist/libs/index.js +5 -0
- package/dist/redux/actions/index.d.ts +9 -0
- package/dist/redux/actions/index.js +9 -0
- package/dist/redux/actions/library.d.ts +59 -63
- package/dist/redux/actions/sagas/index.d.ts +3 -0
- package/dist/redux/actions/sagas/index.js +3 -0
- package/dist/redux/actions/sagas/model.d.ts +1 -5
- package/dist/redux/constants/app.d.ts +2 -0
- package/dist/redux/constants/app.js +2 -0
- package/dist/redux/constants/index.d.ts +8 -0
- package/dist/redux/constants/index.js +8 -0
- package/dist/redux/constants/sagas/index.d.ts +3 -0
- package/dist/redux/constants/sagas/index.js +3 -0
- package/dist/redux/index.d.ts +5 -0
- package/dist/redux/index.js +5 -0
- package/dist/redux/middlewares/conditionsWatcherMiddleware.js +11 -5
- package/dist/redux/middlewares/conditionsWatcherMiddleware.test.js +120 -113
- package/dist/redux/middlewares/paginationWatcherMiddleware.js +2 -2
- package/dist/redux/middlewares/smartscriptMiddleware.js +8 -0
- package/dist/redux/reducers/pluginsStore.d.ts +3 -0
- package/dist/redux/reducers/pluginsStore.js +12 -0
- package/dist/redux/routerHistory.js +2 -2
- package/dist/redux/sagas/fetchModel.js +22 -6
- package/dist/redux/sagas/initInputs.js +6 -7
- package/dist/redux/sagas/saveData.js +2 -0
- package/dist/redux/selectors/app.js +13 -18
- package/dist/redux/selectors/cache.d.ts +17 -0
- package/dist/redux/selectors/cache.js +35 -0
- package/dist/redux/selectors/conditions.js +7 -7
- package/dist/redux/selectors/index.d.ts +8 -0
- package/dist/redux/selectors/index.js +8 -0
- package/dist/redux/selectors/inputs.js +3 -3
- package/dist/redux/selectors/library.d.ts +2 -2
- package/dist/redux/selectors/references.js +26 -26
- package/dist/redux/selectors/selectors.d.ts +2 -2
- package/dist/redux/selectors/selectors.js +19 -8
- package/dist/redux/selectors/selectors.test.js +6 -6
- package/dist/redux/selectors/user.js +5 -5
- package/dist/redux/store.d.ts +1 -1
- package/dist/redux/store.js +12 -4
- package/dist/service/api.manager.d.ts +1 -6
- package/dist/service/index.d.ts +3 -0
- package/dist/service/index.js +3 -0
- package/dist/types/PluginConfig.type.d.ts +57 -0
- package/dist/types/PluginConfig.type.js +1 -0
- package/dist/types/State.type.d.ts +6 -0
- package/dist/types/config.type.d.ts +3 -1
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.js +11 -0
- package/package.json +11 -11
- package/.depcheckrc +0 -1
- package/.eslintignore +0 -2
- package/.eslintrc +0 -5
- package/__mocks__/fileMock.js +0 -1
- package/babel.config.json +0 -3
- package/jest.config.ts +0 -193
- package/setupJest.ts +0 -8
- package/src/App.test.tsx +0 -41
- package/src/App.tsx +0 -152
- package/src/Globals.ts +0 -69
- package/src/Loader.tsx +0 -8
- package/src/PluginLoader.test.tsx +0 -70
- package/src/PluginLoader.tsx +0 -407
- package/src/Shimmer.tsx +0 -108
- package/src/ThemeLoader.test.tsx +0 -82
- package/src/ThemeLoader.tsx +0 -95
- package/src/components/PluginRoute.tsx +0 -48
- package/src/components/SmartScript.tsx +0 -166
- package/src/components/UserLocked/UserLockedComponent.tsx +0 -33
- package/src/components/View.test.tsx +0 -110
- package/src/components/View.tsx +0 -114
- package/src/componentsConnectors/connectBox.test.tsx +0 -226
- package/src/componentsConnectors/connectBox.tsx +0 -70
- package/src/componentsConnectors/connectDocument.test.tsx +0 -108
- package/src/componentsConnectors/connectDocument.tsx +0 -64
- package/src/componentsConnectors/connectHeader.tsx +0 -21
- package/src/componentsConnectors/connectMetaTitle.test.tsx +0 -40
- package/src/componentsConnectors/connectMetaTitle.tsx +0 -8
- package/src/componentsConnectors/connectOption.tsx +0 -222
- package/src/componentsConnectors/connectPagination.tsx +0 -102
- package/src/componentsConnectors/connectPreview.tsx +0 -5
- package/src/componentsConnectors/connectProgress.tsx +0 -59
- package/src/componentsConnectors/connectRootOption.tsx +0 -95
- package/src/componentsConnectors/connectSection.tsx +0 -79
- package/src/componentsConnectors/connectSummary.tsx +0 -21
- package/src/componentsConnectors/connectSummaryItem.tsx +0 -102
- package/src/componentsConnectors/connectTermsheet.tsx +0 -359
- package/src/componentsConnectors/connectVariable.tsx +0 -191
- package/src/componentsConnectors/connectWizardWrapper.tsx +0 -30
- package/src/componentsConnectors/connector/componentConnector.tsx +0 -219
- package/src/componentsConnectors/library.ts +0 -35
- package/src/config.test.ts +0 -63
- package/src/config.ts +0 -11
- package/src/constants/emailValidation.ts +0 -2
- package/src/constants/phoneValidation.ts +0 -4
- package/src/definitions/path.join.d.ts +0 -4
- package/src/helpers/outputsParsing.ts +0 -412
- package/src/helpers/preloadTheme.ts +0 -17
- package/src/helpers/scriptsLoader.ts +0 -20
- package/src/hooks/usePrevious.ts +0 -9
- package/src/libs/ConditionsInitiator.ts +0 -164
- package/src/libs/ConditionsRunner/DataPopulator.ts +0 -266
- package/src/libs/ConditionsRunner.ts +0 -454
- package/src/libs/DocumentsOutputs.ts +0 -171
- package/src/libs/Eval/EvalBase.ts +0 -116
- package/src/libs/Eval/EvalFunctions.ts +0 -724
- package/src/libs/Eval/NumbersToLetters.ts +0 -185
- package/src/libs/EvalVariable.ts +0 -265
- package/src/libs/EventsTracking.ts +0 -250
- package/src/libs/InputsInitiator.ts +0 -136
- package/src/libs/NumAuto.test.ts +0 -55
- package/src/libs/NumAuto.ts +0 -56
- package/src/libs/OvcConverter.ts +0 -285
- package/src/libs/PathReader.ts +0 -272
- package/src/libs/SectionValidity.test.ts +0 -146
- package/src/libs/SectionValidity.ts +0 -110
- package/src/libs/SmartScriptStore.ts +0 -492
- package/src/misc/test_model.ts +0 -14603
- package/src/misc/test_models/connectDocumen.testmodel.json +0 -178
- package/src/misc/test_models/setDefaults.testmodel.json +0 -279
- package/src/misc/test_models/testmodel.json +0 -1
- package/src/polyfills/index.ts +0 -5
- package/src/polyfills/objectValues.ts +0 -4
- package/src/polyfills/prepend.ts +0 -31
- package/src/polyfills/stringRepeat.ts +0 -44
- package/src/redux/actions/app.test.ts +0 -123
- package/src/redux/actions/app.ts +0 -249
- package/src/redux/actions/conditions.test.ts +0 -84
- package/src/redux/actions/conditions.ts +0 -135
- package/src/redux/actions/inputs.test.ts +0 -85
- package/src/redux/actions/inputs.ts +0 -111
- package/src/redux/actions/library.ts +0 -23
- package/src/redux/actions/mandatories.ts +0 -98
- package/src/redux/actions/references.test.ts +0 -48
- package/src/redux/actions/references.ts +0 -37
- package/src/redux/actions/sagas/data.test.ts +0 -11
- package/src/redux/actions/sagas/data.ts +0 -18
- package/src/redux/actions/sagas/model.test.ts +0 -14
- package/src/redux/actions/sagas/model.ts +0 -48
- package/src/redux/actions/sagas/user.ts +0 -25
- package/src/redux/actions/smartscript.ts +0 -55
- package/src/redux/actions/user.test.ts +0 -18
- package/src/redux/actions/user.ts +0 -41
- package/src/redux/constants/app.ts +0 -36
- package/src/redux/constants/conditions.ts +0 -25
- package/src/redux/constants/inputs.ts +0 -15
- package/src/redux/constants/mandatories.ts +0 -11
- package/src/redux/constants/references.ts +0 -7
- package/src/redux/constants/sagas/data.ts +0 -1
- package/src/redux/constants/sagas/model.ts +0 -2
- package/src/redux/constants/sagas/user.ts +0 -2
- package/src/redux/constants/smartscript.ts +0 -9
- package/src/redux/constants/user.ts +0 -6
- package/src/redux/listeners/subscriber.test.ts +0 -45
- package/src/redux/listeners/subscriber.ts +0 -29
- package/src/redux/middlewares/conditionsWatcherMiddleware.test.ts +0 -370
- package/src/redux/middlewares/conditionsWatcherMiddleware.ts +0 -321
- package/src/redux/middlewares/evaluationsWatcherMiddleware.test.ts +0 -323
- package/src/redux/middlewares/evaluationsWatcherMiddleware.ts +0 -250
- package/src/redux/middlewares/mandatoriesWatcherMiddleware.ts +0 -473
- package/src/redux/middlewares/multiplesActionsMiddleware.test.ts +0 -230
- package/src/redux/middlewares/multiplesActionsMiddleware.ts +0 -121
- package/src/redux/middlewares/paginationWatcherMiddleware.ts +0 -251
- package/src/redux/middlewares/pluginsHookMiddleware.ts +0 -24
- package/src/redux/middlewares/prefillerWatcherMiddleware.test.ts +0 -118
- package/src/redux/middlewares/prefillerWatcherMiddleware.ts +0 -462
- package/src/redux/middlewares/smartscriptMiddleware.ts +0 -228
- package/src/redux/middlewares/thirdpartyScriptsMiddleware.ts +0 -41
- package/src/redux/reducers/app/customizations/initCustomizationAutoDefault.ts +0 -16
- package/src/redux/reducers/app/customizations/initCustomizationMeta.ts +0 -16
- package/src/redux/reducers/app/instance/initInstance.ts +0 -29
- package/src/redux/reducers/app/instance/setDataStatus.ts +0 -16
- package/src/redux/reducers/app/instance/updateInstance.ts +0 -30
- package/src/redux/reducers/app/instance/updateInstancePaid.ts +0 -20
- package/src/redux/reducers/app/instance.test.ts +0 -106
- package/src/redux/reducers/app/meta/fetchModelFailed.ts +0 -11
- package/src/redux/reducers/app/meta/fetchModelNonBlocking.ts +0 -11
- package/src/redux/reducers/app/meta/fetchModelSucceeded.ts +0 -11
- package/src/redux/reducers/app/meta/fetchModelUnhealthy.ts +0 -18
- package/src/redux/reducers/app/meta/fetchModelUserLocked.ts +0 -11
- package/src/redux/reducers/app/meta/initMeta.ts +0 -22
- package/src/redux/reducers/app/meta/setModelUuid.ts +0 -17
- package/src/redux/reducers/app/meta.test.ts +0 -90
- package/src/redux/reducers/app/pagination/goNextPage.ts +0 -69
- package/src/redux/reducers/app/pagination/goPage.ts +0 -81
- package/src/redux/reducers/app/pagination/goPreviousPage.ts +0 -60
- package/src/redux/reducers/app/pagination/initPagination.ts +0 -46
- package/src/redux/reducers/app/pagination/updateAvailableAppStates.ts +0 -77
- package/src/redux/reducers/app/pagination.test.ts +0 -363
- package/src/redux/reducers/app/wizard/updateAvailableSections.ts +0 -40
- package/src/redux/reducers/app/wizard.test.ts +0 -84
- package/src/redux/reducers/app.test.ts +0 -336
- package/src/redux/reducers/app.ts +0 -150
- package/src/redux/reducers/conditions/addMultipleOccurency.test.ts +0 -131
- package/src/redux/reducers/conditions/addMultipleOccurency.ts +0 -155
- package/src/redux/reducers/conditions/deleteMultipleOccurency.test.ts +0 -95
- package/src/redux/reducers/conditions/deleteMultipleOccurency.ts +0 -141
- package/src/redux/reducers/conditions/initConditions.ts +0 -18
- package/src/redux/reducers/conditions/updateDocumentConditions.test.ts +0 -47
- package/src/redux/reducers/conditions/updateDocumentConditions.ts +0 -21
- package/src/redux/reducers/conditions/updateOptionConditions.ts +0 -24
- package/src/redux/reducers/conditions/updateOptionValidatorCondition.test.ts +0 -50
- package/src/redux/reducers/conditions/updateOptionValidatorCondition.ts +0 -28
- package/src/redux/reducers/conditions/updatePrefillerConditions.ts +0 -29
- package/src/redux/reducers/conditions/updateSectionConditions.ts +0 -28
- package/src/redux/reducers/conditions/updateVariableConditions.ts +0 -25
- package/src/redux/reducers/conditions/updateVariableValidatorCondition.test.ts +0 -50
- package/src/redux/reducers/conditions/updateVariableValidatorCondition.ts +0 -28
- package/src/redux/reducers/conditions.test.ts +0 -241
- package/src/redux/reducers/conditions.ts +0 -68
- package/src/redux/reducers/inputs/addMultipleOccurency.test.ts +0 -117
- package/src/redux/reducers/inputs/addMultipleOccurency.ts +0 -50
- package/src/redux/reducers/inputs/deleteMultipleOccurency.test.ts +0 -70
- package/src/redux/reducers/inputs/deleteMultipleOccurency.ts +0 -50
- package/src/redux/reducers/inputs/initOption.ts +0 -16
- package/src/redux/reducers/inputs/initVariable.ts +0 -16
- package/src/redux/reducers/inputs/updateOptionInput.ts +0 -24
- package/src/redux/reducers/inputs/updateVariableInput.ts +0 -24
- package/src/redux/reducers/inputs.test.ts +0 -221
- package/src/redux/reducers/inputs.ts +0 -51
- package/src/redux/reducers/mandatories/addMultipleOccurency.ts +0 -52
- package/src/redux/reducers/mandatories/deleteMultipleOccurency.ts +0 -55
- package/src/redux/reducers/mandatories/initMandatoryOption.ts +0 -17
- package/src/redux/reducers/mandatories/initMandatoryVariable.ts +0 -17
- package/src/redux/reducers/mandatories/setMandatoryIgnore.ts +0 -17
- package/src/redux/reducers/mandatories/setMandatoryOption.ts +0 -25
- package/src/redux/reducers/mandatories/setMandatorySection.ts +0 -20
- package/src/redux/reducers/mandatories/setMandatoryVariable.ts +0 -24
- package/src/redux/reducers/mandatories.ts +0 -56
- package/src/redux/reducers/references/initReferences.ts +0 -37
- package/src/redux/reducers/references/updateOptionMeta.ts +0 -73
- package/src/redux/reducers/references/updateVariableMeta.ts +0 -72
- package/src/redux/reducers/references.ts +0 -59
- package/src/redux/reducers/smartscript/enableSmartScript.ts +0 -13
- package/src/redux/reducers/smartscript/initSmartScriptTriggers.ts +0 -14
- package/src/redux/reducers/smartscript/updateSmartscriptOptionHidden.ts +0 -30
- package/src/redux/reducers/smartscript/updateSmartscriptVariableHidden.ts +0 -30
- package/src/redux/reducers/smartscript.ts +0 -47
- package/src/redux/reducers/user/initUser.ts +0 -15
- package/src/redux/reducers/user/setUserStatus.ts +0 -13
- package/src/redux/reducers/user/setUserValidToken.ts +0 -13
- package/src/redux/reducers/user.test.ts +0 -51
- package/src/redux/reducers/user.ts +0 -40
- package/src/redux/routerHistore.test.ts +0 -19
- package/src/redux/routerHistory.ts +0 -26
- package/src/redux/sagas/fetchModel.test.ts +0 -76
- package/src/redux/sagas/fetchModel.ts +0 -683
- package/src/redux/sagas/homogeneousRadioInputsSaga.ts +0 -42
- package/src/redux/sagas/initInputs.ts +0 -110
- package/src/redux/sagas/runner.test.ts +0 -12
- package/src/redux/sagas/runner.ts +0 -26
- package/src/redux/sagas/saveData.test.ts +0 -125
- package/src/redux/sagas/saveData.ts +0 -55
- package/src/redux/sagas/setDefaults.test.ts +0 -100
- package/src/redux/sagas/setDefaults.ts +0 -167
- package/src/redux/sagas/setUserEmail.ts +0 -175
- package/src/redux/selectors/app.test.ts +0 -162
- package/src/redux/selectors/app.ts +0 -331
- package/src/redux/selectors/conditions.test.ts +0 -92
- package/src/redux/selectors/conditions.ts +0 -293
- package/src/redux/selectors/inputs.test.ts +0 -72
- package/src/redux/selectors/inputs.ts +0 -76
- package/src/redux/selectors/library.ts +0 -17
- package/src/redux/selectors/mandatories.ts +0 -83
- package/src/redux/selectors/references.test.ts +0 -660
- package/src/redux/selectors/references.ts +0 -413
- package/src/redux/selectors/selectors.test.ts +0 -21
- package/src/redux/selectors/selectors.ts +0 -87
- package/src/redux/selectors/smartscript.ts +0 -30
- package/src/redux/selectors/user.test.ts +0 -39
- package/src/redux/selectors/user.ts +0 -45
- package/src/redux/store.test.ts +0 -22
- package/src/redux/store.ts +0 -100
- package/src/service/api.manager.ts +0 -261
- package/src/service/auth.service.ts +0 -5
- package/src/service/pardot.service.ts +0 -10
- package/src/tests-misc/plugins/jestTestPlugin/after.tsx +0 -5
- package/src/tests-misc/plugins/jestTestPlugin/before.tsx +0 -11
- package/src/tests-misc/plugins/jestTestPlugin/index.ts +0 -11
- package/src/tests-misc/plugins/jestTestPlugin/title.tsx +0 -8
- package/src/tests-misc/themes/jestTestTheme/components/EmailComponent.tsx +0 -5
- package/src/tests-misc/themes/jestTestTheme/components/TermsheetComponent.tsx +0 -5
- package/src/tests-misc/themes/jestTestTheme/components/WizardComponent.tsx +0 -5
- package/src/tests-misc/themes/jestTestTheme/faltyIndex.ts +0 -3
- package/src/tests-misc/themes/jestTestTheme/faltyIndexLoader.ts +0 -1
- package/src/tests-misc/themes/jestTestTheme/index.ts +0 -13
- package/src/types/Actions.type.ts +0 -612
- package/src/types/Components.type.ts +0 -181
- package/src/types/State.type.ts +0 -323
- package/src/types/Termsheet.type.ts +0 -28
- package/src/types/api.type.ts +0 -37
- package/src/types/config.type.ts +0 -55
- package/src/types/env.type.ts +0 -5
- package/src/types/getActions.type.ts +0 -3
- package/src/types/getConnectors.type.ts +0 -5
- package/src/types/getSelectors.type.ts +0 -3
- package/src/wizard-params.ts +0 -56
- package/tsconfig.json +0 -43
|
@@ -1,683 +0,0 @@
|
|
|
1
|
-
import { call, put, takeLatest, select, fork, join } from "redux-saga/effects";
|
|
2
|
-
import Cookies from "universal-cookie";
|
|
3
|
-
import type { CustomizationMetaDefault } from "@legalplace/models-v3-types";
|
|
4
|
-
import type { HealthCheckReport } from "@legalplace/model-healthcheck/dist/libs/HealthCheck.type";
|
|
5
|
-
import { initInputsAction } from "../actions/inputs";
|
|
6
|
-
import {
|
|
7
|
-
initMetaAction,
|
|
8
|
-
initPaginationAction,
|
|
9
|
-
initInstanceAction,
|
|
10
|
-
fetchModelSucceededAction,
|
|
11
|
-
fetchModelFailedAction,
|
|
12
|
-
initCustomizationMetaAction,
|
|
13
|
-
fetchModelUnhealthyAction,
|
|
14
|
-
initCustomizationAutoDefaultAction,
|
|
15
|
-
fetchModelUserLockedAction,
|
|
16
|
-
updateAvailableAppStatesAction,
|
|
17
|
-
goPageAction,
|
|
18
|
-
fetchModelNonBlockingAction,
|
|
19
|
-
setModelUuidAction,
|
|
20
|
-
} from "../actions/app";
|
|
21
|
-
import { initReferencesAction } from "../actions/references";
|
|
22
|
-
import { selectSectionConditionValue } from "../selectors/conditions";
|
|
23
|
-
import { selectAllSectionsReferences } from "../selectors/references";
|
|
24
|
-
import { ActionsType } from "../../types/Actions.type";
|
|
25
|
-
import { selectInstanceUniqid, isStepAvailable } from "../selectors/app";
|
|
26
|
-
import { getConfig, updateConfig } from "../../config";
|
|
27
|
-
import { isLevelAccessibleForUser } from "../selectors/user";
|
|
28
|
-
import { PathReader } from "../../libs/PathReader";
|
|
29
|
-
import { IntputsInitiator } from "../../libs/InputsInitiator";
|
|
30
|
-
import { initUserAction, setUserStatusAction } from "../actions/user";
|
|
31
|
-
import { OvcConverter, OvcType } from "../../libs/OvcConverter";
|
|
32
|
-
import { StateType } from "../../types/State.type";
|
|
33
|
-
import Globals from "../../Globals";
|
|
34
|
-
import {
|
|
35
|
-
getFetchModelArguments,
|
|
36
|
-
getCreateInstanceArguments,
|
|
37
|
-
getClientConfigArguments,
|
|
38
|
-
getWizardConfigArguments,
|
|
39
|
-
getModelInformationArguments,
|
|
40
|
-
} from "../../service/api.manager";
|
|
41
|
-
import { loadTheme, setWizardTheme } from "../../ThemeLoader";
|
|
42
|
-
import { loadPlugins } from "../../PluginLoader";
|
|
43
|
-
import { enableSmartscriptAction } from "../actions/smartscript";
|
|
44
|
-
import {
|
|
45
|
-
FETCH_MODEL,
|
|
46
|
-
FETCH_MODEL_PREREQUISITES,
|
|
47
|
-
} from "../constants/sagas/model";
|
|
48
|
-
import { fetchModelAction } from "../actions/sagas/model";
|
|
49
|
-
import {
|
|
50
|
-
ClientConfigResponse,
|
|
51
|
-
WizardConfigResponse,
|
|
52
|
-
CreateInstanceResponse,
|
|
53
|
-
} from "../../types/api.type";
|
|
54
|
-
import { initInputsDecorator } from "./initInputs";
|
|
55
|
-
|
|
56
|
-
const cookies = new Cookies();
|
|
57
|
-
|
|
58
|
-
function* setFetchModelToNonBlocking(firstCurrentAppState?: string) {
|
|
59
|
-
yield put(
|
|
60
|
-
initPaginationAction({
|
|
61
|
-
currentPage: 1,
|
|
62
|
-
greatestPage: 1,
|
|
63
|
-
currentSectionId: 0,
|
|
64
|
-
availableSections: [],
|
|
65
|
-
currentAppState: firstCurrentAppState || "wizard",
|
|
66
|
-
availableAppStates: ["wizard"],
|
|
67
|
-
})
|
|
68
|
-
);
|
|
69
|
-
|
|
70
|
-
const state: StateType = yield select((s) => s);
|
|
71
|
-
const pathReader = new PathReader(state);
|
|
72
|
-
yield put(goPageAction(pathReader.currentPage, false));
|
|
73
|
-
|
|
74
|
-
yield put(fetchModelNonBlockingAction());
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
function* getClientConfig(permalink: string, uniqid: string) {
|
|
78
|
-
let clientConfigResponse: ClientConfigResponse = yield call(
|
|
79
|
-
fetch,
|
|
80
|
-
...getClientConfigArguments(permalink, uniqid)
|
|
81
|
-
);
|
|
82
|
-
|
|
83
|
-
if (clientConfigResponse === undefined) {
|
|
84
|
-
throw new Error(
|
|
85
|
-
`Unable to fetch client config, we did not receive any response`
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
clientConfigResponse = yield call(
|
|
90
|
-
// @ts-ignore because of saga implementation of call function
|
|
91
|
-
[clientConfigResponse, "json"]
|
|
92
|
-
);
|
|
93
|
-
|
|
94
|
-
if (clientConfigResponse.clientConfig.metadata?.apiEndpoint) {
|
|
95
|
-
updateConfig({
|
|
96
|
-
...getConfig(),
|
|
97
|
-
apiEndpoint: clientConfigResponse.clientConfig.metadata?.apiEndpoint,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
if (clientConfigResponse.clientConfig.metadata?.plugins) {
|
|
102
|
-
yield call(
|
|
103
|
-
loadPlugins,
|
|
104
|
-
clientConfigResponse.clientConfig.metadata?.plugins
|
|
105
|
-
);
|
|
106
|
-
} else yield call(loadPlugins);
|
|
107
|
-
|
|
108
|
-
// Add Auth cookie domain to config
|
|
109
|
-
updateConfig({
|
|
110
|
-
...getConfig(),
|
|
111
|
-
authCookieDomain:
|
|
112
|
-
clientConfigResponse.clientConfig.metadata?.authCookieDomain ||
|
|
113
|
-
process.env.REACT_APP_COOKIES_ALL_SUBDOMAIN,
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
// TODO: Redo this part more properly
|
|
117
|
-
// Loading compactTheme if we receive url param compactTheme
|
|
118
|
-
if (/compactTheme/.test(window.location.href)) {
|
|
119
|
-
// @ts-ignore: because of saga implementation of call function
|
|
120
|
-
yield call(setWizardTheme, { name: "compact" });
|
|
121
|
-
} else if (clientConfigResponse.clientConfig.metadata?.theme?.name) {
|
|
122
|
-
yield call(
|
|
123
|
-
setWizardTheme,
|
|
124
|
-
clientConfigResponse.clientConfig.metadata.theme
|
|
125
|
-
);
|
|
126
|
-
} else {
|
|
127
|
-
yield call(loadTheme);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Update appstates if API send different one
|
|
132
|
-
*/
|
|
133
|
-
if (clientConfigResponse.clientConfig.metadata?.appStates?.length) {
|
|
134
|
-
yield put(
|
|
135
|
-
updateAvailableAppStatesAction(
|
|
136
|
-
clientConfigResponse.clientConfig.metadata.appStates
|
|
137
|
-
)
|
|
138
|
-
);
|
|
139
|
-
}
|
|
140
|
-
/*
|
|
141
|
-
* Getting available appstates
|
|
142
|
-
*/
|
|
143
|
-
const availableAppStates =
|
|
144
|
-
clientConfigResponse.clientConfig.metadata?.appStates ||
|
|
145
|
-
getConfig().appStates;
|
|
146
|
-
|
|
147
|
-
return {
|
|
148
|
-
appStates: availableAppStates,
|
|
149
|
-
enableShadowInstance:
|
|
150
|
-
clientConfigResponse.clientConfig.metadata?.enableShadowInstance || false,
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
function* getWizardConfig(
|
|
155
|
-
permalink: string,
|
|
156
|
-
uniqidParam: string,
|
|
157
|
-
prefix: string,
|
|
158
|
-
queryParams: URLSearchParams
|
|
159
|
-
) {
|
|
160
|
-
let response: WizardConfigResponse = yield call(
|
|
161
|
-
fetch,
|
|
162
|
-
...getWizardConfigArguments(permalink, uniqidParam, prefix, queryParams)
|
|
163
|
-
);
|
|
164
|
-
if (response === undefined) {
|
|
165
|
-
throw new Error(
|
|
166
|
-
`Unable to fetch wizard config, we did not receive any response`
|
|
167
|
-
);
|
|
168
|
-
}
|
|
169
|
-
response = yield call(
|
|
170
|
-
// @ts-ignore because of saga implementation of call function
|
|
171
|
-
[response, "json"]
|
|
172
|
-
);
|
|
173
|
-
if (response.redirect) {
|
|
174
|
-
window.onbeforeunload = null; // force redirection
|
|
175
|
-
window.location.href = `${response.redirect}${
|
|
176
|
-
response.redirectParams
|
|
177
|
-
? `?redirectUrl=${encodeURIComponent(window.location.href)}`
|
|
178
|
-
: ""
|
|
179
|
-
}`;
|
|
180
|
-
}
|
|
181
|
-
yield put(setModelUuidAction(response.modelUuid));
|
|
182
|
-
|
|
183
|
-
return { modelUuid: response.modelUuid };
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
export interface FetchModelInformationResponse {
|
|
187
|
-
references: StateType.References;
|
|
188
|
-
meta: {
|
|
189
|
-
id: number;
|
|
190
|
-
title: string;
|
|
191
|
-
modelVersion: number;
|
|
192
|
-
productType: string;
|
|
193
|
-
};
|
|
194
|
-
customization: {
|
|
195
|
-
disableAutoDefault?: boolean | undefined;
|
|
196
|
-
meta?: CustomizationMetaDefault | undefined;
|
|
197
|
-
};
|
|
198
|
-
ovc?: OvcType;
|
|
199
|
-
smartScript: boolean;
|
|
200
|
-
status?: string;
|
|
201
|
-
report: {
|
|
202
|
-
object: HealthCheckReport;
|
|
203
|
-
raw: string;
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
function* fetchModelInformation(
|
|
208
|
-
modelUuid: string,
|
|
209
|
-
permalink: string,
|
|
210
|
-
prefix: string,
|
|
211
|
-
queryParams: URLSearchParams
|
|
212
|
-
) {
|
|
213
|
-
let response: FetchModelInformationResponse = yield call(
|
|
214
|
-
// @ts-ignore because of saga implementation of call function
|
|
215
|
-
fetch,
|
|
216
|
-
...getModelInformationArguments(modelUuid, queryParams)
|
|
217
|
-
);
|
|
218
|
-
if (response === undefined) {
|
|
219
|
-
throw new Error(
|
|
220
|
-
`Unable to fetch wizard config, we did not receive any response`
|
|
221
|
-
);
|
|
222
|
-
}
|
|
223
|
-
response = yield call(
|
|
224
|
-
// @ts-ignore because of saga implementation of call function
|
|
225
|
-
[response, "json"]
|
|
226
|
-
);
|
|
227
|
-
if (response.status === "unhealthy") {
|
|
228
|
-
if (Globals.appEnv === "production") {
|
|
229
|
-
yield put(fetchModelFailedAction());
|
|
230
|
-
} else yield put(fetchModelUnhealthyAction(response.report));
|
|
231
|
-
return undefined;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
// Meta
|
|
235
|
-
const meta = {
|
|
236
|
-
...response.meta,
|
|
237
|
-
permalink,
|
|
238
|
-
prefix,
|
|
239
|
-
};
|
|
240
|
-
yield put(initMetaAction(meta));
|
|
241
|
-
|
|
242
|
-
// Setting document title
|
|
243
|
-
document.title = `${meta.title} - ${getConfig().brand?.name || "LegalPlace"}`;
|
|
244
|
-
|
|
245
|
-
const { references, customization, smartScript } = response;
|
|
246
|
-
/**
|
|
247
|
-
* Initiating References
|
|
248
|
-
*/
|
|
249
|
-
yield put(initReferencesAction(references));
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Initiating Customizations
|
|
253
|
-
*/
|
|
254
|
-
|
|
255
|
-
// Disable auto default
|
|
256
|
-
if (customization.disableAutoDefault !== undefined)
|
|
257
|
-
yield put(
|
|
258
|
-
initCustomizationAutoDefaultAction(customization.disableAutoDefault)
|
|
259
|
-
);
|
|
260
|
-
|
|
261
|
-
// Meta customizations
|
|
262
|
-
if (
|
|
263
|
-
typeof customization === "object" &&
|
|
264
|
-
typeof customization.meta === "object"
|
|
265
|
-
)
|
|
266
|
-
yield put(initCustomizationMetaAction(customization.meta));
|
|
267
|
-
|
|
268
|
-
return { ovc: response.ovc, references, meta: response.meta, smartScript };
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
function* fetchInstanceInformation(
|
|
272
|
-
appStates: string[],
|
|
273
|
-
permalink: string,
|
|
274
|
-
uniqid: string,
|
|
275
|
-
uniqidParam: string,
|
|
276
|
-
prefix: string,
|
|
277
|
-
queryParams: URLSearchParams,
|
|
278
|
-
pathReader: PathReader
|
|
279
|
-
) {
|
|
280
|
-
// @ts-ignore because of saga implementation of call function
|
|
281
|
-
let response = yield call(
|
|
282
|
-
// @ts-ignore because of saga implementation of call function
|
|
283
|
-
fetch,
|
|
284
|
-
...getFetchModelArguments(permalink, uniqidParam, prefix, queryParams)
|
|
285
|
-
);
|
|
286
|
-
if (response === undefined) {
|
|
287
|
-
throw new Error(
|
|
288
|
-
`Unable to fetch ${permalink}${
|
|
289
|
-
uniqid && uniqid.trim().length > 0 ? `/${uniqid}` : ""
|
|
290
|
-
}, we did not recieve any response`
|
|
291
|
-
);
|
|
292
|
-
}
|
|
293
|
-
// @ts-ignore because of saga implementation of call function
|
|
294
|
-
response = yield call([response, "json"]);
|
|
295
|
-
if (response.redirect) {
|
|
296
|
-
window.onbeforeunload = null; // force redirection
|
|
297
|
-
window.location.href = `${response.redirect}${
|
|
298
|
-
response.redirectParams
|
|
299
|
-
? `?redirectUrl=${encodeURIComponent(window.location.href)}`
|
|
300
|
-
: ""
|
|
301
|
-
}`;
|
|
302
|
-
}
|
|
303
|
-
if (response.errors || response.status === "error") {
|
|
304
|
-
throw new Error(
|
|
305
|
-
`Unable to fetch ${permalink}${
|
|
306
|
-
uniqid && uniqid.trim().length > 0 ? `/${uniqid}` : ""
|
|
307
|
-
}`
|
|
308
|
-
);
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
// reload to legacy wizard if instance is of legacy type
|
|
312
|
-
if (response.instance && response.instance.appType === "react") {
|
|
313
|
-
const abCookie = cookies.get("X-Source");
|
|
314
|
-
if (abCookie && abCookie.split("/").length > 1) {
|
|
315
|
-
cookies.set("X-Source", `${abCookie.split("/")[0]}/wizard`, {
|
|
316
|
-
path: "/",
|
|
317
|
-
encode: (value: string) => value,
|
|
318
|
-
});
|
|
319
|
-
window.onbeforeunload = () => {};
|
|
320
|
-
document.location.reload();
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
// Instance
|
|
325
|
-
const instance: StateType.App.Instance = {
|
|
326
|
-
dataStatus: "saved",
|
|
327
|
-
uniqid: uniqid || "",
|
|
328
|
-
draft: response.instance && response.instance.draft,
|
|
329
|
-
companyId: response.instance?.companyId,
|
|
330
|
-
employeeId: response.instance?.employeeId,
|
|
331
|
-
isOrderHandled: response.instance && response.instance.isOrderHandled,
|
|
332
|
-
isPaid:
|
|
333
|
-
response.instance &&
|
|
334
|
-
(response.instance.isPaid.toString() === "1" ||
|
|
335
|
-
response.instance.isPaid === true),
|
|
336
|
-
steps:
|
|
337
|
-
response.instance &&
|
|
338
|
-
(typeof response.instance.steps === "string" ||
|
|
339
|
-
Array.isArray(response.instance.steps))
|
|
340
|
-
? response.instance.steps
|
|
341
|
-
: [1],
|
|
342
|
-
};
|
|
343
|
-
|
|
344
|
-
// TODO: The following line displays all steps
|
|
345
|
-
// when we receive the version query param
|
|
346
|
-
// we're assuming it's coming from the editor
|
|
347
|
-
// and therefor display all steps for the
|
|
348
|
-
// modelisator, this is a quick solution
|
|
349
|
-
// for the problem that is not quite secure
|
|
350
|
-
// review it
|
|
351
|
-
if (pathReader.modelVersion) instance.steps = "*";
|
|
352
|
-
|
|
353
|
-
yield put(initInstanceAction(instance));
|
|
354
|
-
|
|
355
|
-
/*
|
|
356
|
-
* Getting available appstates
|
|
357
|
-
*/
|
|
358
|
-
const availableAppStates = appStates || getConfig().appStates;
|
|
359
|
-
/*
|
|
360
|
-
* Initiating user
|
|
361
|
-
*/
|
|
362
|
-
if (
|
|
363
|
-
typeof response.user === "object" &&
|
|
364
|
-
typeof response.user.email === "string" &&
|
|
365
|
-
typeof response.user.displayName === "string" &&
|
|
366
|
-
typeof response.user.level === "string"
|
|
367
|
-
) {
|
|
368
|
-
yield put(
|
|
369
|
-
initUserAction({
|
|
370
|
-
email: response.user.email,
|
|
371
|
-
displayName: response.user.displayName,
|
|
372
|
-
level: response.user.level,
|
|
373
|
-
})
|
|
374
|
-
);
|
|
375
|
-
yield put(setUserStatusAction("authenticated"));
|
|
376
|
-
if (availableAppStates.includes("email"))
|
|
377
|
-
availableAppStates.splice(availableAppStates.indexOf("email"), 1);
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
/**
|
|
381
|
-
* If instance is locked for the user
|
|
382
|
-
*/
|
|
383
|
-
if (instance.draft === false && !isLevelAccessibleForUser("USER")) {
|
|
384
|
-
yield put(fetchModelUserLockedAction());
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
return { instance, availableAppStates, ovc: response.ovc };
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
function* createInstance(
|
|
391
|
-
enableShadowInstance: boolean,
|
|
392
|
-
modelInformation: { meta: { modelVersion: string } },
|
|
393
|
-
uniqid: string,
|
|
394
|
-
permalink: string,
|
|
395
|
-
pathReader: PathReader,
|
|
396
|
-
urlParams: URLSearchParams
|
|
397
|
-
) {
|
|
398
|
-
const { meta } = modelInformation;
|
|
399
|
-
|
|
400
|
-
/**
|
|
401
|
-
* Unit/Organization params define if we allow shadow instance, we fallback to configuration if not defined
|
|
402
|
-
*/
|
|
403
|
-
const isShadowInstanceEnabled =
|
|
404
|
-
typeof enableShadowInstance !== "undefined"
|
|
405
|
-
? enableShadowInstance
|
|
406
|
-
: getConfig().enableShadowInstance;
|
|
407
|
-
|
|
408
|
-
// Instance
|
|
409
|
-
const instance: StateType.App.Instance = {
|
|
410
|
-
dataStatus: "saved",
|
|
411
|
-
uniqid: uniqid || "",
|
|
412
|
-
draft: false,
|
|
413
|
-
companyId: undefined,
|
|
414
|
-
employeeId: undefined,
|
|
415
|
-
isOrderHandled: undefined,
|
|
416
|
-
isPaid: false,
|
|
417
|
-
steps: [1],
|
|
418
|
-
};
|
|
419
|
-
|
|
420
|
-
// TODO: The following line displays all steps
|
|
421
|
-
// when we receive the version query param
|
|
422
|
-
// we're assuming it's coming from the editor
|
|
423
|
-
// and therefor display all steps for the
|
|
424
|
-
// modelisator, this is a quick solution
|
|
425
|
-
// for the problem that is not quite secure
|
|
426
|
-
// review it
|
|
427
|
-
if (pathReader.modelVersion) instance.steps = "*";
|
|
428
|
-
|
|
429
|
-
// Creating instance
|
|
430
|
-
if (
|
|
431
|
-
isShadowInstanceEnabled === true &&
|
|
432
|
-
(instance.uniqid === undefined ||
|
|
433
|
-
(typeof instance.uniqid === "string" && instance.uniqid.trim() === ""))
|
|
434
|
-
) {
|
|
435
|
-
const searchParams = `${
|
|
436
|
-
urlParams && urlParams.get("contractName") && urlParams.get("userId")
|
|
437
|
-
? `?contractName=${urlParams.get(
|
|
438
|
-
"contractName"
|
|
439
|
-
)}&userId=${urlParams.get("userId")}`
|
|
440
|
-
: ""
|
|
441
|
-
}`;
|
|
442
|
-
const res: CreateInstanceResponse = yield call(
|
|
443
|
-
// @ts-ignore because of saga implementation of call function
|
|
444
|
-
fetch,
|
|
445
|
-
...getCreateInstanceArguments(permalink, searchParams, meta.modelVersion)
|
|
446
|
-
);
|
|
447
|
-
const instanceResponse: CreateInstanceResponse = yield call(
|
|
448
|
-
// @ts-ignore because of saga implementation of call function
|
|
449
|
-
[res, "json"]
|
|
450
|
-
);
|
|
451
|
-
|
|
452
|
-
if (instanceResponse.status !== "SUCCESS") {
|
|
453
|
-
throw new Error("Unable to create instance");
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
// Setting uniqid
|
|
457
|
-
instance.uniqid = instanceResponse.uniqid;
|
|
458
|
-
|
|
459
|
-
// Setting isPaid
|
|
460
|
-
instance.isPaid = instanceResponse.isPaid === true;
|
|
461
|
-
|
|
462
|
-
// Setting is order handled
|
|
463
|
-
instance.isOrderHandled = instanceResponse.isOrderHandled;
|
|
464
|
-
|
|
465
|
-
// Setting steps
|
|
466
|
-
instance.steps =
|
|
467
|
-
typeof instanceResponse.steps === "string" ||
|
|
468
|
-
Array.isArray(instanceResponse.steps)
|
|
469
|
-
? instanceResponse.steps
|
|
470
|
-
: [1];
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
/**
|
|
474
|
-
* Initiating Instance
|
|
475
|
-
*/
|
|
476
|
-
yield put(initInstanceAction(instance));
|
|
477
|
-
}
|
|
478
|
-
|
|
479
|
-
function* fetchModelPrerequisites(
|
|
480
|
-
action: ActionsType.Sagas.Model.fetchModelPrerequisites
|
|
481
|
-
): any {
|
|
482
|
-
const { permalink, prefix } = action;
|
|
483
|
-
|
|
484
|
-
// TODO Fix Smartscript iFrame re-render (see issue #4130)
|
|
485
|
-
if (!permalink && window.location.href.includes("smartscript")) return;
|
|
486
|
-
|
|
487
|
-
const uniqid = selectInstanceUniqid() || getConfig().uniqid;
|
|
488
|
-
const uniqidParam = uniqid && uniqid.trim().length > 0 ? `/${uniqid}` : "";
|
|
489
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
490
|
-
|
|
491
|
-
// Getting State
|
|
492
|
-
const state = yield select((s) => s);
|
|
493
|
-
|
|
494
|
-
// Model ID
|
|
495
|
-
const pathReader = new PathReader(state);
|
|
496
|
-
const queryParams = new URLSearchParams(window.location.search);
|
|
497
|
-
if (pathReader.modelVersion)
|
|
498
|
-
queryParams.set("version", pathReader.modelVersion);
|
|
499
|
-
|
|
500
|
-
const clientConfigReturnValue = yield call(
|
|
501
|
-
getClientConfig,
|
|
502
|
-
permalink,
|
|
503
|
-
uniqid || ""
|
|
504
|
-
);
|
|
505
|
-
|
|
506
|
-
const wizardConfig = yield call(
|
|
507
|
-
getWizardConfig,
|
|
508
|
-
permalink,
|
|
509
|
-
uniqidParam,
|
|
510
|
-
prefix,
|
|
511
|
-
queryParams
|
|
512
|
-
);
|
|
513
|
-
|
|
514
|
-
yield put(
|
|
515
|
-
fetchModelAction(
|
|
516
|
-
permalink,
|
|
517
|
-
prefix,
|
|
518
|
-
uniqid,
|
|
519
|
-
uniqidParam,
|
|
520
|
-
queryParams,
|
|
521
|
-
pathReader,
|
|
522
|
-
urlParams,
|
|
523
|
-
clientConfigReturnValue,
|
|
524
|
-
wizardConfig
|
|
525
|
-
)
|
|
526
|
-
);
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
function* fetchModelDecorator(action: ActionsType.Sagas.Model.fetchModel): any {
|
|
530
|
-
try {
|
|
531
|
-
const {
|
|
532
|
-
permalink,
|
|
533
|
-
prefix,
|
|
534
|
-
uniqid,
|
|
535
|
-
uniqidParam,
|
|
536
|
-
queryParams,
|
|
537
|
-
pathReader,
|
|
538
|
-
urlParams,
|
|
539
|
-
clientConfigReturnValue,
|
|
540
|
-
wizardConfig,
|
|
541
|
-
callback,
|
|
542
|
-
firstCurrentAppState,
|
|
543
|
-
} = action;
|
|
544
|
-
|
|
545
|
-
if (callback) {
|
|
546
|
-
yield call(setFetchModelToNonBlocking, firstCurrentAppState);
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
// TODO checkout set the rest to asynchronous if checkout
|
|
550
|
-
const fetchModelInformationTask = yield fork(
|
|
551
|
-
// @ts-ignore because of saga implementation of fork function
|
|
552
|
-
fetchModelInformation,
|
|
553
|
-
wizardConfig.modelUuid,
|
|
554
|
-
permalink,
|
|
555
|
-
prefix,
|
|
556
|
-
queryParams
|
|
557
|
-
);
|
|
558
|
-
|
|
559
|
-
let modelInformation;
|
|
560
|
-
let ovcFromApi;
|
|
561
|
-
let availableAppStates;
|
|
562
|
-
if (uniqid) {
|
|
563
|
-
const fetchInstanceInformationTask = yield fork(
|
|
564
|
-
// @ts-ignore because of saga implementation of fork function
|
|
565
|
-
fetchInstanceInformation,
|
|
566
|
-
clientConfigReturnValue.appStates,
|
|
567
|
-
permalink,
|
|
568
|
-
uniqid,
|
|
569
|
-
uniqidParam,
|
|
570
|
-
prefix,
|
|
571
|
-
queryParams,
|
|
572
|
-
pathReader
|
|
573
|
-
);
|
|
574
|
-
|
|
575
|
-
const [modelInformationFromTask, instanceInformation] = yield join([
|
|
576
|
-
fetchModelInformationTask,
|
|
577
|
-
fetchInstanceInformationTask,
|
|
578
|
-
]);
|
|
579
|
-
modelInformation = modelInformationFromTask;
|
|
580
|
-
ovcFromApi = instanceInformation.ovc;
|
|
581
|
-
availableAppStates = instanceInformation.availableAppStates;
|
|
582
|
-
} else {
|
|
583
|
-
modelInformation = yield join(fetchModelInformationTask);
|
|
584
|
-
ovcFromApi = modelInformation.ovc;
|
|
585
|
-
availableAppStates = clientConfigReturnValue.appStates;
|
|
586
|
-
|
|
587
|
-
yield call(
|
|
588
|
-
// @ts-ignore because of saga implementation of fork function
|
|
589
|
-
createInstance,
|
|
590
|
-
clientConfigReturnValue.enableShadowInstance,
|
|
591
|
-
modelInformation,
|
|
592
|
-
uniqid,
|
|
593
|
-
permalink,
|
|
594
|
-
pathReader,
|
|
595
|
-
urlParams
|
|
596
|
-
);
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
const { references, smartScript } = modelInformation;
|
|
600
|
-
|
|
601
|
-
// OVC
|
|
602
|
-
let ovc = ovcFromApi || null;
|
|
603
|
-
|
|
604
|
-
// Setting OVC to null if it's an empty object
|
|
605
|
-
if (
|
|
606
|
-
typeof ovc === "object" &&
|
|
607
|
-
ovc !== null &&
|
|
608
|
-
Object.keys(ovc).length === 0
|
|
609
|
-
)
|
|
610
|
-
ovc = null;
|
|
611
|
-
|
|
612
|
-
if (OvcConverter.isOvc(ovc))
|
|
613
|
-
ovc = OvcConverter.convertToOptionsVariables(ovc, references);
|
|
614
|
-
|
|
615
|
-
// Data
|
|
616
|
-
const inputs = new IntputsInitiator(references, ovc).getInputs();
|
|
617
|
-
|
|
618
|
-
yield call(initInputsDecorator, initInputsAction(inputs, references));
|
|
619
|
-
|
|
620
|
-
/**
|
|
621
|
-
* Initiating pagination
|
|
622
|
-
*/
|
|
623
|
-
const sectionsReferences = selectAllSectionsReferences();
|
|
624
|
-
if (sectionsReferences === undefined)
|
|
625
|
-
throw new Error("Sections references not found");
|
|
626
|
-
const availableSections = Object.keys(sectionsReferences)
|
|
627
|
-
.filter((sectionId) => {
|
|
628
|
-
const condition =
|
|
629
|
-
selectSectionConditionValue(parseInt(sectionId, 10)) !== false;
|
|
630
|
-
const sectionReference = sectionsReferences[sectionId];
|
|
631
|
-
const sectionGrantLevel = sectionReference.grantLevel
|
|
632
|
-
? sectionReference.grantLevel
|
|
633
|
-
: "GUEST";
|
|
634
|
-
const grant = isLevelAccessibleForUser(sectionGrantLevel);
|
|
635
|
-
const availableStep = isStepAvailable(sectionReference.step);
|
|
636
|
-
return condition && grant && availableStep;
|
|
637
|
-
})
|
|
638
|
-
.map((c) => parseInt(c, 10));
|
|
639
|
-
|
|
640
|
-
yield put(
|
|
641
|
-
initPaginationAction({
|
|
642
|
-
currentPage: 1,
|
|
643
|
-
greatestPage: 1,
|
|
644
|
-
currentSectionId: availableSections[0],
|
|
645
|
-
availableSections,
|
|
646
|
-
currentAppState: firstCurrentAppState || "wizard",
|
|
647
|
-
availableAppStates,
|
|
648
|
-
})
|
|
649
|
-
);
|
|
650
|
-
|
|
651
|
-
/**
|
|
652
|
-
* Enabling smart script
|
|
653
|
-
*/
|
|
654
|
-
if (smartScript === true) {
|
|
655
|
-
yield put(enableSmartscriptAction());
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
/**
|
|
659
|
-
* Going to page in path after
|
|
660
|
-
* initiating pagination
|
|
661
|
-
*/
|
|
662
|
-
const state2 = yield select((s) => s);
|
|
663
|
-
const pathReader2 = new PathReader(state2);
|
|
664
|
-
yield put(goPageAction(pathReader2.currentPage, false));
|
|
665
|
-
|
|
666
|
-
yield put(fetchModelSucceededAction());
|
|
667
|
-
|
|
668
|
-
if (callback) {
|
|
669
|
-
yield call(callback);
|
|
670
|
-
}
|
|
671
|
-
} catch (e) {
|
|
672
|
-
// eslint-disable-next-line no-console
|
|
673
|
-
console.error(e);
|
|
674
|
-
yield put(fetchModelFailedAction());
|
|
675
|
-
}
|
|
676
|
-
}
|
|
677
|
-
|
|
678
|
-
function* fetchModelSaga() {
|
|
679
|
-
yield takeLatest(FETCH_MODEL_PREREQUISITES, fetchModelPrerequisites);
|
|
680
|
-
yield takeLatest(FETCH_MODEL, fetchModelDecorator);
|
|
681
|
-
}
|
|
682
|
-
|
|
683
|
-
export default fetchModelSaga;
|