@trackunit/custom-field-components 0.0.834 → 0.0.837

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 CHANGED
@@ -418,8 +418,8 @@ const useUnitTranslation = () => {
418
418
  * and functions for form registration and state management.
419
419
  * @returns {JSX.Element | null} - The JSX Element for the custom field or null if the field definition is not provided.
420
420
  */
421
- const useCustomFieldResolver = ({ field, definition, register, setValue, formState, formValue, unitPreference = "SI", language, fieldId, isEditable, control, }) => {
422
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
421
+ const useCustomFieldResolver = ({ field, definition, register, setValue, formState, formValue, unitPreference = "SI", language, fieldId, isEditable = true, control, }) => {
422
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
423
423
  const validation = { register, setValue, formState };
424
424
  const { unitTranslation } = useUnitTranslation();
425
425
  const [numberValue, setNumberValue] = React.useState(() => {
@@ -443,10 +443,10 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
443
443
  const fieldError = uniqueIdentifier ? validation.formState.errors[uniqueIdentifier] : undefined;
444
444
  const errorMessage = fieldError ? fieldError.message + "" : undefined;
445
445
  const { description, title } = def !== null && def !== void 0 ? def : {};
446
- 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;
447
446
  if (def === undefined || def.__typename === undefined) {
448
447
  return null;
449
448
  }
449
+ const isEditableCombined = isEditable && ((_d = field === null || field === void 0 ? void 0 : field.valueEditable) !== null && _d !== void 0 ? _d : true) && def.uiEditable;
450
450
  switch (def.__typename) {
451
451
  case "WebAddressFieldDefinition": {
452
452
  const rules = getWebAddressValidationRules(def);
@@ -471,7 +471,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
471
471
  placeholder: title !== null && title !== void 0 ? title : "",
472
472
  addonAfter: unitTranslation(unit),
473
473
  };
474
- 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)));
474
+ return (jsxRuntime.jsx(reactFormComponents.NumberField, Object.assign({ dataTestId: `${key}`, errorMessage: errorMessage, helpText: description, id: uniqueIdentifier, label: title, max: (_e = def.maximumNumber) !== null && _e !== void 0 ? _e : undefined, min: (_f = def.minimumNumber) !== null && _f !== void 0 ? _f : undefined, readOnly: !isEditableCombined, step: def.isInteger ? 1 : "any" }, validation.register(uniqueIdentifier, Object.assign(Object.assign({}, rules), { value })), numberProps)));
475
475
  }
476
476
  case "BooleanFieldDefinition": {
477
477
  const rules = getBooleanValidationRules();
@@ -479,7 +479,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
479
479
  }
480
480
  case "DropDownFieldDefinition": {
481
481
  const rules = getDropdownValidationRules();
482
- 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 }));
482
+ return (jsxRuntime.jsx(DropdownCustomField, { allValues: (_g = def.allValues) !== null && _g !== void 0 ? _g : undefined, dataTestId: `${key}`, defaultValue: value !== null && value !== void 0 ? value : undefined, disabled: !isEditableCombined, errorMessage: errorMessage, helpText: description, id: uniqueIdentifier, label: title || "", multiSelect: (_h = def.multiSelect) !== null && _h !== void 0 ? _h : false, register: validation.register, setValue: validation.setValue, validationRules: rules }));
483
483
  }
484
484
  case "DateFieldDefinition": {
485
485
  const rules = getDateValidationRules();
@@ -494,7 +494,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
494
494
  placeholder: title !== null && title !== void 0 ? title : "",
495
495
  addonAfter: def.currency,
496
496
  };
497
- 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 => {
497
+ 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: (_j = def.maximumNumber) !== null && _j !== void 0 ? _j : undefined, min: (_k = def.minimumNumber) !== null && _k !== void 0 ? _k : undefined, readOnly: !isEditableCombined, step: "any" }, validation.register(uniqueIdentifier, rules), { onChange: e => {
498
498
  setNumberValue(e.target.value === "" ? null : e.target.value);
499
499
  validation.register(uniqueIdentifier, rules).onChange(e);
500
500
  } }, numberProps)));
package/index.esm.js CHANGED
@@ -395,8 +395,8 @@ const useUnitTranslation = () => {
395
395
  * and functions for form registration and state management.
396
396
  * @returns {JSX.Element | null} - The JSX Element for the custom field or null if the field definition is not provided.
397
397
  */
398
- const useCustomFieldResolver = ({ field, definition, register, setValue, formState, formValue, unitPreference = "SI", language, fieldId, isEditable, control, }) => {
399
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
398
+ const useCustomFieldResolver = ({ field, definition, register, setValue, formState, formValue, unitPreference = "SI", language, fieldId, isEditable = true, control, }) => {
399
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
400
400
  const validation = { register, setValue, formState };
401
401
  const { unitTranslation } = useUnitTranslation();
402
402
  const [numberValue, setNumberValue] = useState(() => {
@@ -420,10 +420,10 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
420
420
  const fieldError = uniqueIdentifier ? validation.formState.errors[uniqueIdentifier] : undefined;
421
421
  const errorMessage = fieldError ? fieldError.message + "" : undefined;
422
422
  const { description, title } = def !== null && def !== void 0 ? def : {};
423
- 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;
424
423
  if (def === undefined || def.__typename === undefined) {
425
424
  return null;
426
425
  }
426
+ const isEditableCombined = isEditable && ((_d = field === null || field === void 0 ? void 0 : field.valueEditable) !== null && _d !== void 0 ? _d : true) && def.uiEditable;
427
427
  switch (def.__typename) {
428
428
  case "WebAddressFieldDefinition": {
429
429
  const rules = getWebAddressValidationRules(def);
@@ -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 (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)));
451
+ return (jsx(NumberField, Object.assign({ dataTestId: `${key}`, errorMessage: errorMessage, helpText: description, id: uniqueIdentifier, label: title, max: (_e = def.maximumNumber) !== null && _e !== void 0 ? _e : undefined, min: (_f = def.minimumNumber) !== null && _f !== void 0 ? _f : 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 rules = getBooleanValidationRules();
@@ -456,7 +456,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
456
456
  }
457
457
  case "DropDownFieldDefinition": {
458
458
  const rules = getDropdownValidationRules();
459
- 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 }));
459
+ return (jsx(DropdownCustomField, { allValues: (_g = def.allValues) !== null && _g !== void 0 ? _g : undefined, dataTestId: `${key}`, defaultValue: value !== null && value !== void 0 ? value : undefined, disabled: !isEditableCombined, errorMessage: errorMessage, helpText: description, id: uniqueIdentifier, label: title || "", multiSelect: (_h = def.multiSelect) !== null && _h !== void 0 ? _h : false, register: validation.register, setValue: validation.setValue, validationRules: rules }));
460
460
  }
461
461
  case "DateFieldDefinition": {
462
462
  const rules = getDateValidationRules();
@@ -471,7 +471,7 @@ const useCustomFieldResolver = ({ field, definition, register, setValue, formSta
471
471
  placeholder: title !== null && title !== void 0 ? title : "",
472
472
  addonAfter: def.currency,
473
473
  };
474
- 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 => {
474
+ 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: (_j = def.maximumNumber) !== null && _j !== void 0 ? _j : undefined, min: (_k = def.minimumNumber) !== null && _k !== void 0 ? _k : undefined, readOnly: !isEditableCombined, step: "any" }, validation.register(uniqueIdentifier, rules), { onChange: e => {
475
475
  setNumberValue(e.target.value === "" ? null : e.target.value);
476
476
  validation.register(uniqueIdentifier, rules).onChange(e);
477
477
  } }, numberProps)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/custom-field-components",
3
- "version": "0.0.834",
3
+ "version": "0.0.837",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {