@arquimedes.co/eureka-forms 2.0.18 → 2.0.19-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/@Types/Form.d.ts +1 -0
- package/dist/@Types/FormStep.d.ts +1 -0
- package/dist/App/AppFunctions.js +11 -11
- package/dist/Form/Section/MaterialSection/MaterialSection.js +1 -1
- package/dist/Form/Terms/Term/MaterialTerm/MaterialTerm.js +9 -1
- package/dist/FormSteps/@Construction/CBRElementStep/CBRElementStep.js +2 -2
- package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/Incident/Incident.d.ts +1 -1
- package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/Incident/Incident.js +2 -2
- package/dist/FormSteps/ApiSelectorStep/MaterialApiSelectorStep/MaterialApiSelectorStep.d.ts +2 -2
- package/dist/FormSteps/ApiSelectorStep/MaterialApiSelectorStep/MaterialApiSelectorStep.js +20 -63
- package/dist/FormSteps/ApiSelectorStep/MaterialApiSelectorStep/MaterialApiSelectorStep.module.css +0 -16
- package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.d.ts +1 -1
- package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.js +21 -76
- package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.module.css +0 -28
- package/dist/FormSteps/ClassifierSelectorStep/MaterialClassifierSelectorStep/MaterialClassifierSelectorStep.d.ts +1 -1
- package/dist/FormSteps/ClassifierSelectorStep/MaterialClassifierSelectorStep/MaterialClassifierSelectorStep.js +39 -96
- package/dist/FormSteps/CollapsibleStep/MaterialTitleStep/MaterialCollapsibleStep.js +2 -2
- package/dist/FormSteps/DatePickerStep/MaterialDatePickerStep/MaterialDatePickerStep.js +7 -38
- package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.d.ts +1 -1
- package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.js +20 -74
- package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/MaterialFileUploadStep.d.ts +2 -2
- package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/MaterialFileUploadStep.js +18 -42
- package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/MapperElementComponent.js +2 -2
- package/dist/FormSteps/MapperStep/MaterialMapperStep/MaterialMapperStep.js +9 -5
- package/dist/FormSteps/RatingStep/MaterialRatingStep/MaterialRatingStep.d.ts +1 -1
- package/dist/FormSteps/RatingStep/MaterialRatingStep/MaterialRatingStep.js +15 -43
- package/dist/FormSteps/SelectorStep/MaterialSelectorStep/MaterialSelectorStep.d.ts +2 -2
- package/dist/FormSteps/SelectorStep/MaterialSelectorStep/MaterialSelectorStep.js +22 -78
- package/dist/FormSteps/SelectorStep/MaterialSelectorStep/MaterialSelectorStep.module.css +0 -16
- package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.d.ts +1 -9
- package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.js +26 -57
- package/dist/FormSteps/Step.d.ts +0 -2
- package/dist/FormSteps/StepFunctions.d.ts +2 -1
- package/dist/FormSteps/StepFunctions.js +70 -63
- package/dist/FormSteps/StepHooks.d.ts +16 -0
- package/dist/FormSteps/StepHooks.js +58 -2
- package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaEditorStep.js +1 -1
- package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaStep.js +6 -37
- package/dist/FormSteps/TextInputStep/MaterialTextInputStep/MaterialTextInputStep.js +13 -39
- package/dist/FormSteps/TitleStep/MaterialTitleStep/MaterialTitleStep.d.ts +1 -1
- package/dist/FormSteps/TitleStep/MaterialTitleStep/MaterialTitleStep.js +4 -24
- package/dist/FormSteps/Utils/@StepFiller/StepFiller.d.ts +9 -0
- package/dist/FormSteps/Utils/@StepFiller/StepFiller.js +48 -0
- package/dist/FormSteps/{EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.module.css → Utils/@StepFiller/StepFiller.module.css} +16 -16
- package/dist/FormSteps/Utils/MaterialInputContainer/MaterialInputContainer.d.ts +11 -0
- package/dist/FormSteps/Utils/MaterialInputContainer/MaterialInputContainer.js +32 -0
- package/dist/FormSteps/{DatePickerStep/MaterialDatePickerStep/MaterialDatePickerStep.module.css → Utils/MaterialInputContainer/MaterialInputContainer.module.css} +9 -9
- package/dist/Shared/RoundedCheckBox/RoundedCheckBox.d.ts +3 -3
- package/dist/Shared/RoundedSmartSelect/RoundedSmartSelect.d.ts +1 -4
- package/dist/Shared/RoundedSmartSelect/RoundedSmartSelect.js +1 -3
- package/dist/States/SiteSlice.d.ts +2 -1
- package/dist/States/SiteSlice.js +25 -6
- package/package.json +1 -1
- package/dist/FormSteps/ClassifierSelectorStep/MaterialClassifierSelectorStep/MaterialClassifierSelectorStep.module.css +0 -25
- package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.module.css +0 -9
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { FieldError } from 'react-hook-form';
|
|
3
2
|
import { SmartSelectStepProps } from '../SmartSelectStep';
|
|
4
3
|
import { GSmartSelect } from '../../../@Types/GenericFormSteps';
|
|
5
|
-
|
|
6
|
-
error: FieldError | undefined;
|
|
7
|
-
onChange: any;
|
|
8
|
-
onBlur: (event: any) => void;
|
|
9
|
-
value: any;
|
|
10
|
-
inputRef: any;
|
|
11
|
-
}): JSX.Element;
|
|
12
|
-
declare function SmartSelectStep(props: SmartSelectStepProps): JSX.Element;
|
|
4
|
+
declare function SmartSelectStep<StepType extends GSmartSelect>({ icon, step, editable, getOptions, calcDepError, defaultValue, valueOverwrite, getValueString, changeListener, getValueWarning, getOptionSelected, renderNestedSteps, }: SmartSelectStepProps<StepType>): JSX.Element;
|
|
13
5
|
export default SmartSelectStep;
|
|
@@ -45,45 +45,42 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
45
45
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
49
|
-
var t = {};
|
|
50
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
51
|
-
t[p] = s[p];
|
|
52
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
53
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
54
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
55
|
-
t[p[i]] = s[p[i]];
|
|
56
|
-
}
|
|
57
|
-
return t;
|
|
58
|
-
};
|
|
59
48
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
60
|
-
import
|
|
61
|
-
import { useController, useFormContext } from 'react-hook-form';
|
|
62
|
-
import { calcStepWidth } from '../../StepFunctions';
|
|
49
|
+
import { useFormContext } from 'react-hook-form';
|
|
63
50
|
import RoundedSmartSelect from '../../../Shared/RoundedSmartSelect/RoundedSmartSelect';
|
|
64
51
|
import { useCallback, useContext, useEffect, useMemo, useState } from 'react';
|
|
65
52
|
import React from 'react';
|
|
66
53
|
import FormContext from '../../../Contexts/FormContext';
|
|
67
|
-
import {
|
|
54
|
+
import { useAppDispatch, useAppSelector } from '../../../hooks';
|
|
68
55
|
import { focusStep, setEmptyDependency } from '../../../States/SiteSlice';
|
|
69
|
-
import { selectDependencies,
|
|
70
|
-
|
|
56
|
+
import { selectDependencies, useFormStep } from '../../StepHooks';
|
|
57
|
+
import MaterialInputContainer from '../../Utils/MaterialInputContainer/MaterialInputContainer';
|
|
58
|
+
function SmartSelectStep(_a) {
|
|
71
59
|
var _this = this;
|
|
72
60
|
var _b, _c, _d, _e, _f, _g, _h;
|
|
73
|
-
var icon = _a.icon, step = _a.step,
|
|
74
|
-
var _j =
|
|
61
|
+
var icon = _a.icon, step = _a.step, editable = _a.editable, getOptions = _a.getOptions, calcDepError = _a.calcDepError, defaultValue = _a.defaultValue, valueOverwrite = _a.valueOverwrite, getValueString = _a.getValueString, changeListener = _a.changeListener, getValueWarning = _a.getValueWarning, getOptionSelected = _a.getOptionSelected, renderNestedSteps = _a.renderNestedSteps;
|
|
62
|
+
var _j = useFormStep(step, {
|
|
63
|
+
sizeChange: true,
|
|
64
|
+
defaultValue: defaultValue,
|
|
65
|
+
rules: {
|
|
66
|
+
required: step.required ? 'Este campo es obligatorio' : undefined,
|
|
67
|
+
},
|
|
68
|
+
}), ref = _j.ref, value = _j.value, error = _j.error, field = _j.field, handleChange = _j.onChange;
|
|
69
|
+
var onChange = useCallback(function (value) {
|
|
70
|
+
return handleChange(valueOverwrite ? valueOverwrite(value) : value);
|
|
71
|
+
}, [handleChange, valueOverwrite]);
|
|
72
|
+
var _k = useAppSelector(function (state) { return state.global; }), postview = _k.postview, formStyle = _k.formStyle, idOrganization = _k.idOrganization;
|
|
75
73
|
var form = useContext(FormContext);
|
|
76
|
-
var
|
|
77
|
-
var
|
|
78
|
-
var
|
|
79
|
-
var
|
|
80
|
-
var _o = useState(false), touched = _o[0], setTouched = _o[1];
|
|
74
|
+
var _l = useState(), options = _l[0], setOptions = _l[1];
|
|
75
|
+
var _m = useState(false), loading = _m[0], setLoading = _m[1];
|
|
76
|
+
var _o = useState(true), firstTime = _o[0], setFirstTime = _o[1];
|
|
77
|
+
var _p = useState(false), touched = _p[0], setTouched = _p[1];
|
|
81
78
|
var dispatch = useAppDispatch();
|
|
82
79
|
var dependencyStore = useAppSelector(function (state) { return state.site.dependencies; });
|
|
83
|
-
var
|
|
80
|
+
var _q = useAppSelector(function (state) {
|
|
84
81
|
return selectDependencies(state, step, form);
|
|
85
|
-
}), emptyDep =
|
|
86
|
-
var
|
|
82
|
+
}), emptyDep = _q.emptyDep, invalids = _q.invalids;
|
|
83
|
+
var _r = useFormContext(), getValues = _r.getValues, setFocus = _r.setFocus;
|
|
87
84
|
var isEmpty = useAppSelector(function (state) { var _a; return (_a = state.site.dependencies[step.id]) === null || _a === void 0 ? void 0 : _a.empty; });
|
|
88
85
|
var disabled = emptyDep;
|
|
89
86
|
useEffect(function () {
|
|
@@ -118,7 +115,7 @@ export function SmartSelect(_a) {
|
|
|
118
115
|
return getValueString(option) === getValueString(value);
|
|
119
116
|
});
|
|
120
117
|
if (!firstTime)
|
|
121
|
-
onChange(newValue);
|
|
118
|
+
onChange(newValue !== null && newValue !== void 0 ? newValue : null);
|
|
122
119
|
}
|
|
123
120
|
else if (!firstTime)
|
|
124
121
|
onChange(null);
|
|
@@ -174,9 +171,6 @@ export function SmartSelect(_a) {
|
|
|
174
171
|
if (!touched)
|
|
175
172
|
setTouched(true);
|
|
176
173
|
}, [options, disabled, postview, editable, invalids, touched]);
|
|
177
|
-
var handleUpdate = useCallback(function (value) {
|
|
178
|
-
valueOverwrite ? onChange(valueOverwrite(value)) : onChange(value);
|
|
179
|
-
}, [valueOverwrite, onChange]);
|
|
180
174
|
var errorMsg = useMemo(function () {
|
|
181
175
|
if (postview || loading)
|
|
182
176
|
return undefined;
|
|
@@ -196,31 +190,6 @@ export function SmartSelect(_a) {
|
|
|
196
190
|
}
|
|
197
191
|
return undefined;
|
|
198
192
|
}, [invalids, touched, value, options]);
|
|
199
|
-
return (_jsxs(React.Fragment, { children: [_jsx(
|
|
200
|
-
width: currentBreakPoint <= step.size
|
|
201
|
-
? '100%'
|
|
202
|
-
: calcStepWidth(step.size, form.size),
|
|
203
|
-
minHeight: step.description ||
|
|
204
|
-
(!postview && editable && step.required)
|
|
205
|
-
? '55px'
|
|
206
|
-
: '43px',
|
|
207
|
-
}, onClick: onFocus, "data-testid": step.id }, { children: _jsx(RoundedSmartSelect, { value: value, onBlur: onBlur, onFocus: onFocus, disabled: options === null || disabled, hidden: disabled, loading: loading, options: options !== null && options !== void 0 ? options : undefined, inputRef: inputRef, cantEdit: !editable || postview, fullWidth: true, backgroundColor: (_d = formStyle.stepBackgroundColor) !== null && _d !== void 0 ? _d : 'white', label: step.label, required: step.required, height: '31px', changeListener: changeListener, searchable: step.searchable, icon: step.showIcon ? icon : undefined, helperTextColor: formStyle.descriptionTextColor, focusColor: formStyle.primaryColor, outlineColor: formStyle.outlineColor, errorColor: formStyle.errorColor, color: formStyle.textColor, containerMargin: "0px", handleUpdate: handleUpdate, getOptionSelected: getOptionSelected, getValueString: getValueString, helperText: (_h = (_g = (_e = errorMsg !== null && errorMsg !== void 0 ? errorMsg : warning) !== null && _e !== void 0 ? _e : (_f = error === null || error === void 0 ? void 0 : error.message) === null || _f === void 0 ? void 0 : _f.toString()) !== null && _g !== void 0 ? _g : step.description) !== null && _h !== void 0 ? _h : undefined, error: !!errorMsg || !!warning || !!error }) })), renderNestedSteps === null || renderNestedSteps === void 0 ? void 0 : renderNestedSteps(value)] }));
|
|
208
|
-
}
|
|
209
|
-
function SmartSelectStep(props) {
|
|
210
|
-
var step = props.step, defaultValue = props.defaultValue;
|
|
211
|
-
var _a = useStepDependency(step, defaultValue), handleStepDep = _a.handleStepDep, originalValue = _a.originalValue;
|
|
212
|
-
var _b = useController({
|
|
213
|
-
name: step.id,
|
|
214
|
-
shouldUnregister: true,
|
|
215
|
-
rules: {
|
|
216
|
-
required: step.required ? 'Este campo es obligatorio' : undefined,
|
|
217
|
-
},
|
|
218
|
-
defaultValue: originalValue,
|
|
219
|
-
}), _c = _b.field, ref = _c.ref, field = __rest(_c, ["ref"]), error = _b.fieldState.error;
|
|
220
|
-
var onChange = useCallback(function (value) {
|
|
221
|
-
handleStepDep(value);
|
|
222
|
-
field.onChange(value);
|
|
223
|
-
}, [handleStepDep, field]);
|
|
224
|
-
return (_jsx(SmartSelect, __assign({}, props, field, { error: error, inputRef: ref, onChange: onChange })));
|
|
193
|
+
return (_jsxs(React.Fragment, { children: [_jsx(MaterialInputContainer, __assign({ step: step, onClick: onFocus, editable: editable }, { children: _jsx(RoundedSmartSelect, __assign({}, field, { inputRef: ref, value: value, handleUpdate: onChange, onFocus: onFocus, disabled: options === null || disabled, hidden: disabled, loading: loading, options: options !== null && options !== void 0 ? options : undefined, cantEdit: !editable || postview, fullWidth: true, backgroundColor: (_d = formStyle.stepBackgroundColor) !== null && _d !== void 0 ? _d : 'white', label: step.label, required: step.required, height: '31px', changeListener: changeListener, searchable: step.searchable, icon: step.showIcon ? icon : undefined, helperTextColor: formStyle.descriptionTextColor, focusColor: formStyle.primaryColor, outlineColor: formStyle.outlineColor, errorColor: formStyle.errorColor, color: formStyle.textColor, containerMargin: "0px", getOptionSelected: getOptionSelected, getValueString: getValueString, helperText: (_h = (_g = (_e = errorMsg !== null && errorMsg !== void 0 ? errorMsg : warning) !== null && _e !== void 0 ? _e : (_f = error === null || error === void 0 ? void 0 : error.message) === null || _f === void 0 ? void 0 : _f.toString()) !== null && _g !== void 0 ? _g : step.description) !== null && _h !== void 0 ? _h : undefined, error: !!errorMsg || !!warning || !!error })) })), renderNestedSteps === null || renderNestedSteps === void 0 ? void 0 : renderNestedSteps(value)] }));
|
|
225
194
|
}
|
|
226
195
|
export default SmartSelectStep;
|
package/dist/FormSteps/Step.d.ts
CHANGED
|
@@ -3,8 +3,6 @@ import { FormStep } from '../@Types/FormStep';
|
|
|
3
3
|
export interface StepProps {
|
|
4
4
|
step: FormStep;
|
|
5
5
|
editable: boolean;
|
|
6
|
-
handleSizeChange?: () => void;
|
|
7
|
-
level: number;
|
|
8
6
|
}
|
|
9
7
|
declare function StepComponent({ step, ...props }: StepProps): JSX.Element;
|
|
10
8
|
export default StepComponent;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { FormSize } from '../@Types/Form';
|
|
2
2
|
import { ApiSelector, CheckBox, ClassifierSelector, EntityValuePicker, FormSelector, FormStep } from '../@Types/FormStep';
|
|
3
3
|
import { CBRFormStep } from '../@Types/CBRFormStep';
|
|
4
|
-
export
|
|
4
|
+
export type FillerSteps = FormSelector | ClassifierSelector | EntityValuePicker | ApiSelector | CheckBox;
|
|
5
|
+
export declare function calcFillerSize(step: FillerSteps, steps: Record<string, FormStep>, values: Record<string, unknown>, size: FormSize): number;
|
|
5
6
|
export declare function recursivelyCheckOpenSize(idStep: string, steps: Record<string, FormStep>, values: Record<string, any>): number;
|
|
6
7
|
export declare const calcStepWidth: (stepSize: 1 | 2 | 3 | 4, size: FormSize) => number;
|
|
7
8
|
export declare const calcDefaultValue: (step: FormStep | CBRFormStep) => any;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ApiSelectorOptionTypes, ClassifierOptionTypes, EntityValueDataTypes, EntityValueOptionTypes, OptionTypes, StepTypes, } from '../constants/FormStepTypes';
|
|
2
2
|
import CBRFormStepTypes from '../constants/CBRFormStepTypes';
|
|
3
3
|
import AYFFormStepTypes from '../constants/AYFFormStepTypes';
|
|
4
4
|
import { getRawText } from '../Utils/DraftFunctions';
|
|
@@ -6,7 +6,8 @@ export function calcFillerSize(step, steps, values, size) {
|
|
|
6
6
|
var _a;
|
|
7
7
|
var maxSize = (_a = step.maxSize) !== null && _a !== void 0 ? _a : size.blockNum;
|
|
8
8
|
if (maxSize < size.blockNum) {
|
|
9
|
-
var
|
|
9
|
+
var tsize = recursivelyCheckOpenSize(step.id, steps, values);
|
|
10
|
+
var stepSize = maxSize - tsize;
|
|
10
11
|
return (size.blockSize * stepSize + size.spacingSize * (stepSize - 1) + 20);
|
|
11
12
|
}
|
|
12
13
|
else {
|
|
@@ -16,79 +17,85 @@ export function calcFillerSize(step, steps, values, size) {
|
|
|
16
17
|
export function recursivelyCheckOpenSize(idStep, steps, values) {
|
|
17
18
|
var step = steps[idStep];
|
|
18
19
|
var value = values[idStep];
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var
|
|
27
|
-
|
|
20
|
+
switch (step.type) {
|
|
21
|
+
case StepTypes.SELECTOR: {
|
|
22
|
+
var size = step.size;
|
|
23
|
+
if (value) {
|
|
24
|
+
var currentOption = step.options.find(function (option) { return option.value === value.value; });
|
|
25
|
+
if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === OptionTypes.NESTED) {
|
|
26
|
+
var optionSize = 0;
|
|
27
|
+
for (var _i = 0, _a = currentOption.steps; _i < _a.length; _i++) {
|
|
28
|
+
var pStepId = _a[_i];
|
|
29
|
+
var temp = recursivelyCheckOpenSize(pStepId, steps, values);
|
|
30
|
+
optionSize += temp;
|
|
31
|
+
}
|
|
32
|
+
size += optionSize;
|
|
28
33
|
}
|
|
29
|
-
size += optionSize;
|
|
30
34
|
}
|
|
35
|
+
return size;
|
|
31
36
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
case StepTypes.CLASSIFIER_SELECTOR: {
|
|
38
|
+
var size = step.size;
|
|
39
|
+
if (value) {
|
|
40
|
+
var currentOption = step.options[value];
|
|
41
|
+
if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === ClassifierOptionTypes.NESTED) {
|
|
42
|
+
var optionSize = 0;
|
|
43
|
+
for (var _b = 0, _c = currentOption.steps; _b < _c.length; _b++) {
|
|
44
|
+
var pStepId = _c[_b];
|
|
45
|
+
optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
|
|
46
|
+
}
|
|
47
|
+
size += optionSize;
|
|
43
48
|
}
|
|
44
|
-
size += optionSize;
|
|
45
49
|
}
|
|
50
|
+
return size;
|
|
46
51
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
case StepTypes.ENTITYVALUEPICKER: {
|
|
53
|
+
var size = step.size;
|
|
54
|
+
if (value) {
|
|
55
|
+
var currentOption = step.options[value];
|
|
56
|
+
if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === EntityValueOptionTypes.NESTED) {
|
|
57
|
+
var optionSize = 0;
|
|
58
|
+
for (var _d = 0, _e = currentOption.steps; _d < _e.length; _d++) {
|
|
59
|
+
var pStepId = _e[_d];
|
|
60
|
+
optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
|
|
61
|
+
}
|
|
62
|
+
size += optionSize;
|
|
58
63
|
}
|
|
59
|
-
size += optionSize;
|
|
60
64
|
}
|
|
65
|
+
return size;
|
|
61
66
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
case StepTypes.API_SELECTOR: {
|
|
68
|
+
var size = step.size;
|
|
69
|
+
if (value) {
|
|
70
|
+
var currentOption = step.options[value];
|
|
71
|
+
if ((currentOption === null || currentOption === void 0 ? void 0 : currentOption.type) === ApiSelectorOptionTypes.NESTED) {
|
|
72
|
+
var optionSize = 0;
|
|
73
|
+
for (var _f = 0, _g = currentOption.steps; _f < _g.length; _f++) {
|
|
74
|
+
var pStepId = _g[_f];
|
|
75
|
+
optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
|
|
76
|
+
}
|
|
77
|
+
size += optionSize;
|
|
73
78
|
}
|
|
74
|
-
size += optionSize;
|
|
75
79
|
}
|
|
80
|
+
return size;
|
|
76
81
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
case StepTypes.CHECKBOX: {
|
|
83
|
+
var size = step.size;
|
|
84
|
+
var stepSteps = value ? step.steps : step.uncheckedSteps;
|
|
85
|
+
var optionSize = 0;
|
|
86
|
+
for (var _h = 0, _j = stepSteps !== null && stepSteps !== void 0 ? stepSteps : []; _h < _j.length; _h++) {
|
|
87
|
+
var pStepId = _j[_h];
|
|
88
|
+
optionSize += recursivelyCheckOpenSize(pStepId, steps, values);
|
|
89
|
+
}
|
|
90
|
+
size += optionSize;
|
|
91
|
+
return size;
|
|
86
92
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
case StepTypes.DATEPICKER:
|
|
94
|
+
case StepTypes.TEXTINPUT: {
|
|
95
|
+
return step.size;
|
|
96
|
+
}
|
|
97
|
+
default:
|
|
98
|
+
return 4;
|
|
92
99
|
}
|
|
93
100
|
}
|
|
94
101
|
export var calcStepWidth = function (stepSize, size) {
|
|
@@ -131,7 +138,7 @@ export var calcDefaultValue = function (step) {
|
|
|
131
138
|
export var iterateNestedSteps = function (idStep, steps, iteration) {
|
|
132
139
|
var step = steps[idStep];
|
|
133
140
|
iteration(step);
|
|
134
|
-
if (step.type
|
|
141
|
+
if (step.type === StepTypes.MAPPER) {
|
|
135
142
|
for (var _i = 0, _a = step.rootSteps; _i < _a.length; _i++) {
|
|
136
143
|
var idStep_1 = _a[_i];
|
|
137
144
|
iterateNestedSteps(idStep_1, step.steps, iteration);
|
|
@@ -3,6 +3,7 @@ import { ValuesStore } from '../States/SiteSlice';
|
|
|
3
3
|
import { RootState } from '../Utils/store';
|
|
4
4
|
import { Form } from '../@Types';
|
|
5
5
|
import { DependencyStore } from '../Form/Form';
|
|
6
|
+
import { FieldError, RefCallBack, UseControllerProps, useController } from 'react-hook-form';
|
|
6
7
|
export declare const selectOriginalValue: ((state: RootState, step: GBaseStep) => any) & import("reselect").OutputSelectorFields<(args_0: ValuesStore, args_1: GBaseStep) => any, {
|
|
7
8
|
clearCache: () => void;
|
|
8
9
|
}> & {
|
|
@@ -25,3 +26,18 @@ export declare const selectDependencies: ((state: RootState, step: GBaseStep, fo
|
|
|
25
26
|
}> & {
|
|
26
27
|
clearCache: () => void;
|
|
27
28
|
};
|
|
29
|
+
export interface UseFormStepOptions<ValueType> {
|
|
30
|
+
defaultValue?: ValueType;
|
|
31
|
+
/** If true, will not trigger onChange until the user has finished typing */
|
|
32
|
+
debounce?: boolean;
|
|
33
|
+
rules?: UseControllerProps['rules'];
|
|
34
|
+
/** If the step should trigger a filler(root StepFiller) size change */
|
|
35
|
+
sizeChange?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export declare const useFormStep: <ValueType = unknown>(step: GBaseStep, { rules, debounce, sizeChange, defaultValue, }?: UseFormStepOptions<ValueType>) => {
|
|
38
|
+
value: ValueType;
|
|
39
|
+
ref: RefCallBack;
|
|
40
|
+
onChange: (value: ValueType) => void;
|
|
41
|
+
error: FieldError | undefined;
|
|
42
|
+
field: Omit<ReturnType<typeof useController>['field'], 'ref' | 'value' | 'onChange'>;
|
|
43
|
+
};
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
1
12
|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
13
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
14
|
if (ar || !(i in from)) {
|
|
@@ -7,11 +18,13 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
7
18
|
}
|
|
8
19
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
20
|
};
|
|
10
|
-
import { useCallback, useEffect } from 'react';
|
|
21
|
+
import { useCallback, useContext, useEffect, useState } from 'react';
|
|
11
22
|
import { useAppSelector, useAppDispatch } from '../hooks';
|
|
12
|
-
import { setStepDependency } from '../States/SiteSlice';
|
|
23
|
+
import { clearDependency, setStepDependency, } from '../States/SiteSlice';
|
|
13
24
|
import { createSelector } from '@reduxjs/toolkit';
|
|
14
25
|
import { calcDefaultValue } from './StepFunctions';
|
|
26
|
+
import { useController, } from 'react-hook-form';
|
|
27
|
+
import { SizeChangeContext } from './Utils/@StepFiller/StepFiller';
|
|
15
28
|
var selectIsDependency = createSelector([
|
|
16
29
|
function (state) { return state.site.dependencies; },
|
|
17
30
|
function (state, step) { return step; },
|
|
@@ -38,6 +51,9 @@ export var useStepDependency = function (step, defaultValue) {
|
|
|
38
51
|
value: defaultValue,
|
|
39
52
|
}));
|
|
40
53
|
}
|
|
54
|
+
return function () {
|
|
55
|
+
dispatch(clearDependency(step));
|
|
56
|
+
};
|
|
41
57
|
}, [isDependency]);
|
|
42
58
|
var handleStepDep = useCallback(function (value) {
|
|
43
59
|
if (!isDependency)
|
|
@@ -85,3 +101,43 @@ var calcDeepDependencies = function (idStep, form, deps) {
|
|
|
85
101
|
}
|
|
86
102
|
return deps;
|
|
87
103
|
};
|
|
104
|
+
export var useFormStep = function (step, _a) {
|
|
105
|
+
var _b = _a === void 0 ? {} : _a, rules = _b.rules, debounce = _b.debounce, sizeChange = _b.sizeChange, defaultValue = _b.defaultValue;
|
|
106
|
+
var _c = useState(), timer = _c[0], setTimer = _c[1];
|
|
107
|
+
var _d = useStepDependency(step, defaultValue), isDependency = _d.isDependency, handleStepDep = _d.handleStepDep, originalValue = _d.originalValue;
|
|
108
|
+
var _e = useController({
|
|
109
|
+
name: step.id,
|
|
110
|
+
rules: rules,
|
|
111
|
+
shouldUnregister: true,
|
|
112
|
+
defaultValue: originalValue,
|
|
113
|
+
}), _f = _e.field, ref = _f.ref, value = _f.value, fieldOnChange = _f.onChange, field = __rest(_f, ["ref", "value", "onChange"]), error = _e.fieldState.error;
|
|
114
|
+
var handleSizeChange = useContext(SizeChangeContext);
|
|
115
|
+
var onChange = useCallback(function (value) {
|
|
116
|
+
if (isDependency) {
|
|
117
|
+
if (debounce) {
|
|
118
|
+
try {
|
|
119
|
+
clearTimeout(timer);
|
|
120
|
+
// eslint-disable-next-line no-empty
|
|
121
|
+
}
|
|
122
|
+
catch (e) { }
|
|
123
|
+
setTimer(setTimeout(function () {
|
|
124
|
+
handleStepDep(value);
|
|
125
|
+
setTimer(undefined);
|
|
126
|
+
}, 1000));
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
handleStepDep(value);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
fieldOnChange(value);
|
|
133
|
+
if (sizeChange)
|
|
134
|
+
handleSizeChange === null || handleSizeChange === void 0 ? void 0 : handleSizeChange();
|
|
135
|
+
}, [handleStepDep, isDependency, fieldOnChange]);
|
|
136
|
+
return {
|
|
137
|
+
ref: ref,
|
|
138
|
+
value: value,
|
|
139
|
+
onChange: onChange,
|
|
140
|
+
error: error,
|
|
141
|
+
field: field,
|
|
142
|
+
};
|
|
143
|
+
};
|
|
@@ -114,7 +114,7 @@ function TextAreaStep(_a) {
|
|
|
114
114
|
}
|
|
115
115
|
} }, { children: _jsx("div", __assign({ className: postview
|
|
116
116
|
? styles.postViewContainer + ' EF-DraftContainer'
|
|
117
|
-
: styles.textContainer + ' EF-DraftContainer',
|
|
117
|
+
: styles.textContainer + ' EF-DraftContainer', style: calcStyle(), onMouseEnter: function () {
|
|
118
118
|
if (canEdit) {
|
|
119
119
|
setHovering(true);
|
|
120
120
|
}
|
|
@@ -9,60 +9,29 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
-
var t = {};
|
|
14
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
-
t[p] = s[p];
|
|
16
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
-
t[p[i]] = s[p[i]];
|
|
20
|
-
}
|
|
21
|
-
return t;
|
|
22
|
-
};
|
|
23
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
13
|
import RoundedTextField from '../../../Shared/RoundedTextField/RoundedTextField';
|
|
25
14
|
import styles from './MaterialTextAreaStep.module.css';
|
|
26
|
-
import { useController } from 'react-hook-form';
|
|
27
|
-
import { useCallback, useState } from 'react';
|
|
28
15
|
import { useAppSelector } from '../../../hooks';
|
|
29
|
-
import {
|
|
16
|
+
import { useFormStep } from '../../StepHooks';
|
|
30
17
|
function TextAreaStep(_a) {
|
|
31
18
|
var _b, _c;
|
|
32
19
|
var step = _a.step, editable = _a.editable, maxLength = _a.maxLength;
|
|
33
20
|
var _d = useAppSelector(function (state) { return state.global; }), formStyle = _d.formStyle, postview = _d.postview, partial = _d.partial;
|
|
34
|
-
var _e =
|
|
35
|
-
|
|
36
|
-
var _g = useController({
|
|
37
|
-
name: step.id,
|
|
38
|
-
shouldUnregister: true,
|
|
21
|
+
var _e = useFormStep(step, {
|
|
22
|
+
debounce: true,
|
|
39
23
|
rules: {
|
|
40
24
|
required: step.required ? 'Este campo es obligatorio' : undefined,
|
|
41
25
|
},
|
|
42
|
-
|
|
43
|
-
}), _h = _g.field, ref = _h.ref, field = __rest(_h, ["ref"]), error = _g.fieldState.error;
|
|
44
|
-
var onChange = useCallback(function (e) {
|
|
45
|
-
if (isDependency) {
|
|
46
|
-
try {
|
|
47
|
-
clearTimeout(timer);
|
|
48
|
-
// eslint-disable-next-line no-empty
|
|
49
|
-
}
|
|
50
|
-
catch (e) { }
|
|
51
|
-
setTimer(setTimeout(function () {
|
|
52
|
-
handleStepDep(e.target.value);
|
|
53
|
-
setTimer(undefined);
|
|
54
|
-
}, 1000));
|
|
55
|
-
}
|
|
56
|
-
field.onChange(e);
|
|
57
|
-
}, [handleStepDep, isDependency, field.onChange]);
|
|
26
|
+
}), ref = _e.ref, value = _e.value, onChange = _e.onChange, error = _e.error, field = _e.field;
|
|
58
27
|
var canEdit = editable && !postview;
|
|
59
28
|
return (_jsxs("div", __assign({ className: styles.container, style: {
|
|
60
29
|
paddingBottom: step.required || step.description || !!error
|
|
61
30
|
? '0px'
|
|
62
31
|
: '5px',
|
|
63
|
-
} }, { children: [_jsx("div", __assign({ className: styles.erkTextArea }, { children: _jsx(RoundedTextField, __assign({}, field, { onChange: onChange, "data-testid": step.id, maxLength: maxLength, label: step.label,
|
|
32
|
+
} }, { children: [_jsx("div", __assign({ className: styles.erkTextArea }, { children: _jsx(RoundedTextField, __assign({}, field, { inputRef: ref, value: value, onChange: function (e) { return onChange(e.target.value); }, "data-testid": step.id, maxLength: maxLength, label: step.label, required: step.required, cantEdit: !canEdit, fontWeight: 400, multiline: true, minRows: postview && partial ? undefined : 4, focusColor: formStyle.primaryColor, outlineColor: formStyle.outlineColor, textColor: formStyle.textColor, errorColor: formStyle.errorColor, backgroundColor: formStyle.stepBackgroundColor, helperTextColor: formStyle.descriptionTextColor, helperText: (_c = (_b = error === null || error === void 0 ? void 0 : error.message) !== null && _b !== void 0 ? _b : step.description) !== null && _c !== void 0 ? _c : (step.required ? ' ' : null), error: !!error })) })), postview && (_jsxs("div", __assign({ className: styles.print }, { children: [_jsxs("div", { children: [step.label, ":"] }), _jsx("p", __assign({ className: styles.printContainer, style: {
|
|
64
33
|
backgroundColor: formStyle.stepBackgroundColor,
|
|
65
34
|
borderColor: formStyle.outlineColor,
|
|
66
|
-
} }, { children:
|
|
35
|
+
} }, { children: value }))] })))] })));
|
|
67
36
|
}
|
|
68
37
|
export default TextAreaStep;
|
|
@@ -9,70 +9,44 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
-
var t = {};
|
|
14
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
-
t[p] = s[p];
|
|
16
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
-
t[p[i]] = s[p[i]];
|
|
20
|
-
}
|
|
21
|
-
return t;
|
|
22
|
-
};
|
|
23
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
24
13
|
import RoundedTextField from '../../../Shared/RoundedTextField/RoundedTextField';
|
|
25
14
|
import styles from './MaterialTextInputStep.module.css';
|
|
26
|
-
import { useController } from 'react-hook-form';
|
|
27
15
|
import { calcStepWidth } from '../../StepFunctions';
|
|
28
|
-
import {
|
|
16
|
+
import { useContext } from 'react';
|
|
29
17
|
import FormContext from '../../../Contexts/FormContext';
|
|
30
18
|
import { selectBreakPoint, useAppSelector } from '../../../hooks';
|
|
31
|
-
import {
|
|
19
|
+
import { useFormStep } from '../../StepHooks';
|
|
32
20
|
function TextInputStep(_a) {
|
|
33
21
|
var _b;
|
|
34
22
|
var icon = _a.icon, step = _a.step, editable = _a.editable, maxLength = _a.maxLength, defaultValue = _a.defaultValue, _c = _a.validation, validation = _c === void 0 ? step.validation : _c;
|
|
35
23
|
var currentBreakPoint = useAppSelector(selectBreakPoint);
|
|
36
24
|
var _d = useAppSelector(function (state) { return state.global; }), formStyle = _d.formStyle, postview = _d.postview;
|
|
37
25
|
var form = useContext(FormContext);
|
|
38
|
-
var _e =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
name: step.id,
|
|
42
|
-
shouldUnregister: true,
|
|
26
|
+
var _e = useFormStep(step, {
|
|
27
|
+
defaultValue: defaultValue,
|
|
28
|
+
debounce: true,
|
|
43
29
|
rules: {
|
|
44
30
|
required: step.required ? 'Este campo es obligatorio' : undefined,
|
|
45
31
|
pattern: validation
|
|
46
32
|
? {
|
|
47
|
-
value: new RegExp(validation.
|
|
33
|
+
value: new RegExp(validation.type === 'EMAIL'
|
|
34
|
+
? // eslint-disable-next-line no-control-regex
|
|
35
|
+
/^(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/
|
|
36
|
+
: validation.value),
|
|
48
37
|
message: validation.message,
|
|
49
38
|
}
|
|
50
39
|
: undefined,
|
|
51
40
|
},
|
|
52
|
-
|
|
53
|
-
}), _h = _g.field, ref = _h.ref, field = __rest(_h, ["ref"]), error = _g.fieldState.error;
|
|
54
|
-
var onChange = useCallback(function (e) {
|
|
55
|
-
if (isDependency) {
|
|
56
|
-
try {
|
|
57
|
-
clearTimeout(timer);
|
|
58
|
-
// eslint-disable-next-line no-empty
|
|
59
|
-
}
|
|
60
|
-
catch (e) { }
|
|
61
|
-
setTimer(setTimeout(function () {
|
|
62
|
-
handleStepDep(e.target.value);
|
|
63
|
-
setTimer(undefined);
|
|
64
|
-
}, 1000));
|
|
65
|
-
}
|
|
66
|
-
field.onChange(e);
|
|
67
|
-
}, [handleStepDep, isDependency, field.onChange]);
|
|
41
|
+
}), ref = _e.ref, value = _e.value, onChange = _e.onChange, error = _e.error, field = _e.field;
|
|
68
42
|
return (_jsx("div", __assign({ className: styles.container, style: {
|
|
69
43
|
width: currentBreakPoint <= step.size
|
|
70
44
|
? '100%'
|
|
71
45
|
: calcStepWidth(step.size, form.size),
|
|
72
|
-
minHeight:
|
|
73
|
-
step.
|
|
46
|
+
minHeight: step.description ||
|
|
47
|
+
(!postview && editable && (step.required || validation))
|
|
74
48
|
? '55px'
|
|
75
49
|
: '43px',
|
|
76
|
-
} }, { children: _jsx(RoundedTextField, __assign({}, field, { onChange: onChange, maxLength: maxLength, "data-testid": step.id, label: step.label,
|
|
50
|
+
} }, { children: _jsx(RoundedTextField, __assign({}, field, { inputRef: ref, value: value, onChange: function (e) { return onChange(e.target.value); }, maxLength: maxLength, "data-testid": step.id, label: step.label, cantEdit: !editable || postview, required: step.required, fontWeight: 400, focusColor: formStyle.primaryColor, outlineColor: formStyle.outlineColor, textColor: formStyle.textColor, errorColor: formStyle.errorColor, backgroundColor: formStyle.stepBackgroundColor, helperText: (_b = error === null || error === void 0 ? void 0 : error.message) !== null && _b !== void 0 ? _b : step.description, helperTextColor: formStyle.descriptionTextColor, error: !!error, icon: step.showIcon ? icon : undefined })) })));
|
|
77
51
|
}
|
|
78
52
|
export default TextInputStep;
|