@trackunit/custom-field-components 0.0.736 → 0.0.741
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/index.cjs.js +6 -6
- package/index.esm.js +6 -6
- package/package.json +1 -1
- package/src/CustomField.d.ts +1 -1
package/index.cjs.js
CHANGED
|
@@ -391,8 +391,8 @@ const useUnitTranslation = () => {
|
|
|
391
391
|
* and functions for form registration and state management.
|
|
392
392
|
* @returns {JSX.Element | null} - The JSX Element for the custom field or null if the field definition is not provided.
|
|
393
393
|
*/
|
|
394
|
-
const useCustomFieldResolver = ({ field, definition, register, setValue, formState, formValue, unitPreference = "SI", language, fieldId, isEditable,
|
|
395
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
394
|
+
const useCustomFieldResolver = ({ field, definition, register, setValue, formState, formValue, unitPreference = "SI", language, fieldId, isEditable, }) => {
|
|
395
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
396
396
|
const validation = { register, setValue, formState };
|
|
397
397
|
const { unitTranslation } = useUnitTranslation();
|
|
398
398
|
const [numberValue, setNumberValue] = React.useState(() => {
|
|
@@ -418,7 +418,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
|
|
|
418
418
|
const fieldError = uniqueIdentifier ? validation.formState.errors[uniqueIdentifier] : undefined;
|
|
419
419
|
const errorMessage = fieldError ? fieldError.message + "" : undefined;
|
|
420
420
|
const { description, title } = def !== null && def !== void 0 ? def : {};
|
|
421
|
-
const isEditableCombined = isEditable !== null && isEditable !== void 0 ? isEditable : def === null || def === void 0 ? void 0 : def.uiEditable;
|
|
421
|
+
const isEditableCombined = (_e = (_d = isEditable !== null && isEditable !== void 0 ? isEditable : field === null || field === void 0 ? void 0 : field.valueEditable) !== null && _d !== void 0 ? _d : def === null || def === void 0 ? void 0 : def.uiEditable) !== null && _e !== void 0 ? _e : false;
|
|
422
422
|
switch (def.__typename) {
|
|
423
423
|
case "WebAddressFieldDefinition": {
|
|
424
424
|
const value = (field === null || field === void 0 ? void 0 : field.__typename) === "WebAddressFieldValueAndDefinition" ? field.stringValue : null;
|
|
@@ -448,7 +448,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
|
|
|
448
448
|
placeholder: title !== null && title !== void 0 ? title : "",
|
|
449
449
|
addonAfter: unitTranslation(unit),
|
|
450
450
|
};
|
|
451
|
-
return (jsxRuntime.jsx(reactFormComponents.NumberField, Object.assign({ dataTestId: `${key}`, errorMessage: errorMessage, helpText: description, id: uniqueIdentifier, label: title, max: (
|
|
451
|
+
return (jsxRuntime.jsx(reactFormComponents.NumberField, Object.assign({ dataTestId: `${key}`, errorMessage: errorMessage, helpText: description, id: uniqueIdentifier, label: title, max: (_f = def.maximumNumber) !== null && _f !== void 0 ? _f : undefined, min: (_g = def.minimumNumber) !== null && _g !== void 0 ? _g : undefined, readOnly: !isEditableCombined, step: def.isInteger ? 1 : "any" }, validation.register(uniqueIdentifier, Object.assign(Object.assign({}, rules), { value })), numberProps)));
|
|
452
452
|
}
|
|
453
453
|
case "BooleanFieldDefinition": {
|
|
454
454
|
const value = (field === null || field === void 0 ? void 0 : field.__typename) === "BooleanFieldValueAndDefinition" ? field.booleanValue : null;
|
|
@@ -458,7 +458,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
|
|
|
458
458
|
case "DropDownFieldDefinition": {
|
|
459
459
|
const value = (field === null || field === void 0 ? void 0 : field.__typename) === "DropDownFieldValueAndDefinition" ? field.stringArrayValue : null;
|
|
460
460
|
const rules = getDropdownValidationRules();
|
|
461
|
-
return (jsxRuntime.jsx(DropdownCustomField, { allValues: (
|
|
461
|
+
return (jsxRuntime.jsx(DropdownCustomField, { allValues: (_h = def.allValues) !== null && _h !== void 0 ? _h : undefined, dataTestId: `${key}`, defaultValue: value !== null && value !== void 0 ? value : undefined, disabled: !isEditableCombined, errorMessage: errorMessage, helpText: description, id: uniqueIdentifier, label: title || "", multiSelect: (_j = def.multiSelect) !== null && _j !== void 0 ? _j : false, register: validation.register, setValue: validation.setValue, validationRules: rules }));
|
|
462
462
|
}
|
|
463
463
|
case "DateFieldDefinition": {
|
|
464
464
|
const value = (field === null || field === void 0 ? void 0 : field.__typename) === "DateFieldValueAndDefinition" ? field.dateValue : null;
|
|
@@ -481,7 +481,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
|
|
|
481
481
|
const value = numberValue === undefined || numberValue === null || numberValue === ""
|
|
482
482
|
? ""
|
|
483
483
|
: parseFloat(Number(numberValue).toPrecision(4));
|
|
484
|
-
return (jsxRuntime.jsx(reactFormComponents.NumberField, Object.assign({ dataTestId: key ? key : `monetaryField`, defaultValue: value, disabled: !isEditableCombined, helpText: errorMessage || description, id: uniqueIdentifier, isInvalid: errorMessage ? true : false, label: title, max: (
|
|
484
|
+
return (jsxRuntime.jsx(reactFormComponents.NumberField, Object.assign({ dataTestId: key ? key : `monetaryField`, defaultValue: value, disabled: !isEditableCombined, helpText: errorMessage || description, id: uniqueIdentifier, isInvalid: errorMessage ? true : false, label: title, max: (_k = def.maximumNumber) !== null && _k !== void 0 ? _k : undefined, min: (_l = def.minimumNumber) !== null && _l !== void 0 ? _l : undefined, readOnly: !isEditableCombined, step: "any" }, validation.register(uniqueIdentifier, rules), { onChange: e => {
|
|
485
485
|
setNumberValue(e.target.value === "" ? null : e.target.value);
|
|
486
486
|
validation.register(uniqueIdentifier, rules).onChange(e);
|
|
487
487
|
} }, numberProps)));
|
package/index.esm.js
CHANGED
|
@@ -368,8 +368,8 @@ const useUnitTranslation = () => {
|
|
|
368
368
|
* and functions for form registration and state management.
|
|
369
369
|
* @returns {JSX.Element | null} - The JSX Element for the custom field or null if the field definition is not provided.
|
|
370
370
|
*/
|
|
371
|
-
const useCustomFieldResolver = ({ field, definition, register, setValue, formState, formValue, unitPreference = "SI", language, fieldId, isEditable,
|
|
372
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
371
|
+
const useCustomFieldResolver = ({ field, definition, register, setValue, formState, formValue, unitPreference = "SI", language, fieldId, isEditable, }) => {
|
|
372
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
373
373
|
const validation = { register, setValue, formState };
|
|
374
374
|
const { unitTranslation } = useUnitTranslation();
|
|
375
375
|
const [numberValue, setNumberValue] = useState(() => {
|
|
@@ -395,7 +395,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
|
|
|
395
395
|
const fieldError = uniqueIdentifier ? validation.formState.errors[uniqueIdentifier] : undefined;
|
|
396
396
|
const errorMessage = fieldError ? fieldError.message + "" : undefined;
|
|
397
397
|
const { description, title } = def !== null && def !== void 0 ? def : {};
|
|
398
|
-
const isEditableCombined = isEditable !== null && isEditable !== void 0 ? isEditable : def === null || def === void 0 ? void 0 : def.uiEditable;
|
|
398
|
+
const isEditableCombined = (_e = (_d = isEditable !== null && isEditable !== void 0 ? isEditable : field === null || field === void 0 ? void 0 : field.valueEditable) !== null && _d !== void 0 ? _d : def === null || def === void 0 ? void 0 : def.uiEditable) !== null && _e !== void 0 ? _e : false;
|
|
399
399
|
switch (def.__typename) {
|
|
400
400
|
case "WebAddressFieldDefinition": {
|
|
401
401
|
const value = (field === null || field === void 0 ? void 0 : field.__typename) === "WebAddressFieldValueAndDefinition" ? field.stringValue : null;
|
|
@@ -425,7 +425,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
|
|
|
425
425
|
placeholder: title !== null && title !== void 0 ? title : "",
|
|
426
426
|
addonAfter: unitTranslation(unit),
|
|
427
427
|
};
|
|
428
|
-
return (jsx(NumberField, Object.assign({ dataTestId: `${key}`, errorMessage: errorMessage, helpText: description, id: uniqueIdentifier, label: title, max: (
|
|
428
|
+
return (jsx(NumberField, Object.assign({ dataTestId: `${key}`, errorMessage: errorMessage, helpText: description, id: uniqueIdentifier, label: title, max: (_f = def.maximumNumber) !== null && _f !== void 0 ? _f : undefined, min: (_g = def.minimumNumber) !== null && _g !== void 0 ? _g : undefined, readOnly: !isEditableCombined, step: def.isInteger ? 1 : "any" }, validation.register(uniqueIdentifier, Object.assign(Object.assign({}, rules), { value })), numberProps)));
|
|
429
429
|
}
|
|
430
430
|
case "BooleanFieldDefinition": {
|
|
431
431
|
const value = (field === null || field === void 0 ? void 0 : field.__typename) === "BooleanFieldValueAndDefinition" ? field.booleanValue : null;
|
|
@@ -435,7 +435,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
|
|
|
435
435
|
case "DropDownFieldDefinition": {
|
|
436
436
|
const value = (field === null || field === void 0 ? void 0 : field.__typename) === "DropDownFieldValueAndDefinition" ? field.stringArrayValue : null;
|
|
437
437
|
const rules = getDropdownValidationRules();
|
|
438
|
-
return (jsx(DropdownCustomField, { allValues: (
|
|
438
|
+
return (jsx(DropdownCustomField, { allValues: (_h = def.allValues) !== null && _h !== void 0 ? _h : undefined, dataTestId: `${key}`, defaultValue: value !== null && value !== void 0 ? value : undefined, disabled: !isEditableCombined, errorMessage: errorMessage, helpText: description, id: uniqueIdentifier, label: title || "", multiSelect: (_j = def.multiSelect) !== null && _j !== void 0 ? _j : false, register: validation.register, setValue: validation.setValue, validationRules: rules }));
|
|
439
439
|
}
|
|
440
440
|
case "DateFieldDefinition": {
|
|
441
441
|
const value = (field === null || field === void 0 ? void 0 : field.__typename) === "DateFieldValueAndDefinition" ? field.dateValue : null;
|
|
@@ -458,7 +458,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
|
|
|
458
458
|
const value = numberValue === undefined || numberValue === null || numberValue === ""
|
|
459
459
|
? ""
|
|
460
460
|
: parseFloat(Number(numberValue).toPrecision(4));
|
|
461
|
-
return (jsx(NumberField, Object.assign({ dataTestId: key ? key : `monetaryField`, defaultValue: value, disabled: !isEditableCombined, helpText: errorMessage || description, id: uniqueIdentifier, isInvalid: errorMessage ? true : false, label: title, max: (
|
|
461
|
+
return (jsx(NumberField, Object.assign({ dataTestId: key ? key : `monetaryField`, defaultValue: value, disabled: !isEditableCombined, helpText: errorMessage || description, id: uniqueIdentifier, isInvalid: errorMessage ? true : false, label: title, max: (_k = def.maximumNumber) !== null && _k !== void 0 ? _k : undefined, min: (_l = def.minimumNumber) !== null && _l !== void 0 ? _l : undefined, readOnly: !isEditableCombined, step: "any" }, validation.register(uniqueIdentifier, rules), { onChange: e => {
|
|
462
462
|
setNumberValue(e.target.value === "" ? null : e.target.value);
|
|
463
463
|
validation.register(uniqueIdentifier, rules).onChange(e);
|
|
464
464
|
} }, numberProps)));
|
package/package.json
CHANGED
package/src/CustomField.d.ts
CHANGED
|
@@ -61,7 +61,7 @@ interface CustomFieldProps {
|
|
|
61
61
|
* and functions for form registration and state management.
|
|
62
62
|
* @returns {JSX.Element | null} - The JSX Element for the custom field or null if the field definition is not provided.
|
|
63
63
|
*/
|
|
64
|
-
export declare const useCustomFieldResolver: ({ field, definition, register, setValue, formState, formValue, unitPreference, language, fieldId, isEditable,
|
|
64
|
+
export declare const useCustomFieldResolver: ({ field, definition, register, setValue, formState, formValue, unitPreference, language, fieldId, isEditable, }: CustomFieldProps) => JSX.Element | null;
|
|
65
65
|
/**
|
|
66
66
|
* CustomField is a React component that takes in the properties of a custom field and renders it.
|
|
67
67
|
* It utilizes the `useCustomFieldResolver` hook to resolve the field into an input element
|