@nvs-dynamic-form/react-core 1.4.1 → 2.0.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/cjs/nvs-dynamic-form/_style.css +40 -0
- package/dist/cjs/nvs-dynamic-form/_template.d.ts +2 -2
- package/dist/cjs/nvs-dynamic-form/_template.js +22 -62
- package/dist/cjs/nvs-dynamic-form/_template.js.map +1 -1
- package/dist/cjs/nvs-dynamic-form/_type.d.ts +18 -4
- package/dist/cjs/nvs-dynamic-form/elements/arrayField/_template.d.ts +3 -0
- package/dist/cjs/nvs-dynamic-form/elements/arrayField/_template.js +62 -0
- package/dist/cjs/nvs-dynamic-form/elements/arrayField/_template.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/arrayField/_type.d.ts +10 -0
- package/dist/cjs/nvs-dynamic-form/elements/arrayField/_type.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/arrayField/index.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/button/_template.d.ts +3 -0
- package/dist/cjs/nvs-dynamic-form/elements/button/_template.js +28 -0
- package/dist/cjs/nvs-dynamic-form/elements/button/_template.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/button/_type.d.ts +8 -0
- package/dist/cjs/nvs-dynamic-form/elements/button/_type.js +3 -0
- package/dist/cjs/nvs-dynamic-form/elements/button/_type.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/button/index.js +19 -0
- package/dist/cjs/nvs-dynamic-form/elements/button/index.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/container/_template.d.ts +3 -0
- package/dist/cjs/nvs-dynamic-form/elements/container/_template.js +12 -0
- package/dist/cjs/nvs-dynamic-form/elements/container/_template.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/container/_type.d.ts +8 -0
- package/dist/cjs/nvs-dynamic-form/elements/container/_type.js +3 -0
- package/dist/cjs/nvs-dynamic-form/elements/container/_type.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/container/index.d.ts +2 -0
- package/dist/cjs/nvs-dynamic-form/elements/container/index.js +19 -0
- package/dist/cjs/nvs-dynamic-form/elements/container/index.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/field/_template.js +9 -3
- package/dist/cjs/nvs-dynamic-form/elements/field/_template.js.map +1 -1
- package/dist/cjs/nvs-dynamic-form/elements/field/_type.d.ts +7 -6
- package/dist/cjs/nvs-dynamic-form/elements/groupField/_template.d.ts +2 -0
- package/dist/cjs/nvs-dynamic-form/elements/groupField/_template.js +26 -0
- package/dist/cjs/nvs-dynamic-form/elements/groupField/_template.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/groupField/_type.d.ts +9 -0
- package/dist/cjs/nvs-dynamic-form/elements/groupField/_type.js +3 -0
- package/dist/cjs/nvs-dynamic-form/elements/groupField/_type.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/elements/groupField/index.d.ts +2 -0
- package/dist/cjs/nvs-dynamic-form/elements/groupField/index.js +19 -0
- package/dist/cjs/nvs-dynamic-form/elements/groupField/index.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/formikForm/_template.d.ts +3 -0
- package/dist/cjs/nvs-dynamic-form/formikForm/_template.js +87 -0
- package/dist/cjs/nvs-dynamic-form/formikForm/_template.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/formikForm/_type.d.ts +8 -0
- package/dist/cjs/nvs-dynamic-form/formikForm/_type.js +3 -0
- package/dist/cjs/nvs-dynamic-form/formikForm/_type.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/formikForm/index.d.ts +1 -0
- package/dist/cjs/nvs-dynamic-form/formikForm/index.js +18 -0
- package/dist/cjs/nvs-dynamic-form/formikForm/index.js.map +1 -0
- package/dist/cjs/nvs-dynamic-form/services/generateFormContentUtils.d.ts +39 -0
- package/dist/cjs/nvs-dynamic-form/services/generateFormContentUtils.js +92 -0
- package/dist/cjs/nvs-dynamic-form/services/generateFormContentUtils.js.map +1 -0
- package/dist/cjs/types/array-field-action-button.type.d.ts +14 -0
- package/dist/cjs/types/array-field-action-button.type.js +26 -0
- package/dist/cjs/types/array-field-action-button.type.js.map +1 -0
- package/dist/cjs/types/array-field.type.d.ts +13 -0
- package/dist/cjs/types/array-field.type.js +16 -0
- package/dist/cjs/types/array-field.type.js.map +1 -0
- package/dist/cjs/types/{form-field.type.d.ts → field-base.type.d.ts} +1 -1
- package/dist/cjs/types/{form-field.type.js → field-base.type.js} +1 -1
- package/dist/cjs/types/{form-field.type.js.map → field-base.type.js.map} +1 -1
- package/dist/cjs/types/group-field.type.d.ts +10 -0
- package/dist/cjs/types/group-field.type.js +13 -0
- package/dist/cjs/types/group-field.type.js.map +1 -0
- package/dist/cjs/types/index.d.ts +4 -2
- package/dist/cjs/types/index.js +4 -2
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/{submit-button-options.type.d.ts → submit-button-default-options.type.d.ts} +1 -1
- package/dist/cjs/types/submit-button-default-options.type.js +3 -0
- package/dist/cjs/types/submit-button-default-options.type.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/_style.css +40 -0
- package/dist/esm/nvs-dynamic-form/_template.d.ts +2 -2
- package/dist/esm/nvs-dynamic-form/_template.js +20 -40
- package/dist/esm/nvs-dynamic-form/_template.js.map +1 -1
- package/dist/esm/nvs-dynamic-form/_type.d.ts +18 -4
- package/dist/esm/nvs-dynamic-form/elements/arrayField/_template.d.ts +3 -0
- package/dist/esm/nvs-dynamic-form/elements/arrayField/_template.js +55 -0
- package/dist/esm/nvs-dynamic-form/elements/arrayField/_template.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/arrayField/_type.d.ts +10 -0
- package/dist/esm/nvs-dynamic-form/elements/arrayField/_type.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/arrayField/index.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/button/_template.d.ts +3 -0
- package/dist/esm/nvs-dynamic-form/elements/button/_template.js +21 -0
- package/dist/esm/nvs-dynamic-form/elements/button/_template.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/button/_type.d.ts +8 -0
- package/dist/esm/nvs-dynamic-form/elements/button/_type.js +2 -0
- package/dist/esm/nvs-dynamic-form/elements/button/_type.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/button/index.d.ts +2 -0
- package/dist/esm/nvs-dynamic-form/elements/button/index.js +3 -0
- package/dist/esm/nvs-dynamic-form/elements/button/index.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/container/_template.d.ts +3 -0
- package/dist/esm/nvs-dynamic-form/elements/container/_template.js +5 -0
- package/dist/esm/nvs-dynamic-form/elements/container/_template.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/container/_type.d.ts +8 -0
- package/dist/esm/nvs-dynamic-form/elements/container/_type.js +2 -0
- package/dist/esm/nvs-dynamic-form/elements/container/_type.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/container/index.d.ts +2 -0
- package/dist/esm/nvs-dynamic-form/elements/container/index.js +3 -0
- package/dist/esm/nvs-dynamic-form/elements/container/index.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/field/_template.js +9 -3
- package/dist/esm/nvs-dynamic-form/elements/field/_template.js.map +1 -1
- package/dist/esm/nvs-dynamic-form/elements/field/_type.d.ts +7 -6
- package/dist/esm/nvs-dynamic-form/elements/groupField/_template.d.ts +2 -0
- package/dist/esm/nvs-dynamic-form/elements/groupField/_template.js +22 -0
- package/dist/esm/nvs-dynamic-form/elements/groupField/_template.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/groupField/_type.d.ts +9 -0
- package/dist/esm/nvs-dynamic-form/elements/groupField/_type.js +2 -0
- package/dist/esm/nvs-dynamic-form/elements/groupField/_type.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/elements/groupField/index.d.ts +2 -0
- package/dist/esm/nvs-dynamic-form/elements/groupField/index.js +3 -0
- package/dist/esm/nvs-dynamic-form/elements/groupField/index.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/formikForm/_template.d.ts +3 -0
- package/dist/esm/nvs-dynamic-form/formikForm/_template.js +60 -0
- package/dist/esm/nvs-dynamic-form/formikForm/_template.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/formikForm/_type.d.ts +8 -0
- package/dist/esm/nvs-dynamic-form/formikForm/_type.js +2 -0
- package/dist/esm/nvs-dynamic-form/formikForm/_type.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/formikForm/index.d.ts +1 -0
- package/dist/esm/nvs-dynamic-form/formikForm/index.js +2 -0
- package/dist/esm/nvs-dynamic-form/formikForm/index.js.map +1 -0
- package/dist/esm/nvs-dynamic-form/services/generateFormContentUtils.d.ts +39 -0
- package/dist/esm/nvs-dynamic-form/services/generateFormContentUtils.js +85 -0
- package/dist/esm/nvs-dynamic-form/services/generateFormContentUtils.js.map +1 -0
- package/dist/esm/types/array-field-action-button.type.d.ts +14 -0
- package/dist/esm/types/array-field-action-button.type.js +20 -0
- package/dist/esm/types/array-field-action-button.type.js.map +1 -0
- package/dist/esm/types/array-field.type.d.ts +13 -0
- package/dist/esm/types/array-field.type.js +12 -0
- package/dist/esm/types/array-field.type.js.map +1 -0
- package/dist/esm/types/{form-field.type.d.ts → field-base.type.d.ts} +1 -1
- package/dist/esm/types/{form-field.type.js → field-base.type.js} +1 -1
- package/dist/esm/types/{form-field.type.js.map → field-base.type.js.map} +1 -1
- package/dist/esm/types/group-field.type.d.ts +10 -0
- package/dist/esm/types/group-field.type.js +9 -0
- package/dist/esm/types/group-field.type.js.map +1 -0
- package/dist/esm/types/index.d.ts +4 -2
- package/dist/esm/types/index.js +4 -2
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/{submit-button-options.type.d.ts → submit-button-default-options.type.d.ts} +1 -1
- package/dist/esm/types/submit-button-default-options.type.js +2 -0
- package/dist/esm/types/submit-button-default-options.type.js.map +1 -0
- package/lib/nvs-dynamic-form/_stories.tsx +276 -16
- package/lib/nvs-dynamic-form/_style.css +40 -0
- package/lib/nvs-dynamic-form/_template.tsx +40 -65
- package/lib/nvs-dynamic-form/_type.tsx +23 -4
- package/lib/nvs-dynamic-form/elements/arrayField/_template.tsx +123 -0
- package/lib/nvs-dynamic-form/elements/arrayField/_type.tsx +11 -0
- package/lib/nvs-dynamic-form/elements/arrayField/index.tsx +2 -0
- package/lib/nvs-dynamic-form/elements/button/_template.tsx +42 -0
- package/lib/nvs-dynamic-form/elements/button/_type.tsx +8 -0
- package/lib/nvs-dynamic-form/elements/button/index.tsx +2 -0
- package/lib/nvs-dynamic-form/elements/container/_template.tsx +10 -0
- package/lib/nvs-dynamic-form/elements/container/_type.tsx +7 -0
- package/lib/nvs-dynamic-form/elements/container/index.tsx +2 -0
- package/lib/nvs-dynamic-form/elements/field/_template.tsx +9 -4
- package/lib/nvs-dynamic-form/elements/field/_type.tsx +8 -6
- package/lib/nvs-dynamic-form/elements/groupField/_template.tsx +32 -0
- package/lib/nvs-dynamic-form/elements/groupField/_type.tsx +10 -0
- package/lib/nvs-dynamic-form/elements/groupField/index.tsx +2 -0
- package/lib/nvs-dynamic-form/formikForm/_template.tsx +85 -0
- package/lib/nvs-dynamic-form/formikForm/_type.tsx +9 -0
- package/lib/nvs-dynamic-form/formikForm/index.tsx +1 -0
- package/lib/nvs-dynamic-form/services/generateFormContentUtils.tsx +173 -0
- package/lib/types/array-field-action-button.type.tsx +26 -0
- package/lib/types/array-field.type.tsx +27 -0
- package/lib/types/{form-field.type.tsx → field-base.type.tsx} +1 -1
- package/lib/types/group-field.type.tsx +15 -0
- package/lib/types/index.tsx +4 -2
- package/lib/types/submit-button-default-options.type.tsx +5 -0
- package/package.json +1 -1
- package/dist/cjs/nvs-dynamic-form/elements/submit-button/_template.d.ts +0 -3
- package/dist/cjs/nvs-dynamic-form/elements/submit-button/_template.js +0 -30
- package/dist/cjs/nvs-dynamic-form/elements/submit-button/_template.js.map +0 -1
- package/dist/cjs/nvs-dynamic-form/elements/submit-button/_type.d.ts +0 -11
- package/dist/cjs/nvs-dynamic-form/elements/submit-button/_type.js.map +0 -1
- package/dist/cjs/nvs-dynamic-form/elements/submit-button/index.js.map +0 -1
- package/dist/cjs/types/submit-button-options.type.js +0 -7
- package/dist/cjs/types/submit-button-options.type.js.map +0 -1
- package/dist/esm/nvs-dynamic-form/elements/submit-button/_template.d.ts +0 -3
- package/dist/esm/nvs-dynamic-form/elements/submit-button/_template.js +0 -23
- package/dist/esm/nvs-dynamic-form/elements/submit-button/_template.js.map +0 -1
- package/dist/esm/nvs-dynamic-form/elements/submit-button/_type.d.ts +0 -11
- package/dist/esm/nvs-dynamic-form/elements/submit-button/_type.js.map +0 -1
- package/dist/esm/nvs-dynamic-form/elements/submit-button/index.js.map +0 -1
- package/dist/esm/types/submit-button-options.type.js +0 -3
- package/dist/esm/types/submit-button-options.type.js.map +0 -1
- package/lib/nvs-dynamic-form/elements/submit-button/_template.tsx +0 -42
- package/lib/nvs-dynamic-form/elements/submit-button/_type.tsx +0 -12
- package/lib/types/submit-button-options.type.tsx +0 -5
- /package/dist/cjs/nvs-dynamic-form/elements/{submit-button → arrayField}/_type.js +0 -0
- /package/dist/cjs/nvs-dynamic-form/elements/{submit-button → arrayField}/index.d.ts +0 -0
- /package/dist/cjs/nvs-dynamic-form/elements/{submit-button → arrayField}/index.js +0 -0
- /package/dist/{esm/nvs-dynamic-form/elements/submit-button → cjs/nvs-dynamic-form/elements/button}/index.d.ts +0 -0
- /package/dist/esm/nvs-dynamic-form/elements/{submit-button → arrayField}/_type.js +0 -0
- /package/{lib/nvs-dynamic-form/elements/submit-button/index.tsx → dist/esm/nvs-dynamic-form/elements/arrayField/index.d.ts} +0 -0
- /package/dist/esm/nvs-dynamic-form/elements/{submit-button → arrayField}/index.js +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { FieldArray } from "formik";
|
|
2
|
+
import { GenerateFormContentUtils } from "../../services/generateFormContentUtils";
|
|
3
|
+
import React from "react";
|
|
4
|
+
export const ArrayField = ({ field: arrayField, formElements, containerComponent, containerVisible, useContainersOutsideGroup, useGroupContainer, buttonComponent: ButtonComponent, }) => {
|
|
5
|
+
const generateFormContentUtils = new GenerateFormContentUtils({
|
|
6
|
+
containerComponent,
|
|
7
|
+
formElements,
|
|
8
|
+
useContainersOutsideGroup,
|
|
9
|
+
useGroupContainer,
|
|
10
|
+
containerVisible: containerVisible,
|
|
11
|
+
fields: arrayField.fields,
|
|
12
|
+
});
|
|
13
|
+
const createArrayItem = (name, index) => {
|
|
14
|
+
return arrayField.fields.map((field) => ({
|
|
15
|
+
...field,
|
|
16
|
+
id: `${name}[${index}].${field.id}`,
|
|
17
|
+
}));
|
|
18
|
+
};
|
|
19
|
+
const getDefaultItem = () => {
|
|
20
|
+
return arrayField.fields.reduce((acc, field) => {
|
|
21
|
+
acc[field.id] = field.defaultValue;
|
|
22
|
+
return acc;
|
|
23
|
+
}, {});
|
|
24
|
+
};
|
|
25
|
+
const createArrayFields = (index) => {
|
|
26
|
+
return (React.createElement("div", { className: "df-array-field-content" },
|
|
27
|
+
React.createElement("div", { className: "nvs-container-fluid" },
|
|
28
|
+
React.createElement("div", { className: "nvs-row" }, generateFormContentUtils.createFormElements(createArrayItem(arrayField.id, index))))));
|
|
29
|
+
};
|
|
30
|
+
const createRemoveButton = (onRemoveItem) => {
|
|
31
|
+
return (React.createElement("div", { className: "nvs-col-12" },
|
|
32
|
+
React.createElement(ButtonComponent, { onClick: () => {
|
|
33
|
+
onRemoveItem();
|
|
34
|
+
}, type: "button" }, arrayField.removeButtonOptions?.label)));
|
|
35
|
+
};
|
|
36
|
+
const createArrayItemRemoveButton = (onRemoveItem) => {
|
|
37
|
+
return (React.createElement("div", { className: "df-array-field-remove-button" }, generateFormContentUtils.createContentContainer(createRemoveButton(onRemoveItem))));
|
|
38
|
+
};
|
|
39
|
+
const createFieldArrayContent = (onRemoveItem, index) => {
|
|
40
|
+
return (React.createElement("div", { className: `df-array-field remove-button-${arrayField.removeButtonOptions?.position}`, key: index },
|
|
41
|
+
createArrayFields(index),
|
|
42
|
+
createArrayItemRemoveButton(() => onRemoveItem(index))));
|
|
43
|
+
};
|
|
44
|
+
const createAddButton = (onAddItem) => {
|
|
45
|
+
return (React.createElement("div", { className: "df-array-field-add-button" },
|
|
46
|
+
React.createElement(ButtonComponent, { onClick: () => onAddItem(getDefaultItem()), type: "button" }, arrayField.addButtonOptions?.label)));
|
|
47
|
+
};
|
|
48
|
+
const createArrayItemAddButton = (onAddItem) => {
|
|
49
|
+
return generateFormContentUtils.createContentContainer(createAddButton(onAddItem));
|
|
50
|
+
};
|
|
51
|
+
return (React.createElement(FieldArray, { name: arrayField.id }, ({ push, remove, form }) => (React.createElement(React.Fragment, null,
|
|
52
|
+
form.values[arrayField.id]?.map((_, index) => createFieldArrayContent(remove, index)),
|
|
53
|
+
createArrayItemAddButton(push)))));
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=_template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/arrayField/_template.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ArrayField } from "../../../types";
|
|
2
|
+
import { IField } from "../field";
|
|
3
|
+
export interface IArrayField extends IField {
|
|
4
|
+
field: ArrayField;
|
|
5
|
+
buttonComponent: React.FC<any>;
|
|
6
|
+
containerComponent: React.FC<any>;
|
|
7
|
+
containerVisible: boolean;
|
|
8
|
+
useContainersOutsideGroup: boolean;
|
|
9
|
+
useGroupContainer: boolean;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/arrayField/_type.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/arrayField/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export const Button = ({ buttonComponent: ButtonComponent, visible, label, position = "right", isFullWidth, containerClass, }) => {
|
|
3
|
+
const getButtonPositionClass = (position) => {
|
|
4
|
+
const classes = {
|
|
5
|
+
left: "nvs-jc-start",
|
|
6
|
+
right: "nvs-jc-end",
|
|
7
|
+
center: "nvs-jc-center",
|
|
8
|
+
};
|
|
9
|
+
return classes[position];
|
|
10
|
+
};
|
|
11
|
+
const getSubmitButtonClasses = () => {
|
|
12
|
+
const buttonClasses = ["df-button"];
|
|
13
|
+
isFullWidth && buttonClasses.push("nvs-col-12");
|
|
14
|
+
return buttonClasses.join(" ");
|
|
15
|
+
};
|
|
16
|
+
return visible ? (React.createElement("div", { className: `nvs-container-fluid${containerClass ? ` ${containerClass}` : ""}` },
|
|
17
|
+
React.createElement("div", { className: `nvs-row ${getButtonPositionClass(position)}` },
|
|
18
|
+
React.createElement("div", { className: getSubmitButtonClasses() },
|
|
19
|
+
React.createElement(ButtonComponent, null, label))))) : (React.createElement(React.Fragment, null));
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=_template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/button/_template.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACrB,eAAe,EAAE,eAAe,EAChC,OAAO,EACP,KAAK,EACL,QAAQ,GAAG,OAAO,EAClB,WAAW,EACX,cAAc,GACN,EAAE,EAAE;IACZ,MAAM,sBAAsB,GAAG,CAAC,QAAqC,EAAE,EAAE;QACvE,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,eAAe;SACxB,CAAC;QACF,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,MAAM,aAAa,GAAG,CAAC,WAAW,CAAC,CAAC;QAEpC,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhD,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,6BACE,SAAS,EAAE,sBAAsB,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAE7E,6BAAK,SAAS,EAAE,WAAW,sBAAsB,CAAC,QAAQ,CAAC,EAAE;YAC3D,6BAAK,SAAS,EAAE,sBAAsB,EAAE;gBACtC,oBAAC,eAAe,QAAE,KAAK,CAAmB,CACtC,CACF,CACF,CACP,CAAC,CAAC,CAAC,CACF,yCAAK,CACN,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/button/_type.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/button/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/container/_template.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,kBAAkB,EAAE,eAAe,EACnC,OAAO,GAAG,EAAE,EACZ,QAAQ,GACG,EAAE,EAAE;IACf,OAAO,oBAAC,eAAe,OAAK,OAAO,IAAG,QAAQ,CAAmB,CAAC;AACpE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/container/_type.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/container/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { useField } from "formik";
|
|
3
3
|
export const Field = ({ formElements, field: { fieldType, screenSize = 12, onBlur, onChange, ...fieldProps }, }) => {
|
|
4
|
-
const [formikField, meta] = useField({
|
|
4
|
+
const [formikField, meta, helpers] = useField({
|
|
5
5
|
id: fieldProps.id,
|
|
6
6
|
name: fieldProps.id,
|
|
7
7
|
});
|
|
@@ -19,8 +19,14 @@ export const Field = ({ formElements, field: { fieldType, screenSize = 12, onBlu
|
|
|
19
19
|
return className.join(" ");
|
|
20
20
|
};
|
|
21
21
|
const onChangeHandler = (event) => {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
if (Array.isArray(event)) {
|
|
23
|
+
helpers.setValue(event);
|
|
24
|
+
onChange && onChange(event);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
onChange && onChange(event);
|
|
28
|
+
formikField.onChange(event);
|
|
29
|
+
}
|
|
24
30
|
};
|
|
25
31
|
const onBlurHandler = (event) => {
|
|
26
32
|
onBlur && onBlur(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/field/_template.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,YAAY,EACZ,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAC/D,EAAE,EAAE;IACX,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/field/_template.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,YAAY,EACZ,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAC/D,EAAE,EAAE;IACX,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC5C,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,IAAI,EAAE,UAAU,CAAC,EAAE;KACpB,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,GAAW,EAAE;QACxC,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,IAAI,OAAO,UAAU,IAAI,QAAQ;YAAE,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;aACtE,CAAC;YACJ,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,UAAU,EAAE,MAAM;gBAAE,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1E,IAAI,UAAU,EAAE,MAAM;gBAAE,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAAmC,EAAE,EAAE;QAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxB,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,EAAE;QAC1C,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,YAAY,CAAC,SAAU,CAAC,EAAE,SAAS,CAAC;IAClD,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,6BAAK,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;QACxD,oBAAC,KAAK,OACA,UAAU,KACV,WAAW,EACf,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAC1D,CACE,CACP,CAAC,CAAC,CAAC,CACF,yCAAK,CACN,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { FieldBase } from "../../../types";
|
|
2
|
+
export interface IFormElement {
|
|
3
|
+
[key: string]: {
|
|
4
|
+
component: React.FC<any>;
|
|
5
|
+
class: typeof FieldBase<any>;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
2
8
|
export interface IField {
|
|
3
9
|
field: FieldBase<unknown>;
|
|
4
|
-
formElements:
|
|
5
|
-
[key: string]: {
|
|
6
|
-
component: React.FC<any>;
|
|
7
|
-
class: typeof FieldBase<any>;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
+
formElements: IFormElement;
|
|
10
11
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GenerateFormContentUtils } from "../../services/generateFormContentUtils";
|
|
2
|
+
export const GroupField = ({ field: groupField, formElements, containerComponent, containerVisible, useContainersOutsideGroup, useGroupContainer, }) => {
|
|
3
|
+
const generateFormContentUtils = new GenerateFormContentUtils({
|
|
4
|
+
containerComponent,
|
|
5
|
+
formElements,
|
|
6
|
+
useContainersOutsideGroup,
|
|
7
|
+
useGroupContainer,
|
|
8
|
+
containerOptions: groupField.containerOptions,
|
|
9
|
+
containerVisible: containerVisible && groupField.containerVisible,
|
|
10
|
+
fields: groupField.fields.map((field) => {
|
|
11
|
+
field.id = `${groupField.id}.${field.id}`;
|
|
12
|
+
return field;
|
|
13
|
+
}),
|
|
14
|
+
});
|
|
15
|
+
const isContainerVisible = () => {
|
|
16
|
+
return groupField.containerVisible && useGroupContainer && containerVisible;
|
|
17
|
+
};
|
|
18
|
+
return isContainerVisible()
|
|
19
|
+
? generateFormContentUtils.createFormContent()
|
|
20
|
+
: generateFormContentUtils.createFormElements(groupField.fields);
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=_template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/groupField/_template.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAGnF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,KAAK,EAAE,UAAU,EACjB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,GACL,EAAE,EAAE;IAChB,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,CAAC;QAC5D,kBAAkB;QAClB,YAAY;QACZ,yBAAyB;QACzB,iBAAiB;QACjB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,gBAAgB,EAAE,gBAAgB,IAAI,UAAU,CAAC,gBAAiB;QAClE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,KAAK,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,OAAO,UAAU,CAAC,gBAAgB,IAAI,iBAAiB,IAAI,gBAAgB,CAAC;IAC9E,CAAC,CAAC;IAEF,OAAO,kBAAkB,EAAE;QACzB,CAAC,CAAC,wBAAwB,CAAC,iBAAiB,EAAE;QAC9C,CAAC,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { GroupField } from "../../../types";
|
|
2
|
+
import { IField } from "../field";
|
|
3
|
+
export interface IGroupField extends IField {
|
|
4
|
+
field: GroupField;
|
|
5
|
+
containerComponent: React.FC<any>;
|
|
6
|
+
containerVisible: boolean;
|
|
7
|
+
useContainersOutsideGroup: boolean;
|
|
8
|
+
useGroupContainer: boolean;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/groupField/_type.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/nvs-dynamic-form/elements/groupField/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as Yup from "yup";
|
|
2
|
+
import { ArrayField, GroupField } from "../../types";
|
|
3
|
+
import { Form, FormikProvider, useFormik } from "formik";
|
|
4
|
+
import React, { useEffect, useState } from "react";
|
|
5
|
+
export const FormikForm = ({ children, fields, onSubmit, formClass, }) => {
|
|
6
|
+
const getFieldDefaultValue = (field) => {
|
|
7
|
+
let defaultValue;
|
|
8
|
+
if (field instanceof ArrayField)
|
|
9
|
+
defaultValue = field.defaultValues ?? [];
|
|
10
|
+
else if (field instanceof GroupField)
|
|
11
|
+
defaultValue = getFieldsDefaultValues(field.fields);
|
|
12
|
+
else
|
|
13
|
+
defaultValue = field.defaultValue;
|
|
14
|
+
return defaultValue;
|
|
15
|
+
};
|
|
16
|
+
const getFieldsDefaultValues = (fields) => {
|
|
17
|
+
return fields.reduce((acc, field) => {
|
|
18
|
+
acc[field.id] = getFieldDefaultValue(field);
|
|
19
|
+
return acc;
|
|
20
|
+
}, {});
|
|
21
|
+
};
|
|
22
|
+
const getFieldValidate = (field) => {
|
|
23
|
+
let validate;
|
|
24
|
+
if (field instanceof GroupField)
|
|
25
|
+
validate = createValidateSchema(field.fields);
|
|
26
|
+
else if (field instanceof ArrayField)
|
|
27
|
+
validate = createArrayValidateSchema(field.fields);
|
|
28
|
+
else if (field?.validate)
|
|
29
|
+
validate = field.validate;
|
|
30
|
+
return validate;
|
|
31
|
+
};
|
|
32
|
+
const createValidateSchema = (fields) => {
|
|
33
|
+
const validationSchema = fields.reduce((acc, field) => {
|
|
34
|
+
const validate = getFieldValidate(field);
|
|
35
|
+
if (validate)
|
|
36
|
+
acc[field.id] = validate;
|
|
37
|
+
return acc;
|
|
38
|
+
}, {});
|
|
39
|
+
return Yup.object(validationSchema);
|
|
40
|
+
};
|
|
41
|
+
const createArrayValidateSchema = (fields) => {
|
|
42
|
+
return Yup.array().of(createValidateSchema(fields));
|
|
43
|
+
};
|
|
44
|
+
const [defaultValues, setDefaultValues] = useState(getFieldsDefaultValues(fields));
|
|
45
|
+
const [validateSchema, setValidateSchema] = useState(createValidateSchema(fields));
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
setDefaultValues(getFieldsDefaultValues(fields));
|
|
48
|
+
setValidateSchema(createValidateSchema(fields));
|
|
49
|
+
}, [fields]);
|
|
50
|
+
const formik = useFormik({
|
|
51
|
+
initialValues: defaultValues,
|
|
52
|
+
validationSchema: validateSchema,
|
|
53
|
+
onSubmit: async (values) => {
|
|
54
|
+
onSubmit && (await onSubmit(values));
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
return (React.createElement(FormikProvider, { value: formik },
|
|
58
|
+
React.createElement(Form, { className: formClass ? ` ${formClass}` : "" }, children)));
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=_template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_template.js","sourceRoot":"","sources":["../../../../lib/nvs-dynamic-form/formikForm/_template.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_type.js","sourceRoot":"","sources":["../../../../lib/nvs-dynamic-form/formikForm/_type.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./_template";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/nvs-dynamic-form/formikForm/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { FieldType } from "../_type";
|
|
2
|
+
import { IFormElement } from "../elements/field";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { ReactNode } from "react";
|
|
5
|
+
export declare class GenerateFormContentUtils {
|
|
6
|
+
private readonly containerComponent;
|
|
7
|
+
private readonly formElements;
|
|
8
|
+
private readonly useContainersOutsideGroup;
|
|
9
|
+
private readonly useGroupContainer;
|
|
10
|
+
private readonly containerVisible;
|
|
11
|
+
private readonly fields;
|
|
12
|
+
private readonly containerOptions;
|
|
13
|
+
private readonly buttonComponent?;
|
|
14
|
+
constructor({ containerComponent, formElements, useContainersOutsideGroup, useGroupContainer, containerVisible, fields, containerOptions, buttonComponent, }: {
|
|
15
|
+
containerComponent: React.FC<any>;
|
|
16
|
+
formElements: IFormElement;
|
|
17
|
+
useContainersOutsideGroup: boolean;
|
|
18
|
+
useGroupContainer: boolean;
|
|
19
|
+
containerVisible: boolean;
|
|
20
|
+
fields: Array<FieldType>;
|
|
21
|
+
buttonComponent?: React.FC<any>;
|
|
22
|
+
containerOptions?: {
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
createContainer(content: ReactNode, containerProps: object): React.JSX.Element;
|
|
27
|
+
createFormContent(): React.JSX.Element;
|
|
28
|
+
createFormElements(fields: Array<FieldType>): JSX.Element[];
|
|
29
|
+
createContentContainer(formElements: ReactNode): React.JSX.Element;
|
|
30
|
+
private getSingleFields;
|
|
31
|
+
private getGroupFields;
|
|
32
|
+
private createSingleFieldsElements;
|
|
33
|
+
private createGroupFieldsElements;
|
|
34
|
+
private createSingleFieldElement;
|
|
35
|
+
private createGroupFieldElement;
|
|
36
|
+
private createArrayFieldElement;
|
|
37
|
+
private isSingleField;
|
|
38
|
+
private createFormGroup;
|
|
39
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ArrayField, GroupField } from "../../types";
|
|
2
|
+
import { ArrayField as ArrayFieldElement } from "../elements/arrayField";
|
|
3
|
+
import { Container } from "../elements/container";
|
|
4
|
+
import { Field } from "../elements/field";
|
|
5
|
+
import { GroupField as GroupFieldElement } from "../elements/groupField";
|
|
6
|
+
import React from "react";
|
|
7
|
+
export class GenerateFormContentUtils {
|
|
8
|
+
constructor({ containerComponent, formElements, useContainersOutsideGroup, useGroupContainer, containerVisible, fields, containerOptions, buttonComponent, }) {
|
|
9
|
+
this.containerComponent = containerComponent;
|
|
10
|
+
this.formElements = formElements;
|
|
11
|
+
this.useContainersOutsideGroup = useContainersOutsideGroup;
|
|
12
|
+
this.useGroupContainer = useGroupContainer;
|
|
13
|
+
this.containerVisible = containerVisible;
|
|
14
|
+
this.fields = fields;
|
|
15
|
+
this.containerOptions = containerOptions || {};
|
|
16
|
+
this.buttonComponent = buttonComponent;
|
|
17
|
+
}
|
|
18
|
+
createContainer(content, containerProps) {
|
|
19
|
+
return (React.createElement(Container, { containerComponent: this.containerComponent, options: containerProps }, content));
|
|
20
|
+
}
|
|
21
|
+
createFormContent() {
|
|
22
|
+
const singleFields = this.createSingleFieldsElements();
|
|
23
|
+
const groupFields = this.createGroupFieldsElements();
|
|
24
|
+
let formContent;
|
|
25
|
+
if (this.containerVisible && this.useContainersOutsideGroup && singleFields)
|
|
26
|
+
formContent = (React.createElement(React.Fragment, null,
|
|
27
|
+
this.createContainer(singleFields, this.containerOptions),
|
|
28
|
+
groupFields));
|
|
29
|
+
else
|
|
30
|
+
formContent = this.createFormGroup(React.createElement(React.Fragment, null,
|
|
31
|
+
singleFields,
|
|
32
|
+
groupFields));
|
|
33
|
+
return formContent;
|
|
34
|
+
}
|
|
35
|
+
createFormElements(fields) {
|
|
36
|
+
const fieldsElements = [];
|
|
37
|
+
for (const field of fields) {
|
|
38
|
+
if (field instanceof GroupField)
|
|
39
|
+
fieldsElements.push(this.createGroupFieldElement(field));
|
|
40
|
+
else if (field instanceof ArrayField)
|
|
41
|
+
fieldsElements.push(this.createArrayFieldElement(field));
|
|
42
|
+
else
|
|
43
|
+
fieldsElements.push(this.createSingleFieldElement(field));
|
|
44
|
+
}
|
|
45
|
+
return fieldsElements;
|
|
46
|
+
}
|
|
47
|
+
createContentContainer(formElements) {
|
|
48
|
+
return (React.createElement("div", { className: "nvs-container-fluid" },
|
|
49
|
+
React.createElement("div", { className: "nvs-row" }, formElements)));
|
|
50
|
+
}
|
|
51
|
+
getSingleFields() {
|
|
52
|
+
return this.fields.filter((field) => this.isSingleField(field));
|
|
53
|
+
}
|
|
54
|
+
getGroupFields() {
|
|
55
|
+
return this.fields.filter((field) => !this.isSingleField(field));
|
|
56
|
+
}
|
|
57
|
+
createSingleFieldsElements() {
|
|
58
|
+
const singleFields = this.getSingleFields();
|
|
59
|
+
return (singleFields.length > 0 &&
|
|
60
|
+
this.createContentContainer(this.createFormElements(singleFields)));
|
|
61
|
+
}
|
|
62
|
+
createGroupFieldsElements() {
|
|
63
|
+
const groupFields = this.getGroupFields();
|
|
64
|
+
return groupFields.length > 0 && this.createFormElements(groupFields);
|
|
65
|
+
}
|
|
66
|
+
createSingleFieldElement(field) {
|
|
67
|
+
return (React.createElement(Field, { key: field.id, formElements: this.formElements, field: field }));
|
|
68
|
+
}
|
|
69
|
+
createGroupFieldElement(field) {
|
|
70
|
+
return (React.createElement(GroupFieldElement, { key: field.id, formElements: this.formElements, field: field, containerComponent: this.containerComponent, useContainersOutsideGroup: this.useContainersOutsideGroup, useGroupContainer: this.useGroupContainer, containerVisible: this.containerVisible }));
|
|
71
|
+
}
|
|
72
|
+
createArrayFieldElement(field) {
|
|
73
|
+
return (React.createElement(ArrayFieldElement, { key: field.id, formElements: this.formElements, field: field, containerComponent: this.containerComponent, useContainersOutsideGroup: this.useContainersOutsideGroup, useGroupContainer: this.useGroupContainer, containerVisible: this.containerVisible, buttonComponent: this.buttonComponent }));
|
|
74
|
+
}
|
|
75
|
+
isSingleField(field) {
|
|
76
|
+
return !(field instanceof GroupField &&
|
|
77
|
+
field.containerVisible &&
|
|
78
|
+
this.useGroupContainer &&
|
|
79
|
+
this.containerVisible);
|
|
80
|
+
}
|
|
81
|
+
createFormGroup(formContent) {
|
|
82
|
+
return React.createElement("div", { className: "df-form-group" }, formContent);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=generateFormContentUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateFormContentUtils.js","sourceRoot":"","sources":["../../../../lib/nvs-dynamic-form/services/generateFormContentUtils.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class ArrayFieldButton {
|
|
2
|
+
label?: string;
|
|
3
|
+
options?: {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
};
|
|
6
|
+
constructor(options: ArrayFieldButton);
|
|
7
|
+
}
|
|
8
|
+
export declare class ArrayFieldRemoveButton extends ArrayFieldButton {
|
|
9
|
+
position?: "bottom" | "right";
|
|
10
|
+
constructor(options: ArrayFieldRemoveButton);
|
|
11
|
+
}
|
|
12
|
+
export declare class ArrayFieldAddButton extends ArrayFieldButton {
|
|
13
|
+
constructor(options: ArrayFieldRemoveButton);
|
|
14
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class ArrayFieldButton {
|
|
2
|
+
constructor(options) {
|
|
3
|
+
this.label = options.label;
|
|
4
|
+
this.options = options.options ?? {};
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class ArrayFieldRemoveButton extends ArrayFieldButton {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
options.label = options.label ?? "-";
|
|
10
|
+
super(options);
|
|
11
|
+
this.position = options.position ?? "right";
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class ArrayFieldAddButton extends ArrayFieldButton {
|
|
15
|
+
constructor(options) {
|
|
16
|
+
options.label = options.label ?? "+";
|
|
17
|
+
super(options);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=array-field-action-button.type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-field-action-button.type.js","sourceRoot":"","sources":["../../../lib/types/array-field-action-button.type.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAgB;IAI3B,YAAY,OAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,gBAAgB;IAG1D,YAAY,OAA+B;QACzC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,YAAY,OAA+B;QACzC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ArrayFieldAddButton, ArrayFieldRemoveButton } from "./array-field-action-button.type";
|
|
2
|
+
import { FieldBase } from "./field-base.type";
|
|
3
|
+
export declare class ArrayField<ValueType = {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}> {
|
|
6
|
+
fieldType?: string;
|
|
7
|
+
id: string;
|
|
8
|
+
fields: Array<FieldBase<any>>;
|
|
9
|
+
addButtonOptions?: ArrayFieldAddButton;
|
|
10
|
+
removeButtonOptions?: ArrayFieldRemoveButton;
|
|
11
|
+
defaultValues?: Array<ValueType>;
|
|
12
|
+
constructor(options: ArrayField<ValueType>);
|
|
13
|
+
}
|