@arquimedes.co/eureka-forms 1.9.32-test → 1.9.34-test

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
@@ -68,6 +68,7 @@ import widgetInstance from './AxiosWidget';
68
68
  import InternalFormStyle from './constants/InternalFormStyle';
69
69
  import { calcCbrForm } from './utils/CbrFunctions';
70
70
  import CBRStepTypes from './constants/CBRFormStepTypes';
71
+ import { nanoid } from 'nanoid';
71
72
  function App(_a) {
72
73
  var _this = this;
73
74
  var _b, _c, _d, _e;
@@ -89,7 +90,7 @@ function App(_a) {
89
90
  setForm(form);
90
91
  }
91
92
  if (valuesData !== undefined) {
92
- setOriginalValues(valuesData);
93
+ setOriginalValues(mapOriginalValues(valuesData, form));
93
94
  }
94
95
  };
95
96
  function fetchPreview(formData, valuesData) {
@@ -351,3 +352,61 @@ function getStaticWidth(step) {
351
352
  return 4;
352
353
  }
353
354
  }
355
+ var mapOriginalValues = function (originalValues, form) {
356
+ var newValues = {};
357
+ for (var _i = 0, _a = Object.keys(originalValues); _i < _a.length; _i++) {
358
+ var idValue = _a[_i];
359
+ var step = form.steps[idValue];
360
+ if (step) {
361
+ if (step.type === StepTypes.MAPPER) {
362
+ var elements = originalValues[step.id];
363
+ var mappedElements = [];
364
+ for (var _b = 0, elements_1 = elements; _b < elements_1.length; _b++) {
365
+ var element = elements_1[_b];
366
+ var idElement = nanoid();
367
+ var mappedElement = {
368
+ ids: {},
369
+ };
370
+ for (var _c = 0, _d = Object.keys(step.steps); _c < _d.length; _c++) {
371
+ var idStep = _d[_c];
372
+ var newIdStep = step.id + '-' + idStep + '-' + idElement;
373
+ mappedElement.ids[idStep] = newIdStep;
374
+ if (element[idStep] !== undefined) {
375
+ var value = mapOriginalValue(step.steps[idStep], element[idStep]);
376
+ if (value !== undefined) {
377
+ newValues[newIdStep] = value;
378
+ }
379
+ }
380
+ }
381
+ mappedElements.push(mappedElement);
382
+ }
383
+ newValues[step.id] = mappedElements;
384
+ }
385
+ else {
386
+ var value = mapOriginalValue(step, originalValues[step.id]);
387
+ if (value !== undefined) {
388
+ newValues[step.id] = value;
389
+ }
390
+ }
391
+ }
392
+ }
393
+ return newValues;
394
+ };
395
+ var mapOriginalValue = function (step, value) {
396
+ switch (step === null || step === void 0 ? void 0 : step.type) {
397
+ case StepTypes.TEXTAREA: {
398
+ if (step.hasTextEditor) {
399
+ return;
400
+ }
401
+ return value.value;
402
+ }
403
+ case StepTypes.SELECTOR: {
404
+ var option = step.options.find(function (option) { return option.value == value; });
405
+ if (!(value === null || value === void 0 ? void 0 : value.value))
406
+ return option;
407
+ return value;
408
+ }
409
+ default:
410
+ return value;
411
+ }
412
+ };
@@ -1,8 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { Form } from '../../../@Types/Form';
3
2
  import { FormComponentProps } from '../Form';
4
3
  import { FormStep } from '../../../@Types/FormStep';
5
4
  declare function ColumnForm({ form, apiKey, reload, domain, postview, internal, formStyle, sendLabel, widthStats, customSteps, customSend, customSubmit, handleLoaded, originalValues, ...others }: FormComponentProps): JSX.Element;
6
5
  export default ColumnForm;
7
- export declare const mapOriginalValues: (originalValues: Record<string, any>, form: Form) => any;
8
6
  export declare function calcStepDependencyValue(depStep: FormStep, originalValues: Record<string, any>): any;
@@ -70,14 +70,13 @@ import Loader from '../../../shared/Loader/Loader';
70
70
  import axiosInstance from '../../../AxiosAPI';
71
71
  import widgetInstance from '../../../AxiosWidget';
72
72
  import React from 'react';
73
- import { nanoid } from 'nanoid';
74
73
  function ColumnForm(_a) {
75
74
  var _this = this;
76
75
  var form = _a.form, apiKey = _a.apiKey, reload = _a.reload, domain = _a.domain, postview = _a.postview, internal = _a.internal, formStyle = _a.formStyle, sendLabel = _a.sendLabel, widthStats = _a.widthStats, customSteps = _a.customSteps, customSend = _a.customSend, customSubmit = _a.customSubmit, handleLoaded = _a.handleLoaded, originalValues = _a.originalValues, others = __rest(_a, ["form", "apiKey", "reload", "domain", "postview", "internal", "formStyle", "sendLabel", "widthStats", "customSteps", "customSend", "customSubmit", "handleLoaded", "originalValues"]);
77
76
  var _b = useState(false), tempError = _b[0], setTempError = _b[1];
78
77
  var _c = useState(calcDependencies(form.steps, originalValues)), dependencyStore = _c[0], setDependencyStore = _c[1];
79
78
  var _d = useForm({
80
- defaultValues: mapOriginalValues(originalValues, form),
79
+ defaultValues: originalValues,
81
80
  mode: 'onTouched',
82
81
  shouldFocusError: true,
83
82
  }), getValues = _d.getValues, setValue = _d.setValue, clearErrors = _d.clearErrors, control = _d.control, errors = _d.formState.errors, trigger = _d.trigger;
@@ -95,7 +94,7 @@ function ColumnForm(_a) {
95
94
  return _jsx("div", {});
96
95
  }
97
96
  var onSubmit = function (token) { return __awaiter(_this, void 0, void 0, function () {
98
- var valid, values, newValues, _i, _a, idStep, step, payload, url, resp, _b, error_1;
97
+ var valid, values, newValues, _i, _a, idStep, step, test_1, payload, url, resp, _b, error_1;
99
98
  return __generator(this, function (_c) {
100
99
  switch (_c.label) {
101
100
  case 0:
@@ -120,6 +119,10 @@ function ColumnForm(_a) {
120
119
  step = form.steps[idStep];
121
120
  newValues[idStep] = calcValue(step, values, customSteps);
122
121
  }
122
+ test_1 = true;
123
+ setLoading(false);
124
+ if (test_1)
125
+ return [2 /*return*/];
123
126
  if (!customSend) return [3 /*break*/, 4];
124
127
  return [4 /*yield*/, customSend(newValues, reload)];
125
128
  case 3:
@@ -221,67 +224,14 @@ function calcNextSection(form, idSection, sections) {
221
224
  }
222
225
  }
223
226
  }
224
- export var mapOriginalValues = function (originalValues, form) {
225
- var newValues = __assign({}, originalValues);
226
- var _loop_1 = function (val) {
227
- var step = form.steps[val];
228
- if (step) {
229
- switch (step === null || step === void 0 ? void 0 : step.type) {
230
- case Types.TEXTAREA: {
231
- var value = originalValues[step.id];
232
- if (step.hasTextEditor) {
233
- delete newValues[step.id];
234
- }
235
- else {
236
- newValues[step.id] = value.value;
237
- }
238
- break;
239
- }
240
- case Types.SELECTOR: {
241
- var value_1 = originalValues[step.id];
242
- var option = step.options.find(function (option) { return option.value == value_1; });
243
- if (!(value_1 === null || value_1 === void 0 ? void 0 : value_1.value))
244
- newValues[step.id] = option;
245
- break;
246
- }
247
- case Types.MAPPER: {
248
- var valueArr = originalValues[step.id];
249
- var elements = [];
250
- for (var _b = 0, valueArr_1 = valueArr; _b < valueArr_1.length; _b++) {
251
- var values = valueArr_1[_b];
252
- var idElement = nanoid();
253
- var newElement = {
254
- ids: {},
255
- };
256
- for (var _c = 0, _d = Object.keys(step.steps); _c < _d.length; _c++) {
257
- var idStep = _d[_c];
258
- var newIdStep = step.id + '-' + idStep + '-' + idElement;
259
- newElement.ids[idStep] = newIdStep;
260
- newValues[newIdStep] = values[idStep];
261
- }
262
- }
263
- newValues[step.id] = elements;
264
- break;
265
- }
266
- default:
267
- break;
268
- }
269
- }
270
- };
271
- for (var _i = 0, _a = Object.keys(originalValues); _i < _a.length; _i++) {
272
- var val = _a[_i];
273
- _loop_1(val);
274
- }
275
- return newValues;
276
- };
277
227
  var calcValue = function (step, values, customSteps, value) {
278
- var _a, _b;
279
- if (value === void 0) { value = values[step.id]; }
228
+ var _a, _b, _c;
229
+ if (value === void 0) { value = values[(_a = step === null || step === void 0 ? void 0 : step.id) !== null && _a !== void 0 ? _a : '']; }
280
230
  if (!step)
281
231
  return;
282
232
  var custom = customSteps[step === null || step === void 0 ? void 0 : step.type];
283
233
  if (custom !== undefined) {
284
- return (_b = (_a = custom.calcValue) === null || _a === void 0 ? void 0 : _a.call(custom, step, value)) !== null && _b !== void 0 ? _b : value;
234
+ return (_c = (_b = custom.calcValue) === null || _b === void 0 ? void 0 : _b.call(custom, step, value)) !== null && _c !== void 0 ? _c : value;
285
235
  }
286
236
  else {
287
237
  switch (step === null || step === void 0 ? void 0 : step.type) {
@@ -316,11 +266,13 @@ var calcValue = function (step, values, customSteps, value) {
316
266
  for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {
317
267
  var element = elements_1[_i];
318
268
  var newValue = {};
319
- for (var _c = 0, _d = Object.keys(element.ids); _c < _d.length; _c++) {
320
- var idStep = _d[_c];
269
+ for (var _d = 0, _e = Object.keys(step.steps); _d < _e.length; _d++) {
270
+ var idStep = _e[_d];
321
271
  var mappedId = element.ids[idStep];
322
- if (values[mappedId]) {
323
- newValue[idStep] = calcValue(step.steps[idStep], values, customSteps, values[mappedId]);
272
+ if (values[mappedId] !== undefined) {
273
+ var substep = step.steps[idStep];
274
+ var test_2 = calcValue(substep, values, customSteps, values[mappedId]);
275
+ newValue[idStep] = test_2;
324
276
  }
325
277
  }
326
278
  mappedValues.push(newValue);
@@ -2,7 +2,7 @@
2
2
  import { MapperStepProps } from '../../MapperStep';
3
3
  import { MapperElement } from '../MaterialMapperStep';
4
4
  declare function MapperElementComponent({ step, form, level, element, handleDelete, ...others }: MapperStepProps & {
5
- index: number;
5
+ num: number;
6
6
  element: MapperElement;
7
7
  handleDelete: Function;
8
8
  }): JSX.Element;
@@ -30,7 +30,9 @@ function MapperElementComponent(_a) {
30
30
  return _jsx("div", {});
31
31
  }
32
32
  return (_jsx(PillElementContainer, __assign({ handleDelete: handleDelete }, others, { step: step, size: form.size }, { children: step.rootSteps.map(function (idSubStep, index) {
33
- var subStep = form.steps[idSubStep];
33
+ var subStep = form.steps[element.ids[idSubStep]];
34
+ if (!subStep)
35
+ return _jsx("div", {});
34
36
  return (_createElement(StepComponent, __assign({}, others, { form: form, step: subStep, key: index, level: level + 1 })));
35
37
  }) })));
36
38
  }
@@ -2,9 +2,9 @@
2
2
  import { MapperStepProps } from '../../../MapperStep';
3
3
  import { Form } from '../../../../../../@Types';
4
4
  import { Mapper } from '../../../../../../@Types/FormStep';
5
- declare function PillElementContainer({ step, size, index, children, editable, postview, formStyle, handleDelete, widthStats, }: Pick<MapperStepProps, 'editable' | 'postview' | 'widthStats'> & {
5
+ declare function PillElementContainer({ step, size, num, children, editable, postview, formStyle, handleDelete, widthStats, }: Pick<MapperStepProps, 'editable' | 'postview' | 'widthStats'> & {
6
6
  step: Mapper;
7
- index: number;
7
+ num: number;
8
8
  formStyle: {
9
9
  textColor: string;
10
10
  };
@@ -10,16 +10,16 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
13
- import styles from './PillElementContainer.modules.css';
13
+ import styles from './PillElementContainer.module.css';
14
14
  import DeleteRoundedIcon from '@material-ui/icons/DeleteRounded';
15
15
  function PillElementContainer(_a) {
16
- var step = _a.step, size = _a.size, index = _a.index, children = _a.children, editable = _a.editable, postview = _a.postview, formStyle = _a.formStyle, handleDelete = _a.handleDelete, widthStats = _a.widthStats;
16
+ var step = _a.step, size = _a.size, num = _a.num, children = _a.children, editable = _a.editable, postview = _a.postview, formStyle = _a.formStyle, handleDelete = _a.handleDelete, widthStats = _a.widthStats;
17
17
  return (_jsx("div", __assign({ className: widthStats.isMobile || size.blockNum < 3
18
18
  ? styles.mobileContainer
19
19
  : styles.container }, { children: _jsxs("div", __assign({ className: styles.contentContainer, style: {
20
20
  width: (size.blockSize + size.spacingSize) *
21
21
  (size.blockNum - 1),
22
- } }, { children: [_jsxs("div", __assign({ className: styles.titleLbl, style: { color: formStyle.textColor } }, { children: [step.unitLabel + ' ' + index + 1, ":"] })), _jsx("div", __assign({ className: !editable || postview
22
+ } }, { children: [_jsxs("div", __assign({ className: styles.titleLbl, style: { color: formStyle.textColor } }, { children: [step.unitLabel + ' ' + (num + 1), ":"] })), _jsx("div", __assign({ className: !editable || postview
23
23
  ? styles.disabledDeleteBtn
24
24
  : styles.deleteBtn, style: { color: formStyle.textColor }, onClick: function () {
25
25
  if (editable && !postview) {
@@ -42,30 +42,34 @@ function Elements(_a) {
42
42
  var step = _a.step, form = _a.form, btnRef = _a.btnRef, editable = _a.editable, postview = _a.postview, onChange = _a.onChange, elements = _a.elements, formStyle = _a.formStyle, dependencyStore = _a.dependencyStore, setDependencyStore = _a.setDependencyStore, others = __rest(_a, ["step", "form", "btnRef", "editable", "postview", "onChange", "elements", "formStyle", "dependencyStore", "setDependencyStore"]);
43
43
  var _b = useState(false), firstRender = _b[0], setFirstRender = _b[1];
44
44
  /** Mapper Steps to pass down */
45
- var _c = useState((function () {
46
- var steps = {};
47
- var deps = __assign({}, dependencyStore);
48
- for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {
49
- var element = elements_1[_i];
50
- var newSteps = {};
51
- for (var _a = 0, _b = Object.keys(step.steps); _a < _b.length; _a++) {
52
- var idStep = _b[_a];
53
- var baseStep = form.steps[idStep];
54
- var newIdStep = element.ids[idStep];
55
- newSteps[newIdStep] = __assign(__assign({}, baseStep), { id: newIdStep });
56
- steps[newIdStep] = newSteps[newIdStep];
57
- }
58
- calcRecursiveData(element, newSteps, deps);
59
- }
60
- setDependencyStore(deps);
61
- return steps;
62
- })()), localSteps = _c[0], setLocalSteps = _c[1];
45
+ var _c = useState(), localSteps = _c[0], setLocalSteps = _c[1];
63
46
  useEffect(function () {
64
47
  setFirstRender(true);
65
48
  }, []);
66
49
  useEffect(function () {
67
- if (firstRender && elements.length === 0 && !postview && editable) {
68
- handleAddElement();
50
+ if (firstRender) {
51
+ if (elements.length > 0) {
52
+ var newSteps = {};
53
+ var deps = __assign({}, dependencyStore);
54
+ for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {
55
+ var element = elements_1[_i];
56
+ var elemSteps = {};
57
+ for (var _a = 0, _b = Object.keys(step.steps); _a < _b.length; _a++) {
58
+ var idStep = _b[_a];
59
+ var baseStep = JSON.parse(JSON.stringify(form.steps[idStep]));
60
+ var newIdStep = element.ids[idStep];
61
+ baseStep.id = newIdStep;
62
+ elemSteps[newIdStep] = baseStep;
63
+ newSteps[newIdStep] = baseStep;
64
+ }
65
+ calcRecursiveData(element, elemSteps, deps);
66
+ }
67
+ setDependencyStore(deps);
68
+ setLocalSteps(__assign(__assign({}, localSteps), newSteps));
69
+ }
70
+ else if (elements.length === 0 && !postview && editable) {
71
+ handleAddElement();
72
+ }
69
73
  }
70
74
  }, [firstRender]);
71
75
  var handleAddElement = function () {
@@ -76,10 +80,11 @@ function Elements(_a) {
76
80
  var newSteps = {};
77
81
  for (var _i = 0, _a = Object.keys(step.steps); _i < _a.length; _i++) {
78
82
  var idStep = _a[_i];
79
- var baseStep = form.steps[idStep];
83
+ var baseStep = JSON.parse(JSON.stringify(form.steps[idStep]));
80
84
  var newIdStep = step.id + '-' + idStep + '-' + idElement;
85
+ baseStep.id = newIdStep;
81
86
  newElement.ids[idStep] = newIdStep;
82
- newSteps[newIdStep] = __assign(__assign({}, baseStep), { id: newIdStep });
87
+ newSteps[newIdStep] = baseStep;
83
88
  }
84
89
  var deps = __assign({}, dependencyStore);
85
90
  calcRecursiveData(newElement, newSteps, deps);
@@ -97,11 +102,13 @@ function Elements(_a) {
97
102
  }
98
103
  };
99
104
  var container = calcStyles().container;
105
+ if (!localSteps)
106
+ return _jsx("div", {});
100
107
  return (_jsxs("div", __assign({ className: container, style: { color: formStyle.textColor } }, { children: [_jsx("div", __assign({ className: styles.titleLbl }, { children: step.label })), step.description && (_jsx("p", __assign({ className: styles.descriptionPar, style: {
101
108
  margin: step.description
102
109
  ? '10px 0px'
103
110
  : '0px 0px 5px 0px',
104
- } }, { children: step.description }))), elements.map(function (incident, index) { return (_jsx(MapperElementComponent, __assign({ index: index, element: incident, formStyle: formStyle, step: step, form: __assign(__assign({}, form), { steps: step.steps }), editable: editable, postview: postview, dependencyStore: dependencyStore, setDependencyStore: setDependencyStore, handleDelete: function () {
111
+ } }, { children: step.description }))), elements.map(function (incident, index) { return (_jsx(MapperElementComponent, __assign({ num: index, element: incident, formStyle: formStyle, step: step, form: __assign(__assign({}, form), { steps: localSteps }), editable: editable, postview: postview, dependencyStore: dependencyStore, setDependencyStore: setDependencyStore, handleDelete: function () {
105
112
  var tempElements = __spreadArray([], elements, true);
106
113
  tempElements[index].deleted = true;
107
114
  onChange(tempElements);
@@ -11,3 +11,32 @@
11
11
  flex-direction: column;
12
12
  padding: 5px 0px;
13
13
  }
14
+
15
+ .hiddenInput {
16
+ height: 0;
17
+ width: 0;
18
+ padding: 0;
19
+ border-width: 0;
20
+ }
21
+
22
+ .titleLbl {
23
+ font-size: 24px;
24
+ font-weight: 600;
25
+ white-space: nowrap;
26
+ overflow: hidden;
27
+ text-overflow: ellipsis;
28
+ cursor: default;
29
+ }
30
+
31
+ .descriptionPar {
32
+ font-size: 16px;
33
+ white-space: pre-wrap;
34
+ cursor: default;
35
+ }
36
+
37
+ .btnContainer {
38
+ margin-top: 15px;
39
+ margin-left: 15px;
40
+ margin-bottom: 3px;
41
+ width: fit-content;
42
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@arquimedes.co/eureka-forms",
3
3
  "repository": "git://github.com/Arquimede5/Eureka-Forms.git",
4
- "version":"1.9.32-test",
4
+ "version":"1.9.34-test",
5
5
  "scripts": {
6
6
  "start": "react-scripts start",
7
7
  "build": "react-scripts build",