@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,222 +0,0 @@
|
|
|
1
|
-
import type { OptionV3 } from "@legalplace/models-v3-types";
|
|
2
|
-
import {
|
|
3
|
-
parseOptionLabel,
|
|
4
|
-
parseRawWithVariables,
|
|
5
|
-
} from "../helpers/outputsParsing";
|
|
6
|
-
import {
|
|
7
|
-
componentConnector,
|
|
8
|
-
ConnectorStateToProps,
|
|
9
|
-
ConnectorDispatchProps,
|
|
10
|
-
ConnectorMapSelectors,
|
|
11
|
-
} from "./connector/componentConnector";
|
|
12
|
-
import { isStepAvailable } from "../redux/selectors/app";
|
|
13
|
-
|
|
14
|
-
export type ConnectOptionOwnProps = {
|
|
15
|
-
id: number;
|
|
16
|
-
index: number;
|
|
17
|
-
isLast?: boolean;
|
|
18
|
-
isMultiple?: boolean;
|
|
19
|
-
hasMany?: boolean;
|
|
20
|
-
};
|
|
21
|
-
export type ConnectOptionMapProps = {
|
|
22
|
-
label: string;
|
|
23
|
-
type: string;
|
|
24
|
-
value: boolean;
|
|
25
|
-
condition?: boolean;
|
|
26
|
-
validator?: boolean;
|
|
27
|
-
mandatoryValidated: boolean;
|
|
28
|
-
mandatoryIgnore: boolean;
|
|
29
|
-
display: boolean;
|
|
30
|
-
meta: OptionV3["meta"];
|
|
31
|
-
selectedRadioChild: number;
|
|
32
|
-
childOptions: number[];
|
|
33
|
-
childVariables: number[];
|
|
34
|
-
};
|
|
35
|
-
export type ConnectOptionDispatchProps = {
|
|
36
|
-
updateOption: (value: boolean, id?: number, index?: number) => void;
|
|
37
|
-
addMultipleOccurency: () => void;
|
|
38
|
-
deleteMultipleOccurency: () => void;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* canOptionDisplay
|
|
43
|
-
* ----------------
|
|
44
|
-
* This helper function checks whether an option
|
|
45
|
-
* can be displayed. It currently handle this cases:
|
|
46
|
-
* - Checks stepTwo options
|
|
47
|
-
* - Checks special grants options
|
|
48
|
-
* @param id Option's ID
|
|
49
|
-
* @param selectors StateToProps selectors
|
|
50
|
-
* @returns (boolean)
|
|
51
|
-
*/
|
|
52
|
-
const canOptionDisplay = (
|
|
53
|
-
id: number,
|
|
54
|
-
index: number,
|
|
55
|
-
selectors: ConnectorMapSelectors
|
|
56
|
-
) => {
|
|
57
|
-
const option = selectors.selectOptionReference(id);
|
|
58
|
-
|
|
59
|
-
// Checking steps
|
|
60
|
-
let display = isStepAvailable(option.meta.step);
|
|
61
|
-
|
|
62
|
-
// Checking if option is hidden by model or smartscript on all indexes
|
|
63
|
-
display = display && !(option.meta.hidden === true);
|
|
64
|
-
|
|
65
|
-
// Checking if option's index is hidden by smartscript
|
|
66
|
-
display =
|
|
67
|
-
display && !selectors.selectIsSmartscriptOptionIndexHidden(id, index);
|
|
68
|
-
|
|
69
|
-
// Checking if current user is granted access to this option
|
|
70
|
-
const grantLevel =
|
|
71
|
-
typeof option.meta.grantLevel === "string"
|
|
72
|
-
? option.meta.grantLevel
|
|
73
|
-
: "GUEST";
|
|
74
|
-
display = display && selectors.isLevelAccessibleForUser(grantLevel);
|
|
75
|
-
|
|
76
|
-
// Returning result
|
|
77
|
-
return display;
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* selectedRadioChilds
|
|
82
|
-
* -------------------
|
|
83
|
-
* This helper functions returns the selected
|
|
84
|
-
* radio children of a given option at a specific
|
|
85
|
-
* index if there's any
|
|
86
|
-
* @param id Option's id
|
|
87
|
-
* @param index Option's index
|
|
88
|
-
* @param selectors StateToProps selectors
|
|
89
|
-
*/
|
|
90
|
-
const selectedRadioChilds = (
|
|
91
|
-
id: number,
|
|
92
|
-
index: number,
|
|
93
|
-
selectors: ConnectorMapSelectors
|
|
94
|
-
) => {
|
|
95
|
-
const option = selectors.selectOptionReference(id);
|
|
96
|
-
return option.options.filter((childId) => {
|
|
97
|
-
const childReference = selectors.selectOptionReference(childId);
|
|
98
|
-
|
|
99
|
-
return (
|
|
100
|
-
childReference.meta.type === "radio" &&
|
|
101
|
-
selectors.selectOptionInputByIndex(childId, index)
|
|
102
|
-
);
|
|
103
|
-
})[0];
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* stateToProps
|
|
108
|
-
* ------------
|
|
109
|
-
* State to props function maps state to connected
|
|
110
|
-
* component's props
|
|
111
|
-
* @param selectors StateToProps selectors
|
|
112
|
-
*/
|
|
113
|
-
const stateToProps: ConnectorStateToProps<
|
|
114
|
-
ConnectOptionOwnProps,
|
|
115
|
-
ConnectOptionMapProps
|
|
116
|
-
> = (selectors) => (state, ownProps) => {
|
|
117
|
-
const { id, index } = ownProps;
|
|
118
|
-
const option = selectors.selectOptionReference(id);
|
|
119
|
-
|
|
120
|
-
// Checking if option can display (this is not related to conditions)
|
|
121
|
-
const display = canOptionDisplay(id, index, selectors);
|
|
122
|
-
|
|
123
|
-
// Getting option's selected radio children
|
|
124
|
-
const selectedRadioChild = selectedRadioChilds(id, index, selectors);
|
|
125
|
-
|
|
126
|
-
// Getting & parsing label (if needed)
|
|
127
|
-
const label = parseOptionLabel(id, index);
|
|
128
|
-
|
|
129
|
-
// Getting value
|
|
130
|
-
let value = selectors.selectOptionInputByIndex(id, index);
|
|
131
|
-
value = value || false;
|
|
132
|
-
|
|
133
|
-
// Getting condition
|
|
134
|
-
const condition = selectors.selectOptionConditionValue(id, index);
|
|
135
|
-
|
|
136
|
-
// Getting valudator
|
|
137
|
-
const validator = selectors.selectOptionValidatorConditionValue(id, index);
|
|
138
|
-
|
|
139
|
-
// Getting mandatoryValidated
|
|
140
|
-
const mandatoryValidated = selectors.selectMandatoryOptionByIndex(id, index);
|
|
141
|
-
|
|
142
|
-
// Getting MandartoryIgnore
|
|
143
|
-
const mandatoryIgnore = selectors.selectMandatoryIgnore();
|
|
144
|
-
|
|
145
|
-
// Extracting props from option reference
|
|
146
|
-
const { meta, options: childOptions, variables: childVariables } = option;
|
|
147
|
-
|
|
148
|
-
// Parsing helper's variables
|
|
149
|
-
const helper = meta.helper
|
|
150
|
-
? parseRawWithVariables(meta.helper, undefined, "________________")
|
|
151
|
-
: undefined;
|
|
152
|
-
|
|
153
|
-
// Parsing warning's variables
|
|
154
|
-
const warning = meta.warning
|
|
155
|
-
? parseRawWithVariables(meta.warning, undefined, "________________")
|
|
156
|
-
: undefined;
|
|
157
|
-
|
|
158
|
-
const { type } = meta;
|
|
159
|
-
return {
|
|
160
|
-
label,
|
|
161
|
-
type,
|
|
162
|
-
meta: {
|
|
163
|
-
...meta,
|
|
164
|
-
warning,
|
|
165
|
-
helper,
|
|
166
|
-
},
|
|
167
|
-
value,
|
|
168
|
-
mandatoryValidated,
|
|
169
|
-
mandatoryIgnore,
|
|
170
|
-
condition,
|
|
171
|
-
validator,
|
|
172
|
-
display,
|
|
173
|
-
selectedRadioChild,
|
|
174
|
-
childOptions,
|
|
175
|
-
childVariables,
|
|
176
|
-
};
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* dispatchToProps
|
|
181
|
-
* ------------
|
|
182
|
-
* Dispatch to props function maps dispatch to connected
|
|
183
|
-
* component's props
|
|
184
|
-
* @param actions DispatchToProps actions
|
|
185
|
-
*/
|
|
186
|
-
const dispatchToProps: ConnectorDispatchProps<
|
|
187
|
-
ConnectOptionOwnProps,
|
|
188
|
-
ConnectOptionDispatchProps
|
|
189
|
-
> = (actions) => (dispatch, ownProps) => ({
|
|
190
|
-
updateOption: (
|
|
191
|
-
value: boolean,
|
|
192
|
-
id: number = ownProps.id,
|
|
193
|
-
index: number = ownProps.index
|
|
194
|
-
) => dispatch(actions.updateOptionAction(id, value, index)),
|
|
195
|
-
addMultipleOccurency: () => {
|
|
196
|
-
dispatch(actions.addMultipleOccurencyAction(ownProps.id));
|
|
197
|
-
},
|
|
198
|
-
deleteMultipleOccurency: () => {
|
|
199
|
-
dispatch(
|
|
200
|
-
actions.deleteMultipleOccurencyAction(ownProps.id, ownProps.index)
|
|
201
|
-
);
|
|
202
|
-
},
|
|
203
|
-
});
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* Creating our component connector
|
|
207
|
-
*/
|
|
208
|
-
export const connectOption = componentConnector({
|
|
209
|
-
componentName: "Option",
|
|
210
|
-
stateToProps,
|
|
211
|
-
dispatchToProps,
|
|
212
|
-
additionnalHooks: (props, hookType) => {
|
|
213
|
-
const { tags, type } = props.meta;
|
|
214
|
-
const hooks: string[] = [`${hookType}OptionOfType(${type})`];
|
|
215
|
-
if (Array.isArray(tags)) {
|
|
216
|
-
tags.forEach((currentTag) => {
|
|
217
|
-
hooks.push(`${hookType}Tag{${currentTag}}`);
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
return hooks;
|
|
221
|
-
},
|
|
222
|
-
});
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
componentConnector,
|
|
3
|
-
ConnectorStateToProps,
|
|
4
|
-
ConnectorDispatchProps,
|
|
5
|
-
} from "./connector/componentConnector";
|
|
6
|
-
|
|
7
|
-
export type ConnectPaginationOwnProps = {};
|
|
8
|
-
export type ConnectPaginationMapProps = {
|
|
9
|
-
totalPages: number;
|
|
10
|
-
isFirstPage: boolean;
|
|
11
|
-
isLastPage: boolean;
|
|
12
|
-
isLastWizardPage: boolean;
|
|
13
|
-
isUserAuthenticated: boolean;
|
|
14
|
-
isCurrentSectionMandatoryValidated: boolean;
|
|
15
|
-
mandatoryIgnore: boolean;
|
|
16
|
-
firstUnfinishedSectionId: number;
|
|
17
|
-
currentSection: number;
|
|
18
|
-
currentPage: number;
|
|
19
|
-
};
|
|
20
|
-
export type ConnectPaginationDispatchProps = {
|
|
21
|
-
goNextPage: () => void;
|
|
22
|
-
goPreviousPage: () => void;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* stateToProps
|
|
27
|
-
* ------------
|
|
28
|
-
* State to props function maps state to connected
|
|
29
|
-
* component's props
|
|
30
|
-
* @param selectors StateToProps selectors
|
|
31
|
-
*/
|
|
32
|
-
const stateToProps: ConnectorStateToProps<
|
|
33
|
-
ConnectPaginationOwnProps,
|
|
34
|
-
ConnectPaginationMapProps
|
|
35
|
-
> = (selectors) => () => {
|
|
36
|
-
const {
|
|
37
|
-
selectIsFirstPage,
|
|
38
|
-
selectCurrentPage,
|
|
39
|
-
selectIsLastPage,
|
|
40
|
-
selectIsLastWizardPage,
|
|
41
|
-
selectAvailableSections,
|
|
42
|
-
selectUserStatus,
|
|
43
|
-
selectMandatorySection,
|
|
44
|
-
selectCurrentSectionId,
|
|
45
|
-
selectFirstUnfinishedSectionId,
|
|
46
|
-
selectMandatoryIgnore,
|
|
47
|
-
} = selectors;
|
|
48
|
-
const isFirstPage = selectIsFirstPage();
|
|
49
|
-
const currentPage = selectCurrentPage();
|
|
50
|
-
const isLastPage = selectIsLastPage();
|
|
51
|
-
const isLastWizardPage = selectIsLastWizardPage();
|
|
52
|
-
const totalPages = selectAvailableSections().length;
|
|
53
|
-
const userStatus = selectUserStatus();
|
|
54
|
-
|
|
55
|
-
const currentSection = selectCurrentSectionId();
|
|
56
|
-
|
|
57
|
-
// Getting MandatoryIgnore
|
|
58
|
-
const mandatoryIgnore = selectMandatoryIgnore();
|
|
59
|
-
|
|
60
|
-
const isCurrentSectionMandatoryValidated =
|
|
61
|
-
selectMandatorySection(currentSection);
|
|
62
|
-
|
|
63
|
-
const firstUnfinishedSectionId =
|
|
64
|
-
selectFirstUnfinishedSectionId(currentSection);
|
|
65
|
-
|
|
66
|
-
return {
|
|
67
|
-
isFirstPage,
|
|
68
|
-
isLastPage,
|
|
69
|
-
totalPages,
|
|
70
|
-
isLastWizardPage,
|
|
71
|
-
isCurrentSectionMandatoryValidated,
|
|
72
|
-
firstUnfinishedSectionId,
|
|
73
|
-
currentSection,
|
|
74
|
-
mandatoryIgnore,
|
|
75
|
-
isUserAuthenticated: userStatus === "authenticated",
|
|
76
|
-
currentPage,
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* dispatchToProps
|
|
82
|
-
* ------------
|
|
83
|
-
* Dispatch to props function maps dispatch to connected
|
|
84
|
-
* component's props
|
|
85
|
-
* @param actions DispatchToProps actions
|
|
86
|
-
*/
|
|
87
|
-
const dispatchToProps: ConnectorDispatchProps<
|
|
88
|
-
ConnectPaginationOwnProps,
|
|
89
|
-
ConnectPaginationDispatchProps
|
|
90
|
-
> = (actions) => (dispatch) => ({
|
|
91
|
-
goNextPage: () => dispatch(actions.goNextPageAction()),
|
|
92
|
-
goPreviousPage: () => dispatch(actions.goPreviousPageAction()),
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Creating our component connector
|
|
97
|
-
*/
|
|
98
|
-
export const connectPagination = componentConnector({
|
|
99
|
-
componentName: "Pagination",
|
|
100
|
-
stateToProps,
|
|
101
|
-
dispatchToProps,
|
|
102
|
-
});
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
componentConnector,
|
|
3
|
-
ConnectorStateToProps,
|
|
4
|
-
} from "./connector/componentConnector";
|
|
5
|
-
|
|
6
|
-
export type ConnectPreviewOwnProps = {
|
|
7
|
-
id?: number;
|
|
8
|
-
};
|
|
9
|
-
export type ConnectPreviewMapProps = {
|
|
10
|
-
currentSectionTitle: string;
|
|
11
|
-
currentSectionId: number;
|
|
12
|
-
currentSection: number;
|
|
13
|
-
currentPage: number;
|
|
14
|
-
greatestPage: number;
|
|
15
|
-
totalPages: number;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* stateToProps
|
|
20
|
-
* ------------
|
|
21
|
-
* State to props function maps state to connected
|
|
22
|
-
* component's props
|
|
23
|
-
* @param selectors StateToProps selectors
|
|
24
|
-
*/
|
|
25
|
-
const stateToProps: ConnectorStateToProps<
|
|
26
|
-
ConnectPreviewOwnProps,
|
|
27
|
-
ConnectPreviewMapProps
|
|
28
|
-
> = (selectors) => (state, ownProps) => {
|
|
29
|
-
const {
|
|
30
|
-
selectCurrentSectionId,
|
|
31
|
-
selectAvailableSections,
|
|
32
|
-
selectSectionReference,
|
|
33
|
-
selectCurrentPage,
|
|
34
|
-
} = selectors;
|
|
35
|
-
|
|
36
|
-
const currentSectionId =
|
|
37
|
-
typeof ownProps.id === "number" ? ownProps.id : selectCurrentSectionId();
|
|
38
|
-
const sectionReference = selectSectionReference(currentSectionId);
|
|
39
|
-
const currentSectionTitle = sectionReference.label;
|
|
40
|
-
const availableSections = selectAvailableSections();
|
|
41
|
-
const totalPages = availableSections.length;
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
currentSectionTitle,
|
|
45
|
-
currentSectionId,
|
|
46
|
-
totalPages,
|
|
47
|
-
currentSection: availableSections.indexOf(currentSectionId) + 1,
|
|
48
|
-
currentPage: selectCurrentPage(),
|
|
49
|
-
greatestPage: state.app.pagination.greatestPage,
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Creating our component connector
|
|
55
|
-
*/
|
|
56
|
-
export const connectProgress = componentConnector({
|
|
57
|
-
componentName: "Progress",
|
|
58
|
-
stateToProps,
|
|
59
|
-
});
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import type { OptionV3 } from "@legalplace/models-v3-types";
|
|
2
|
-
import {
|
|
3
|
-
componentConnector,
|
|
4
|
-
ConnectorStateToProps,
|
|
5
|
-
ConnectorDispatchProps,
|
|
6
|
-
} from "./connector/componentConnector";
|
|
7
|
-
|
|
8
|
-
export type ConnectRootOptionOwnProps = {
|
|
9
|
-
id: number;
|
|
10
|
-
};
|
|
11
|
-
export type ConnectRootOptionMapProps = {
|
|
12
|
-
id: number;
|
|
13
|
-
multiple: boolean;
|
|
14
|
-
values: boolean[];
|
|
15
|
-
isMultiple: boolean;
|
|
16
|
-
hasMany: boolean;
|
|
17
|
-
lastIndex: number;
|
|
18
|
-
meta: OptionV3["meta"];
|
|
19
|
-
};
|
|
20
|
-
export type ConnectRootOptionDispatchProps = {
|
|
21
|
-
addMultipleOccurency: () => void;
|
|
22
|
-
deleteMultipleOccurency: (index: number) => void;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* stateToProps
|
|
27
|
-
* ------------
|
|
28
|
-
* State to props function maps state to connected
|
|
29
|
-
* component's props
|
|
30
|
-
* @param selectors StateToProps selectors
|
|
31
|
-
*/
|
|
32
|
-
const stateToProps: ConnectorStateToProps<
|
|
33
|
-
ConnectRootOptionOwnProps,
|
|
34
|
-
ConnectRootOptionMapProps
|
|
35
|
-
> = (selectors) => (state, ownProps) => {
|
|
36
|
-
const { selectOptionReference } = selectors;
|
|
37
|
-
|
|
38
|
-
const option = selectOptionReference(ownProps.id);
|
|
39
|
-
|
|
40
|
-
// Checking wether option can be displayed
|
|
41
|
-
const multiple = option.meta.multiple?.enabled || false;
|
|
42
|
-
|
|
43
|
-
const values = state.inputs.options[ownProps.id];
|
|
44
|
-
|
|
45
|
-
return {
|
|
46
|
-
id: ownProps.id,
|
|
47
|
-
multiple,
|
|
48
|
-
meta: option.meta,
|
|
49
|
-
values,
|
|
50
|
-
hasMany: values.length > 1,
|
|
51
|
-
isMultiple: option.meta.multiple?.enabled === true,
|
|
52
|
-
lastIndex: values.length - 1,
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* dispatchToProps
|
|
58
|
-
* ------------
|
|
59
|
-
* Dispatch to props function maps dispatch to connected
|
|
60
|
-
* component's props
|
|
61
|
-
* @param actions DispatchToProps actions
|
|
62
|
-
*/
|
|
63
|
-
const dispatchToProps: ConnectorDispatchProps<
|
|
64
|
-
ConnectRootOptionOwnProps,
|
|
65
|
-
ConnectRootOptionDispatchProps
|
|
66
|
-
> = (actions) => (dispatch, ownProps) => ({
|
|
67
|
-
addMultipleOccurency: () => {
|
|
68
|
-
dispatch(actions.addMultipleOccurencyAction(ownProps.id));
|
|
69
|
-
},
|
|
70
|
-
deleteMultipleOccurency: (index: number) => {
|
|
71
|
-
dispatch(actions.deleteMultipleOccurencyAction(ownProps.id, index));
|
|
72
|
-
},
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Creating our component connector
|
|
77
|
-
*/
|
|
78
|
-
export const connectRootOption = componentConnector({
|
|
79
|
-
componentName: "RootOption",
|
|
80
|
-
stateToProps,
|
|
81
|
-
dispatchToProps,
|
|
82
|
-
additionnalHooks: (props, hookType) => {
|
|
83
|
-
const { tags, type } = props.meta;
|
|
84
|
-
const hooks: string[] = [`${hookType}RootOptionOfType(${type})`];
|
|
85
|
-
if (props.meta.multiple) {
|
|
86
|
-
hooks.push(`${hookType}RootOptionMultiple`);
|
|
87
|
-
}
|
|
88
|
-
if (Array.isArray(tags)) {
|
|
89
|
-
tags.forEach((currentTag) => {
|
|
90
|
-
hooks.push(`${hookType}Tag{${currentTag}}`);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
return hooks;
|
|
94
|
-
},
|
|
95
|
-
});
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
componentConnector,
|
|
3
|
-
ConnectorStateToProps,
|
|
4
|
-
} from "./connector/componentConnector";
|
|
5
|
-
|
|
6
|
-
export type ConnectSectionOwnProps = {
|
|
7
|
-
id?: number;
|
|
8
|
-
};
|
|
9
|
-
export type ConnectSectionMapProps = {
|
|
10
|
-
id: number;
|
|
11
|
-
title: string;
|
|
12
|
-
mandatoryValidated: boolean;
|
|
13
|
-
childOptions: number[];
|
|
14
|
-
tags?: string[];
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* stateToProps
|
|
19
|
-
* ------------
|
|
20
|
-
* State to props function maps state to connected
|
|
21
|
-
* component's props
|
|
22
|
-
* @param selectors StateToProps selectors
|
|
23
|
-
*/
|
|
24
|
-
const childOptionsCache: Record<string, number[]> = {};
|
|
25
|
-
const stateToProps: ConnectorStateToProps<
|
|
26
|
-
ConnectSectionOwnProps,
|
|
27
|
-
ConnectSectionMapProps
|
|
28
|
-
> = (selectors) => (state, ownProps) => {
|
|
29
|
-
const {
|
|
30
|
-
selectCurrentSectionId,
|
|
31
|
-
selectSectionReference,
|
|
32
|
-
selectOptionReference,
|
|
33
|
-
} = selectors;
|
|
34
|
-
|
|
35
|
-
// If we recieve id in props we use it at the section's id
|
|
36
|
-
const id =
|
|
37
|
-
typeof ownProps.id !== "undefined" ? ownProps.id : selectCurrentSectionId();
|
|
38
|
-
|
|
39
|
-
const section = selectSectionReference(id);
|
|
40
|
-
if (section === undefined) throw new Error(`Section ${id} does not exist`);
|
|
41
|
-
|
|
42
|
-
if (!(id in childOptionsCache)) {
|
|
43
|
-
childOptionsCache[id] = section.options.filter((optionId) => {
|
|
44
|
-
const optionReference = selectOptionReference(optionId);
|
|
45
|
-
if (optionReference === undefined)
|
|
46
|
-
throw new Error(`Option ${optionId} does not exist`);
|
|
47
|
-
return !["hidden", "repeated"].includes(optionReference.meta.type);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Getting mandatory validation
|
|
52
|
-
const mandatoryValidated = selectors.selectMandatorySection(id);
|
|
53
|
-
|
|
54
|
-
return {
|
|
55
|
-
id,
|
|
56
|
-
mandatoryValidated,
|
|
57
|
-
childOptions: childOptionsCache[id],
|
|
58
|
-
title: section.label,
|
|
59
|
-
tags: section.tags,
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Creating our component connector
|
|
65
|
-
*/
|
|
66
|
-
export const connectSection = componentConnector({
|
|
67
|
-
componentName: "Section",
|
|
68
|
-
stateToProps,
|
|
69
|
-
additionnalHooks: (props, hookType) => {
|
|
70
|
-
const { tags } = props;
|
|
71
|
-
const hooks: string[] = [];
|
|
72
|
-
if (Array.isArray(tags)) {
|
|
73
|
-
tags.forEach((currentTag) => {
|
|
74
|
-
hooks.push(`${hookType}Tag{${currentTag}}`);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
return hooks;
|
|
78
|
-
},
|
|
79
|
-
});
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
componentConnector,
|
|
3
|
-
ConnectorStateToProps,
|
|
4
|
-
} from "./connector/componentConnector";
|
|
5
|
-
|
|
6
|
-
export type ConnectSummaryOwnProps = {};
|
|
7
|
-
export type ConnectSummaryMapProps = {
|
|
8
|
-
sections: Readonly<number[]>;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
const stateToProps: ConnectorStateToProps<
|
|
12
|
-
ConnectSummaryOwnProps,
|
|
13
|
-
ConnectSummaryMapProps
|
|
14
|
-
> = (selectors) => () => ({
|
|
15
|
-
sections: selectors.selectAvailableSections(),
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
export const connectSummary = componentConnector({
|
|
19
|
-
componentName: "Summary",
|
|
20
|
-
stateToProps,
|
|
21
|
-
});
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import queryString from "query-string";
|
|
2
|
-
import {
|
|
3
|
-
componentConnector,
|
|
4
|
-
ConnectorStateToProps,
|
|
5
|
-
} from "./connector/componentConnector";
|
|
6
|
-
import { PathReader } from "../libs/PathReader";
|
|
7
|
-
import { SectionValidity } from "../libs/SectionValidity";
|
|
8
|
-
|
|
9
|
-
export type ConnectSummaryItemOwnProps = {
|
|
10
|
-
id: number;
|
|
11
|
-
};
|
|
12
|
-
export type ConnectSummaryItemMapProps = {
|
|
13
|
-
link: string;
|
|
14
|
-
label: string;
|
|
15
|
-
validity: boolean;
|
|
16
|
-
preLabel: string;
|
|
17
|
-
active: boolean;
|
|
18
|
-
pageNumber: number;
|
|
19
|
-
disableClick?: boolean;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const stateToProps: ConnectorStateToProps<
|
|
23
|
-
ConnectSummaryItemOwnProps,
|
|
24
|
-
ConnectSummaryItemMapProps
|
|
25
|
-
> = (selectors) => (state, ownProps) => {
|
|
26
|
-
const {
|
|
27
|
-
selectSectionReference,
|
|
28
|
-
selectAvailableSections,
|
|
29
|
-
selectCurrentSectionId,
|
|
30
|
-
selectMandatorySection,
|
|
31
|
-
selectMandatoryIgnore,
|
|
32
|
-
} = selectors;
|
|
33
|
-
|
|
34
|
-
const currentSection = selectCurrentSectionId();
|
|
35
|
-
|
|
36
|
-
// Getting MandatoryIgnore
|
|
37
|
-
const mandatoryIgnore = selectMandatoryIgnore();
|
|
38
|
-
|
|
39
|
-
const isCurrentSectionMandatoryValidated =
|
|
40
|
-
selectMandatorySection(currentSection);
|
|
41
|
-
|
|
42
|
-
// Getting list of sections
|
|
43
|
-
const sectionReference = selectSectionReference(ownProps.id);
|
|
44
|
-
const { label, id } = sectionReference;
|
|
45
|
-
|
|
46
|
-
// Initiating PathReader
|
|
47
|
-
const pathReader = new PathReader(state);
|
|
48
|
-
|
|
49
|
-
// Generating section's path
|
|
50
|
-
const pageNumber = selectAvailableSections().indexOf(ownProps.id) + 1;
|
|
51
|
-
const link = pathReader.parsePath(pageNumber);
|
|
52
|
-
// Is section active?
|
|
53
|
-
const active = id === currentSection;
|
|
54
|
-
|
|
55
|
-
let disableClick = false;
|
|
56
|
-
// disableClick Conditions
|
|
57
|
-
if (
|
|
58
|
-
queryString.parse(window.location.search).ignore !== "true" &&
|
|
59
|
-
id > currentSection &&
|
|
60
|
-
mandatoryIgnore === false
|
|
61
|
-
) {
|
|
62
|
-
const mandatoriesSections = selectAvailableSections().map((sectionId) =>
|
|
63
|
-
selectMandatorySection(sectionId)
|
|
64
|
-
);
|
|
65
|
-
// All sections True : enableClick
|
|
66
|
-
if (mandatoriesSections.every((sectionValue) => sectionValue === true)) {
|
|
67
|
-
disableClick = false;
|
|
68
|
-
}
|
|
69
|
-
// enable click only for nextCurrentSection if isCurrentSectionMandatoryValidated = true
|
|
70
|
-
else if (
|
|
71
|
-
id === currentSection + 1 &&
|
|
72
|
-
isCurrentSectionMandatoryValidated === true
|
|
73
|
-
) {
|
|
74
|
-
disableClick = false;
|
|
75
|
-
}
|
|
76
|
-
// disable click for all next sections
|
|
77
|
-
else {
|
|
78
|
-
disableClick = true;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Is section valid
|
|
83
|
-
const { validity } = new SectionValidity(ownProps.id);
|
|
84
|
-
|
|
85
|
-
// Calculating preLabel
|
|
86
|
-
const preLabel = pageNumber < 10 ? `0${pageNumber}` : pageNumber.toString();
|
|
87
|
-
|
|
88
|
-
return {
|
|
89
|
-
link,
|
|
90
|
-
validity,
|
|
91
|
-
preLabel,
|
|
92
|
-
label,
|
|
93
|
-
active,
|
|
94
|
-
pageNumber,
|
|
95
|
-
disableClick,
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
export const connectSummaryItem = componentConnector({
|
|
100
|
-
componentName: "SummaryItem",
|
|
101
|
-
stateToProps,
|
|
102
|
-
});
|