@legalplace/wizardx-core 2.6.4 → 2.7.1
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 +49 -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/components/SmartScript.d.ts +2 -2
- package/dist/components/SmartScript.js +2 -0
- 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 +43 -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 +10 -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 +13 -13
- 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,92 +0,0 @@
|
|
|
1
|
-
import { createAppStore, getStore } from '../store';
|
|
2
|
-
import { initConditionsAction } from '../actions/conditions';
|
|
3
|
-
import {
|
|
4
|
-
selectOptionConditionValue,
|
|
5
|
-
selectVariableConditionValue,
|
|
6
|
-
selectSectionConditionValue,
|
|
7
|
-
selectPrefillerConditionValue,
|
|
8
|
-
selectOptionValidatorConditionValue,
|
|
9
|
-
selectVariableValidatorConditionValue,
|
|
10
|
-
} from './conditions';
|
|
11
|
-
|
|
12
|
-
// Initiating state
|
|
13
|
-
createAppStore('memory');
|
|
14
|
-
const store = getStore();
|
|
15
|
-
|
|
16
|
-
// Initiating conditions
|
|
17
|
-
store.dispatch(
|
|
18
|
-
initConditionsAction({
|
|
19
|
-
options: {
|
|
20
|
-
34: [false, true],
|
|
21
|
-
},
|
|
22
|
-
variables: {
|
|
23
|
-
33: [false, true],
|
|
24
|
-
},
|
|
25
|
-
prefillers: {
|
|
26
|
-
53: [[false], [true]],
|
|
27
|
-
},
|
|
28
|
-
sections: {
|
|
29
|
-
main: {
|
|
30
|
-
31: false,
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
documents: {
|
|
34
|
-
main: true,
|
|
35
|
-
},
|
|
36
|
-
validators: {
|
|
37
|
-
options: {
|
|
38
|
-
234: [false],
|
|
39
|
-
},
|
|
40
|
-
variables: {
|
|
41
|
-
124: [true],
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
})
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
describe('Conditions selectors test suit', () => {
|
|
48
|
-
it('Selects option conditions correctly (all occurencies)', () => {
|
|
49
|
-
const condition = selectOptionConditionValue(34);
|
|
50
|
-
expect(condition).toEqual([false, true]);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it('Selects option conditions correctly (specific occurency)', () => {
|
|
54
|
-
const condition = selectOptionConditionValue(34, 1);
|
|
55
|
-
expect(condition).toBeTruthy();
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
it('Selects variable conditions correctly (all occurencies)', () => {
|
|
59
|
-
const condition = selectVariableConditionValue(33);
|
|
60
|
-
expect(condition).toEqual([false, true]);
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
it('Selects variable conditions correctly (specific occurency)', () => {
|
|
64
|
-
const condition = selectVariableConditionValue(33, 1);
|
|
65
|
-
expect(condition).toBeTruthy();
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it('Selects section conditions correctly ', () => {
|
|
69
|
-
const condition = selectSectionConditionValue(31);
|
|
70
|
-
expect(condition).toBeFalsy();
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
it('Selects prefiller conditions correctly (all occurencies)', () => {
|
|
74
|
-
const condition = selectPrefillerConditionValue(53);
|
|
75
|
-
expect(condition).toEqual([[false], [true]]);
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
it('Selects prefiller conditions correctly (specific occurency)', () => {
|
|
79
|
-
const condition = selectPrefillerConditionValue(53, 1);
|
|
80
|
-
expect(condition).toEqual([true]);
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
it('Selects option validator conditions correctly', () => {
|
|
84
|
-
const condition = selectOptionValidatorConditionValue(234);
|
|
85
|
-
expect(condition).toEqual([false]);
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
it('Selects variable validator conditions correctly', () => {
|
|
89
|
-
const condition = selectVariableValidatorConditionValue(124);
|
|
90
|
-
expect(condition).toEqual([true]);
|
|
91
|
-
});
|
|
92
|
-
});
|
|
@@ -1,293 +0,0 @@
|
|
|
1
|
-
import { createSelector } from "./selectors";
|
|
2
|
-
import { StateType } from "../../types/State.type";
|
|
3
|
-
import {
|
|
4
|
-
selectVariableParents,
|
|
5
|
-
selectOptionParents,
|
|
6
|
-
selectVariableParentSection,
|
|
7
|
-
selectOptionParentSection,
|
|
8
|
-
} from "./references";
|
|
9
|
-
import { selectOptionInputByIndex } from "./inputs";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Returns option's condition value
|
|
13
|
-
* @param id Option's id
|
|
14
|
-
* @param index Occuency's index
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
// Let's start by creation the selector
|
|
18
|
-
const optionConditionValueSelector = createSelector(
|
|
19
|
-
(state: StateType, id: number, index?: number) => {
|
|
20
|
-
if (typeof state.conditions.options[id] === "undefined") return undefined;
|
|
21
|
-
return typeof index === "number"
|
|
22
|
-
? state.conditions.options[id][index]
|
|
23
|
-
: state.conditions.options[id];
|
|
24
|
-
},
|
|
25
|
-
(state, id: number, index?: number) => {
|
|
26
|
-
if (typeof state.conditions.options[id] === "undefined")
|
|
27
|
-
return Math.random();
|
|
28
|
-
return `${state.conditions.options[id].reduce(
|
|
29
|
-
(p, c) => p + (c ? "1" : "0"),
|
|
30
|
-
""
|
|
31
|
-
)}_${id}_${index}`;
|
|
32
|
-
}
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
// Let's wrap our selector in a function to enable us to have
|
|
36
|
-
// conditional return type
|
|
37
|
-
export function selectOptionConditionValue(
|
|
38
|
-
id: number
|
|
39
|
-
): Readonly<boolean[] | undefined>;
|
|
40
|
-
export function selectOptionConditionValue(
|
|
41
|
-
id: number,
|
|
42
|
-
index: number
|
|
43
|
-
): Readonly<boolean | undefined>;
|
|
44
|
-
export function selectOptionConditionValue(id: number, index?: number) {
|
|
45
|
-
if (typeof index === "number") return optionConditionValueSelector(id, index);
|
|
46
|
-
return optionConditionValueSelector(id);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Returns variable's condition value
|
|
51
|
-
* @param id Variable's id
|
|
52
|
-
* @param index Occuency's index
|
|
53
|
-
*/
|
|
54
|
-
const variableConditionValueSelector = createSelector(
|
|
55
|
-
(state, id: number, index?: number) => {
|
|
56
|
-
if (typeof state.conditions.variables[id] === "undefined") return undefined;
|
|
57
|
-
return typeof index === "number"
|
|
58
|
-
? state.conditions.variables[id][index]
|
|
59
|
-
: state.conditions.variables[id];
|
|
60
|
-
},
|
|
61
|
-
(state, id: number, index?: number) => {
|
|
62
|
-
if (typeof state.conditions.variables[id] === "undefined")
|
|
63
|
-
return Math.random();
|
|
64
|
-
return `${state.conditions.variables[id].reduce(
|
|
65
|
-
(p, c) => p + (c ? "1" : "0"),
|
|
66
|
-
""
|
|
67
|
-
)}_${id}_${index}`;
|
|
68
|
-
}
|
|
69
|
-
);
|
|
70
|
-
|
|
71
|
-
// Let's wrap our selector in a function to enable us to have
|
|
72
|
-
// conditional return type
|
|
73
|
-
export function selectVariableConditionValue(id: number): boolean[] | undefined;
|
|
74
|
-
export function selectVariableConditionValue(
|
|
75
|
-
id: number,
|
|
76
|
-
index: number
|
|
77
|
-
): boolean | undefined;
|
|
78
|
-
export function selectVariableConditionValue(id: number, index?: number) {
|
|
79
|
-
if (typeof index === "number")
|
|
80
|
-
return variableConditionValueSelector(id, index);
|
|
81
|
-
return variableConditionValueSelector(id);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Returns section's condition value
|
|
86
|
-
* @param id Section's id
|
|
87
|
-
*/
|
|
88
|
-
export const selectSectionConditionValue = createSelector(
|
|
89
|
-
(state, id: number, document = "main") => {
|
|
90
|
-
if (state.conditions.sections[document] === undefined) return undefined;
|
|
91
|
-
return state.conditions.sections[document][id];
|
|
92
|
-
},
|
|
93
|
-
(state, id: number, document = "main") => {
|
|
94
|
-
const key = state.conditions.sections[document][id] ? `1_${id}` : `0_${id}`;
|
|
95
|
-
return document + key;
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Returns documents's condition value
|
|
101
|
-
* @param name Document's name
|
|
102
|
-
*/
|
|
103
|
-
export const selectDocumentConditionValue = createSelector(
|
|
104
|
-
(state, name: string) => {
|
|
105
|
-
if (typeof state.conditions.documents[name] === "undefined")
|
|
106
|
-
return undefined;
|
|
107
|
-
return state.conditions.documents[name];
|
|
108
|
-
},
|
|
109
|
-
(state, name: string) => {
|
|
110
|
-
if (typeof state.conditions.documents[name] === "undefined")
|
|
111
|
-
return Math.random().toString();
|
|
112
|
-
return state.conditions.documents[name] ? "true" : "false";
|
|
113
|
-
}
|
|
114
|
-
);
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Returns prefiller condition's value
|
|
118
|
-
* @param id Prefiller ID (variable's id)
|
|
119
|
-
* @param index Occuency's index
|
|
120
|
-
*/
|
|
121
|
-
const prefillerConditionValueSelector = createSelector(
|
|
122
|
-
(state, id: number, index?: number) => {
|
|
123
|
-
if (state.conditions.prefillers === undefined) return undefined;
|
|
124
|
-
if (state.conditions.prefillers[id] === undefined) return undefined;
|
|
125
|
-
return typeof index === "number"
|
|
126
|
-
? state.conditions.prefillers[id][index]
|
|
127
|
-
: state.conditions.prefillers[id];
|
|
128
|
-
},
|
|
129
|
-
(state, id: number, index?: number) => {
|
|
130
|
-
const prefillers = state.conditions.prefillers[id].map((v) =>
|
|
131
|
-
v.reduce((p, c) => p + (c ? "1" : "0"), "")
|
|
132
|
-
);
|
|
133
|
-
return `${prefillers.reduce((p, c) => p + c, "")}_${id}_${index}`;
|
|
134
|
-
}
|
|
135
|
-
);
|
|
136
|
-
|
|
137
|
-
// Let's wrap our selector in a function to enable us to have
|
|
138
|
-
// conditional return type
|
|
139
|
-
export function selectPrefillerConditionValue(
|
|
140
|
-
id: number
|
|
141
|
-
): boolean[][] | undefined;
|
|
142
|
-
export function selectPrefillerConditionValue(
|
|
143
|
-
id: number,
|
|
144
|
-
index: number
|
|
145
|
-
): boolean[] | undefined;
|
|
146
|
-
export function selectPrefillerConditionValue(id: number, index?: number) {
|
|
147
|
-
if (typeof index === "number")
|
|
148
|
-
return prefillerConditionValueSelector(id, index);
|
|
149
|
-
return prefillerConditionValueSelector(id);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Returns option validator condition's value
|
|
154
|
-
* @param id Option ID (variable's id)
|
|
155
|
-
* @param index Occuency's index
|
|
156
|
-
*/
|
|
157
|
-
const optionValidatorConditionValueSelector = createSelector(
|
|
158
|
-
(state, id: number, index?: number) => {
|
|
159
|
-
if (typeof state.conditions.validators.options[id] === "undefined")
|
|
160
|
-
return undefined;
|
|
161
|
-
if (
|
|
162
|
-
typeof index === "number" &&
|
|
163
|
-
typeof state.conditions.validators.options[id][index] === "undefined"
|
|
164
|
-
)
|
|
165
|
-
return undefined;
|
|
166
|
-
return typeof index === "number"
|
|
167
|
-
? state.conditions.validators.options[id][index]
|
|
168
|
-
: state.conditions.validators.options[id];
|
|
169
|
-
},
|
|
170
|
-
(state, id: number, index?: number) => {
|
|
171
|
-
if (typeof state.conditions.validators.options[id] === "undefined")
|
|
172
|
-
return Math.random();
|
|
173
|
-
return `${state.conditions.validators.options[id].reduce(
|
|
174
|
-
(p, c) => p + (c ? "1" : "0"),
|
|
175
|
-
""
|
|
176
|
-
)}-${id.toString()}${index ? index.toString() : ""}`;
|
|
177
|
-
}
|
|
178
|
-
);
|
|
179
|
-
|
|
180
|
-
// Let's wrap our selector in a function to enable us to have
|
|
181
|
-
// conditional return type
|
|
182
|
-
export function selectOptionValidatorConditionValue(
|
|
183
|
-
id: number
|
|
184
|
-
): boolean[] | undefined;
|
|
185
|
-
export function selectOptionValidatorConditionValue(
|
|
186
|
-
id: number,
|
|
187
|
-
index: number
|
|
188
|
-
): boolean | undefined;
|
|
189
|
-
export function selectOptionValidatorConditionValue(
|
|
190
|
-
id: number,
|
|
191
|
-
index?: number
|
|
192
|
-
) {
|
|
193
|
-
if (typeof index === "number")
|
|
194
|
-
return optionValidatorConditionValueSelector(id, index);
|
|
195
|
-
return optionValidatorConditionValueSelector(id);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Returns variable validator condition's value
|
|
200
|
-
* @param id Variable ID (variable's id)
|
|
201
|
-
* @param index Occuency's index
|
|
202
|
-
*/
|
|
203
|
-
const variableValidatorConditionValueSelector = createSelector(
|
|
204
|
-
(state, id: number, index?: number) => {
|
|
205
|
-
if (typeof state.conditions.validators.variables[id] === "undefined")
|
|
206
|
-
return undefined;
|
|
207
|
-
return typeof index === "number"
|
|
208
|
-
? state.conditions.validators.variables[id][index]
|
|
209
|
-
: state.conditions.validators.variables[id];
|
|
210
|
-
},
|
|
211
|
-
(state, id: number, index?: number) => {
|
|
212
|
-
if (typeof state.conditions.validators.variables[id] === "undefined")
|
|
213
|
-
return Math.random();
|
|
214
|
-
return `${state.conditions.validators.variables[id].reduce(
|
|
215
|
-
(p, c) => p + (c ? "1" : "0"),
|
|
216
|
-
""
|
|
217
|
-
)}-${id.toString()}${index ? index.toString() : ""}`;
|
|
218
|
-
}
|
|
219
|
-
);
|
|
220
|
-
|
|
221
|
-
// Let's wrap our selector in a function to enable us to have
|
|
222
|
-
// conditional return type
|
|
223
|
-
export function selectVariableValidatorConditionValue(
|
|
224
|
-
id: number
|
|
225
|
-
): boolean[] | undefined;
|
|
226
|
-
export function selectVariableValidatorConditionValue(
|
|
227
|
-
id: number,
|
|
228
|
-
index: number
|
|
229
|
-
): boolean | undefined;
|
|
230
|
-
export function selectVariableValidatorConditionValue(
|
|
231
|
-
id: number,
|
|
232
|
-
index?: number
|
|
233
|
-
) {
|
|
234
|
-
if (typeof index === "number")
|
|
235
|
-
return variableValidatorConditionValueSelector(id, index);
|
|
236
|
-
return variableValidatorConditionValueSelector(id);
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
*
|
|
241
|
-
*/
|
|
242
|
-
|
|
243
|
-
export const selectIsOptionDisplayed = createSelector(
|
|
244
|
-
(state, id: number, index: number) => {
|
|
245
|
-
const optionCondition = selectOptionConditionValue(id, index) !== false;
|
|
246
|
-
const optionParents = selectOptionParents(id);
|
|
247
|
-
const parentsConditions = optionParents.map(
|
|
248
|
-
(optionId) => selectOptionConditionValue(optionId, index) !== false
|
|
249
|
-
);
|
|
250
|
-
const parentsInputs = optionParents.map((optionId) =>
|
|
251
|
-
selectOptionInputByIndex(optionId, index)
|
|
252
|
-
);
|
|
253
|
-
const parentSectionId = selectOptionParentSection(id);
|
|
254
|
-
const parentSectionCondition =
|
|
255
|
-
selectSectionConditionValue(parentSectionId) !== false;
|
|
256
|
-
|
|
257
|
-
return (
|
|
258
|
-
[
|
|
259
|
-
optionCondition,
|
|
260
|
-
parentSectionCondition,
|
|
261
|
-
...parentsConditions,
|
|
262
|
-
...parentsInputs,
|
|
263
|
-
].filter((c) => c !== true).length === 0
|
|
264
|
-
);
|
|
265
|
-
},
|
|
266
|
-
() => Math.random()
|
|
267
|
-
);
|
|
268
|
-
|
|
269
|
-
export const selectIsVariableDisplayed = createSelector(
|
|
270
|
-
(state, id: number, index: number) => {
|
|
271
|
-
const variableCondition = selectVariableConditionValue(id, index) !== false;
|
|
272
|
-
const variableParents = selectVariableParents(id);
|
|
273
|
-
const parentsConditions = variableParents.map(
|
|
274
|
-
(optionId) => selectOptionConditionValue(optionId, index) !== false
|
|
275
|
-
);
|
|
276
|
-
const parentsInputs = variableParents.map((optionId) =>
|
|
277
|
-
selectOptionInputByIndex(optionId, index)
|
|
278
|
-
);
|
|
279
|
-
const parentSectionId = selectVariableParentSection(id);
|
|
280
|
-
const parentSectionCondition =
|
|
281
|
-
selectSectionConditionValue(parentSectionId) !== false;
|
|
282
|
-
|
|
283
|
-
return (
|
|
284
|
-
[
|
|
285
|
-
variableCondition,
|
|
286
|
-
parentSectionCondition,
|
|
287
|
-
...parentsConditions,
|
|
288
|
-
...parentsInputs,
|
|
289
|
-
].filter((c) => c !== true).length === 0
|
|
290
|
-
);
|
|
291
|
-
},
|
|
292
|
-
() => Math.random()
|
|
293
|
-
);
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { createAppStore, getStore } from '../store';
|
|
2
|
-
import {
|
|
3
|
-
selectOptionInput,
|
|
4
|
-
selectVariableInput,
|
|
5
|
-
selectVariableInputByIndex,
|
|
6
|
-
selectOptionInputByIndex,
|
|
7
|
-
selectInputs,
|
|
8
|
-
} from './inputs';
|
|
9
|
-
import { initOptionAction, initVariableAction } from '../actions/inputs';
|
|
10
|
-
|
|
11
|
-
// Initiating state
|
|
12
|
-
createAppStore('memory');
|
|
13
|
-
const store = getStore();
|
|
14
|
-
|
|
15
|
-
describe('Inputs selectors test suit', () => {
|
|
16
|
-
it('Returns Inputs Object properly', () => {
|
|
17
|
-
// Initiating option
|
|
18
|
-
store.dispatch(initOptionAction(4, [false, true]));
|
|
19
|
-
store.dispatch(initOptionAction(5, [true]));
|
|
20
|
-
store.dispatch(initVariableAction(51, ['Ok', 'Hello']));
|
|
21
|
-
|
|
22
|
-
expect(selectInputs()).toEqual({
|
|
23
|
-
options: {
|
|
24
|
-
4: [false, true],
|
|
25
|
-
5: [true],
|
|
26
|
-
},
|
|
27
|
-
variables: {
|
|
28
|
-
51: ['Ok', 'Hello'],
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
it('Returns current option input (all occurencies)', () => {
|
|
34
|
-
// Initiating option
|
|
35
|
-
store.dispatch(initOptionAction(4, [false, true]));
|
|
36
|
-
|
|
37
|
-
const selector = selectOptionInput(4);
|
|
38
|
-
|
|
39
|
-
expect(selector).toEqual([false, true]);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it('Returns current option input (one occurency)', () => {
|
|
43
|
-
// Initiating option
|
|
44
|
-
store.dispatch(initOptionAction(4, [false, true]));
|
|
45
|
-
|
|
46
|
-
const selector = selectOptionInputByIndex(4, 1);
|
|
47
|
-
|
|
48
|
-
expect(selector).toBeTruthy();
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it('Returns undefined if option does not exist (one occurency)', () => {
|
|
52
|
-
expect(selectOptionInputByIndex(44, 1)).toBeUndefined();
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
it('Returns current variable input (all occurencies)', () => {
|
|
56
|
-
// Initiating variable
|
|
57
|
-
store.dispatch(initVariableAction(4, ['Hello', 'World']));
|
|
58
|
-
|
|
59
|
-
const selector = selectVariableInput(4);
|
|
60
|
-
|
|
61
|
-
expect(selector).toEqual(['Hello', 'World']);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it('Returns current variable input (one occurency)', () => {
|
|
65
|
-
// Initiating variable
|
|
66
|
-
store.dispatch(initVariableAction(4, ['Hello', 'World']));
|
|
67
|
-
|
|
68
|
-
const selector = selectVariableInputByIndex(4, 1);
|
|
69
|
-
|
|
70
|
-
expect(selector).toBe('World');
|
|
71
|
-
});
|
|
72
|
-
});
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { StateType } from "../../types/State.type";
|
|
2
|
-
import { createSelector } from "./selectors";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Returns all inputs
|
|
6
|
-
*/
|
|
7
|
-
export type selectInputsType = () => StateType.Inputs;
|
|
8
|
-
export const selectInputs: selectInputsType = createSelector(
|
|
9
|
-
(state: StateType) => state.inputs,
|
|
10
|
-
() => Math.random()
|
|
11
|
-
);
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Return all option's input
|
|
15
|
-
* @param id Option's id
|
|
16
|
-
*/
|
|
17
|
-
export const selectOptionInput = createSelector(
|
|
18
|
-
(state: StateType, id: number) => state.inputs.options[id],
|
|
19
|
-
(state: StateType, id: number) =>
|
|
20
|
-
`${state.inputs.options[id].reduce(
|
|
21
|
-
(p, c) => p + (c ? "1" : "0"),
|
|
22
|
-
""
|
|
23
|
-
)}_${id.toString()}`
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Return option's input
|
|
28
|
-
* @param id Option's id
|
|
29
|
-
* @param index Occurency's index
|
|
30
|
-
*/
|
|
31
|
-
export const selectOptionInputByIndex = createSelector(
|
|
32
|
-
(state: StateType, id: number, index: number) => {
|
|
33
|
-
if (state.inputs.options[id] === undefined) return undefined;
|
|
34
|
-
return state.inputs.options[id][index];
|
|
35
|
-
},
|
|
36
|
-
(state: StateType, id: number, index?: number) =>
|
|
37
|
-
state.inputs.options[id] !== undefined
|
|
38
|
-
? `${state.inputs.options[id].reduce(
|
|
39
|
-
(p, c) => p + (c ? "1" : "0"),
|
|
40
|
-
""
|
|
41
|
-
)}_${id.toString()}_${index}`
|
|
42
|
-
: Math.random()
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Return all variable inputs
|
|
47
|
-
* @param id Variable's id
|
|
48
|
-
*/
|
|
49
|
-
export const selectVariableInput = createSelector(
|
|
50
|
-
(state: StateType, id: number) => {
|
|
51
|
-
if (typeof state.inputs.variables[id] === "undefined") return [""];
|
|
52
|
-
return state.inputs.variables[id];
|
|
53
|
-
},
|
|
54
|
-
(state: StateType, id: number) => {
|
|
55
|
-
if (typeof state.inputs.variables[id] === "undefined") return Math.random();
|
|
56
|
-
return `${state.inputs.variables[id].reduce(
|
|
57
|
-
(p, c) => `${p}-${c}`,
|
|
58
|
-
""
|
|
59
|
-
)}_${id.toString()}`;
|
|
60
|
-
}
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Return variable's input
|
|
65
|
-
* @param id Variable's id
|
|
66
|
-
* @param index Occurency's index
|
|
67
|
-
*/
|
|
68
|
-
export const selectVariableInputByIndex = createSelector(
|
|
69
|
-
(state: StateType, id: number, index: number) =>
|
|
70
|
-
state.inputs.variables[id][index],
|
|
71
|
-
(state: StateType, id: number, index: number) =>
|
|
72
|
-
`${state.inputs.variables[id].reduce(
|
|
73
|
-
(p, c) => `${p}-${c}`,
|
|
74
|
-
""
|
|
75
|
-
)}_${id.toString()}_${index}`
|
|
76
|
-
);
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as app from "./app";
|
|
2
|
-
import * as conditions from "./conditions";
|
|
3
|
-
import * as inputs from "./inputs";
|
|
4
|
-
import * as mandatories from "./mandatories";
|
|
5
|
-
import * as references from "./references";
|
|
6
|
-
import * as smartscript from "./smartscript";
|
|
7
|
-
import * as user from "./user";
|
|
8
|
-
|
|
9
|
-
export const selectorsLibrary = {
|
|
10
|
-
...app,
|
|
11
|
-
...conditions,
|
|
12
|
-
...inputs,
|
|
13
|
-
...mandatories,
|
|
14
|
-
...references,
|
|
15
|
-
...smartscript,
|
|
16
|
-
...user,
|
|
17
|
-
};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { createSelector } from "./selectors";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Returns mandatory ignore
|
|
5
|
-
*/
|
|
6
|
-
export const selectMandatoryIgnore = createSelector(
|
|
7
|
-
(state) => state.mandatories.ignore,
|
|
8
|
-
(state) => (state.mandatories.ignore ? "1" : "0")
|
|
9
|
-
);
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Returns mandatory section
|
|
13
|
-
*/
|
|
14
|
-
export const selectMandatorySection = createSelector(
|
|
15
|
-
(state, id: number) => state.mandatories.sections[id] === true,
|
|
16
|
-
(state, id: number) => `${id}:${state.mandatories.sections[id] ? "1" : "0"}`
|
|
17
|
-
);
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Returns mandatory section
|
|
21
|
-
*/
|
|
22
|
-
export const selectFirstUnfinishedSectionId = createSelector(
|
|
23
|
-
(state, id: number) => {
|
|
24
|
-
const sectionIds = Object.keys(state.mandatories.sections);
|
|
25
|
-
|
|
26
|
-
if (!sectionIds || !sectionIds.length) return id;
|
|
27
|
-
const extractedSectionIds = sectionIds.slice(
|
|
28
|
-
0,
|
|
29
|
-
sectionIds.indexOf(`${id}`) + 1
|
|
30
|
-
);
|
|
31
|
-
const firstUnfinishedSectionId =
|
|
32
|
-
extractedSectionIds.find(
|
|
33
|
-
(sectionId) => state.mandatories.sections[sectionId] === false
|
|
34
|
-
) || `${id}`;
|
|
35
|
-
|
|
36
|
-
return parseInt(firstUnfinishedSectionId, 10);
|
|
37
|
-
}
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Returns mandatory option item
|
|
42
|
-
*/
|
|
43
|
-
export const selectMandatoryOptionItem = createSelector(
|
|
44
|
-
(state, id: number) => state.mandatories.options[id],
|
|
45
|
-
(state, id: number) => (state.mandatories.options[id] ? "1" : "0")
|
|
46
|
-
);
|
|
47
|
-
/**
|
|
48
|
-
* Returns mandatory option
|
|
49
|
-
*/
|
|
50
|
-
export const selectMandatoryOption = createSelector(
|
|
51
|
-
(state, id: number) => state.mandatories.options[id].map((c) => c && true),
|
|
52
|
-
(state, id: number) =>
|
|
53
|
-
`${id}:${state.mandatories.options[id]
|
|
54
|
-
.map((c) => (c ? "1" : "0"))
|
|
55
|
-
.join("-")}`
|
|
56
|
-
);
|
|
57
|
-
export const selectMandatoryOptionByIndex = createSelector(
|
|
58
|
-
(state, id: number, index: number) =>
|
|
59
|
-
state.mandatories.options[id]?.[index] === true,
|
|
60
|
-
(state, id: number, index: number) =>
|
|
61
|
-
`${id}-${index}:${
|
|
62
|
-
state.mandatories.options[id]?.[index] === true ? "1" : "0"
|
|
63
|
-
}`
|
|
64
|
-
);
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Returns mandatory variable
|
|
68
|
-
*/
|
|
69
|
-
export const selectMandatoryVariable = createSelector(
|
|
70
|
-
(state, id: number) => state.mandatories.variables[id].map((c) => c && true),
|
|
71
|
-
(state, id: number) =>
|
|
72
|
-
`${id}:${state.mandatories.variables[id]
|
|
73
|
-
.map((c) => (c ? "1" : "0"))
|
|
74
|
-
.join("-")}`
|
|
75
|
-
);
|
|
76
|
-
export const selectMandatoryVariableByIndex = createSelector(
|
|
77
|
-
(state, id: number, index: number) =>
|
|
78
|
-
state.mandatories.variables[id]?.[index] === true,
|
|
79
|
-
(state, id: number, index: number) =>
|
|
80
|
-
`${id}-${index}:${
|
|
81
|
-
state.mandatories.variables[id]?.[index] === true ? "1" : "0"
|
|
82
|
-
}`
|
|
83
|
-
);
|