@arquimedes.co/eureka-forms 2.0.11-test → 2.0.13-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/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/MaterialCBRIncidentsStep.js +1 -0
- package/dist/FormSteps/MapperStep/MaterialMapperStep/MaterialMapperStep.d.ts +4 -5
- package/dist/FormSteps/MapperStep/MaterialMapperStep/MaterialMapperStep.js +45 -40
- package/dist/States/SiteSlice.d.ts +3 -1
- package/dist/States/SiteSlice.js +2 -2
- package/package.json +1 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { MapperStepProps } from '../MapperStep';
|
|
3
3
|
import { MapperElement } from '../../../@Types/MapperElement';
|
|
4
|
-
|
|
4
|
+
declare function MapperStep<Type>({ step, editable, customAdd, loading, elements, inputRef, onChange, ...others }: MapperStepProps<Type> & {
|
|
5
5
|
loading?: boolean;
|
|
6
|
-
onChange
|
|
7
|
-
elements
|
|
8
|
-
inputRef
|
|
6
|
+
onChange?: (elements: MapperElement<Type>[]) => void;
|
|
7
|
+
elements?: MapperElement<Type>[];
|
|
8
|
+
inputRef?: any;
|
|
9
9
|
}): JSX.Element;
|
|
10
|
-
declare function MapperStep<Type>(props: MapperStepProps<Type>): JSX.Element;
|
|
11
10
|
export default MapperStep;
|
|
@@ -33,7 +33,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
33
33
|
import { createElement as _createElement } from "react";
|
|
34
34
|
import React, { useState, useEffect, useContext, useMemo, useCallback, } from 'react';
|
|
35
35
|
import styles from './MaterialMapperStep.module.css';
|
|
36
|
-
import {
|
|
36
|
+
import { useController, useFormContext } from 'react-hook-form';
|
|
37
37
|
import { MapperStyleTypes } from '../../../constants/FormStepTypes';
|
|
38
38
|
import RoundedButton from '../../../Shared/RoundedButton/RoundedButton';
|
|
39
39
|
import MapperElementComponent from './Element/MapperElementComponent';
|
|
@@ -44,46 +44,65 @@ import CustomContext from '../../../Contexts/CustomContext';
|
|
|
44
44
|
import { useStepDependency } from '../../StepHooks';
|
|
45
45
|
import { addMapperStep } from '../../../App/AppFunctions';
|
|
46
46
|
import { calcMapperSubSteps } from '../../../Form/FormFunctions';
|
|
47
|
-
|
|
48
|
-
var step = _a.step,
|
|
47
|
+
function MapperStep(_a) {
|
|
48
|
+
var step = _a.step, editable = _a.editable, customAdd = _a.customAdd, _b = _a.loading, loading = _b === void 0 ? false : _b, elements = _a.elements, inputRef = _a.inputRef, onChange = _a.onChange, others = __rest(_a, ["step", "editable", "customAdd", "loading", "elements", "inputRef", "onChange"]);
|
|
49
49
|
var form = useContext(FormContext);
|
|
50
50
|
var _c = useAppSelector(function (state) { return state.global; }), formStyle = _c.formStyle, postview = _c.postview;
|
|
51
51
|
var customSteps = useContext(CustomContext).customSteps;
|
|
52
52
|
var dispatch = useAppDispatch();
|
|
53
|
-
var _d =
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
var _d = useStepDependency(step), handleStepDep = _d.handleStepDep, originalValue = _d.originalValue;
|
|
54
|
+
var setValue = useFormContext().setValue;
|
|
55
|
+
var _e = useController({
|
|
56
|
+
name: step.id,
|
|
57
|
+
rules: {
|
|
58
|
+
validate: function (array) {
|
|
59
|
+
return (step.required &&
|
|
60
|
+
array.filter(function (elem) { return !elem.deleted; })
|
|
61
|
+
.length > 0) ||
|
|
62
|
+
!step.required;
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
shouldUnregister: true,
|
|
66
|
+
defaultValue: originalValue,
|
|
67
|
+
}), field = _e.field, error = _e.fieldState.error;
|
|
68
|
+
var ref = inputRef !== null && inputRef !== void 0 ? inputRef : field.ref;
|
|
69
|
+
var value = elements !== null && elements !== void 0 ? elements : field.value;
|
|
70
|
+
var change = onChange !== null && onChange !== void 0 ? onChange : field.onChange;
|
|
71
|
+
var _f = useState(calcMapperSubSteps(step, value, customSteps)), localSteps = _f[0], setLocalSteps = _f[1];
|
|
72
|
+
var handleChange = useCallback(function (elements) {
|
|
73
|
+
handleStepDep(elements.map(function (element) { return element.value; }));
|
|
74
|
+
change(elements);
|
|
75
|
+
}, [field, onChange]);
|
|
57
76
|
useEffect(function () {
|
|
58
|
-
if (
|
|
77
|
+
if (value.length === 0 && !postview && editable && step.creatable) {
|
|
59
78
|
if (!customAdd)
|
|
60
79
|
handleAddElement();
|
|
61
80
|
}
|
|
62
81
|
}, []);
|
|
63
|
-
var handleAddElement = useCallback(function (
|
|
82
|
+
var handleAddElement = useCallback(function (elementValue) {
|
|
64
83
|
var _a = addMapperStep(step, customSteps), element = _a.element, steps = _a.steps, mappers = _a.mappers;
|
|
65
|
-
if (
|
|
66
|
-
element.value =
|
|
84
|
+
if (elementValue)
|
|
85
|
+
element.value = elementValue;
|
|
67
86
|
for (var _i = 0, _b = Object.entries(mappers); _i < _b.length; _i++) {
|
|
68
87
|
var _c = _b[_i], key = _c[0], elems = _c[1];
|
|
69
88
|
setValue(key, elems);
|
|
70
89
|
}
|
|
71
|
-
var newElements = __spreadArray(__spreadArray([],
|
|
72
|
-
|
|
73
|
-
handleStepDep(newElements.map(function (element) { return element.value; }));
|
|
74
|
-
onChange(newElements);
|
|
90
|
+
var newElements = __spreadArray(__spreadArray([], value, true), [element], false);
|
|
91
|
+
handleChange(newElements);
|
|
75
92
|
setLocalSteps(__assign(__assign({}, localSteps), steps));
|
|
76
|
-
dispatch(addStepsDependencies({
|
|
77
|
-
|
|
93
|
+
dispatch(addStepsDependencies({
|
|
94
|
+
steps: steps,
|
|
95
|
+
customSteps: customSteps,
|
|
96
|
+
allSteps: __assign(__assign({}, form.steps), steps),
|
|
97
|
+
}));
|
|
98
|
+
}, [step, customSteps, value]);
|
|
78
99
|
var handleDeleteElement = useCallback(function (index) { return function () {
|
|
79
|
-
var tempElements = __spreadArray([],
|
|
100
|
+
var tempElements = __spreadArray([], value, true);
|
|
80
101
|
tempElements[index] = __assign(__assign({}, tempElements[index]), { deleted: true });
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
onChange(tempElements);
|
|
84
|
-
}; }, [elements, onChange]);
|
|
102
|
+
handleChange(tempElements);
|
|
103
|
+
}; }, [value, handleChange]);
|
|
85
104
|
var subForm = useMemo(function () { return (__assign(__assign({}, form), { steps: __assign(__assign({}, form.steps), localSteps) })); }, [localSteps]);
|
|
86
|
-
var
|
|
105
|
+
var inputValue = useMemo(function () { return JSON.stringify(value); }, [value]);
|
|
87
106
|
var container = useMemo(function () {
|
|
88
107
|
var _a;
|
|
89
108
|
switch ((_a = step.style) === null || _a === void 0 ? void 0 : _a.type) {
|
|
@@ -95,7 +114,7 @@ export function ElementsComponent(_a) {
|
|
|
95
114
|
}
|
|
96
115
|
}, [step]).container;
|
|
97
116
|
var mapElements = function () {
|
|
98
|
-
return (_jsx(FormContext.Provider, __assign({ value: subForm }, { children:
|
|
117
|
+
return (_jsx(FormContext.Provider, __assign({ value: subForm }, { children: value.map(function (element, index) { return (_createElement(MapperElementComponent, __assign({}, others, { key: element.id, num: index, loading: loading, element: element, step: step, editable: editable, handleDelete: handleDeleteElement(index) }))); }) })));
|
|
99
118
|
};
|
|
100
119
|
if (step.style.type === MapperStyleTypes.INLINE)
|
|
101
120
|
return _jsx(React.Fragment, { children: mapElements() });
|
|
@@ -103,24 +122,10 @@ export function ElementsComponent(_a) {
|
|
|
103
122
|
margin: step.description
|
|
104
123
|
? '10px 0px'
|
|
105
124
|
: '0px 0px 5px 0px',
|
|
106
|
-
} }, { children: step.description }))), mapElements(), _jsx("input", { id: step.id, ref:
|
|
125
|
+
} }, { children: step.description }))), mapElements(), _jsx("input", { id: step.id, ref: ref, className: 'hidden-input', readOnly: true, value: inputValue }), step.creatable !== false && (_jsxs("div", __assign({ className: styles.btnContainer }, { children: [!customAdd && (_jsx(RoundedButton, { disabled: !editable || postview, text: step.addBtnLabel + (step.required ? ' *' : ''), color: formStyle.primaryContrastColor, backgroundColor: formStyle.primaryColor, fontSize: '1rem', padding: '5px 15px 5px 15px', onClick: function () {
|
|
107
126
|
if (editable && !postview) {
|
|
108
127
|
handleAddElement();
|
|
109
128
|
}
|
|
110
|
-
} })), customAdd === null || customAdd === void 0 ? void 0 : customAdd(
|
|
111
|
-
elements.filter(function (elem) { return !elem.deleted; }).length === 0 && (_jsx("div", __assign({ className: styles.errorMsg, style: { color: formStyle.errorColor } }, { children: "Este campo es obligatorio" })))] })));
|
|
112
|
-
}
|
|
113
|
-
function MapperStep(props) {
|
|
114
|
-
var originalValue = useStepDependency(props.step).originalValue;
|
|
115
|
-
return (_jsx(Controller, { name: props.step.id, defaultValue: originalValue, rules: {
|
|
116
|
-
validate: function (array) {
|
|
117
|
-
return (props.step.required &&
|
|
118
|
-
array.filter(function (elem) { return !elem.deleted; }).length > 0) ||
|
|
119
|
-
!props.step.required;
|
|
120
|
-
},
|
|
121
|
-
}, shouldUnregister: true, render: function (_a) {
|
|
122
|
-
var _b = _a.field, ref = _b.ref, value = _b.value, field = __rest(_b, ["ref", "value"]);
|
|
123
|
-
return (_jsx(ElementsComponent, __assign({}, props, field, { elements: value, inputRef: ref })));
|
|
124
|
-
} }));
|
|
129
|
+
} })), customAdd === null || customAdd === void 0 ? void 0 : customAdd(ref, !editable || postview, handleAddElement)] }))), !!error && value.filter(function (elem) { return !elem.deleted; }).length === 0 && (_jsx("div", __assign({ className: styles.errorMsg, style: { color: formStyle.errorColor } }, { children: "Este campo es obligatorio" })))] })));
|
|
125
130
|
}
|
|
126
131
|
export default MapperStep;
|
|
@@ -32,10 +32,11 @@ export declare const SiteSlice: import("@reduxjs/toolkit").Slice<SiteState, {
|
|
|
32
32
|
};
|
|
33
33
|
type: string;
|
|
34
34
|
}) => void;
|
|
35
|
-
addStepsDependencies: (state: import("immer/dist/internal").WritableDraft<SiteState>, { payload: { steps, customSteps }, }: {
|
|
35
|
+
addStepsDependencies: (state: import("immer/dist/internal").WritableDraft<SiteState>, { payload: { steps, customSteps, allSteps }, }: {
|
|
36
36
|
payload: {
|
|
37
37
|
steps: Record<string, FormStep | CBRFormStep>;
|
|
38
38
|
customSteps: Record<string, CustomStep>;
|
|
39
|
+
allSteps: Record<string, FormStep | CBRFormStep>;
|
|
39
40
|
};
|
|
40
41
|
type: string;
|
|
41
42
|
}) => void;
|
|
@@ -55,6 +56,7 @@ export declare const focusStep: import("@reduxjs/toolkit").ActionCreatorWithOpti
|
|
|
55
56
|
}, "site/setStepDependency">, addStepsDependencies: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
56
57
|
steps: Record<string, FormStep | CBRFormStep>;
|
|
57
58
|
customSteps: Record<string, CustomStep>;
|
|
59
|
+
allSteps: Record<string, FormStep | CBRFormStep>;
|
|
58
60
|
}, "site/addStepsDependencies">, setEmptyDependency: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
59
61
|
step: GBaseStep;
|
|
60
62
|
empty: StepDependency['empty'];
|
package/dist/States/SiteSlice.js
CHANGED
|
@@ -49,8 +49,8 @@ export var SiteSlice = createSlice({
|
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
51
|
addStepsDependencies: function (state, _a) {
|
|
52
|
-
var _b = _a.payload, steps = _b.steps, customSteps = _b.customSteps;
|
|
53
|
-
calcDependencies(steps, customSteps,
|
|
52
|
+
var _b = _a.payload, steps = _b.steps, customSteps = _b.customSteps, allSteps = _b.allSteps;
|
|
53
|
+
calcDependencies(steps, customSteps, allSteps, state.dependencies);
|
|
54
54
|
},
|
|
55
55
|
handlePrevious: function (state, _a) {
|
|
56
56
|
var payload = _a.payload;
|
package/package.json
CHANGED