@solidstarters/solid-core-ui 1.1.5 → 1.1.7

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 (157) hide show
  1. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  2. package/dist/components/auth/SolidChangeForcePassword.js +7 -7
  3. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  4. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  5. package/dist/components/auth/SolidForgotPassword.js +9 -4
  6. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  7. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  8. package/dist/components/auth/SolidLogin.js +14 -7
  9. package/dist/components/auth/SolidLogin.js.map +1 -1
  10. package/dist/components/common/BackButton.d.ts +2 -0
  11. package/dist/components/common/BackButton.d.ts.map +1 -0
  12. package/dist/components/common/BackButton.js +17 -0
  13. package/dist/components/common/BackButton.js.map +1 -0
  14. package/dist/components/common/CancelButton.js +2 -2
  15. package/dist/components/common/CancelButton.js.map +1 -1
  16. package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
  17. package/dist/components/common/DropzonePlaceholder.js +2 -1
  18. package/dist/components/common/DropzonePlaceholder.js.map +1 -1
  19. package/dist/components/common/FileReaderExt.d.ts +4 -0
  20. package/dist/components/common/FileReaderExt.d.ts.map +1 -0
  21. package/dist/components/common/FileReaderExt.js +15 -0
  22. package/dist/components/common/FileReaderExt.js.map +1 -0
  23. package/dist/components/common/GeneralSettings.d.ts +4 -0
  24. package/dist/components/common/GeneralSettings.d.ts.map +1 -0
  25. package/dist/components/common/GeneralSettings.js +139 -0
  26. package/dist/components/common/GeneralSettings.js.map +1 -0
  27. package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +1 -1
  28. package/dist/components/common/SingleSelectAutoCompleteField.js +1 -1
  29. package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -1
  30. package/dist/components/common/SocialMediaLogin.js +1 -1
  31. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  32. package/dist/components/common/SolidFormStepper.d.ts +2 -0
  33. package/dist/components/common/SolidFormStepper.d.ts.map +1 -0
  34. package/dist/components/common/SolidFormStepper.js +6 -0
  35. package/dist/components/common/SolidFormStepper.js.map +1 -0
  36. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  37. package/dist/components/core/form/SolidFormView.js +83 -54
  38. package/dist/components/core/form/SolidFormView.js.map +1 -1
  39. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  40. package/dist/components/core/form/fields/SolidBooleanField.js +4 -4
  41. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  42. package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
  43. package/dist/components/core/form/fields/SolidDateField.js +7 -7
  44. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  45. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  46. package/dist/components/core/form/fields/SolidDateTimeField.js +7 -7
  47. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  48. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  49. package/dist/components/core/form/fields/SolidDecimalField.js +4 -4
  50. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  51. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  52. package/dist/components/core/form/fields/SolidIntegerField.js +4 -4
  53. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  54. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  55. package/dist/components/core/form/fields/SolidJsonField.js +2 -2
  56. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  57. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  58. package/dist/components/core/form/fields/SolidLongTextField.js +2 -2
  59. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  60. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  61. package/dist/components/core/form/fields/SolidMediaMultipleField.js +11 -11
  62. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  63. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  64. package/dist/components/core/form/fields/SolidMediaSingleField.js +13 -13
  65. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  66. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  67. package/dist/components/core/form/fields/SolidRichTextField.js +2 -2
  68. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  69. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  70. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +4 -4
  71. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  72. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  73. package/dist/components/core/form/fields/SolidSelectionStaticField.js +4 -4
  74. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  75. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  76. package/dist/components/core/form/fields/SolidShortTextField.js +2 -2
  77. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  78. package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
  79. package/dist/components/core/form/fields/SolidTimeField.js +7 -7
  80. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  81. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  82. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +15 -14
  83. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  84. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  85. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -2
  86. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  87. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +2 -2
  88. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  89. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  90. package/dist/components/core/model/CreateModel.js +15 -11
  91. package/dist/components/core/model/CreateModel.js.map +1 -1
  92. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  93. package/dist/components/core/model/FieldMetaData.js +6 -6
  94. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  95. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  96. package/dist/components/core/model/FieldMetaDataForm.js +167 -152
  97. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  98. package/dist/components/core/model/FieldSelector.d.ts.map +1 -1
  99. package/dist/components/core/model/FieldSelector.js +1 -1
  100. package/dist/components/core/model/FieldSelector.js.map +1 -1
  101. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  102. package/dist/components/core/model/ModelMetaData.js +46 -42
  103. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  104. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  105. package/dist/components/core/module/CreateModule.js +98 -60
  106. package/dist/components/core/module/CreateModule.js.map +1 -1
  107. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  108. package/dist/components/core/users/CreateUser.js +18 -15
  109. package/dist/components/core/users/CreateUser.js.map +1 -1
  110. package/dist/index.d.ts +5 -0
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +5 -0
  113. package/dist/index.js.map +1 -1
  114. package/dist/redux/api/solidSettingsApi.d.ts +9 -0
  115. package/dist/redux/api/solidSettingsApi.d.ts.map +1 -0
  116. package/dist/redux/api/solidSettingsApi.js +40 -0
  117. package/dist/redux/api/solidSettingsApi.js.map +1 -0
  118. package/package.json +1 -1
  119. package/src/components/auth/SolidChangeForcePassword.tsx +2 -3
  120. package/src/components/auth/SolidForgotPassword.tsx +9 -4
  121. package/src/components/auth/SolidLogin.tsx +22 -13
  122. package/src/components/common/BackButton.tsx +27 -0
  123. package/src/components/common/CancelButton.tsx +2 -2
  124. package/src/components/common/DropzonePlaceholder.tsx +11 -3
  125. package/src/components/common/FileReaderExt.tsx +18 -0
  126. package/src/components/common/GeneralSettings.tsx +286 -0
  127. package/src/components/common/SingleSelectAutoCompleteField.tsx +0 -1
  128. package/src/components/common/SocialMediaLogin.tsx +1 -1
  129. package/src/components/common/SolidFormStepper.tsx +12 -0
  130. package/src/components/core/form/SolidFormView.tsx +201 -186
  131. package/src/components/core/form/fields/SolidBooleanField.tsx +3 -7
  132. package/src/components/core/form/fields/SolidDateField.tsx +2 -8
  133. package/src/components/core/form/fields/SolidDateTimeField.tsx +19 -24
  134. package/src/components/core/form/fields/SolidDecimalField.tsx +2 -7
  135. package/src/components/core/form/fields/SolidIntegerField.tsx +17 -22
  136. package/src/components/core/form/fields/SolidJsonField.tsx +15 -19
  137. package/src/components/core/form/fields/SolidLongTextField.tsx +19 -24
  138. package/src/components/core/form/fields/SolidMediaMultipleField.tsx +47 -51
  139. package/src/components/core/form/fields/SolidMediaSingleField.tsx +47 -51
  140. package/src/components/core/form/fields/SolidRichTextField.tsx +3 -7
  141. package/src/components/core/form/fields/SolidSelectionDynamicField.tsx +2 -7
  142. package/src/components/core/form/fields/SolidSelectionStaticField.tsx +20 -25
  143. package/src/components/core/form/fields/SolidShortTextField.tsx +18 -23
  144. package/src/components/core/form/fields/SolidTimeField.tsx +19 -24
  145. package/src/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +51 -52
  146. package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +20 -25
  147. package/src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +6 -5
  148. package/src/components/core/model/CreateModel.tsx +68 -53
  149. package/src/components/core/model/FieldMetaData.tsx +16 -21
  150. package/src/components/core/model/FieldMetaDataForm.tsx +802 -896
  151. package/src/components/core/model/FieldSelector.tsx +10 -15
  152. package/src/components/core/model/ModelMetaData.tsx +364 -356
  153. package/src/components/core/module/CreateModule.tsx +327 -295
  154. package/src/components/core/users/CreateUser.tsx +175 -167
  155. package/src/index.ts +5 -2
  156. package/src/redux/api/solidSettingsApi.tsx +47 -0
  157. package/solidstarters-solid-core-ui-1.1.2.tgz +0 -0
@@ -41,7 +41,7 @@ export class SolidTimeField implements ISolidField {
41
41
  render(formik: FormikObject) {
42
42
  const fieldMetadata = this.fieldContext.fieldMetadata;
43
43
  const fieldLayoutInfo = this.fieldContext.field;
44
- const className = fieldLayoutInfo.attrs?.className || 'col-12 s-field';
44
+ const className = fieldLayoutInfo.attrs?.className || 'field col-6 flex flex-column gap-2 mt-4';
45
45
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
46
46
  const calendarRef = useRef<any>(null); // Reference for the Calendar component
47
47
  const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
@@ -54,31 +54,26 @@ export class SolidTimeField implements ISolidField {
54
54
 
55
55
  return (
56
56
  <div className={className}>
57
- <div className="justify-content-center align-items-center">
58
- <label htmlFor={fieldLayoutInfo.attrs.name}>{fieldLabel}
57
+ <label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
59
58
 
60
- &nbsp; {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
61
- </label>
62
- </div>
63
- <div className="flex-auto">
64
- <Calendar
65
- disabled={formDisabled || fieldDisabled}
66
- ref={calendarRef} // Attach ref to Calendar
67
- id={fieldLayoutInfo.attrs.name}
68
- aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}
69
- onChange={formik.handleChange}
70
- //@ts-ignore
71
- value={formik.values[fieldLayoutInfo.attrs.name] ? formik.values[fieldLayoutInfo.attrs.name] : Date()}
72
- // dateFormat="mm/dd/yy"
73
- // placeholder="mm/dd/yyyy hh:mm"
74
- hideOnDateTimeSelect
75
- timeOnly
76
- showTime className=""
77
- hourFormat="24"
78
-
79
- />
80
- </div>
59
+ &nbsp; {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
60
+ </label>
61
+ <Calendar
62
+ disabled={formDisabled || fieldDisabled}
63
+ ref={calendarRef} // Attach ref to Calendar
64
+ id={fieldLayoutInfo.attrs.name}
65
+ aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}
66
+ onChange={formik.handleChange}
67
+ //@ts-ignore
68
+ value={formik.values[fieldLayoutInfo.attrs.name] ? formik.values[fieldLayoutInfo.attrs.name] : Date()}
69
+ // dateFormat="mm/dd/yy"
70
+ // placeholder="mm/dd/yyyy hh:mm"
71
+ hideOnDateTimeSelect
72
+ timeOnly
73
+ showTime className=""
74
+ hourFormat="24"
81
75
 
76
+ />
82
77
  {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
83
78
  <Message severity="error" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />
84
79
  )}
@@ -97,7 +97,7 @@ export class SolidRelationManyToManyField implements ISolidField {
97
97
  render(formik: FormikObject) {
98
98
  const fieldMetadata = this.fieldContext.fieldMetadata;
99
99
  const fieldLayoutInfo = this.fieldContext.field;
100
- const className = fieldLayoutInfo.attrs?.className || 'col-12 s-field';
100
+ const className = fieldLayoutInfo.attrs?.className || 'field col-6 flex flex-column gap-2 mt-4';
101
101
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
102
102
  const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
103
103
  const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
@@ -115,24 +115,26 @@ export class SolidRelationManyToManyField implements ISolidField {
115
115
 
116
116
 
117
117
  return (
118
- <div className={className}>
119
- <div className="s-input">
120
- {fieldLayoutInfo.attrs.renderMode === "checkbox" &&
121
- this.renderCheckBoxMode(formik, visibleCreateRelationEntity, setvisibleCreateRelationEntity)
122
- }
123
- {(!fieldLayoutInfo.attrs.renderMode || fieldLayoutInfo.attrs.renderMode === "autocomplete") &&
124
- this.renderAutoCompleteMode(formik, visibleCreateRelationEntity, setvisibleCreateRelationEntity)
125
- }
126
- {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (<Message severity="error" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />)}
127
- </div>
128
- </div>
118
+ <>
119
+ {/* <div className={className}> */}
120
+ {fieldLayoutInfo.attrs.renderMode === "checkbox" &&
121
+ <div className={className}>
122
+ {this.renderCheckBoxMode(formik, visibleCreateRelationEntity, setvisibleCreateRelationEntity)}
123
+ </div>
124
+ }
125
+ {(!fieldLayoutInfo.attrs.renderMode || fieldLayoutInfo.attrs.renderMode === "autocomplete") &&
126
+ this.renderAutoCompleteMode(formik, visibleCreateRelationEntity, setvisibleCreateRelationEntity)
127
+ }
128
+ {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (<Message severity="error" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />)}
129
+ {/* </div> */}
130
+ </>
129
131
  );
130
132
  }
131
133
 
132
134
  renderCheckBoxMode(formik: FormikObject, visibleCreateRelationEntity: any, setvisibleCreateRelationEntity: any) {
133
135
  const fieldMetadata = this.fieldContext.fieldMetadata;
134
136
  const fieldLayoutInfo = this.fieldContext.field;
135
- const className = fieldLayoutInfo.attrs?.className || 'col-12 s-field';
137
+ const className = fieldLayoutInfo.attrs?.className || 'field col-6 flex flex-column gap-2 mt-4';
136
138
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
137
139
 
138
140
  // auto complete specific code.
@@ -232,8 +234,10 @@ export class SolidRelationManyToManyField implements ISolidField {
232
234
 
233
235
  return (
234
236
  <div className={className}>
235
- <div className="flex align-items-center gap-2">
236
- {capitalize(fieldLayoutInfo.attrs.name)}
237
+ <div className="flex align-items-center gap-3">
238
+ <label className="form-field-label">
239
+ {capitalize(fieldLayoutInfo.attrs.name)}
240
+ </label>
237
241
  {fieldLayoutInfo.attrs.inlineCreate === "true" &&
238
242
  this.renderSolidFormEmbededView(formik, customCreateHandler, visibleCreateRelationEntity, setvisibleCreateRelationEntity)
239
243
  }
@@ -259,18 +263,18 @@ export class SolidRelationManyToManyField implements ISolidField {
259
263
  return (
260
264
  <div>
261
265
 
262
- <Panel toggleable headerTemplate={headerTemplate} style={{ marginBottom: "30px" }}>
266
+ <Panel toggleable headerTemplate={headerTemplate}>
263
267
 
264
- <div style={{ display: "grid", gridTemplateColumns: "auto auto" }}>
265
- {autoCompleteItems && autoCompleteItems.map((a: any) => {
268
+ <div className="formgrid grid">
269
+ {autoCompleteItems && autoCompleteItems.map((a: any, i: number) => {
266
270
  return (
267
- <div key={a.label} className="p-field-checkbox many-to-many-checkbox md:col-6 sm:col-12">
271
+ <div key={a.label} className={`field col-6 flex gap-2 ${i >= 2 ? 'mt-3' : ''}`}>
268
272
  <Checkbox
269
273
  inputId={a.label}
270
274
  checked={formik.values[fieldLayoutInfo.attrs.name].some((item: any) => item.label === a.label)}
271
275
  onChange={() => handleCheckboxChange(a)}
272
276
  />
273
- <label htmlFor={a.label}> {a.label}</label>
277
+ <label htmlFor={a.label} className="form-field-label m-0"> {a.label}</label>
274
278
  </div>
275
279
  )
276
280
  })}
@@ -285,7 +289,7 @@ export class SolidRelationManyToManyField implements ISolidField {
285
289
  renderAutoCompleteMode(formik: FormikObject, visibleCreateRelationEntity: any, setvisibleCreateRelationEntity: any) {
286
290
  const fieldMetadata = this.fieldContext.fieldMetadata;
287
291
  const fieldLayoutInfo = this.fieldContext.field;
288
- const className = fieldLayoutInfo.attrs?.className || 'col-12 s-field';
292
+ const className = fieldLayoutInfo.attrs?.className || 'field col-6 flex flex-column gap-2 mt-4';
289
293
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
290
294
 
291
295
  // auto complete specific code.
@@ -354,32 +358,24 @@ export class SolidRelationManyToManyField implements ISolidField {
354
358
 
355
359
  return (
356
360
  <div className={className}>
357
- <div className="justify-content-center align-items-center">
358
- <label htmlFor={fieldLayoutInfo.attrs.name}>{fieldLabel}
359
-
360
- </label>
361
- </div>
362
- <div className="s-input">
363
- <div className="flex align-items-center justify-content-center">
364
- <AutoComplete
365
- readOnly={readOnly}
366
- disabled={disabled}
367
- multiple
368
- {...formik.getFieldProps(fieldLayoutInfo.attrs.name)}
369
- id={fieldLayoutInfo.attrs.name}
370
- field="label"
371
- value={formik.values[fieldLayoutInfo.attrs.name] || ''}
372
- dropdown
373
- className="w-full autocomplete-small-input"
374
- suggestions={autoCompleteItems}
375
- completeMethod={autoCompleteSearch}
376
- onChange={formik.handleChange} />
377
- {fieldLayoutInfo.attrs.inlineCreate === "true" &&
378
- this.renderSolidFormEmbededView(formik, customCreateHandler, visibleCreateRelationEntity, setvisibleCreateRelationEntity)
379
- }
380
- </div>
381
-
382
- </div>
361
+ <label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
362
+
363
+ </label>
364
+ <AutoComplete
365
+ readOnly={readOnly}
366
+ disabled={disabled}
367
+ multiple
368
+ {...formik.getFieldProps(fieldLayoutInfo.attrs.name)}
369
+ id={fieldLayoutInfo.attrs.name}
370
+ field="label"
371
+ value={formik.values[fieldLayoutInfo.attrs.name] || ''}
372
+ dropdown
373
+ suggestions={autoCompleteItems}
374
+ completeMethod={autoCompleteSearch}
375
+ onChange={formik.handleChange} />
376
+ {fieldLayoutInfo.attrs.inlineCreate === "true" &&
377
+ this.renderSolidFormEmbededView(formik, customCreateHandler, visibleCreateRelationEntity, setvisibleCreateRelationEntity)
378
+ }
383
379
  </div>
384
380
  );
385
381
  }
@@ -388,7 +384,7 @@ export class SolidRelationManyToManyField implements ISolidField {
388
384
 
389
385
  const fieldMetadata = this.fieldContext.fieldMetadata;
390
386
  const fieldLayoutInfo = this.fieldContext.field;
391
- const className = fieldLayoutInfo.attrs?.className || 'col-12 s-field';
387
+ const className = fieldLayoutInfo.attrs?.className || 'field col-6 flex flex-column gap-2 mt-4';
392
388
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
393
389
 
394
390
  const params = {
@@ -406,22 +402,25 @@ export class SolidRelationManyToManyField implements ISolidField {
406
402
  }),
407
403
  modelName: camelCase(this.fieldContext.fieldMetadata.relationModelSingularName)
408
404
  }
405
+ // console.log("fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width ", fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width);
409
406
 
410
407
  return (
411
- <div className="many-to-many-add" >
412
- <Button icon="pi pi-plus"
408
+ <div >
409
+ <Button
410
+ icon="pi pi-plus"
413
411
  rounded
414
412
  outlined
415
413
  aria-label="Filter"
416
414
  type="button"
415
+ size="small"
417
416
  onClick={() => setvisibleCreateRelationEntity(true)}
417
+ className="custom-add-button"
418
418
  />
419
419
  <Dialog
420
420
  header=""
421
421
  showHeader={false}
422
422
  visible={visibleCreateRelationEntity}
423
- className="many-to-many-creat-form-dialog"
424
- style={{ width: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width ?? "40vw" }}
423
+ style={{ width: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width ?? "60vw" }}
425
424
  onHide={() => {
426
425
  if (!visibleCreateRelationEntity) return;
427
426
  setvisibleCreateRelationEntity(false);
@@ -54,7 +54,7 @@ export class SolidRelationManyToOneField implements ISolidField {
54
54
  render(formik: FormikObject) {
55
55
  const fieldMetadata = this.fieldContext.fieldMetadata;
56
56
  const fieldLayoutInfo = this.fieldContext.field;
57
- const className = fieldLayoutInfo.attrs?.className || 'col-12 s-field';
57
+ const className = fieldLayoutInfo.attrs?.className || 'field col-6 flex flex-column gap-2 mt-4';
58
58
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
59
59
  const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
60
60
 
@@ -103,35 +103,30 @@ export class SolidRelationManyToOneField implements ISolidField {
103
103
  setAutoCompleteItems(autoCompleteItems);
104
104
  }
105
105
  }
106
- console.log("formik",formik.values);
106
+ console.log("formik", formik.values);
107
107
 
108
108
  const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];
109
109
 
110
110
  return (
111
111
  <div className={className}>
112
- <div className="justify-content-center align-items-center">
113
- <label htmlFor={fieldLayoutInfo.attrs.name}>{fieldLabel}
114
-
115
- </label>
116
- </div>
117
- <div className="s-input">
118
- <AutoComplete
119
- readOnly={formReadonly || fieldReadonly}
120
- disabled={formDisabled || fieldDisabled}
121
- {...formik.getFieldProps(fieldLayoutInfo.attrs.name)}
122
- id={fieldLayoutInfo.attrs.name}
123
- field="label"
124
- value={formik.values[fieldLayoutInfo.attrs.name] || ''}
125
- dropdown
126
- className="w-full small-input"
127
- suggestions={autoCompleteItems}
128
- completeMethod={autoCompleteSearch}
129
- onChange={formik.handleChange} />
130
-
131
- {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
132
- <Message severity="error" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />
133
- )}
134
- </div>
112
+ <label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
113
+
114
+ </label>
115
+ <AutoComplete
116
+ readOnly={formReadonly || fieldReadonly}
117
+ disabled={formDisabled || fieldDisabled}
118
+ {...formik.getFieldProps(fieldLayoutInfo.attrs.name)}
119
+ id={fieldLayoutInfo.attrs.name}
120
+ field="label"
121
+ value={formik.values[fieldLayoutInfo.attrs.name] || ''}
122
+ dropdown
123
+ suggestions={autoCompleteItems}
124
+ completeMethod={autoCompleteSearch}
125
+ onChange={formik.handleChange} />
126
+
127
+ {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
128
+ <Message severity="error" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />
129
+ )}
135
130
  </div>
136
131
  );
137
132
  }
@@ -54,7 +54,7 @@ export class SolidRelationOneToManyField implements ISolidField {
54
54
  const fieldMetadata = this.fieldContext.fieldMetadata;
55
55
 
56
56
  const fieldLayoutInfo = this.fieldContext.field;
57
- const className = fieldLayoutInfo.attrs?.className || 'col-12 s-field';
57
+ const className = fieldLayoutInfo.attrs?.className || 'field col-12 flex flex-column gap-2 mt-3';
58
58
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
59
59
  const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
60
60
  const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
@@ -132,10 +132,10 @@ export class SolidRelationOneToManyField implements ISolidField {
132
132
 
133
133
  return (
134
134
  <div className={className}>
135
- <div className="justify-content-center align-items-center">
136
- <label htmlFor={fieldLayoutInfo.attrs.name}>{fieldLabel}&nbsp;{fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}</label>
137
- </div>
138
- <br></br>
135
+ {/* <div className="justify-content-center align-items-center"> */}
136
+ <label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}&nbsp;{fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}</label>
137
+ {/* </div>
138
+ <br></br> */}
139
139
  {listViewParams &&
140
140
  <SolidListView key={refreshList.toString()} {...listViewParams} handlePopUpOpen={handlePopupOpen} />
141
141
  }
@@ -183,3 +183,4 @@ export class SolidRelationOneToManyField implements ISolidField {
183
183
  )
184
184
  }
185
185
  }
186
+
@@ -13,6 +13,8 @@ import qs from "qs";
13
13
  import { useEffect, useRef, useState } from "react";
14
14
  import FieldMetaData from "./FieldMetaData";
15
15
  import ModelMetaData from "./ModelMetaData";
16
+ import { BackButton } from "@/components/common/BackButton";
17
+ import { SolidFormStepper } from "@/components/common/SolidFormStepper";
16
18
 
17
19
 
18
20
  interface ErrorResponseData {
@@ -264,75 +266,88 @@ const CreateModel = ({ data, params }: any) => {
264
266
 
265
267
 
266
268
  return (
267
- <div className="card relative">
269
+ <div className="solid-form-wrapper">
268
270
  <Toast ref={toast} />
269
271
 
270
- <div className="absolute z-3 right-0 " style={{ top: 5 }}>
271
- {params.id === "new" ? <div className="flex gap-3 justify-content-between">
272
- <div className="form-wrapper-title"></div>
273
- <div className="gap-3 flex">
274
- <div>
275
- <Button label="Save" size="small" onClick={handleSubmit} type="submit" className="small-button" />
272
+ <div className="solid-form-header">
273
+ {params.id === "new" ?
274
+ <>
275
+ <div className="flex align-items-center gap-3">
276
+ <BackButton />
277
+ <div className="form-wrapper-title">Create Model</div>
278
+ </div>
279
+ <div className="gap-3 flex">
280
+ <Button label="Save" size="small" onClick={handleSubmit} type="submit" />
281
+ <CancelButton />
282
+ </div>
283
+ </>
284
+ :
285
+ <>
286
+ <div className="flex align-items-center gap-3">
287
+ <BackButton />
288
+ <div className="form-wrapper-title">Edit Model</div>
276
289
  </div>
277
- <CancelButton />
278
- </div>
279
- </div> :
280
- <div className="flex gap-3 justify-content-between">
281
- <h1 className="m-0"></h1>
282
290
  <div className="gap-3 flex">
283
291
  {data?.isSystem !== true &&
284
292
  <>
285
293
  <div>
286
- <Button label="Save" type="submit" className="small-button" onClick={handleSubmit} />
294
+ <Button label="Save" size="small" type="submit" onClick={handleSubmit} />
287
295
  </div>
288
296
  <div>
289
- <Button outlined label="Delete" className="small-button" severity="danger" type="button" onClick={deleteModelFunction} />
297
+ <Button outlined label="Delete" size="small" severity="danger" type="button" onClick={deleteModelFunction} />
290
298
  </div>
291
299
  </>
292
300
  }
293
-
294
301
  <CancelButton />
295
302
  </div>
296
- </div>
303
+ </>
297
304
  }
298
305
  </div>
299
-
300
- <TabView
301
- activeIndex={activeIndex}
302
- onTabChange={(e) => {
303
- if (activeIndex == 0) {
304
- formikModelMetadataRef.current.handleSubmit();
305
- setActiveIndex(e.index)
306
-
307
- }
308
- if (activeIndex == 1) {
309
- setActiveIndex(e.index)
310
- }
311
-
312
- }}
313
- >
314
- <TabPanel header="Model">
315
- <ModelMetaData
316
- modelMetaData={modelMetaData}
317
- setModelMetaData={setModelMetaData}
318
- allModelsNames={allModelsNames}
319
- deleteModelFunction={deleteModelFunction}
320
- nextTab={nextTab}
321
- formikModelMetadataRef={formikModelMetadataRef}
322
- params={params}
323
- ></ModelMetaData>
324
- </TabPanel>
325
- <TabPanel header="Fields" >
326
- <FieldMetaData
327
- modelMetaData={modelMetaData}
328
- fieldMetaData={fieldMetaData}
329
- setFieldMetaData={setFieldMetaData}
330
- deleteModelFunction={deleteModelFunction}
331
- nextTab={nextTab}
332
- formikFieldsMetadataRef={formikFieldsMetadataRef}
333
- ></FieldMetaData>
334
- </TabPanel>
335
- </TabView>
306
+ <div className="solid-form-stepper">
307
+ <SolidFormStepper />
308
+ </div>
309
+ <div className="p-4 solid-form-content">
310
+ <div className="grid">
311
+ <div className="col-8 mx-auto">
312
+ <TabView
313
+ activeIndex={activeIndex}
314
+ onTabChange={(e) => {
315
+ if (activeIndex == 0) {
316
+ formikModelMetadataRef.current.handleSubmit();
317
+ setActiveIndex(e.index)
318
+
319
+ }
320
+ if (activeIndex == 1) {
321
+ setActiveIndex(e.index)
322
+ }
323
+
324
+ }}
325
+ >
326
+ <TabPanel header="Model">
327
+ <ModelMetaData
328
+ modelMetaData={modelMetaData}
329
+ setModelMetaData={setModelMetaData}
330
+ allModelsNames={allModelsNames}
331
+ deleteModelFunction={deleteModelFunction}
332
+ nextTab={nextTab}
333
+ formikModelMetadataRef={formikModelMetadataRef}
334
+ params={params}
335
+ ></ModelMetaData>
336
+ </TabPanel>
337
+ <TabPanel header="Fields" >
338
+ <FieldMetaData
339
+ modelMetaData={modelMetaData}
340
+ fieldMetaData={fieldMetaData}
341
+ setFieldMetaData={setFieldMetaData}
342
+ deleteModelFunction={deleteModelFunction}
343
+ nextTab={nextTab}
344
+ formikFieldsMetadataRef={formikFieldsMetadataRef}
345
+ ></FieldMetaData>
346
+ </TabPanel>
347
+ </TabView>
348
+ </div>
349
+ </div>
350
+ </div>
336
351
  </div >
337
352
  );
338
353
  };
@@ -44,11 +44,12 @@ const FieldMetaData = ({ modelMetaData, fieldMetaData, setFieldMetaData, deleteM
44
44
  {rowData.isSystem !== true &&
45
45
  <Button
46
46
  icon="pi pi-pencil"
47
+ text
47
48
  onClick={() => {
48
49
  setSelectedFieldMetaData(rowData);
49
50
  setVisiblePopup(true);
50
51
  }}
51
- className="p-button-rounded p-button-text"
52
+ size="small"
52
53
  />
53
54
  }
54
55
  </>
@@ -65,7 +66,7 @@ const FieldMetaData = ({ modelMetaData, fieldMetaData, setFieldMetaData, deleteM
65
66
  return (
66
67
  <>
67
68
  {(pathname.includes('create') || rowData.isSystem !== true) &&
68
- <Button icon="pi pi-trash" onClick={() => deleteRow(rowData)} className="p-button-rounded p-button-danger p-button-text" />
69
+ <Button icon="pi pi-trash" text severity="danger" onClick={() => deleteRow(rowData)} size="small" />
69
70
 
70
71
  }
71
72
  </>
@@ -102,31 +103,26 @@ const FieldMetaData = ({ modelMetaData, fieldMetaData, setFieldMetaData, deleteM
102
103
  setVisiblePopup(true)
103
104
  }
104
105
  }} size="small"
105
- className="small-button"
106
106
  />
107
107
  }
108
108
  </div>
109
- <div className="card">
110
- <DataTable value={fieldMetaData} dataKey="id"
111
- tableStyle={{ minWidth: '50rem' }} size="small" className="custom-table" rowClassName={() => 'custom-row-height'}>
112
- <Column field="displayName" header="Display Name" headerClassName="table-header-fs"></Column>
113
- <Column field="name" header="Name" headerClassName="table-header-fs"></Column>
114
- <Column field="type" header="Type" headerClassName="table-header-fs"></Column>
115
-
116
- {modelMetaData.isSystem !== true &&
117
- <Column body={editTemplate} header="Edit" headerClassName="table-header-fs" style={{ width: '10%' }} />
118
- }
119
- {modelMetaData.isSystem !== true &&
120
- <Column body={deleteTemplate} header="Delete" headerClassName="table-header-fs" style={{ width: '10%' }} />
121
- }
122
- </DataTable>
123
- </div>
109
+ <DataTable value={fieldMetaData} dataKey="id"
110
+ tableStyle={{ minWidth: '50rem' }} size="small">
111
+ <Column field="displayName" header="Display Name" headerClassName="table-header-fs"></Column>
112
+ <Column field="name" header="Name" headerClassName="table-header-fs"></Column>
113
+ <Column field="type" header="Type" headerClassName="table-header-fs"></Column>
114
+
115
+ {modelMetaData.isSystem !== true &&
116
+ <Column body={editTemplate} header="Edit" headerClassName="table-header-fs" style={{ width: '10%' }} />
117
+ }
118
+ {modelMetaData.isSystem !== true &&
119
+ <Column body={deleteTemplate} header="Delete" headerClassName="table-header-fs" style={{ width: '10%' }} />
120
+ }
121
+ </DataTable>
124
122
  <Dialog
125
- className="field-poopup-container"
126
123
  header=""
127
124
  visible={visiblePopup}
128
125
  style={{ width: "40vw" }}
129
- contentStyle={{ borderRadius: 8 }}
130
126
  onHide={() => {
131
127
  if (!visiblePopup) return;
132
128
 
@@ -145,5 +141,4 @@ const FieldMetaData = ({ modelMetaData, fieldMetaData, setFieldMetaData, deleteM
145
141
 
146
142
  );
147
143
  };
148
-
149
144
  export default FieldMetaData;