@solidxai/core-ui 0.1.9-beta.3 → 0.1.9-beta.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.
Files changed (59) hide show
  1. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  2. package/dist/components/core/form/SolidFormFooter.js +7 -6
  3. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  4. package/dist/components/core/form/SolidFormFooter.tsx +6 -5
  5. package/dist/components/core/form/SolidFormView.js +2 -2
  6. package/dist/components/core/form/SolidFormView.js.map +1 -1
  7. package/dist/components/core/form/SolidFormView.tsx +1 -1
  8. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  9. package/dist/components/core/form/fields/SolidBooleanField.js +10 -1
  10. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  11. package/dist/components/core/form/fields/SolidBooleanField.tsx +13 -1
  12. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  13. package/dist/components/core/form/fields/SolidDecimalField.js +7 -1
  14. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  15. package/dist/components/core/form/fields/SolidDecimalField.tsx +10 -1
  16. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  17. package/dist/components/core/form/fields/SolidIntegerField.js +14 -2
  18. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  19. package/dist/components/core/form/fields/SolidIntegerField.tsx +20 -2
  20. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  21. package/dist/components/core/form/fields/SolidJsonField.js +9 -1
  22. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  23. package/dist/components/core/form/fields/SolidJsonField.tsx +12 -1
  24. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  25. package/dist/components/core/form/fields/SolidLongTextField.js +23 -3
  26. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  27. package/dist/components/core/form/fields/SolidLongTextField.tsx +32 -3
  28. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  29. package/dist/components/core/form/fields/SolidMediaMultipleField.js +15 -2
  30. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  31. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +20 -4
  32. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  33. package/dist/components/core/form/fields/SolidMediaSingleField.js +21 -3
  34. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  35. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +30 -3
  36. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  37. package/dist/components/core/form/fields/SolidPasswordField.js +2 -1
  38. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  39. package/dist/components/core/form/fields/SolidPasswordField.tsx +13 -1
  40. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  41. package/dist/components/core/form/fields/SolidRichTextField.js +9 -1
  42. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  43. package/dist/components/core/form/fields/SolidRichTextField.tsx +12 -1
  44. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  45. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -2
  46. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  47. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +8 -2
  48. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  49. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +14 -3
  50. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  51. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +20 -3
  52. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  53. package/dist/components/core/list/SolidListView.js +66 -2
  54. package/dist/components/core/list/SolidListView.js.map +1 -1
  55. package/dist/components/core/list/SolidListView.tsx +67 -2
  56. package/dist/routes/SolidRouteMetadataBoundary.js +1 -1
  57. package/dist/routes/SolidRouteMetadataBoundary.js.map +1 -1
  58. package/dist/routes/SolidRouteMetadataBoundary.tsx +1 -1
  59. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SolidJsonField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidJsonField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { SolidCodeEditor } from \"../../../shad-cn-ui\";\nimport styles from \"./solidFields.module.css\";\nexport class SolidJsonField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value !== undefined && value !== null) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n return this.fieldContext.data[this.fieldContext.field.attrs.name] ?? '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.StringSchema<string | null | undefined> = Yup.string();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultJsonFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultJsonFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\nexport const DefaultJsonFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n {/* &nbsp; {fieldDescription && <span className=\"form_field_help\">({fieldDescription}) </span>} */}\n </label>\n }\n <SolidCodeEditor\n value={(() => {\n const val = formik.values[fieldLayoutInfo.attrs.name];\n if (val == null) return \"\";\n if (typeof val === \"string\") return val;\n return JSON.stringify(val, null, 2);\n })()}\n onChange={(next) => formik.setFieldValue(fieldLayoutInfo.attrs.name, next)}\n height={fieldLayoutInfo.attrs?.height}\n fontSize={fieldLayoutInfo.attrs?.fontSize}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n language=\"json\"\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\n\n\n\nexport const DefaultJsonFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n let code;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n\n if (value == null) {\n // null or undefined → empty string\n code = \"\";\n } else if (typeof value === \"string\") {\n code = value;\n } else {\n code = JSON.stringify(value, null, 2);\n }\n\n return (\n\n\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel != false &&\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n }\n <SolidCodeEditor\n value={code}\n height={fieldLayoutInfo.attrs?.height ?? '300px'}\n fontSize={fieldLayoutInfo.attrs?.fontSize ?? '10px'}\n readOnly={true}\n language=\"json\"\n />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidJsonField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidJsonField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { SolidCodeEditor } from \"../../../shad-cn-ui\";\nimport styles from \"./solidFields.module.css\";\nexport class SolidJsonField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value !== undefined && value !== null) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n return this.fieldContext.data[this.fieldContext.field.attrs.name] ?? '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.StringSchema<string | null | undefined> = Yup.string();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultJsonFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultJsonFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\nexport const DefaultJsonFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n {/* &nbsp; {fieldDescription && <span className=\"form_field_help\">({fieldDescription}) </span>} */}\n </label>\n }\n <SolidCodeEditor\n value={(() => {\n const val = formik.values[fieldLayoutInfo.attrs.name];\n if (val == null) return \"\";\n if (typeof val === \"string\") return val;\n return JSON.stringify(val, null, 2);\n })()}\n onChange={(next) => {\n fieldContext.onChange(\n {\n target: {\n name: fieldLayoutInfo.attrs.name,\n value: next,\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n }}\n height={fieldLayoutInfo.attrs?.height}\n fontSize={fieldLayoutInfo.attrs?.fontSize}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n language=\"json\"\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\n\n\n\nexport const DefaultJsonFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n let code;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n\n if (value == null) {\n // null or undefined → empty string\n code = \"\";\n } else if (typeof value === \"string\") {\n code = value;\n } else {\n code = JSON.stringify(value, null, 2);\n }\n\n return (\n\n\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel != false &&\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n }\n <SolidCodeEditor\n value={code}\n height={fieldLayoutInfo.attrs?.height ?? '300px'}\n fontSize={fieldLayoutInfo.attrs?.fontSize ?? '10px'}\n readOnly={true}\n language=\"json\"\n />\n </div>\n );\n}\n"]}
@@ -127,7 +127,18 @@ export const DefaultJsonFormEditWidget = ({ formik, fieldContext }: SolidFormFie
127
127
  if (typeof val === "string") return val;
128
128
  return JSON.stringify(val, null, 2);
129
129
  })()}
130
- onChange={(next) => formik.setFieldValue(fieldLayoutInfo.attrs.name, next)}
130
+ onChange={(next) => {
131
+ fieldContext.onChange(
132
+ {
133
+ target: {
134
+ name: fieldLayoutInfo.attrs.name,
135
+ value: next,
136
+ type: "text",
137
+ },
138
+ } as any,
139
+ "onFieldChange"
140
+ );
141
+ }}
131
142
  height={fieldLayoutInfo.attrs?.height}
132
143
  fontSize={fieldLayoutInfo.attrs?.fontSize}
133
144
  readOnly={formReadonly || fieldReadonly || readOnlyPermission}
@@ -1 +1 @@
1
- {"version":3,"file":"SolidLongTextField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidLongTextField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAQzE,qBAAa,kBAAmB,YAAW,WAAW;IAElD,OAAO,CAAC,YAAY,CAAkB;gBAE1B,YAAY,EAAE,eAAe;IAIzC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAOnD,YAAY,IAAI,GAAG;IASnB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IA6B9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAmC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAajE;AAED,eAAO,MAAM,6BAA6B,6BAA8B,yBAAyB,4CAyChG,CAAA;AAED,eAAO,MAAM,+BAA+B,6BAA8B,yBAAyB,4CAiHlG,CAAA;AAED,eAAO,MAAM,+BAA+B,6BAA8B,yBAAyB,4CAuLlG,CAAC;AAEF,eAAO,MAAM,wBAAwB,6BAA8B,yBAAyB,4CA0C3F,CAAC;AAEF,eAAO,MAAM,gCAAgC,8BAG1C,yBAAyB,4CAiF3B,CAAC"}
1
+ {"version":3,"file":"SolidLongTextField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidLongTextField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAQzE,qBAAa,kBAAmB,YAAW,WAAW;IAElD,OAAO,CAAC,YAAY,CAAkB;gBAE1B,YAAY,EAAE,eAAe;IAIzC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAOnD,YAAY,IAAI,GAAG;IASnB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IA6B9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAmC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAajE;AAED,eAAO,MAAM,6BAA6B,6BAA8B,yBAAyB,4CAyChG,CAAA;AAED,eAAO,MAAM,+BAA+B,6BAA8B,yBAAyB,4CAiHlG,CAAA;AAED,eAAO,MAAM,+BAA+B,6BAA8B,yBAAyB,4CAgMlG,CAAC;AAEF,eAAO,MAAM,wBAAwB,6BAA8B,yBAAyB,4CAqD3F,CAAC;AAEF,eAAO,MAAM,gCAAgC,8BAG1C,yBAAyB,4CA0F3B,CAAC"}
@@ -250,7 +250,13 @@ export var DynamicJsonEditorFormEditWidget = function (_a) {
250
250
  var _h = useState(JSON.parse(value || '[]')), data = _h[0], setData = _h[1];
251
251
  var handleAllChange = function (updated) {
252
252
  setData(updated);
253
- formik.setFieldValue(fieldLayoutInfo.attrs.name, JSON.stringify(updated));
253
+ fieldContext.onChange({
254
+ target: {
255
+ name: fieldLayoutInfo.attrs.name,
256
+ value: JSON.stringify(updated),
257
+ type: "text",
258
+ },
259
+ }, "onFieldChange");
254
260
  };
255
261
  var handleChange = function (index, key, value) {
256
262
  var updated = __spreadArray([], data, true);
@@ -316,7 +322,15 @@ export var CodeEditorFormEditWidget = function (_a) {
316
322
  var isFormFieldValid = function (formik, fieldName) {
317
323
  return formik.touched[fieldName] && formik.errors[fieldName];
318
324
  };
319
- return (_jsxs("div", { className: "mt-4", children: [((_e = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _e === void 0 ? void 0 : _e.showLabel) !== false && (_jsxs("label", { className: "".concat(styles.fieldLabel, " form-field-label mb-10"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: " *" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] })), _jsx("div", { className: "border border-gray-300 rounded overflow-hidden", children: _jsx(SolidCodeEditor, { value: value, onChange: function (val) { return formik.setFieldValue(fieldLayoutInfo.attrs.name, val); }, height: (_g = (_f = fieldLayoutInfo.attrs) === null || _f === void 0 ? void 0 : _f.height) !== null && _g !== void 0 ? _g : "200px", fontSize: (_j = (_h = fieldLayoutInfo.attrs) === null || _h === void 0 ? void 0 : _h.fontSize) !== null && _j !== void 0 ? _j : "14px", readOnly: readOnly || disabled, language: codeLanguage }) }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("div", { className: "mt-1", children: _jsx(SolidMessage, { text: (_k = formik.errors[fieldLayoutInfo.attrs.name]) === null || _k === void 0 ? void 0 : _k.toString() }) }))] }));
325
+ return (_jsxs("div", { className: "mt-4", children: [((_e = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _e === void 0 ? void 0 : _e.showLabel) !== false && (_jsxs("label", { className: "".concat(styles.fieldLabel, " form-field-label mb-10"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: " *" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] })), _jsx("div", { className: "border border-gray-300 rounded overflow-hidden", children: _jsx(SolidCodeEditor, { value: value, onChange: function (val) {
326
+ fieldContext.onChange({
327
+ target: {
328
+ name: fieldLayoutInfo.attrs.name,
329
+ value: val,
330
+ type: "text",
331
+ },
332
+ }, "onFieldChange");
333
+ }, height: (_g = (_f = fieldLayoutInfo.attrs) === null || _f === void 0 ? void 0 : _f.height) !== null && _g !== void 0 ? _g : "200px", fontSize: (_j = (_h = fieldLayoutInfo.attrs) === null || _h === void 0 ? void 0 : _h.fontSize) !== null && _j !== void 0 ? _j : "14px", readOnly: readOnly || disabled, language: codeLanguage }) }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("div", { className: "mt-1", children: _jsx(SolidMessage, { text: (_k = formik.errors[fieldLayoutInfo.attrs.name]) === null || _k === void 0 ? void 0 : _k.toString() }) }))] }));
320
334
  };
321
335
  export var DynamicSelectionStaticEditWidget = function (_a) {
322
336
  var _b, _c;
@@ -332,7 +346,13 @@ export var DynamicSelectionStaticEditWidget = function (_a) {
332
346
  var _a;
333
347
  var updated = __assign(__assign({}, data), (_a = {}, _a[key] = value, _a));
334
348
  setData(updated);
335
- formik.setFieldValue(name, JSON.stringify(updated));
349
+ fieldContext.onChange({
350
+ target: {
351
+ name: name,
352
+ value: JSON.stringify(updated),
353
+ type: "text",
354
+ },
355
+ }, "onFieldChange");
336
356
  };
337
357
  var renderInput = function (key) {
338
358
  var meta = fieldJsonSchema[key];
@@ -1 +1 @@
1
- {"version":3,"file":"SolidLongTextField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidLongTextField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport * as Yup from 'yup';\nimport styles from './solidFields.module.css';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { SolidButton, SolidDatePicker, SolidSelect, SolidInput, SolidCodeEditor, SolidIcon, SolidTextarea } from \"../../../shad-cn-ui\";\nimport { parseSolidIconMeta } from \"../../../shad-cn-ui/SolidIcon\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\n\n\nexport class SolidLongTextField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value !== undefined && value !== null) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n\n const existingValue = this.fieldContext.data[fieldName];\n\n return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.StringSchema<string | null | undefined> = Yup.string();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n // 2. length (min/max)\n if (fieldMetadata.min && fieldMetadata.min > 0) {\n schema = schema.min(fieldMetadata.min, ERROR_MESSAGES.FIELD_MINIMUM_CHARACTER(fieldLabel, fieldMetadata.min));\n }\n if (fieldMetadata.max && fieldMetadata.max > 0) {\n schema = schema.max(fieldMetadata.max, ERROR_MESSAGES.FIELD_MAXIMUM_CHARACTER(fieldLabel, fieldMetadata.max));\n }\n // 3. regular expression\n if (fieldMetadata.regexPattern) {\n const regexPatternNotMatchingErrorMsg = fieldMetadata.regexPatternNotMatchingErrorMsg ?? `${fieldLabel} has invalid data.`\n schema = schema.matches(fieldMetadata.regexPattern, regexPatternNotMatchingErrorMsg);\n }\n\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultLongTextFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultShortTextFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n\n}\n\nexport const DefaultLongTextFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidTextarea\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled}\n id={fieldLayoutInfo.attrs.name}\n aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}\n onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => fieldContext.onChange(e, 'onFieldChange')}\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n rows={5}\n className={styles.fieldTextarea}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const DynamicJsonEditorFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n const readOnly = fieldLayoutInfo.attrs?.readonly || fieldContext.readOnly;\n const disabled = fieldLayoutInfo.attrs?.disabled;\n const value = formik.values[fieldLayoutInfo.attrs.name] || '';\n const codeLanguage = fieldLayoutInfo.attrs.editorLanguage || 'ts';\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n // Sample schema, this comes from the metadata...\n // {\n // key1: {\n // required: true,\n // type: \"string\",\n // },\n // key2: {\n // required: true,\n // type: \"selectionStatic\",\n // allowedValues: [\n // \"selection static val 1\",\n // \"selection static val 2\",\n // \"selection static val 3\",\n // \"selection static val 4\",\n // ],\n // },\n // };\n const fieldJsonSchema = fieldLayoutInfo.attrs?.jsonSchema;\n if (!fieldJsonSchema) {\n return <SolidMessage severity=\"error\" text=\"Field Layout Attributes are missing jsonSchema, cannot render with widget jsonEditor without specifying the schema\" />\n }\n const [data, setData] = useState(JSON.parse(value || '[]'));\n\n const renderInput = (value: any, key: string, index: number) => {\n // @ts-ignore\n const meta: any = fieldJsonSchema[key];\n if (!meta) return null;\n\n if (meta.type === \"string\" || meta.type === \"shortText\") {\n return <SolidInput value={value} readOnly disabled />;\n }\n if (meta.type === \"longText\") {\n return (\n <SolidTextarea value={value} rows={10} cols={100} readOnly className={styles.fieldTextarea} />\n );\n }\n if (meta.type === \"date\" || meta.type === \"datetime\") {\n return (\n <SolidDatePicker\n selected={value ? new Date(value) : null}\n onChange={() => { }}\n showTimeSelect={meta.type === \"datetime\"}\n disabled\n />\n );\n }\n\n if (meta.type === \"selectionStatic\") {\n return (\n <SolidSelect\n value={value}\n // @ts-ignore\n options={meta.allowedValues.map((v) => ({ label: v, value: v }))}\n placeholder=\"Select.\"\n disabled\n />\n );\n }\n\n return null;\n };\n\n return (\n <div className=\"mt-4\">\n {fieldLayoutInfo?.attrs?.showLabel !== false && (\n <label className={`${styles.fieldLabel} form-field-label mb-10`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n\n <div className=\"p-4 border-round surface-card shadow-1\">\n\n <div className=\"flex flex-column gap-2\">\n {\n // @ts-ignore\n data.map((row, idx) => (\n <div\n key={idx}\n className={`flex ${fieldLayoutInfo.attrs?.className ? `flex-${fieldLayoutInfo.attrs?.className}` : 'flex-row'} border-1 border-round p-3 gap-2`}\n >\n {Object.keys(fieldJsonSchema).map((key) => (\n <div key={key} className=\"flex flex-column gap-1\">\n <label>{key.charAt(0).toUpperCase() + key.slice(1)}</label>\n {\n // @ts-ignore\n renderInput(row[key], key, idx)\n }\n </div>\n ))}\n\n </div>\n ))\n }\n </div>\n\n </div>\n </div>\n );\n}\n\nexport const DynamicJsonEditorFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n const readOnly = fieldLayoutInfo.attrs?.readonly || fieldContext.readOnly;\n const disabled = fieldLayoutInfo.attrs?.disabled;\n\n const value = formik.values[fieldLayoutInfo.attrs.name] || '';\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n // Sample schema, this comes from the metadata...\n // {\n // key1: {\n // required: true,\n // type: \"string\",\n // },\n // key2: {\n // required: true,\n // type: \"selectionStatic\",\n // allowedValues: [\n // \"selection static val 1\",\n // \"selection static val 2\",\n // \"selection static val 3\",\n // \"selection static val 4\",\n // ],\n // },\n // };\n const fieldJsonSchema = fieldLayoutInfo.attrs?.jsonSchema;\n if (!fieldJsonSchema) {\n return <SolidMessage severity=\"error\" text=\"Field Layout Attributes are missing jsonSchema, cannot render with widget jsonEditor without specifying the schema\" />\n }\n const [data, setData] = useState(JSON.parse(value || '[]'));\n\n const handleAllChange = (updated: any) => {\n setData(updated);\n formik.setFieldValue(fieldLayoutInfo.attrs.name, JSON.stringify(updated));\n }\n\n const handleChange = (index: number, key: string, value: any) => {\n const updated = [...data];\n // @ts-ignore\n updated[index][key] = value;\n handleAllChange(updated);\n };\n\n const handleAdd = () => {\n const newItem = {};\n Object.keys(fieldJsonSchema).forEach((key) => {\n // @ts-ignore\n newItem[key] = \"\";\n });\n // @ts-ignore\n handleAllChange([...data, newItem]);\n };\n\n const handleRemove = (index: number) => {\n const updated = [...data];\n updated.splice(index, 1);\n handleAllChange(updated);\n };\n\n const renderInput = (value: any, key: string, index: number) => {\n // @ts-ignore\n const meta: any = fieldJsonSchema[key];\n if (!meta) return null;\n\n if (meta.type === \"string\" || meta.type === \"shortText\") {\n return (\n <SolidInput\n value={value}\n onChange={(e) => handleChange(index, key, e.target.value)}\n disabled={!!disabled}\n readOnly={!!readOnly}\n />\n );\n }\n\n if (meta.type === \"longText\") {\n return (\n <SolidTextarea\n onChange={(e) => handleChange(index, key, e.target.value)}\n value={value}\n rows={10}\n cols={100}\n className={styles.fieldTextarea}\n />\n );\n }\n\n if (meta.type === \"date\" || meta.type === \"datetime\") {\n return (\n <SolidDatePicker\n selected={value ? new Date(value) : null}\n onChange={(date: Date | null) => handleChange(index, key, date)}\n showTimeSelect={meta.type === \"datetime\"}\n disabled={!!disabled}\n />\n );\n }\n\n if (meta.type === \"selectionStatic\") {\n return (\n <SolidSelect\n value={value}\n // @ts-ignore\n options={meta.allowedValues.map((v) => ({ label: v, value: v }))}\n onChange={(e) => handleChange(index, key, e.value)}\n placeholder=\"Select.\"\n disabled={!!disabled}\n />\n );\n }\n\n return null;\n };\n\n return (\n <div className=\"mt-4\">\n {fieldLayoutInfo?.attrs?.showLabel !== false && (\n <label className={`${styles.fieldLabel} form-field-label mb-10`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n\n <div className=\"p-4 border-round surface-card shadow-1\">\n <div className=\"flex justify-content-between align-items-center mb-3\">\n {!disabled && !readOnly ? (\n <SolidButton\n type=\"button\"\n leftIcon={<SolidIcon name=\"si-plus\" aria-hidden />}\n onClick={handleAdd}\n >\n Add\n </SolidButton>\n ) : null}\n </div>\n\n <div className=\"flex flex-column gap-2\">\n {\n // @ts-ignore\n data.map((row, idx) => (\n <div\n key={idx}\n className={`flex ${fieldLayoutInfo.attrs?.className ? `flex-${fieldLayoutInfo.attrs?.className}` : 'flex-row'} border-1 border-round p-3 gap-2`}\n >\n <div className=\"flex gap-3 align-items-center\">\n {Object.keys(fieldJsonSchema).map((key) => (\n <div key={key} className=\"flex flex-column gap-1\">\n <label>{key.charAt(0).toUpperCase() + key.slice(1)}</label>\n {\n // @ts-ignore\n renderInput(row[key], key, idx)\n }\n </div>\n ))}\n </div>\n {!disabled && !readOnly ? (\n <SolidButton\n type=\"button\"\n leftIcon={<SolidIcon name=\"si-minus\" aria-hidden />}\n className=\"ml-2 h-2rem w-2rem rounded-circle\"\n onClick={() => handleRemove(idx)}\n />\n ) : null}\n </div>\n ))\n }\n </div>\n\n {\n fieldLayoutInfo.attrs?.jsonSchemaShowPreview &&\n <pre className=\"mt-4 bg-gray-100 p-3 border-round overflow-auto\">\n {JSON.stringify(data, null, 2)}\n </pre>\n }\n </div>\n </div>\n );\n};\n\nexport const CodeEditorFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n const readOnly = fieldLayoutInfo.attrs?.readonly || fieldContext.readOnly;\n const disabled = fieldLayoutInfo.attrs?.disabled;\n const codeLanguage = fieldLayoutInfo.attrs.editorLanguage || 'ts';\n\n const value = formik.values[fieldLayoutInfo.attrs.name] || '';\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <div className=\"mt-4\">\n {fieldLayoutInfo?.attrs?.showLabel !== false && (\n <label className={`${styles.fieldLabel} form-field-label mb-10`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n\n <div className=\"border border-gray-300 rounded overflow-hidden\">\n <SolidCodeEditor\n value={value}\n onChange={(val) => formik.setFieldValue(fieldLayoutInfo.attrs.name, val)}\n height={fieldLayoutInfo.attrs?.height ?? \"200px\"}\n fontSize={fieldLayoutInfo.attrs?.fontSize ?? \"14px\"}\n readOnly={readOnly || disabled}\n language={codeLanguage}\n />\n </div>\n\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"mt-1\">\n <SolidMessage text={formik.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n};\n\nexport const DynamicSelectionStaticEditWidget = ({\n formik,\n fieldContext,\n}: SolidFormFieldWidgetProps) => {\n const fieldLayoutInfo = fieldContext.field;\n const fieldJsonSchema = fieldLayoutInfo.attrs.jsonSchema;\n const name = fieldLayoutInfo.attrs.name;\n const readOnly = fieldLayoutInfo.attrs?.readonly || fieldContext.readOnly;\n const disabled = fieldLayoutInfo.attrs?.disabled;\n\n const value = formik.values[name] || \"{}\";\n const [data, setData] = useState(JSON.parse(value || \"{}\"));\n\n const handleChange = (key: string, value: any) => {\n const updated = { ...data, [key]: value };\n setData(updated);\n formik.setFieldValue(name, JSON.stringify(updated));\n };\n\n const renderInput = (key: string) => {\n const meta: any = fieldJsonSchema[key];\n const val = data[key];\n\n if (meta?.type === \"selectionStatic\") {\n return (\n <SolidSelect\n value={val}\n options={meta.allowedValues.map((v: any) => ({\n label: v,\n value: v,\n }))}\n onChange={(e) => handleChange(key, e.value)}\n placeholder={meta.placeHolder || \"Select.\"}\n disabled={!!disabled}\n className=\"w-full\"\n />\n );\n }\n\n return null;\n };\n const shouldShowField = (key: string) => {\n const meta = fieldJsonSchema[key];\n\n if (!meta?.visibility) return true; // default show\n\n if (meta.visibility === \"parent\") {\n const parentKey = Object.keys(fieldJsonSchema)[0]; // assume first field is parent\n return !!data[parentKey]; // show only if parent has value\n }\n\n return true;\n };\n\n return (\n <div className=\"flex gap-3 align-items-center\">\n {Object.keys(fieldJsonSchema).map((key) => {\n const meta: any = fieldJsonSchema[key];\n if (!shouldShowField(key)) return null;\n return (\n <div key={key} className={\"flex flex-column gap-2 \" + (meta.className || '')}>\n {/*load prime header icon and headerText */}\n {(meta.headerText || meta.headerIcon) && (\n <div className=\"flex align-items-center gap-2\">\n {meta.headerIcon && (() => { const m = parseSolidIconMeta(meta.headerIcon); return m ? <SolidIcon name={m.name} spin={m.spin} /> : <i className={meta.headerIcon}></i>; })()}\n <span className=\"font-semibold form-field-label font-medium\">\n {meta.headerText ?? key}\n </span>\n </div>\n )}\n {/* Notes below input */}\n {meta.noteText && (\n <small className=\"text-secondary mt-2\">{meta.noteText}</small>\n )}\n {/*load note here */}\n <label className=\"form-field-label font-medium\">{key.charAt(0).toUpperCase() + key.slice(1)} {meta.required && <span className=\"text-red-500\">*</span>}</label>\n <div className=\"w-full mt-1 flex flex-row gap-2\">\n {renderInput(key)}\n </div>\n </div>\n );\n })}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidLongTextField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidLongTextField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport * as Yup from 'yup';\nimport styles from './solidFields.module.css';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { SolidButton, SolidDatePicker, SolidSelect, SolidInput, SolidCodeEditor, SolidIcon, SolidTextarea } from \"../../../shad-cn-ui\";\nimport { parseSolidIconMeta } from \"../../../shad-cn-ui/SolidIcon\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\n\n\nexport class SolidLongTextField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value !== undefined && value !== null) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n\n const existingValue = this.fieldContext.data[fieldName];\n\n return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.StringSchema<string | null | undefined> = Yup.string();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n // 2. length (min/max)\n if (fieldMetadata.min && fieldMetadata.min > 0) {\n schema = schema.min(fieldMetadata.min, ERROR_MESSAGES.FIELD_MINIMUM_CHARACTER(fieldLabel, fieldMetadata.min));\n }\n if (fieldMetadata.max && fieldMetadata.max > 0) {\n schema = schema.max(fieldMetadata.max, ERROR_MESSAGES.FIELD_MAXIMUM_CHARACTER(fieldLabel, fieldMetadata.max));\n }\n // 3. regular expression\n if (fieldMetadata.regexPattern) {\n const regexPatternNotMatchingErrorMsg = fieldMetadata.regexPatternNotMatchingErrorMsg ?? `${fieldLabel} has invalid data.`\n schema = schema.matches(fieldMetadata.regexPattern, regexPatternNotMatchingErrorMsg);\n }\n\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultLongTextFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultShortTextFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n\n}\n\nexport const DefaultLongTextFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidTextarea\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled}\n id={fieldLayoutInfo.attrs.name}\n aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}\n onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => fieldContext.onChange(e, 'onFieldChange')}\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n rows={5}\n className={styles.fieldTextarea}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const DynamicJsonEditorFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n const readOnly = fieldLayoutInfo.attrs?.readonly || fieldContext.readOnly;\n const disabled = fieldLayoutInfo.attrs?.disabled;\n const value = formik.values[fieldLayoutInfo.attrs.name] || '';\n const codeLanguage = fieldLayoutInfo.attrs.editorLanguage || 'ts';\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n // Sample schema, this comes from the metadata...\n // {\n // key1: {\n // required: true,\n // type: \"string\",\n // },\n // key2: {\n // required: true,\n // type: \"selectionStatic\",\n // allowedValues: [\n // \"selection static val 1\",\n // \"selection static val 2\",\n // \"selection static val 3\",\n // \"selection static val 4\",\n // ],\n // },\n // };\n const fieldJsonSchema = fieldLayoutInfo.attrs?.jsonSchema;\n if (!fieldJsonSchema) {\n return <SolidMessage severity=\"error\" text=\"Field Layout Attributes are missing jsonSchema, cannot render with widget jsonEditor without specifying the schema\" />\n }\n const [data, setData] = useState(JSON.parse(value || '[]'));\n\n const renderInput = (value: any, key: string, index: number) => {\n // @ts-ignore\n const meta: any = fieldJsonSchema[key];\n if (!meta) return null;\n\n if (meta.type === \"string\" || meta.type === \"shortText\") {\n return <SolidInput value={value} readOnly disabled />;\n }\n if (meta.type === \"longText\") {\n return (\n <SolidTextarea value={value} rows={10} cols={100} readOnly className={styles.fieldTextarea} />\n );\n }\n if (meta.type === \"date\" || meta.type === \"datetime\") {\n return (\n <SolidDatePicker\n selected={value ? new Date(value) : null}\n onChange={() => { }}\n showTimeSelect={meta.type === \"datetime\"}\n disabled\n />\n );\n }\n\n if (meta.type === \"selectionStatic\") {\n return (\n <SolidSelect\n value={value}\n // @ts-ignore\n options={meta.allowedValues.map((v) => ({ label: v, value: v }))}\n placeholder=\"Select.\"\n disabled\n />\n );\n }\n\n return null;\n };\n\n return (\n <div className=\"mt-4\">\n {fieldLayoutInfo?.attrs?.showLabel !== false && (\n <label className={`${styles.fieldLabel} form-field-label mb-10`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n\n <div className=\"p-4 border-round surface-card shadow-1\">\n\n <div className=\"flex flex-column gap-2\">\n {\n // @ts-ignore\n data.map((row, idx) => (\n <div\n key={idx}\n className={`flex ${fieldLayoutInfo.attrs?.className ? `flex-${fieldLayoutInfo.attrs?.className}` : 'flex-row'} border-1 border-round p-3 gap-2`}\n >\n {Object.keys(fieldJsonSchema).map((key) => (\n <div key={key} className=\"flex flex-column gap-1\">\n <label>{key.charAt(0).toUpperCase() + key.slice(1)}</label>\n {\n // @ts-ignore\n renderInput(row[key], key, idx)\n }\n </div>\n ))}\n\n </div>\n ))\n }\n </div>\n\n </div>\n </div>\n );\n}\n\nexport const DynamicJsonEditorFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n const readOnly = fieldLayoutInfo.attrs?.readonly || fieldContext.readOnly;\n const disabled = fieldLayoutInfo.attrs?.disabled;\n\n const value = formik.values[fieldLayoutInfo.attrs.name] || '';\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n // Sample schema, this comes from the metadata...\n // {\n // key1: {\n // required: true,\n // type: \"string\",\n // },\n // key2: {\n // required: true,\n // type: \"selectionStatic\",\n // allowedValues: [\n // \"selection static val 1\",\n // \"selection static val 2\",\n // \"selection static val 3\",\n // \"selection static val 4\",\n // ],\n // },\n // };\n const fieldJsonSchema = fieldLayoutInfo.attrs?.jsonSchema;\n if (!fieldJsonSchema) {\n return <SolidMessage severity=\"error\" text=\"Field Layout Attributes are missing jsonSchema, cannot render with widget jsonEditor without specifying the schema\" />\n }\n const [data, setData] = useState(JSON.parse(value || '[]'));\n\n const handleAllChange = (updated: any) => {\n setData(updated);\n fieldContext.onChange(\n {\n target: {\n name: fieldLayoutInfo.attrs.name,\n value: JSON.stringify(updated),\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n }\n\n const handleChange = (index: number, key: string, value: any) => {\n const updated = [...data];\n // @ts-ignore\n updated[index][key] = value;\n handleAllChange(updated);\n };\n\n const handleAdd = () => {\n const newItem = {};\n Object.keys(fieldJsonSchema).forEach((key) => {\n // @ts-ignore\n newItem[key] = \"\";\n });\n // @ts-ignore\n handleAllChange([...data, newItem]);\n };\n\n const handleRemove = (index: number) => {\n const updated = [...data];\n updated.splice(index, 1);\n handleAllChange(updated);\n };\n\n const renderInput = (value: any, key: string, index: number) => {\n // @ts-ignore\n const meta: any = fieldJsonSchema[key];\n if (!meta) return null;\n\n if (meta.type === \"string\" || meta.type === \"shortText\") {\n return (\n <SolidInput\n value={value}\n onChange={(e) => handleChange(index, key, e.target.value)}\n disabled={!!disabled}\n readOnly={!!readOnly}\n />\n );\n }\n\n if (meta.type === \"longText\") {\n return (\n <SolidTextarea\n onChange={(e) => handleChange(index, key, e.target.value)}\n value={value}\n rows={10}\n cols={100}\n className={styles.fieldTextarea}\n />\n );\n }\n\n if (meta.type === \"date\" || meta.type === \"datetime\") {\n return (\n <SolidDatePicker\n selected={value ? new Date(value) : null}\n onChange={(date: Date | null) => handleChange(index, key, date)}\n showTimeSelect={meta.type === \"datetime\"}\n disabled={!!disabled}\n />\n );\n }\n\n if (meta.type === \"selectionStatic\") {\n return (\n <SolidSelect\n value={value}\n // @ts-ignore\n options={meta.allowedValues.map((v) => ({ label: v, value: v }))}\n onChange={(e) => handleChange(index, key, e.value)}\n placeholder=\"Select.\"\n disabled={!!disabled}\n />\n );\n }\n\n return null;\n };\n\n return (\n <div className=\"mt-4\">\n {fieldLayoutInfo?.attrs?.showLabel !== false && (\n <label className={`${styles.fieldLabel} form-field-label mb-10`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n\n <div className=\"p-4 border-round surface-card shadow-1\">\n <div className=\"flex justify-content-between align-items-center mb-3\">\n {!disabled && !readOnly ? (\n <SolidButton\n type=\"button\"\n leftIcon={<SolidIcon name=\"si-plus\" aria-hidden />}\n onClick={handleAdd}\n >\n Add\n </SolidButton>\n ) : null}\n </div>\n\n <div className=\"flex flex-column gap-2\">\n {\n // @ts-ignore\n data.map((row, idx) => (\n <div\n key={idx}\n className={`flex ${fieldLayoutInfo.attrs?.className ? `flex-${fieldLayoutInfo.attrs?.className}` : 'flex-row'} border-1 border-round p-3 gap-2`}\n >\n <div className=\"flex gap-3 align-items-center\">\n {Object.keys(fieldJsonSchema).map((key) => (\n <div key={key} className=\"flex flex-column gap-1\">\n <label>{key.charAt(0).toUpperCase() + key.slice(1)}</label>\n {\n // @ts-ignore\n renderInput(row[key], key, idx)\n }\n </div>\n ))}\n </div>\n {!disabled && !readOnly ? (\n <SolidButton\n type=\"button\"\n leftIcon={<SolidIcon name=\"si-minus\" aria-hidden />}\n className=\"ml-2 h-2rem w-2rem rounded-circle\"\n onClick={() => handleRemove(idx)}\n />\n ) : null}\n </div>\n ))\n }\n </div>\n\n {\n fieldLayoutInfo.attrs?.jsonSchemaShowPreview &&\n <pre className=\"mt-4 bg-gray-100 p-3 border-round overflow-auto\">\n {JSON.stringify(data, null, 2)}\n </pre>\n }\n </div>\n </div>\n );\n};\n\nexport const CodeEditorFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n const readOnly = fieldLayoutInfo.attrs?.readonly || fieldContext.readOnly;\n const disabled = fieldLayoutInfo.attrs?.disabled;\n const codeLanguage = fieldLayoutInfo.attrs.editorLanguage || 'ts';\n\n const value = formik.values[fieldLayoutInfo.attrs.name] || '';\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <div className=\"mt-4\">\n {fieldLayoutInfo?.attrs?.showLabel !== false && (\n <label className={`${styles.fieldLabel} form-field-label mb-10`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n\n <div className=\"border border-gray-300 rounded overflow-hidden\">\n <SolidCodeEditor\n value={value}\n onChange={(val) => {\n fieldContext.onChange(\n {\n target: {\n name: fieldLayoutInfo.attrs.name,\n value: val,\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n }}\n height={fieldLayoutInfo.attrs?.height ?? \"200px\"}\n fontSize={fieldLayoutInfo.attrs?.fontSize ?? \"14px\"}\n readOnly={readOnly || disabled}\n language={codeLanguage}\n />\n </div>\n\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"mt-1\">\n <SolidMessage text={formik.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n};\n\nexport const DynamicSelectionStaticEditWidget = ({\n formik,\n fieldContext,\n}: SolidFormFieldWidgetProps) => {\n const fieldLayoutInfo = fieldContext.field;\n const fieldJsonSchema = fieldLayoutInfo.attrs.jsonSchema;\n const name = fieldLayoutInfo.attrs.name;\n const readOnly = fieldLayoutInfo.attrs?.readonly || fieldContext.readOnly;\n const disabled = fieldLayoutInfo.attrs?.disabled;\n\n const value = formik.values[name] || \"{}\";\n const [data, setData] = useState(JSON.parse(value || \"{}\"));\n\n const handleChange = (key: string, value: any) => {\n const updated = { ...data, [key]: value };\n setData(updated);\n fieldContext.onChange(\n {\n target: {\n name,\n value: JSON.stringify(updated),\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n };\n\n const renderInput = (key: string) => {\n const meta: any = fieldJsonSchema[key];\n const val = data[key];\n\n if (meta?.type === \"selectionStatic\") {\n return (\n <SolidSelect\n value={val}\n options={meta.allowedValues.map((v: any) => ({\n label: v,\n value: v,\n }))}\n onChange={(e) => handleChange(key, e.value)}\n placeholder={meta.placeHolder || \"Select.\"}\n disabled={!!disabled}\n className=\"w-full\"\n />\n );\n }\n\n return null;\n };\n const shouldShowField = (key: string) => {\n const meta = fieldJsonSchema[key];\n\n if (!meta?.visibility) return true; // default show\n\n if (meta.visibility === \"parent\") {\n const parentKey = Object.keys(fieldJsonSchema)[0]; // assume first field is parent\n return !!data[parentKey]; // show only if parent has value\n }\n\n return true;\n };\n\n return (\n <div className=\"flex gap-3 align-items-center\">\n {Object.keys(fieldJsonSchema).map((key) => {\n const meta: any = fieldJsonSchema[key];\n if (!shouldShowField(key)) return null;\n return (\n <div key={key} className={\"flex flex-column gap-2 \" + (meta.className || '')}>\n {/*load prime header icon and headerText */}\n {(meta.headerText || meta.headerIcon) && (\n <div className=\"flex align-items-center gap-2\">\n {meta.headerIcon && (() => { const m = parseSolidIconMeta(meta.headerIcon); return m ? <SolidIcon name={m.name} spin={m.spin} /> : <i className={meta.headerIcon}></i>; })()}\n <span className=\"font-semibold form-field-label font-medium\">\n {meta.headerText ?? key}\n </span>\n </div>\n )}\n {/* Notes below input */}\n {meta.noteText && (\n <small className=\"text-secondary mt-2\">{meta.noteText}</small>\n )}\n {/*load note here */}\n <label className=\"form-field-label font-medium\">{key.charAt(0).toUpperCase() + key.slice(1)} {meta.required && <span className=\"text-red-500\">*</span>}</label>\n <div className=\"w-full mt-1 flex flex-row gap-2\">\n {renderInput(key)}\n </div>\n </div>\n );\n })}\n </div>\n );\n};\n"]}
@@ -311,7 +311,16 @@ export const DynamicJsonEditorFormEditWidget = ({ formik, fieldContext }: SolidF
311
311
 
312
312
  const handleAllChange = (updated: any) => {
313
313
  setData(updated);
314
- formik.setFieldValue(fieldLayoutInfo.attrs.name, JSON.stringify(updated));
314
+ fieldContext.onChange(
315
+ {
316
+ target: {
317
+ name: fieldLayoutInfo.attrs.name,
318
+ value: JSON.stringify(updated),
319
+ type: "text",
320
+ },
321
+ } as any,
322
+ "onFieldChange"
323
+ );
315
324
  }
316
325
 
317
326
  const handleChange = (index: number, key: string, value: any) => {
@@ -485,7 +494,18 @@ export const CodeEditorFormEditWidget = ({ formik, fieldContext }: SolidFormFiel
485
494
  <div className="border border-gray-300 rounded overflow-hidden">
486
495
  <SolidCodeEditor
487
496
  value={value}
488
- onChange={(val) => formik.setFieldValue(fieldLayoutInfo.attrs.name, val)}
497
+ onChange={(val) => {
498
+ fieldContext.onChange(
499
+ {
500
+ target: {
501
+ name: fieldLayoutInfo.attrs.name,
502
+ value: val,
503
+ type: "text",
504
+ },
505
+ } as any,
506
+ "onFieldChange"
507
+ );
508
+ }}
489
509
  height={fieldLayoutInfo.attrs?.height ?? "200px"}
490
510
  fontSize={fieldLayoutInfo.attrs?.fontSize ?? "14px"}
491
511
  readOnly={readOnly || disabled}
@@ -518,7 +538,16 @@ export const DynamicSelectionStaticEditWidget = ({
518
538
  const handleChange = (key: string, value: any) => {
519
539
  const updated = { ...data, [key]: value };
520
540
  setData(updated);
521
- formik.setFieldValue(name, JSON.stringify(updated));
541
+ fieldContext.onChange(
542
+ {
543
+ target: {
544
+ name,
545
+ value: JSON.stringify(updated),
546
+ type: "text",
547
+ },
548
+ } as any,
549
+ "onFieldChange"
550
+ );
522
551
  };
523
552
 
524
553
  const renderInput = (key: string) => {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidMediaMultipleField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidMediaMultipleField.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAK3E,OAAO,EAA6B,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAKzG,qBAAa,uBAAwB,YAAW,WAAW;IAEvD,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAyD;IACjF,OAAO,CAAC,eAAe,CAAC,CAA0B;gBACtC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,EAC/G,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;IAM7C,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAYnD,YAAY,IAAI,GAAG;IAKnB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAiD9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAmC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAcjE;AAGD,eAAO,MAAM,kCAAkC,+DAAgE,8BAA8B,4CA4U5I,CAAA;AAED,eAAO,MAAM,kCAAkC,+DAAgE,8BAA8B,4CAwL5I,CAAA"}
1
+ {"version":3,"file":"SolidMediaMultipleField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidMediaMultipleField.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAK3E,OAAO,EAA6B,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAKzG,qBAAa,uBAAwB,YAAW,WAAW;IAEvD,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAyD;IACjF,OAAO,CAAC,eAAe,CAAC,CAA0B;gBACtC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,EAC/G,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;IAM7C,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAYnD,YAAY,IAAI,GAAG;IAKnB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAiD9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAmC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAcjE;AAGD,eAAO,MAAM,kCAAkC,+DAAgE,8BAA8B,4CA4V5I,CAAA;AAED,eAAO,MAAM,kCAAkC,+DAAgE,8BAA8B,4CAwL5I,CAAA"}
@@ -240,7 +240,13 @@ export var DefaultMediaMultipleFormEditWidget = function (_a) {
240
240
  reader.readAsDataURL(file);
241
241
  });
242
242
  setFileDetails(newFileDetails);
243
- formik.setFieldValue(fieldLayoutInfo.attrs.name, acceptedFiles);
243
+ fieldContext.onChange({
244
+ target: {
245
+ name: fieldLayoutInfo.attrs.name,
246
+ value: acceptedFiles,
247
+ type: "text",
248
+ },
249
+ }, "onFieldChange");
244
250
  };
245
251
  var confirmDeleteFile = function (fileId, deleteId) {
246
252
  setSelectedFileId(fileId);
@@ -255,7 +261,14 @@ export var DefaultMediaMultipleFormEditWidget = function (_a) {
255
261
  .unwrap()
256
262
  .then(function () {
257
263
  // Update form state
258
- formik.setFieldValue(fieldLayoutInfo.attrs.name, fileDetails.filter(function (file) { return "".concat(file.name, "-").concat(file.size) !== selectedFileId; }));
264
+ var nextValue = fileDetails.filter(function (file) { return "".concat(file.name, "-").concat(file.size) !== selectedFileId; });
265
+ fieldContext.onChange({
266
+ target: {
267
+ name: fieldLayoutInfo.attrs.name,
268
+ value: nextValue,
269
+ type: "text",
270
+ },
271
+ }, "onFieldChange");
259
272
  })
260
273
  .catch(function (error) {
261
274
  console.error(ERROR_MESSAGES.ERROR_DELETING_FILE, error);