@axdspub/axiom-ui-forms 0.3.4 → 0.3.5
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/library/axiom-ui-forms.d.ts +31 -18
- package/library/esm/_virtual/index10.js +2 -2
- package/library/esm/_virtual/index11.js +2 -2
- package/library/esm/_virtual/index12.js +2 -2
- package/library/esm/_virtual/index3.js +2 -2
- package/library/esm/_virtual/index4.js +2 -2
- package/library/esm/_virtual/index5.js +2 -2
- package/library/esm/_virtual/index9.js +2 -2
- package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js +2 -2
- package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js.map +1 -1
- package/library/esm/node_modules/ajv/dist/compile/codegen/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/compile/validate/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/core/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/format/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/validation/index.js +1 -1
- package/library/esm/src/Form/Components/FieldCreator.js +75 -31
- package/library/esm/src/Form/Components/FieldCreator.js.map +1 -1
- package/library/esm/src/Form/Components/FieldLabel.js +80 -23
- package/library/esm/src/Form/Components/FieldLabel.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/Boolean.js +5 -2
- package/library/esm/src/Form/Components/Inputs/Boolean.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/Constant.js +2 -2
- package/library/esm/src/Form/Components/Inputs/Constant.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/Number.js +1 -2
- package/library/esm/src/Form/Components/Inputs/Number.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/Object.js +32 -7
- package/library/esm/src/Form/Components/Inputs/Object.js.map +1 -1
- package/library/esm/src/Form/Creator/FormCreator.js +4 -4
- package/library/esm/src/Form/Creator/FormCreator.js.map +1 -1
- package/library/esm/src/Form/Creator/FormFields.js +1 -1
- package/library/esm/src/Form/Creator/FormFields.js.map +1 -1
- package/library/esm/src/Form/Creator/FormHeader.js +2 -1
- package/library/esm/src/Form/Creator/FormHeader.js.map +1 -1
- package/library/esm/src/Form/Creator/FormSection.js +1 -1
- package/library/esm/src/Form/Creator/FormSection.js.map +1 -1
- package/library/esm/src/Form/Creator/Wizard.js +3 -3
- package/library/esm/src/Form/Creator/Wizard.js.map +1 -1
- package/library/esm/src/utils/getters.js +36 -6
- package/library/esm/src/utils/getters.js.map +1 -1
- package/library/esm/src/utils/manipulators.js +28 -12
- package/library/esm/src/utils/manipulators.js.map +1 -1
- package/library/esm/src/utils/validators.js +21 -9
- package/library/esm/src/utils/validators.js.map +1 -1
- package/package.json +4 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
import { __assign } from '../../node_modules/tslib/tslib.es6.js';
|
2
|
-
import {
|
2
|
+
import { getPathFromField, getFieldsFromFormSection, getFieldValue } from './getters.js';
|
3
3
|
import { checkCondition } from './validators.js';
|
4
4
|
import merge from '../../node_modules/lodash-es/merge.js';
|
5
5
|
import set from '../../node_modules/lodash-es/set.js';
|
@@ -20,7 +20,9 @@ var addFieldPath = function (field, parentPath) {
|
|
20
20
|
return addFieldPath(childField, (_a = field.path) === null || _a === void 0 ? void 0 : _a.slice());
|
21
21
|
});
|
22
22
|
}
|
23
|
-
return field
|
23
|
+
// return field
|
24
|
+
return field.multiple ? structuredClone(field) : field;
|
25
|
+
// return structuredClone(field)
|
24
26
|
};
|
25
27
|
function addPathsToFormSections(section) {
|
26
28
|
if (section.pages !== undefined) {
|
@@ -83,10 +85,19 @@ function cleanFormValuesLevel(formValues, fields, formValuesPath) {
|
|
83
85
|
var _a;
|
84
86
|
var path = formValuesPath !== '' ? "".concat(formValuesPath, ".").concat(key) : key;
|
85
87
|
var field = fields === null || fields === void 0 ? void 0 : fields.find(function (f) { return getPathFromField(f) === path; });
|
88
|
+
if ((field === null || field === void 0 ? void 0 : field.type) === 'object' && (field === null || field === void 0 ? void 0 : field.multiple) === true && Array.isArray(formValuesCopy[key])) {
|
89
|
+
return formValuesCopy[key].map(function (value, index) {
|
90
|
+
var checkedOneOfMultiple = checkCondition(field, value);
|
91
|
+
if (!checkedOneOfMultiple.pass && checkedOneOfMultiple.result === 'include') {
|
92
|
+
return undefined;
|
93
|
+
}
|
94
|
+
return value;
|
95
|
+
});
|
96
|
+
}
|
86
97
|
var checkedCondition = field !== undefined
|
87
98
|
? checkCondition(field, formValues)
|
88
|
-
: { pass: true, result: '
|
89
|
-
if (field !== undefined && ((!checkedCondition.pass && checkedCondition.result === '
|
99
|
+
: { pass: true, result: 'include' };
|
100
|
+
if (field !== undefined && ((!checkedCondition.pass && checkedCondition.result === 'include') || (checkedCondition.pass && checkedCondition.result === 'exclude'))) {
|
90
101
|
formValuesCopy[key] = undefined;
|
91
102
|
// this ensures that objects that are the result of mapping get checked
|
92
103
|
// but fields that are not explicitly defined as objects but may contain objects
|
@@ -142,15 +153,20 @@ var assignDefaultValuesToFormValues = function (form, formValues) {
|
|
142
153
|
return formValuesCopy;
|
143
154
|
};
|
144
155
|
var assignIndexToField = function (field, index) {
|
145
|
-
return __assign(__assign({}, field), { index: index });
|
156
|
+
return __assign(__assign({}, field), { path: undefined, index: index });
|
146
157
|
};
|
147
|
-
var assignIndexToFields = function (parentField, index) {
|
158
|
+
var assignIndexToFields = function (parentField, indexField, index, level) {
|
148
159
|
return parentField.fields.map(function (f) {
|
149
|
-
if (f.path !== undefined &&
|
160
|
+
if (f.path !== undefined && level !== undefined && f.path[level] !== undefined) {
|
150
161
|
var newPath = f.path.slice();
|
151
|
-
newPath[
|
162
|
+
newPath[level] = assignIndexToField(indexField, index);
|
152
163
|
f.path = newPath;
|
153
164
|
}
|
165
|
+
if (f.type === 'object' && f.fields !== undefined) {
|
166
|
+
f.fields = assignIndexToFields(f, indexField, index, level);
|
167
|
+
return f.multiple ? structuredClone(f) : f;
|
168
|
+
// return structuredClone(f)
|
169
|
+
}
|
154
170
|
return __assign({}, f);
|
155
171
|
});
|
156
172
|
};
|
@@ -160,15 +176,15 @@ var createOneOfMultipleField = function (field, index) {
|
|
160
176
|
var last = assignIndexToField(path[path.length - 1], index);
|
161
177
|
path[path.length - 1] = last;
|
162
178
|
if (last.type === 'object' && last.fields !== undefined) {
|
163
|
-
last.fields = assignIndexToFields(last, index);
|
179
|
+
last.fields = assignIndexToFields(last, last, index, last.level !== undefined ? (last.level - 1) : undefined);
|
164
180
|
}
|
165
181
|
}
|
166
|
-
var out = __assign(__assign({}, field), { path: path, index: index, required: false, label: index > 0 ? null : field.label, id: "".concat(field.id, "-").concat(index) });
|
182
|
+
var out = __assign(__assign({}, field), { path: path, index: index, required: false, label: index > 0 ? null : field.label, description: index > 0 ? null : field.description, long_description: index > 0 ? null : field.long_description, id: "".concat(field.id, "-").concat(index) });
|
167
183
|
if (field.type === 'object' && field.fields !== undefined && out.type === 'object') {
|
168
|
-
out.fields = assignIndexToFields(field, index);
|
184
|
+
out.fields = assignIndexToFields(field, field, index);
|
169
185
|
}
|
170
186
|
return out;
|
171
187
|
};
|
172
188
|
|
173
|
-
export { addFieldPath, assignDefaultValuesToFormValues, cleanAndUpdateFormValuesWithFieldValue, cleanUnusedDependenciesFromFormValues, copyAndAddPathToFields, copyAndRemovePathFromFields, createOneOfMultipleField, updateFormValuesWithFieldValue, updateFormValuesWithFieldValueInPlace };
|
189
|
+
export { addFieldPath, assignDefaultValuesToFormValues, cleanAndUpdateFormValuesWithFieldValue, cleanFormValuesLevel, cleanUnusedDependenciesFromFormValues, copyAndAddPathToFields, copyAndRemovePathFromFields, createOneOfMultipleField, updateFormValuesWithFieldValue, updateFormValuesWithFieldValueInPlace };
|
174
190
|
//# sourceMappingURL=manipulators.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"manipulators.js","sources":["../../../../src/utils/manipulators.ts"],"sourcesContent":["import { type IFormSection, type IPage, type IWizardStep, type IFormField, type IForm, type IValueType, type IFormValues, type IObjectField } from '@/Form/Creator/FormCreatorTypes'\r\nimport { getFieldsFromFormSection, getFieldValue, getPathFromField } from '@/utils/getters'\r\nimport { checkCondition } from '@/utils/validators'\r\nimport { merge, set } from 'lodash-es'\r\n\r\nexport const addFieldPath = (field: IFormField, parentPath?: IFormField[]): IFormField => {\r\n if (field.type === 'object' && field.skip_path === true) {\r\n field.path = parentPath !== undefined ? parentPath.slice() : []\r\n field.level = parentPath !== undefined ? parentPath.length : 0\r\n } else {\r\n const newSegment = field // `${field.id}${field.multiple === true ? '[]' : ''}`\r\n field.path = parentPath !== undefined ? parentPath.slice().concat(newSegment) : [newSegment]\r\n field.level = parentPath !== undefined ? parentPath.length + 1 : 1\r\n }\r\n if ((field.type === 'object' || field.type === 'section') && field.fields !== undefined) {\r\n field.fields = field.fields.map(childField => {\r\n return addFieldPath(childField, field.path?.slice())\r\n })\r\n }\r\n return field\r\n}\r\n\r\nfunction addPathsToFormSections (section: IFormSection): IFormSection {\r\n if (section.pages !== undefined) {\r\n section.pages = section.pages.map(page => {\r\n return addPathsToFormSections(page)\r\n }) as IPage[]\r\n }\r\n if (section.wizard_steps !== undefined) {\r\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\r\n return addPathsToFormSections(wizardStep)\r\n }) as IWizardStep[]\r\n }\r\n if (section.fields !== undefined) {\r\n section.fields = section.fields.map(field => {\r\n return addFieldPath(field)\r\n })\r\n }\r\n return section\r\n}\r\n\r\nexport function copyAndAddPathToFields (formOrContainer: IFormSection | IForm): IForm {\r\n const form = addPathsToFormSections(structuredClone(formOrContainer)) as IForm\r\n return form\r\n}\r\n\r\nfunction removeFieldPath (field: IFormField): IFormField {\r\n field.path = undefined\r\n field.level = undefined\r\n if (field.type === 'object' && field.fields !== undefined) {\r\n field.fields = field.fields.map(childField => {\r\n return removeFieldPath(childField)\r\n })\r\n }\r\n\r\n return field\r\n}\r\n\r\nfunction removePathsFromFormSections (section: IFormSection): IFormSection {\r\n if (section.pages !== undefined) {\r\n section.pages = section.pages.map(page => {\r\n return removePathsFromFormSections(page)\r\n }) as IPage[]\r\n }\r\n if (section.wizard_steps !== undefined) {\r\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\r\n return removePathsFromFormSections(wizardStep)\r\n }) as IWizardStep[]\r\n }\r\n if (section.fields !== undefined) {\r\n section.fields = section.fields.map(field => {\r\n return removeFieldPath(field)\r\n })\r\n }\r\n return section\r\n}\r\n\r\nexport function copyAndRemovePathFromFields (formOrContainer: IFormSection | IForm): IForm {\r\n const form = removePathsFromFormSections(structuredClone(formOrContainer)) as IForm\r\n return form\r\n}\r\n\r\nfunction cleanFormValuesLevel (formValues: IFormValues, fields: IFormField[], formValuesPath: string = ''): IFormValues {\r\n const formValuesCopy = structuredClone(formValues)\r\n Object.keys(formValues).forEach(key => {\r\n const path = formValuesPath !== '' ? `${formValuesPath}.${key}` : key\r\n const field = fields?.find(f => getPathFromField(f) === path)\r\n const checkedCondition = field !== undefined\r\n ? checkCondition(field, formValues)\r\n : { pass: true, result: 'remove' }\r\n if (field !== undefined && (\r\n (\r\n !checkedCondition.pass && checkedCondition.result === 'remove'\r\n ) || (\r\n checkedCondition.pass && checkedCondition.result === 'add'\r\n )\r\n )) {\r\n formValuesCopy[key] = undefined\r\n // this ensures that objects that are the result of mapping get checked\r\n // but fields that are not explicitly defined as objects but may contain objects\r\n // are not checked (geom, json, etc)\r\n } else if (typeof formValuesCopy[key] === 'object' && (\r\n field?.type === 'object' || field === undefined\r\n )) {\r\n formValuesCopy[key] = cleanFormValuesLevel((formValuesCopy[key] ?? {}) as IFormValues, fields, path)\r\n } else if (field === undefined) {\r\n formValuesCopy[key] = undefined\r\n }\r\n })\r\n // const fieldIds = fields.map(f => getPathFromField(f))\r\n // return Object.fromEntries(Object.entries(formValuesCopy).filter(([key]) => fieldIds.includes(formValuesPath !== '' ? `${formValuesPath}.${key}` : key)))\r\n return formValuesCopy\r\n}\r\n\r\nexport function cleanUnusedDependenciesFromFormValues (form: IForm, formValues: IFormValues): IFormValues {\r\n const fields = getFieldsFromFormSection(form)\r\n const newFormValues = cleanFormValuesLevel(formValues, fields)\r\n return newFormValues\r\n}\r\n\r\nexport function updateFormValuesWithFieldValueInPlace (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): void {\r\n const fieldPath = getPathFromField(field)\r\n if (fieldPath === undefined) {\r\n merge(formValues, newValue)\r\n } else {\r\n set(formValues, fieldPath ?? '', newValue)\r\n }\r\n}\r\n\r\nexport function updateFormValuesWithFieldValue (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): IFormValues {\r\n const formValuesCopy = structuredClone(formValues)\r\n updateFormValuesWithFieldValueInPlace(field, newValue, formValuesCopy)\r\n return formValuesCopy\r\n}\r\n\r\nexport function cleanAndUpdateFormValuesWithFieldValue ({\r\n field,\r\n form,\r\n value,\r\n formValues\r\n}: {\r\n field: IFormField\r\n form: IForm\r\n value: IValueType | IValueType[]\r\n formValues: IFormValues\r\n}): IFormValues {\r\n const updatedFormValuesCopyPreClean = updateFormValuesWithFieldValue(\r\n field,\r\n value,\r\n formValues\r\n )\r\n const cleanedFormValues = cleanUnusedDependenciesFromFormValues(form, updatedFormValuesCopyPreClean)\r\n // re-assigning the form values lets it be cleaned above, and re-assigned below if the value is uses the same path as a removed value\r\n // initial use case: multiple geometry fields with each shape type as pre-set draw type and a second field that determines the draw type\r\n const formValuesCopyClean = updateFormValuesWithFieldValue(\r\n field,\r\n value,\r\n cleanedFormValues\r\n )\r\n return formValuesCopyClean\r\n}\r\n\r\nexport const assignDefaultValuesToFormValues = (form: IForm, formValues: IFormValues): IFormValues => {\r\n const formValuesCopy = structuredClone(formValues)\r\n const formWithPaths = copyAndAddPathToFields(form)\r\n getFieldsFromFormSection(formWithPaths).forEach(field => {\r\n if (field.defaultValue !== undefined && getFieldValue(field, formValuesCopy) === undefined) {\r\n updateFormValuesWithFieldValueInPlace(field, field.defaultValue, formValuesCopy)\r\n }\r\n })\r\n return formValuesCopy\r\n}\r\n\r\nconst assignIndexToField = (field: IFormField, index: number): IFormField => {\r\n return {\r\n ...field,\r\n index\r\n }\r\n}\r\n\r\nconst assignIndexToFields = (parentField: IObjectField, index: number): IFormField[] => {\r\n return parentField.fields.map(f => {\r\n if (f.path !== undefined && parentField.level !== undefined && f.path[parentField.level - 1] !== undefined) {\r\n const newPath = f.path.slice()\r\n newPath[parentField.level - 1] = {\r\n ...parentField,\r\n index\r\n }\r\n f.path = newPath\r\n }\r\n return {\r\n ...f\r\n }\r\n })\r\n}\r\n\r\nexport const createOneOfMultipleField = (field: IFormField, index: number): IFormField => {\r\n const path = field.path ? field.path.slice() : undefined\r\n if (path !== undefined) {\r\n const last = assignIndexToField(path[path.length - 1], index)\r\n path[path.length - 1] = last\r\n if (last.type === 'object' && last.fields !== undefined) {\r\n last.fields = assignIndexToFields(last, index)\r\n }\r\n }\r\n\r\n const out = {\r\n ...field,\r\n path,\r\n index,\r\n required: false,\r\n label: index > 0 ? null : field.label,\r\n id: `${field.id}-${index}`\r\n }\r\n\r\n if (field.type === 'object' && field.fields !== undefined && out.type === 'object') {\r\n out.fields = assignIndexToFields(field, index)\r\n }\r\n return out\r\n}\r\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"manipulators.js","sources":["../../../../src/utils/manipulators.ts"],"sourcesContent":["import { type IFormSection, type IPage, type IWizardStep, type IFormField, type IForm, type IValueType, type IFormValues, type IObjectField } from '@/Form/Creator/FormCreatorTypes'\r\nimport { getFieldsFromFormSection, getFieldValue, getPathFromField } from '@/utils/getters'\r\nimport { checkCondition } from '@/utils/validators'\r\nimport { merge, set } from 'lodash-es'\r\n\r\nexport const addFieldPath = (field: IFormField, parentPath?: IFormField[]): IFormField => {\r\n if (field.type === 'object' && field.skip_path === true) {\r\n field.path = parentPath !== undefined ? parentPath.slice() : []\r\n field.level = parentPath !== undefined ? parentPath.length : 0\r\n } else {\r\n const newSegment = field // `${field.id}${field.multiple === true ? '[]' : ''}`\r\n field.path = parentPath !== undefined ? parentPath.slice().concat(newSegment) : [newSegment]\r\n field.level = parentPath !== undefined ? parentPath.length + 1 : 1\r\n }\r\n if ((field.type === 'object' || field.type === 'section') && field.fields !== undefined) {\r\n field.fields = field.fields.map(childField => {\r\n return addFieldPath(childField, field.path?.slice())\r\n })\r\n }\r\n // return field\r\n return field.multiple ? structuredClone(field) : field\r\n // return structuredClone(field)\r\n}\r\n\r\nfunction addPathsToFormSections (section: IFormSection): IFormSection {\r\n if (section.pages !== undefined) {\r\n section.pages = section.pages.map(page => {\r\n return addPathsToFormSections(page)\r\n }) as IPage[]\r\n }\r\n if (section.wizard_steps !== undefined) {\r\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\r\n return addPathsToFormSections(wizardStep)\r\n }) as IWizardStep[]\r\n }\r\n if (section.fields !== undefined) {\r\n section.fields = section.fields.map(field => {\r\n return addFieldPath(field)\r\n })\r\n }\r\n return section\r\n}\r\n\r\nexport function copyAndAddPathToFields (formOrContainer: IFormSection | IForm): IForm {\r\n const form = addPathsToFormSections(structuredClone(formOrContainer)) as IForm\r\n return form\r\n}\r\n\r\nfunction removeFieldPath (field: IFormField): IFormField {\r\n field.path = undefined\r\n field.level = undefined\r\n if (field.type === 'object' && field.fields !== undefined) {\r\n field.fields = field.fields.map(childField => {\r\n return removeFieldPath(childField)\r\n })\r\n }\r\n\r\n return field\r\n}\r\n\r\nfunction removePathsFromFormSections (section: IFormSection): IFormSection {\r\n if (section.pages !== undefined) {\r\n section.pages = section.pages.map(page => {\r\n return removePathsFromFormSections(page)\r\n }) as IPage[]\r\n }\r\n if (section.wizard_steps !== undefined) {\r\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\r\n return removePathsFromFormSections(wizardStep)\r\n }) as IWizardStep[]\r\n }\r\n if (section.fields !== undefined) {\r\n section.fields = section.fields.map(field => {\r\n return removeFieldPath(field)\r\n })\r\n }\r\n return section\r\n}\r\n\r\nexport function copyAndRemovePathFromFields (formOrContainer: IFormSection | IForm): IForm {\r\n const form = removePathsFromFormSections(structuredClone(formOrContainer)) as IForm\r\n return form\r\n}\r\n\r\nexport function cleanFormValuesLevel (formValues: IFormValues, fields: IFormField[], formValuesPath: string = ''): IFormValues {\r\n const formValuesCopy = structuredClone(formValues)\r\n Object.keys(formValues).forEach(key => {\r\n const path = formValuesPath !== '' ? `${formValuesPath}.${key}` : key\r\n const field = fields?.find(f => getPathFromField(f) === path)\r\n if (field?.type === 'object' && field?.multiple === true && Array.isArray(formValuesCopy[key])) {\r\n return formValuesCopy[key].map((value, index) => {\r\n const checkedOneOfMultiple = checkCondition(field, value as IFormValues)\r\n if (!checkedOneOfMultiple.pass && checkedOneOfMultiple.result === 'include') {\r\n return undefined\r\n }\r\n return value\r\n })\r\n }\r\n const checkedCondition = field !== undefined\r\n ? checkCondition(field, formValues)\r\n : { pass: true, result: 'include' }\r\n if (field !== undefined && (\r\n (\r\n !checkedCondition.pass && checkedCondition.result === 'include'\r\n ) || (\r\n checkedCondition.pass && checkedCondition.result === 'exclude'\r\n )\r\n )) {\r\n formValuesCopy[key] = undefined\r\n // this ensures that objects that are the result of mapping get checked\r\n // but fields that are not explicitly defined as objects but may contain objects\r\n // are not checked (geom, json, etc)\r\n } else if (typeof formValuesCopy[key] === 'object' && (\r\n field?.type === 'object' || field === undefined\r\n )) {\r\n formValuesCopy[key] = cleanFormValuesLevel((formValuesCopy[key] ?? {}) as IFormValues, fields, path)\r\n } else if (field === undefined) {\r\n formValuesCopy[key] = undefined\r\n }\r\n })\r\n // const fieldIds = fields.map(f => getPathFromField(f))\r\n // return Object.fromEntries(Object.entries(formValuesCopy).filter(([key]) => fieldIds.includes(formValuesPath !== '' ? `${formValuesPath}.${key}` : key)))\r\n return formValuesCopy\r\n}\r\n\r\nexport function cleanUnusedDependenciesFromFormValues (form: IForm, formValues: IFormValues): IFormValues {\r\n const fields = getFieldsFromFormSection(form)\r\n const newFormValues = cleanFormValuesLevel(formValues, fields)\r\n return newFormValues\r\n}\r\n\r\nexport function updateFormValuesWithFieldValueInPlace (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): void {\r\n const fieldPath = getPathFromField(field)\r\n if (fieldPath === undefined) {\r\n merge(formValues, newValue)\r\n } else {\r\n set(formValues, fieldPath ?? '', newValue)\r\n }\r\n}\r\n\r\nexport function updateFormValuesWithFieldValue (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): IFormValues {\r\n const formValuesCopy = structuredClone(formValues)\r\n updateFormValuesWithFieldValueInPlace(field, newValue, formValuesCopy)\r\n return formValuesCopy\r\n}\r\n\r\nexport function cleanAndUpdateFormValuesWithFieldValue ({\r\n field,\r\n form,\r\n value,\r\n formValues\r\n}: {\r\n field: IFormField\r\n form: IForm\r\n value: IValueType | IValueType[]\r\n formValues: IFormValues\r\n}): IFormValues {\r\n const updatedFormValuesCopyPreClean = updateFormValuesWithFieldValue(\r\n field,\r\n value,\r\n formValues\r\n )\r\n const cleanedFormValues = cleanUnusedDependenciesFromFormValues(form, updatedFormValuesCopyPreClean)\r\n // re-assigning the form values lets it be cleaned above, and re-assigned below if the value is uses the same path as a removed value\r\n // initial use case: multiple geometry fields with each shape type as pre-set draw type and a second field that determines the draw type\r\n const formValuesCopyClean = updateFormValuesWithFieldValue(\r\n field,\r\n value,\r\n cleanedFormValues\r\n )\r\n return formValuesCopyClean\r\n}\r\n\r\nexport const assignDefaultValuesToFormValues = (form: IForm, formValues: IFormValues): IFormValues => {\r\n const formValuesCopy = structuredClone(formValues)\r\n const formWithPaths = copyAndAddPathToFields(form)\r\n getFieldsFromFormSection(formWithPaths).forEach(field => {\r\n if (field.defaultValue !== undefined && getFieldValue(field, formValuesCopy) === undefined) {\r\n updateFormValuesWithFieldValueInPlace(field, field.defaultValue, formValuesCopy)\r\n }\r\n })\r\n return formValuesCopy\r\n}\r\n\r\nconst assignIndexToField = (field: IFormField, index: number): IFormField => {\r\n return {\r\n ...field,\r\n path: undefined,\r\n index\r\n }\r\n}\r\n\r\nconst assignIndexToFields = (parentField: IObjectField, indexField: IObjectField, index: number, level?: number): IFormField[] => {\r\n return parentField.fields.map(f => {\r\n if (f.path !== undefined && level !== undefined && f.path[level] !== undefined) {\r\n const newPath = f.path.slice()\r\n newPath[level] = assignIndexToField(indexField, index)\r\n f.path = newPath\r\n }\r\n if (f.type === 'object' && f.fields !== undefined) {\r\n f.fields = assignIndexToFields(f, indexField, index, level)\r\n return f.multiple ? structuredClone(f) : f\r\n // return structuredClone(f)\r\n }\r\n return {\r\n ...f\r\n }\r\n })\r\n}\r\n\r\nexport const createOneOfMultipleField = (field: IFormField, index: number): IFormField => {\r\n const path = field.path ? field.path.slice() : undefined\r\n if (path !== undefined) {\r\n const last = assignIndexToField(path[path.length - 1], index)\r\n path[path.length - 1] = last\r\n if (last.type === 'object' && last.fields !== undefined) {\r\n last.fields = assignIndexToFields(last, last, index, last.level !== undefined ? (last.level - 1) : undefined)\r\n }\r\n }\r\n\r\n const out = {\r\n ...field,\r\n path,\r\n index,\r\n required: false,\r\n label: index > 0 ? null : field.label,\r\n description: index > 0 ? null : field.description,\r\n long_description: index > 0 ? null : field.long_description,\r\n id: `${field.id}-${index}`\r\n }\r\n\r\n if (field.type === 'object' && field.fields !== undefined && out.type === 'object') {\r\n out.fields = assignIndexToFields(field, field, index)\r\n }\r\n return out\r\n}\r\n"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { getFieldsFromFormSection,
|
1
|
+
import { getFieldsFromFormSection, getValueFromRelativePath, getFieldValue } from './getters.js';
|
2
2
|
|
3
3
|
var compare = function (val, operator, compareTo) {
|
4
4
|
if (val === undefined || val === null) {
|
@@ -39,49 +39,61 @@ var runCheck = function (fieldValue, operator, val) {
|
|
39
39
|
: compare(fieldValue, operator || '=', val)
|
40
40
|
: (fieldValue !== null && fieldValue !== undefined && fieldValue !== false && fieldValue !== '');
|
41
41
|
};
|
42
|
-
var checkFieldCondition = function (condition, formValues) {
|
42
|
+
var checkFieldCondition = function (field, condition, formValues) {
|
43
43
|
var _a, _b, _c;
|
44
44
|
var fieldToEval = (_a = condition.field) !== null && _a !== void 0 ? _a : condition.dependsOn;
|
45
45
|
if (fieldToEval === undefined) {
|
46
46
|
console.warn('Field condition is missing field or dependsOn property');
|
47
47
|
return {
|
48
48
|
pass: true,
|
49
|
-
result: (_b = condition.result) !== null && _b !== void 0 ? _b : 'include'
|
49
|
+
result: (_b = condition.result) !== null && _b !== void 0 ? _b : 'include',
|
50
|
+
newDefaultValue: condition.newDefaultValue
|
50
51
|
};
|
51
52
|
}
|
53
|
+
if (Array.isArray(fieldToEval)) {
|
54
|
+
console.warn('Field condition dependsOn (or field) should not be an array, use conditionsSet for multiple conditions. dependsOn as array will be deprated');
|
55
|
+
}
|
52
56
|
var dependsOn = Array.isArray(fieldToEval) ? fieldToEval : [fieldToEval];
|
53
57
|
var val = condition.value;
|
54
58
|
var pass = dependsOn.every(function (d) {
|
55
59
|
var _a;
|
56
|
-
|
60
|
+
/* const fieldPathIsRelative = d.startsWith('.')
|
61
|
+
const fieldValue = getValueFromPath(d, formValues) */
|
62
|
+
var fieldValue = getValueFromRelativePath(field, d, formValues);
|
57
63
|
return runCheck(fieldValue, (_a = condition.operator) !== null && _a !== void 0 ? _a : '=', val);
|
58
64
|
});
|
59
65
|
return {
|
60
66
|
pass: pass,
|
61
|
-
result: (_c = condition.result) !== null && _c !== void 0 ? _c : 'include'
|
67
|
+
result: (_c = condition.result) !== null && _c !== void 0 ? _c : 'include',
|
68
|
+
newDefaultValue: condition.newDefaultValue
|
62
69
|
};
|
63
70
|
};
|
64
71
|
var checkCondition = function (field, formValues) {
|
72
|
+
var _a, _b;
|
65
73
|
var pass = true;
|
66
74
|
var result;
|
75
|
+
var newDefaultValue;
|
67
76
|
if (field.conditionsSet !== undefined) {
|
68
77
|
var passingConditions = field.conditionsSet.conditions.filter(function (c) {
|
69
|
-
var result = checkFieldCondition(c, formValues);
|
78
|
+
var result = checkFieldCondition(field, c, formValues);
|
70
79
|
return result.pass;
|
71
80
|
});
|
72
81
|
pass = field.conditionsSet.logic === 'or'
|
73
82
|
? passingConditions.length > 0
|
74
83
|
: passingConditions.length === field.conditionsSet.conditions.length;
|
75
|
-
result = field.conditionsSet.result;
|
84
|
+
result = pass ? ((_a = passingConditions[passingConditions.length - 1].result) !== null && _a !== void 0 ? _a : field.conditionsSet.result) : undefined;
|
85
|
+
newDefaultValue = pass ? (_b = passingConditions[passingConditions.length - 1].newDefaultValue) !== null && _b !== void 0 ? _b : field.conditionsSet.newDefaultValue : undefined;
|
76
86
|
}
|
77
87
|
if (field.conditions !== undefined && pass) {
|
78
|
-
var f = checkFieldCondition(field.conditions, formValues);
|
88
|
+
var f = checkFieldCondition(field, field.conditions, formValues);
|
79
89
|
pass = f.pass;
|
80
90
|
result = field.conditions.result;
|
91
|
+
newDefaultValue = f.newDefaultValue;
|
81
92
|
}
|
82
93
|
return {
|
83
94
|
pass: pass,
|
84
|
-
result: result !== null && result !== void 0 ? result : 'include'
|
95
|
+
result: result !== null && result !== void 0 ? result : 'include',
|
96
|
+
newDefaultValue: newDefaultValue
|
85
97
|
};
|
86
98
|
};
|
87
99
|
var testField = function (field, formValues) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validators.js","sources":["../../../../src/utils/validators.ts"],"sourcesContent":["import { type IFormSectionStatus } from '@/Form/Creator/FormCreator'\r\nimport { type IFormValues, type IFormField, type IFormSection, type IFieldCondition, type IValueType, type IFieldConditionOperator, type IFieldConditionResult } from '@/Form/Creator/FormCreatorTypes'\r\nimport { getFieldsFromFormSection, getFieldValue, getValueFromPath } from '@/utils/getters'\r\n\r\nconst compare = (val: IValueType | IValueType[], operator: IFieldConditionOperator, compareTo: string | number | boolean): boolean => {\r\n if (val === undefined || val === null) {\r\n return operator === '!='\r\n }\r\n if (operator === '=' || operator === 'eq') {\r\n // eslint-disable-next-line eqeqeq\r\n return val == compareTo\r\n }\r\n if (operator === '>' || operator === 'gt') {\r\n return +val > +compareTo\r\n }\r\n if (operator === '>=' || operator === 'gte') {\r\n return +val >= +compareTo\r\n }\r\n if (operator === '<' || operator === 'lt') {\r\n return +val < +compareTo\r\n }\r\n if (operator === '<=' || operator === 'lte') {\r\n return +val <= +compareTo\r\n }\r\n if (operator === '!=' || operator === '!eq') {\r\n // eslint-disable-next-line eqeqeq\r\n return val != compareTo\r\n }\r\n console.warn(`Unknown operator: ${String(operator)}`)\r\n return false\r\n}\r\n\r\nconst runCheck = (\r\n fieldValue: IValueType | IValueType[],\r\n operator: IFieldConditionOperator | undefined = '=',\r\n val: string | number | boolean | undefined\r\n): boolean => {\r\n if (val === undefined) {\r\n // ignore operator if val isn't set\r\n return fieldValue !== null && fieldValue !== undefined && fieldValue !== false && fieldValue !== ''\r\n }\r\n return val !== undefined\r\n ? val === false\r\n ? (fieldValue === null || fieldValue === undefined || fieldValue === false || fieldValue === '')\r\n : compare(fieldValue, operator || '=', val)\r\n : (fieldValue !== null && fieldValue !== undefined && fieldValue !== false && fieldValue !== '')\r\n}\r\n\r\nconst checkFieldCondition = (condition: IFieldCondition, formValues: IFormValues): ICheckConditionResult => {\r\n const fieldToEval = condition.field ?? condition.dependsOn\r\n if (fieldToEval === undefined) {\r\n console.warn('Field condition is missing field or dependsOn property')\r\n return {\r\n pass: true,\r\n result: condition.result ?? 'include'\r\n }\r\n }\r\n const dependsOn = Array.isArray(fieldToEval) ? fieldToEval : [fieldToEval]\r\n const val = condition.value\r\n const pass = dependsOn.every(d => {\r\n const fieldValue = getValueFromPath(d, formValues)\r\n return runCheck(\r\n fieldValue,\r\n condition.operator ?? '=',\r\n val\r\n )\r\n })\r\n return {\r\n pass,\r\n result: condition.result ?? 'include'\r\n }\r\n}\r\n\r\ninterface ICheckConditionResult {\r\n pass: boolean\r\n result: IFieldConditionResult\r\n}\r\n\r\nexport const checkCondition = (field: IFormField, formValues: IFormValues): ICheckConditionResult => {\r\n let pass: boolean = true\r\n let result: IFieldConditionResult | undefined\r\n if (field.conditionsSet !== undefined) {\r\n const passingConditions = field.conditionsSet.conditions.filter(c => {\r\n const result = checkFieldCondition(c, formValues)\r\n return result.pass\r\n })\r\n\r\n pass = field.conditionsSet.logic === 'or'\r\n ? passingConditions.length > 0\r\n : passingConditions.length === field.conditionsSet.conditions.length\r\n\r\n result = field.conditionsSet.result\r\n }\r\n\r\n if (field.conditions !== undefined && pass) {\r\n const f = checkFieldCondition(field.conditions, formValues)\r\n pass = f.pass\r\n result = field.conditions.result\r\n }\r\n\r\n return {\r\n pass,\r\n result: result ?? 'include'\r\n }\r\n}\r\n\r\nconst testField = (field: IFormField, formValues: IFormValues): boolean => {\r\n const val = getFieldValue(field, formValues)\r\n return val !== undefined && val !== null && val !== ''\r\n}\r\n\r\nexport const calculateSectionStatus = (sections: IFormSection[], formValues: IFormValues): IFormSectionStatus => {\r\n return Object.fromEntries(sections.map(s => {\r\n const fields = getFieldsFromFormSection(s).filter(f => f.type !== 'object')\r\n const total = fields.length\r\n const completed = fields.filter(f => testField(f, formValues)).length\r\n const required = fields.filter(f => f.required)\r\n const requiredTotal = required.length\r\n const requiredCompleted = required.filter(f => testField(f, formValues)).length\r\n const valid = requiredTotal === requiredCompleted\r\n return [s.id, { completed, total, requiredTotal, requiredCompleted, valid }]\r\n }))\r\n}\r\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"validators.js","sources":["../../../../src/utils/validators.ts"],"sourcesContent":["import { type IFormSectionStatus } from '@/Form/Creator/FormCreator'\r\nimport { type IFormValues, type IFormField, type IFormSection, type IFieldCondition, type IValueType, type IFieldConditionOperator, type IFieldConditionResult, type ICheckConditionResult } from '@/Form/Creator/FormCreatorTypes'\r\nimport { getFieldsFromFormSection, getFieldValue, getValueFromRelativePath } from '@/utils/getters'\r\n\r\nconst compare = (val: IValueType | IValueType[], operator: IFieldConditionOperator, compareTo: string | number | boolean): boolean => {\r\n if (val === undefined || val === null) {\r\n return operator === '!='\r\n }\r\n if (operator === '=' || operator === 'eq') {\r\n // eslint-disable-next-line eqeqeq\r\n return val == compareTo\r\n }\r\n if (operator === '>' || operator === 'gt') {\r\n return +val > +compareTo\r\n }\r\n if (operator === '>=' || operator === 'gte') {\r\n return +val >= +compareTo\r\n }\r\n if (operator === '<' || operator === 'lt') {\r\n return +val < +compareTo\r\n }\r\n if (operator === '<=' || operator === 'lte') {\r\n return +val <= +compareTo\r\n }\r\n if (operator === '!=' || operator === '!eq') {\r\n // eslint-disable-next-line eqeqeq\r\n return val != compareTo\r\n }\r\n console.warn(`Unknown operator: ${String(operator)}`)\r\n return false\r\n}\r\n\r\nconst runCheck = (\r\n fieldValue: IValueType | IValueType[],\r\n operator: IFieldConditionOperator | undefined = '=',\r\n val: string | number | boolean | undefined\r\n): boolean => {\r\n if (val === undefined) {\r\n // ignore operator if val isn't set\r\n return fieldValue !== null && fieldValue !== undefined && fieldValue !== false && fieldValue !== ''\r\n }\r\n return val !== undefined\r\n ? val === false\r\n ? (fieldValue === null || fieldValue === undefined || fieldValue === false || fieldValue === '')\r\n : compare(fieldValue, operator || '=', val)\r\n : (fieldValue !== null && fieldValue !== undefined && fieldValue !== false && fieldValue !== '')\r\n}\r\n\r\nconst checkFieldCondition = (field: IFormField, condition: IFieldCondition, formValues: IFormValues): ICheckConditionResult => {\r\n const fieldToEval = condition.field ?? condition.dependsOn\r\n if (fieldToEval === undefined) {\r\n console.warn('Field condition is missing field or dependsOn property')\r\n return {\r\n pass: true,\r\n result: condition.result ?? 'include',\r\n newDefaultValue: condition.newDefaultValue\r\n }\r\n }\r\n if (Array.isArray(fieldToEval)) {\r\n console.warn('Field condition dependsOn (or field) should not be an array, use conditionsSet for multiple conditions. dependsOn as array will be deprated')\r\n }\r\n const dependsOn = Array.isArray(fieldToEval) ? fieldToEval : [fieldToEval]\r\n const val = condition.value\r\n const pass = dependsOn.every(d => {\r\n /* const fieldPathIsRelative = d.startsWith('.')\r\n const fieldValue = getValueFromPath(d, formValues) */\r\n const fieldValue = getValueFromRelativePath(field, d, formValues)\r\n return runCheck(\r\n fieldValue,\r\n condition.operator ?? '=',\r\n val\r\n )\r\n })\r\n return {\r\n pass,\r\n result: condition.result ?? 'include',\r\n newDefaultValue: condition.newDefaultValue\r\n }\r\n}\r\n\r\nexport const checkCondition = (field: IFormField, formValues: IFormValues): ICheckConditionResult => {\r\n let pass: boolean = true\r\n let result: IFieldConditionResult | undefined\r\n let newDefaultValue: IValueType | IValueType[] | undefined\r\n if (field.conditionsSet !== undefined) {\r\n const passingConditions = field.conditionsSet.conditions.filter(c => {\r\n const result = checkFieldCondition(field, c, formValues)\r\n return result.pass\r\n })\r\n\r\n pass = field.conditionsSet.logic === 'or'\r\n ? passingConditions.length > 0\r\n : passingConditions.length === field.conditionsSet.conditions.length\r\n\r\n result = pass ? (passingConditions[passingConditions.length - 1].result ?? field.conditionsSet.result) : undefined\r\n newDefaultValue = pass ? passingConditions[passingConditions.length - 1].newDefaultValue ?? field.conditionsSet.newDefaultValue : undefined\r\n }\r\n\r\n if (field.conditions !== undefined && pass) {\r\n const f = checkFieldCondition(field, field.conditions, formValues)\r\n pass = f.pass\r\n result = field.conditions.result\r\n newDefaultValue = f.newDefaultValue\r\n }\r\n\r\n return {\r\n pass,\r\n result: result ?? 'include',\r\n newDefaultValue\r\n }\r\n}\r\n\r\nconst testField = (field: IFormField, formValues: IFormValues): boolean => {\r\n const val = getFieldValue(field, formValues)\r\n return val !== undefined && val !== null && val !== ''\r\n}\r\n\r\nexport const calculateSectionStatus = (sections: IFormSection[], formValues: IFormValues): IFormSectionStatus => {\r\n return Object.fromEntries(sections.map(s => {\r\n const fields = getFieldsFromFormSection(s).filter(f => f.type !== 'object')\r\n const total = fields.length\r\n const completed = fields.filter(f => testField(f, formValues)).length\r\n const required = fields.filter(f => f.required)\r\n const requiredTotal = required.length\r\n const requiredCompleted = required.filter(f => testField(f, formValues)).length\r\n const valid = requiredTotal === requiredCompleted\r\n return [s.id, { completed, total, requiredTotal, requiredCompleted, valid }]\r\n }))\r\n}\r\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@axdspub/axiom-ui-forms",
|
3
|
-
"version": "0.3.
|
3
|
+
"version": "0.3.5",
|
4
4
|
"private": false,
|
5
5
|
"type": "module",
|
6
6
|
"description": "Axiom UI Forms",
|
@@ -23,7 +23,8 @@
|
|
23
23
|
},
|
24
24
|
"dependencies": {
|
25
25
|
"@axdspub/axiom-maps": "^0.4.9",
|
26
|
-
"@axdspub/axiom-ui-
|
26
|
+
"@axdspub/axiom-ui-data-services": "^0.1.8",
|
27
|
+
"@axdspub/axiom-ui-utilities": "^0.2.2",
|
27
28
|
"@codemirror/lang-json": "^6.0.1",
|
28
29
|
"@codemirror/lang-yaml": "^6.1.2",
|
29
30
|
"@radix-ui/react-icons": "^1.3.2",
|
@@ -48,6 +49,7 @@
|
|
48
49
|
"jotai": "^2.7.0",
|
49
50
|
"jotai-tanstack-query": "^0.8.5",
|
50
51
|
"js-yaml": "^4.1.0",
|
52
|
+
"jsonpath-plus": "^10.3.0",
|
51
53
|
"lodash-es": "^4.17.21",
|
52
54
|
"lodash.set": "^4.3.2",
|
53
55
|
"postcss": "^8.5.3",
|