@legalplace/wizardx-core 4.18.2 → 4.20.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/dist/App.js CHANGED
@@ -15,6 +15,7 @@ import SmartScriptComponent from "./components/SmartScript";
15
15
  import { clearPlugins } from "./PluginLoader";
16
16
  import { PathReader } from "./libs/PathReader";
17
17
  import { resetStateAction } from "./redux/actions/app";
18
+ import { callInitDataSmartscriptAction } from "./redux";
18
19
  class WizardXCore extends React.Component {
19
20
  constructor(props) {
20
21
  var _a;
@@ -44,6 +45,7 @@ class WizardXCore extends React.Component {
44
45
  componentDidMount() {
45
46
  const { dispatch, getState } = getStore();
46
47
  const state = getState();
48
+ dispatch(callInitDataSmartscriptAction());
47
49
  if (!PathReader.isSmartScriptPath()) {
48
50
  dispatch(fetchModelPrerequisitesAction(getConfig().permalink || state.app.meta.permalink, getConfig().prefix || state.app.meta.prefix || ""));
49
51
  }
@@ -12,6 +12,7 @@ declare global {
12
12
  updateOptionInput: typeof SmartScriptStore.updateOptionInput;
13
13
  updateVariableInput: typeof SmartScriptStore.updateVariableInput;
14
14
  updateOptionMeta: typeof SmartScriptStore.updateOptionMeta;
15
+ retrieveExternalData: typeof SmartScriptStore.retrieveExternalData;
15
16
  updateVariableMeta: typeof SmartScriptStore.updateVariableMeta;
16
17
  option: (id: number, index: number) => boolean;
17
18
  variable: (id: number, index: number) => string | number;
@@ -17,6 +17,7 @@ const SmartScriptComponent = () => {
17
17
  window.updateOptionInput = SmartScriptStore.updateOptionInput;
18
18
  window.updateVariableInput = SmartScriptStore.updateVariableInput;
19
19
  window.updateOptionMeta = SmartScriptStore.updateOptionMeta;
20
+ window.retrieveExternalData = SmartScriptStore.retrieveExternalData;
20
21
  window.updateVariableMeta = SmartScriptStore.updateVariableMeta;
21
22
  window.option = SmartScriptStore.getOptionInput;
22
23
  window.variable = SmartScriptStore.getVariableInput;
@@ -31,6 +31,7 @@ export declare class SmartScriptStore {
31
31
  static updateOptionInput: (id: number, value: boolean, index?: number) => void;
32
32
  static updateVariableMeta: (id: number, _meta: ActionsType.References.updateVariableMeta["meta"], index?: number | undefined) => void;
33
33
  static updateOptionMeta: (id: number, _meta: ActionsType.References.updateOptionMeta["meta"]) => void;
34
+ static retrieveExternalData: () => Readonly<false | any[]>;
34
35
  static hideOption: (id: number, index?: number | undefined) => void;
35
36
  static displayOption: (id: number, index?: number | undefined) => void;
36
37
  static hideVariable: (id: number, index?: number | undefined) => void;
@@ -1,6 +1,7 @@
1
1
  import { updateOptionAction, updateVariableAction, } from "../redux/actions/inputs";
2
2
  import { updateOptionMetaAction, updateVariableMetaAction, } from "../redux/actions/references";
3
3
  import { updateSmartscriptOptionHiddenAction, updateSmartscriptVariableHiddenAction, } from "../redux/actions/smartscript";
4
+ import { selectDataSmartscript } from "../redux";
4
5
  export class SmartScriptStore {
5
6
  static grabActions() {
6
7
  const actions = [...SmartScriptStore.actionsQueue];
@@ -184,6 +185,7 @@ SmartScriptStore.updateOptionMeta = (id, _meta) => {
184
185
  delete meta.multiple.enabled;
185
186
  SmartScriptStore.actionsQueue.push(updateOptionMetaAction(id, meta));
186
187
  };
188
+ SmartScriptStore.retrieveExternalData = () => selectDataSmartscript();
187
189
  SmartScriptStore.hideOption = (id, index) => {
188
190
  if (!Object.prototype.hasOwnProperty.call(SmartScriptStore.inputs.options, id)) {
189
191
  console.error(`SmartScript error: trying to hide undefined option ${id}`);
@@ -12,6 +12,8 @@ export declare const actionsLibrary: {
12
12
  setUserStatusAction: (status: "failed" | "authenticated" | "unauthenticated" | "inprogress") => import("../..").ActionsType.User.setUserStatus;
13
13
  setUserValidTokenAction: (validToken: boolean) => import("../..").ActionsType.User.setUserValidToken;
14
14
  enableSmartscriptAction: () => import("../..").ActionsType.SmartScript.enableSmartScript;
15
+ initDataSmartscriptAction: (data: object | undefined) => import("../..").ActionsType.SmartScript.initDataSmartscript;
16
+ callInitDataSmartscriptAction: () => import("../..").ActionsType.SmartScript.requestinitDataSmartscript;
15
17
  initSmartscriptTriggersAction: (triggers: {
16
18
  options: number[];
17
19
  variables: number[];
@@ -1,6 +1,8 @@
1
1
  import type { StateType } from "../../types/State.type";
2
2
  import type { ActionsType } from "../../types/Actions.type";
3
3
  export declare const enableSmartscriptAction: () => ActionsType.SmartScript.enableSmartScript;
4
+ export declare const initDataSmartscriptAction: (data: StateType.SmartScript["data"]) => ActionsType.SmartScript.initDataSmartscript;
5
+ export declare const callInitDataSmartscriptAction: () => ActionsType.SmartScript.requestinitDataSmartscript;
4
6
  export declare const initSmartscriptTriggersAction: (triggers: StateType.SmartScript["triggers"]) => ActionsType.SmartScript.initSmartscriptTriggers;
5
7
  export declare const updateSmartscriptOptionHiddenAction: (id: number, index: number, hide: boolean) => ActionsType.SmartScript.updateSmartscriptOptionHidden;
6
8
  export declare const updateSmartscriptVariableHiddenAction: (id: number, index: number, hide: boolean) => ActionsType.SmartScript.updateSmartscriptVariableHidden;
@@ -1,7 +1,14 @@
1
- import { ENABLE_SMARTSCRIPT, INIT_SMARTSCRIPT_TRIGGERS, UPDATE_SMARTSCRIPT_OPTION_HIDDEN, UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN, } from "../constants/smartscript";
1
+ import { ENABLE_SMARTSCRIPT, INIT_DATA_SMARTSCRIPT, INIT_SMARTSCRIPT_TRIGGERS, REQUEST_INIT_DATA_SMARTSCRIPT, UPDATE_SMARTSCRIPT_OPTION_HIDDEN, UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN, } from "../constants/smartscript";
2
2
  export const enableSmartscriptAction = () => ({
3
3
  type: ENABLE_SMARTSCRIPT,
4
4
  });
5
+ export const initDataSmartscriptAction = (data) => ({
6
+ type: INIT_DATA_SMARTSCRIPT,
7
+ data,
8
+ });
9
+ export const callInitDataSmartscriptAction = () => ({
10
+ type: REQUEST_INIT_DATA_SMARTSCRIPT,
11
+ });
5
12
  export const initSmartscriptTriggersAction = (triggers) => ({
6
13
  type: INIT_SMARTSCRIPT_TRIGGERS,
7
14
  triggers,
@@ -2,3 +2,5 @@ export declare const ENABLE_SMARTSCRIPT = "ENABLE_SMARTSCRIPT";
2
2
  export declare const INIT_SMARTSCRIPT_TRIGGERS = "INIT_SMARTSCRIPT_TRIGGERS";
3
3
  export declare const UPDATE_SMARTSCRIPT_OPTION_HIDDEN = "UPDATE_SMARTSCRIPT_OPTION_HIDDEN";
4
4
  export declare const UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN = "UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN";
5
+ export declare const INIT_DATA_SMARTSCRIPT = "INIT_DATA_SMARTSCRIPT";
6
+ export declare const REQUEST_INIT_DATA_SMARTSCRIPT = "REQUEST_INIT_DATA_SMARTSCRIPT";
@@ -2,3 +2,5 @@ export const ENABLE_SMARTSCRIPT = "ENABLE_SMARTSCRIPT";
2
2
  export const INIT_SMARTSCRIPT_TRIGGERS = "INIT_SMARTSCRIPT_TRIGGERS";
3
3
  export const UPDATE_SMARTSCRIPT_OPTION_HIDDEN = "UPDATE_SMARTSCRIPT_OPTION_HIDDEN";
4
4
  export const UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN = "UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN";
5
+ export const INIT_DATA_SMARTSCRIPT = "INIT_DATA_SMARTSCRIPT";
6
+ export const REQUEST_INIT_DATA_SMARTSCRIPT = "REQUEST_INIT_DATA_SMARTSCRIPT";
@@ -0,0 +1,2 @@
1
+ import type { ActionsType, StateType } from "wizardx-core/src/types";
2
+ export declare const initDataSmartscriptReducer: (state: StateType.SmartScript, action: ActionsType.SmartScript.initDataSmartscript) => StateType.SmartScript;
@@ -0,0 +1,4 @@
1
+ export const initDataSmartscriptReducer = (state, action) => {
2
+ const { data } = action;
3
+ return Object.assign(Object.assign({}, state), { data });
4
+ };
@@ -1,9 +1,10 @@
1
- import { ENABLE_SMARTSCRIPT, INIT_SMARTSCRIPT_TRIGGERS, UPDATE_SMARTSCRIPT_OPTION_HIDDEN, UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN, } from "../constants/smartscript";
1
+ import { ENABLE_SMARTSCRIPT, INIT_DATA_SMARTSCRIPT, INIT_SMARTSCRIPT_TRIGGERS, UPDATE_SMARTSCRIPT_OPTION_HIDDEN, UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN, } from "../constants/smartscript";
2
2
  import { enableSmartScriptReducer } from "./smartscript/enableSmartScript";
3
3
  import { initSmartscriptTriggersReducer } from "./smartscript/initSmartScriptTriggers";
4
4
  import { updateSmartscriptOptionHiddenReducer } from "./smartscript/updateSmartscriptOptionHidden";
5
5
  import { updateSmartscriptVariableHiddenReducer } from "./smartscript/updateSmartscriptVariableHidden";
6
6
  import { RESET_STATE } from "../constants/app";
7
+ import { initDataSmartscriptReducer } from "./smartscript/initDataSmartScriptReducer";
7
8
  const initialState = {
8
9
  enabled: false,
9
10
  triggers: {
@@ -14,12 +15,14 @@ const initialState = {
14
15
  options: {},
15
16
  variables: {},
16
17
  },
18
+ data: [],
17
19
  };
18
20
  const reducersEnum = {
19
21
  [ENABLE_SMARTSCRIPT]: enableSmartScriptReducer,
20
22
  [INIT_SMARTSCRIPT_TRIGGERS]: initSmartscriptTriggersReducer,
21
23
  [UPDATE_SMARTSCRIPT_OPTION_HIDDEN]: updateSmartscriptOptionHiddenReducer,
22
24
  [UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN]: updateSmartscriptVariableHiddenReducer,
25
+ [INIT_DATA_SMARTSCRIPT]: initDataSmartscriptReducer,
23
26
  };
24
27
  export const smartscriptReducer = (state = initialState, action) => {
25
28
  if (action.type === RESET_STATE)
@@ -0,0 +1,2 @@
1
+ declare function initDataSmartscriptSaga(): Generator<import("redux-saga/effects").ForkEffect<never>, void, unknown>;
2
+ export default initDataSmartscriptSaga;
@@ -0,0 +1,19 @@
1
+ import { call, put, takeLatest } from "redux-saga/effects";
2
+ import { cancelOnResetState } from "../../helpers/sagaCancelOnResetState";
3
+ import { getInpiActivities } from "../../service";
4
+ import { initDataSmartscriptAction } from "../actions";
5
+ import { REQUEST_INIT_DATA_SMARTSCRIPT } from "../constants";
6
+ function* initDataDecorator() {
7
+ try {
8
+ const resInpiActivities = yield call(fetch, ...getInpiActivities());
9
+ const inpiActivitiesResponse = yield call([resInpiActivities, "json"]);
10
+ yield put(initDataSmartscriptAction(inpiActivitiesResponse));
11
+ }
12
+ catch (e) {
13
+ console.error(e);
14
+ }
15
+ }
16
+ function* initDataSmartscriptSaga() {
17
+ yield takeLatest(REQUEST_INIT_DATA_SMARTSCRIPT, cancelOnResetState(initDataDecorator));
18
+ }
19
+ export default initDataSmartscriptSaga;
@@ -5,6 +5,7 @@ import homogeneousRadioInputsSaga from "./homogeneousRadioInputsSaga";
5
5
  import setUserEmailSaga from "./setUserEmail";
6
6
  import initInputsSaga from "./initInputs";
7
7
  import initPluginsSaga from "./initPlugins";
8
+ import initDataSmartscriptSaga from "./initDataSmartscript";
8
9
  const sagas = [
9
10
  fetchModelSaga,
10
11
  setDefaultsSaga,
@@ -13,6 +14,7 @@ const sagas = [
13
14
  homogeneousRadioInputsSaga,
14
15
  initInputsSaga,
15
16
  initPluginsSaga,
17
+ initDataSmartscriptSaga,
16
18
  ];
17
19
  export const sagasRunner = (sagaMiddleware) => {
18
20
  sagas.forEach((saga) => sagaMiddleware.run(saga));
@@ -5,7 +5,7 @@ import { selectPermalink, selectInstanceUniqid } from "../selectors/app";
5
5
  import { SAVE_DATA } from "../constants/sagas/data";
6
6
  import { selectInputs } from "../selectors/inputs";
7
7
  import { OvcConverter } from "../../libs/OvcConverter";
8
- import { updateInstanceArguments } from "../../service/api.manager";
8
+ import { updateInstanceArguments, updateProofModule, } from "../../service/api.manager";
9
9
  import { cancelOnResetState } from "../../helpers/sagaCancelOnResetState";
10
10
  function* saveDataDecorator(action) {
11
11
  try {
@@ -16,6 +16,7 @@ function* saveDataDecorator(action) {
16
16
  throw new Error("Cannot save data, uniqid is not defined");
17
17
  const response = yield call(fetch, ...updateInstanceArguments(permalink, uniqid, OvcConverter.convertToOvc(selectInputs()), action.confirmAnswer ? 0 : 1, action.additionalProperties));
18
18
  const responseData = yield call([response, "json"]);
19
+ yield call(fetch, ...updateProofModule(uniqid));
19
20
  if (action.redirect === true) {
20
21
  const searchParams = new URLSearchParams(window.location.search);
21
22
  const onRedirectClose = searchParams.get("onRedirectClose");
@@ -7,6 +7,7 @@ export declare const selectorsLibrary: {
7
7
  isLevelAccessibleForUser: (level: "SUPER" | "ADMIN" | "OPS" | "MANAGER" | "USER" | "GUEST") => Readonly<boolean>;
8
8
  selectIsSmartscriptOptionIndexHidden: (id: number, index: number) => Readonly<boolean>;
9
9
  selectIsSmartscriptVariableIndexHidden: (id: number, index: number) => Readonly<boolean>;
10
+ selectDataSmartscript: () => Readonly<false | any[]>;
10
11
  selectReferences: () => Readonly<import("@legalplace/referencesparser/dist/libs/References.type").ReferencesType>;
11
12
  selectOutputReference: (id: number) => Readonly<import("@legalplace/referencesparser/dist/libs/References.type").ReferencesSingleOutputType | undefined>;
12
13
  selectBoxReference: (id: number) => Readonly<import("@legalplace/referencesparser/dist/libs/References.type").ReferencesSingleBoxType>;
@@ -1,2 +1,3 @@
1
1
  export declare const selectIsSmartscriptOptionIndexHidden: (id: number, index: number) => Readonly<boolean>;
2
2
  export declare const selectIsSmartscriptVariableIndexHidden: (id: number, index: number) => Readonly<boolean>;
3
+ export declare const selectDataSmartscript: () => Readonly<false | any[]>;
@@ -9,3 +9,5 @@ export const selectIsSmartscriptVariableIndexHidden = createSelector((state, id,
9
9
  state.smartscript.hidden.variables[id].includes(index)
10
10
  ? "1"
11
11
  : "0");
12
+ export const selectDataSmartscript = createSelector((state) => Array.isArray(state.smartscript.data) && (state.smartscript.data || []), (state) => Array.isArray(state.smartscript.data) &&
13
+ (state.smartscript.data || []).join("-"));
@@ -7,3 +7,5 @@ export declare const getCreateInstanceArguments: (permalink: string, searchParam
7
7
  export declare const getClientConfigArguments: (permalink?: string | undefined, uniqid?: string | undefined) => [RequestInfo, RequestInit?];
8
8
  export declare const getUserProfileArguments: () => [RequestInfo, RequestInit?];
9
9
  export declare const updateInstanceArguments: (permalink: string, uniqid: string | undefined, ovc: OvcType, draft: number, additionalProperties?: Record<string, string | number> | undefined) => [RequestInfo, RequestInit?];
10
+ export declare const updateProofModule: (uniqid: string) => [RequestInfo, RequestInit?];
11
+ export declare const getInpiActivities: () => [RequestInfo, RequestInit?];
@@ -158,3 +158,38 @@ export const updateInstanceArguments = (permalink, uniqid, ovc, draft, additiona
158
158
  },
159
159
  ];
160
160
  };
161
+ export const updateProofModule = (uniqid) => {
162
+ const apiEndpoint = getConfig().apiEndpoint + (/\/$/.test(getConfig().apiEndpoint) ? "" : "/");
163
+ let headers = {
164
+ "Content-Type": "application/json",
165
+ };
166
+ const traceHeader = getTraceHeader();
167
+ if (traceHeader) {
168
+ headers["X-Amzn-Trace-Id"] = traceHeader;
169
+ }
170
+ if (isAuthenticatedWizard) {
171
+ headers = Object.assign(Object.assign(Object.assign({}, headers), canalHeaders), { Authorization: `Bearer ${getAuthToken()}` });
172
+ }
173
+ return [
174
+ `${apiEndpoint}contract/module/justificatifswithuniqid/${uniqid}`,
175
+ {
176
+ method: "GET",
177
+ credentials: "include",
178
+ headers,
179
+ },
180
+ ];
181
+ };
182
+ export const getInpiActivities = () => {
183
+ const apiEndpoint = getConfig().apiEndpoint + (/\/$/.test(getConfig().apiEndpoint) ? "" : "/");
184
+ return [
185
+ `${apiEndpoint}uploadx/json/inpi`,
186
+ {
187
+ method: "GET",
188
+ credentials: "include",
189
+ headers: {
190
+ "Content-Type": "application/json",
191
+ Authorization: `Bearer ${getAuthToken()}`,
192
+ },
193
+ },
194
+ ];
195
+ };
@@ -9,7 +9,7 @@ import type { FETCH_MODEL, FETCH_MODEL_PREREQUISITES } from "../redux/constants/
9
9
  import type { SAVE_DATA } from "../redux/constants/sagas/data";
10
10
  import type { SET_USER_EMAIL, SET_USER_EMAIL_SUCCEEDED } from "../redux/constants/sagas/user";
11
11
  import type { SET_MANDATORY_IGNORE, SET_MANDATORY_SECTION, SET_MANDATORY_OPTION, SET_MANDATORY_VARIABLE, INIT_MANDATORY_OPTION, INIT_MANDATORY_VARIABLE } from "../redux/constants/mandatories";
12
- import type { ENABLE_SMARTSCRIPT, INIT_SMARTSCRIPT_TRIGGERS, UPDATE_SMARTSCRIPT_OPTION_HIDDEN, UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN } from "../redux/constants/smartscript";
12
+ import type { ENABLE_SMARTSCRIPT, INIT_DATA_SMARTSCRIPT, INIT_SMARTSCRIPT_TRIGGERS, REQUEST_INIT_DATA_SMARTSCRIPT, UPDATE_SMARTSCRIPT_OPTION_HIDDEN, UPDATE_SMARTSCRIPT_VARIABLE_HIDDEN } from "../redux/constants/smartscript";
13
13
  import type { PathReader } from "../libs/PathReader";
14
14
  import type { WizardConfigResponse } from "./api.type";
15
15
  export declare namespace ActionsType {
@@ -325,6 +325,13 @@ export declare namespace ActionsType {
325
325
  interface enableSmartScript {
326
326
  type: typeof ENABLE_SMARTSCRIPT;
327
327
  }
328
+ interface initDataSmartscript {
329
+ type: typeof INIT_DATA_SMARTSCRIPT;
330
+ data?: object;
331
+ }
332
+ interface requestinitDataSmartscript {
333
+ type: typeof REQUEST_INIT_DATA_SMARTSCRIPT;
334
+ }
328
335
  interface initSmartscriptTriggers {
329
336
  type: typeof INIT_SMARTSCRIPT_TRIGGERS;
330
337
  triggers: StateType.SmartScript["triggers"];
@@ -267,6 +267,7 @@ export interface SmartScriptType {
267
267
  options: Record<string, number[]>;
268
268
  variables: Record<string, number[]>;
269
269
  };
270
+ data?: object;
270
271
  }
271
272
  export interface PluginsStoreType {
272
273
  [key: string]: Record<string, any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@legalplace/wizardx-core",
3
- "version": "4.18.2",
3
+ "version": "4.20.0",
4
4
  "author": "Moncef Hammou (moncef@legalplace.fr)",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -96,5 +96,5 @@
96
96
  "*.test.ts",
97
97
  "*.test.tsx"
98
98
  ],
99
- "gitHead": "746191f6931894e598358709cfca6f61d4b7b7a0"
99
+ "gitHead": "dafb57f7655ab425180c7a184c7c4fd950ec3e2a"
100
100
  }