@solidstarters/solid-core-ui 1.1.10 → 1.1.12

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 (188) hide show
  1. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  2. package/dist/components/auth/SolidForgotPassword.js +2 -1
  3. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  4. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  5. package/dist/components/auth/SolidInitialLoginOtp.js +2 -1
  6. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  7. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  8. package/dist/components/auth/SolidInitiateRegisterOtp.js +2 -1
  9. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  10. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  11. package/dist/components/auth/SolidLogin.js +2 -1
  12. package/dist/components/auth/SolidLogin.js.map +1 -1
  13. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -1
  14. package/dist/components/auth/SolidOTPVerify.js +2 -1
  15. package/dist/components/auth/SolidOTPVerify.js.map +1 -1
  16. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  17. package/dist/components/auth/SolidRegister.js +125 -103
  18. package/dist/components/auth/SolidRegister.js.map +1 -1
  19. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  20. package/dist/components/auth/SolidResetPassword.js +2 -1
  21. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  22. package/dist/components/common/DropzonePlaceholder.js +1 -1
  23. package/dist/components/common/DropzonePlaceholder.js.map +1 -1
  24. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  25. package/dist/components/common/GeneralSettings.js +43 -31
  26. package/dist/components/common/GeneralSettings.js.map +1 -1
  27. package/dist/components/core/common/FilterComponent.d.ts +2 -1
  28. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  29. package/dist/components/core/common/FilterComponent.js +52 -16
  30. package/dist/components/core/common/FilterComponent.js.map +1 -1
  31. package/dist/components/core/common/SolidConfigureLayoutElement.d.ts +1 -1
  32. package/dist/components/core/common/SolidConfigureLayoutElement.d.ts.map +1 -1
  33. package/dist/components/core/common/SolidConfigureLayoutElement.js +5 -2
  34. package/dist/components/core/common/SolidConfigureLayoutElement.js.map +1 -1
  35. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  36. package/dist/components/core/common/SolidGlobalSearchElement.js +131 -23
  37. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  38. package/dist/components/core/filter/SolidManyToOneFilterElement.d.ts.map +1 -1
  39. package/dist/components/core/filter/SolidManyToOneFilterElement.js +8 -6
  40. package/dist/components/core/filter/SolidManyToOneFilterElement.js.map +1 -1
  41. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js +1 -1
  42. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js.map +1 -1
  43. package/dist/components/core/filter/SolidSelectionStaticFilterElement.js +1 -1
  44. package/dist/components/core/filter/SolidSelectionStaticFilterElement.js.map +1 -1
  45. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts.map +1 -1
  46. package/dist/components/core/filter/SolidVarInputsFilterElement.js +11 -10
  47. package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
  48. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  49. package/dist/components/core/form/SolidFormView.js +49 -14
  50. package/dist/components/core/form/SolidFormView.js.map +1 -1
  51. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  52. package/dist/components/core/form/fields/SolidBooleanField.js +9 -5
  53. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  54. package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
  55. package/dist/components/core/form/fields/SolidDateField.js +12 -8
  56. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  57. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  58. package/dist/components/core/form/fields/SolidDateTimeField.js +12 -8
  59. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  60. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  61. package/dist/components/core/form/fields/SolidDecimalField.js +9 -5
  62. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  63. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  64. package/dist/components/core/form/fields/SolidIntegerField.js +9 -5
  65. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  66. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  67. package/dist/components/core/form/fields/SolidJsonField.js +2 -2
  68. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  69. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  70. package/dist/components/core/form/fields/SolidLongTextField.js +7 -3
  71. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  72. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  73. package/dist/components/core/form/fields/SolidMediaMultipleField.js +155 -46
  74. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  75. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  76. package/dist/components/core/form/fields/SolidMediaSingleField.js +87 -31
  77. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  78. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  79. package/dist/components/core/form/fields/SolidRichTextField.js +2 -2
  80. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  81. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  82. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +4 -4
  83. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  84. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  85. package/dist/components/core/form/fields/SolidSelectionStaticField.js +18 -9
  86. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  87. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  88. package/dist/components/core/form/fields/SolidShortTextField.js +7 -3
  89. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  90. package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
  91. package/dist/components/core/form/fields/SolidTimeField.js +12 -8
  92. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  93. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +22 -15
  94. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  95. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  96. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +11 -8
  97. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  98. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +2 -2
  99. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  100. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  101. package/dist/components/core/list/SolidListView.js +88 -63
  102. package/dist/components/core/list/SolidListView.js.map +1 -1
  103. package/dist/components/core/list/SolidManyToOneFilterElement.js +7 -5
  104. package/dist/components/core/list/SolidManyToOneFilterElement.js.map +1 -1
  105. package/dist/components/core/list/columns/SolidBooleanColumn.js +3 -1
  106. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  107. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +2 -1
  108. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  109. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  110. package/dist/components/core/model/CreateModel.js +20 -16
  111. package/dist/components/core/model/CreateModel.js.map +1 -1
  112. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  113. package/dist/components/core/model/FieldMetaDataForm.js +67 -54
  114. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  115. package/dist/components/core/model/FieldSelector.js +1 -1
  116. package/dist/components/core/model/FieldSelector.js.map +1 -1
  117. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  118. package/dist/components/core/model/ModelMetaData.js +12 -17
  119. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  120. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  121. package/dist/components/core/module/CreateModule.js +23 -23
  122. package/dist/components/core/module/CreateModule.js.map +1 -1
  123. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  124. package/dist/components/layout/AppSidebar.js +42 -11
  125. package/dist/components/layout/AppSidebar.js.map +1 -1
  126. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  127. package/dist/components/layout/navbar-two-menu.js +6 -2
  128. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  129. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  130. package/dist/components/layout/user-profile-menu.js +7 -3
  131. package/dist/components/layout/user-profile-menu.js.map +1 -1
  132. package/dist/helpers/AppTitle.d.ts +4 -0
  133. package/dist/helpers/AppTitle.d.ts.map +1 -0
  134. package/dist/helpers/AppTitle.js +8 -0
  135. package/dist/helpers/AppTitle.js.map +1 -0
  136. package/dist/index.d.ts +1 -0
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +1 -0
  139. package/dist/index.js.map +1 -1
  140. package/package.json +1 -1
  141. package/src/components/auth/SolidForgotPassword.tsx +2 -6
  142. package/src/components/auth/SolidInitialLoginOtp.tsx +2 -6
  143. package/src/components/auth/SolidInitiateRegisterOtp.tsx +2 -6
  144. package/src/components/auth/SolidLogin.tsx +2 -5
  145. package/src/components/auth/SolidOTPVerify.tsx +4 -7
  146. package/src/components/auth/SolidRegister.tsx +207 -178
  147. package/src/components/auth/SolidResetPassword.tsx +2 -6
  148. package/src/components/common/DropzonePlaceholder.tsx +1 -1
  149. package/src/components/common/GeneralSettings.tsx +310 -193
  150. package/src/components/core/common/FilterComponent.tsx +148 -202
  151. package/src/components/core/common/SolidConfigureLayoutElement.tsx +6 -4
  152. package/src/components/core/common/SolidGlobalSearchElement.tsx +193 -50
  153. package/src/components/core/filter/SolidManyToOneFilterElement.tsx +5 -3
  154. package/src/components/core/filter/SolidSelectionDynamicFilterElement.tsx +1 -1
  155. package/src/components/core/filter/SolidSelectionStaticFilterElement.tsx +1 -1
  156. package/src/components/core/filter/SolidVarInputsFilterElement.tsx +103 -135
  157. package/src/components/core/form/SolidFormView.tsx +64 -25
  158. package/src/components/core/form/fields/SolidBooleanField.tsx +12 -5
  159. package/src/components/core/form/fields/SolidDateField.tsx +9 -4
  160. package/src/components/core/form/fields/SolidDateTimeField.tsx +27 -21
  161. package/src/components/core/form/fields/SolidDecimalField.tsx +9 -2
  162. package/src/components/core/form/fields/SolidIntegerField.tsx +22 -15
  163. package/src/components/core/form/fields/SolidJsonField.tsx +14 -12
  164. package/src/components/core/form/fields/SolidLongTextField.tsx +22 -16
  165. package/src/components/core/form/fields/SolidMediaMultipleField.tsx +257 -79
  166. package/src/components/core/form/fields/SolidMediaSingleField.tsx +148 -61
  167. package/src/components/core/form/fields/SolidRichTextField.tsx +6 -4
  168. package/src/components/core/form/fields/SolidSelectionDynamicField.tsx +6 -5
  169. package/src/components/core/form/fields/SolidSelectionStaticField.tsx +34 -23
  170. package/src/components/core/form/fields/SolidShortTextField.tsx +23 -16
  171. package/src/components/core/form/fields/SolidTimeField.tsx +27 -20
  172. package/src/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +9 -9
  173. package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +20 -19
  174. package/src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +2 -2
  175. package/src/components/core/list/SolidListView.tsx +91 -49
  176. package/src/components/core/list/SolidManyToOneFilterElement.tsx +2 -2
  177. package/src/components/core/list/columns/SolidBooleanColumn.tsx +2 -2
  178. package/src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +1 -1
  179. package/src/components/core/model/CreateModel.tsx +92 -81
  180. package/src/components/core/model/FieldMetaDataForm.tsx +166 -87
  181. package/src/components/core/model/FieldSelector.tsx +1 -1
  182. package/src/components/core/model/ModelMetaData.tsx +8 -7
  183. package/src/components/core/module/CreateModule.tsx +181 -183
  184. package/src/components/layout/AppSidebar.tsx +35 -10
  185. package/src/components/layout/navbar-two-menu.tsx +6 -1
  186. package/src/components/layout/user-profile-menu.tsx +20 -8
  187. package/src/helpers/AppTitle.tsx +14 -0
  188. package/src/index.ts +2 -1
@@ -15,7 +15,8 @@ import FieldMetaData from "./FieldMetaData";
15
15
  import ModelMetaData from "./ModelMetaData";
16
16
  import { BackButton } from "@/components/common/BackButton";
17
17
  import { SolidFormStepper } from "@/components/common/SolidFormStepper";
18
-
18
+ import { Dialog } from "primereact/dialog";
19
+ import { Divider } from "primereact/divider";
19
20
 
20
21
  interface ErrorResponseData {
21
22
  message: string;
@@ -28,6 +29,7 @@ const CreateModel = ({ data, params }: any) => {
28
29
  const toast = useRef<Toast>(null);
29
30
  const router = useRouter();
30
31
  const pathname = usePathname();
32
+ const [deleteEntity, setDeleteEntity] = useState(false);
31
33
  const [isLoadingData, setIsLoadingData] = useState(data ? true : false);
32
34
  const formikModelMetadataRef = useRef<any>();
33
35
  const formikFieldsMetadataRef = useRef();
@@ -262,95 +264,104 @@ const CreateModel = ({ data, params }: any) => {
262
264
 
263
265
  }, [isCreateModelError, isDeleteModelError, isUpdateModelError])
264
266
 
265
-
266
-
267
-
268
267
  return (
269
268
  <div className="solid-form-wrapper">
270
269
  <Toast ref={toast} />
270
+ <div style={{ width: '77.5%', borderRight: '1px solid var(--primary-light-color' }}>
271
+ <div className="solid-form-header">
272
+ {params.id === "new" ?
273
+ <>
274
+ <div className="flex align-items-center gap-3">
275
+ <BackButton />
276
+ <div className="form-wrapper-title">Create Model</div>
277
+ </div>
278
+ <div className="gap-3 flex">
279
+ <Button label="Save" size="small" onClick={handleSubmit} type="submit" />
280
+ <CancelButton />
281
+ </div>
282
+ </>
283
+ :
284
+ <>
285
+ <div className="flex align-items-center gap-3">
286
+ <BackButton />
287
+ <div className="form-wrapper-title">Edit Model</div>
288
+ </div>
289
+ <div className="gap-3 flex">
290
+ {data?.isSystem !== true &&
291
+ <>
292
+ <div>
293
+ <Button label="Save" size="small" type="submit" onClick={handleSubmit} />
294
+ </div>
295
+ <div>
296
+ <Button outlined label="Delete" size="small" severity="danger" type="button" onClick={() => setDeleteEntity(true)} />
297
+ </div>
298
+ </>
299
+ }
300
+ <CancelButton />
301
+ </div>
302
+ </>
303
+ }
304
+ </div>
305
+ <div className="solid-form-stepper">
306
+ <SolidFormStepper />
307
+ </div>
308
+ <div className="p-4 solid-form-content">
309
+ <TabView
310
+ activeIndex={activeIndex}
311
+ onTabChange={(e) => {
312
+ if (activeIndex == 0) {
313
+ formikModelMetadataRef.current.handleSubmit();
314
+ setActiveIndex(e.index)
271
315
 
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>
289
- </div>
290
- <div className="gap-3 flex">
291
- {data?.isSystem !== true &&
292
- <>
293
- <div>
294
- <Button label="Save" size="small" type="submit" onClick={handleSubmit} />
295
- </div>
296
- <div>
297
- <Button outlined label="Delete" size="small" severity="danger" type="button" onClick={deleteModelFunction} />
298
- </div>
299
- </>
300
316
  }
301
- <CancelButton />
302
- </div>
303
- </>
304
- }
317
+ if (activeIndex == 1) {
318
+ setActiveIndex(e.index)
319
+ }
320
+
321
+ }}
322
+ >
323
+ <TabPanel header="Model">
324
+ <ModelMetaData
325
+ modelMetaData={modelMetaData}
326
+ setModelMetaData={setModelMetaData}
327
+ allModelsNames={allModelsNames}
328
+ deleteModelFunction={deleteModelFunction}
329
+ nextTab={nextTab}
330
+ formikModelMetadataRef={formikModelMetadataRef}
331
+ params={params}
332
+ ></ModelMetaData>
333
+ </TabPanel>
334
+ <TabPanel header="Fields" >
335
+ <FieldMetaData
336
+ modelMetaData={modelMetaData}
337
+ fieldMetaData={fieldMetaData}
338
+ setFieldMetaData={setFieldMetaData}
339
+ deleteModelFunction={deleteModelFunction}
340
+ nextTab={nextTab}
341
+ formikFieldsMetadataRef={formikFieldsMetadataRef}
342
+ params={params}
343
+ ></FieldMetaData>
344
+ </TabPanel>
345
+ </TabView>
346
+ </div>
305
347
  </div>
306
- <div className="solid-form-stepper">
307
- <SolidFormStepper />
348
+ <div style={{ width: '22.5%' }}>
308
349
  </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
- params={params}
346
- ></FieldMetaData>
347
- </TabPanel>
348
- </TabView>
350
+ <Dialog header="Delete Field" headerClassName="py-2" contentClassName="px-0 pb-0" visible={deleteEntity} style={{ width: '20vw' }} onHide={() => { if (!deleteEntity) return; setDeleteEntity(false); }}>
351
+ <Divider className="m-0" />
352
+ <div className="p-4">
353
+ <p className="m-0 solid-primary-title" style={{ fontSize: 16 }}>
354
+ Are you sure you want to delete this Field ?
355
+ </p>
356
+ <p className="" style={{ color: 'var{--solid-grey-500}' }}>{modelMetaData?.singularName}</p>
357
+ <div className="flex align-items-center gap-2 mt-3">
358
+ <Button label="Delete" size="small" onClick={deleteModelFunction} />
359
+ <Button label="Cancel" size="small" onClick={() => setDeleteEntity(false)} outlined />
349
360
  </div>
350
361
  </div>
351
- </div>
352
- </div >
362
+ </Dialog>
363
+ </div>
353
364
  );
354
365
  };
355
366
 
356
- export default CreateModel;
367
+ export default CreateModel;
@@ -515,7 +515,6 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
515
515
  const pathname = usePathname();
516
516
 
517
517
  const toast = useRef<Toast>(null);
518
-
519
518
  const { data: fieldDefaultMetaData, isLoading, error, refetch } = useGetFieldDefaultMetaDataQuery(null);
520
519
  const [currentFields, setCurrentFields] = useState(
521
520
  fetchCurrentFields(fieldMetaData && fieldMetaData.type, fieldDefaultMetaData)
@@ -887,8 +886,8 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
887
886
  mediaEmbedded: fieldMetaData ? (fieldMetaData?.mediaEmbedded && fieldMetaData?.mediaEmbedded.toString()) : "true",
888
887
  relationType: fieldMetaData ? fieldMetaData?.relationType : null,
889
888
  relationModelSingularName: fieldMetaData ? fieldMetaData?.relationModelSingularName : null,
890
- relationModelFieldName: fieldMetaData ? fieldMetaData?.relationModelFieldName : '',
891
- relationCreateInverse: fieldMetaData && fieldMetaData.relationCreateInverse === false ? "false" : "true",
889
+ relationModelFieldName: fieldMetaData ? fieldMetaData?.relationModelFieldName : modelMetaData.pluralName || '',
890
+ relationCreateInverse: fieldMetaData ? fieldMetaData?.relationCreateInverse : false,
892
891
  relationCascade: fieldMetaData ? fieldMetaData?.relationCascade : 'cascade',
893
892
  relationModelModuleName: fieldMetaData ? fieldMetaData?.relationModelModuleName : modelMetaData?.module.name,
894
893
  selectionDynamicProvider: fieldMetaData ? fieldMetaData?.selectionDynamicProvider : null,
@@ -902,7 +901,10 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
902
901
  // externalIdProviderCtxt: fieldMetaData ? fieldMetaData?.externalIdProviderCtxt : "",
903
902
  isSystem: fieldMetaData ? fieldMetaData?.isSystem : false,
904
903
  columnName: fieldMetaData ? fieldMetaData?.columnName : null,
905
- isUserKey: fieldMetaData ? fieldMetaData?.isUserKey : false
904
+ isUserKey: fieldMetaData ? fieldMetaData?.isUserKey : false,
905
+ relationJoinColumnName: fieldMetaData ? fieldMetaData?.relationJoinColumnName : null,
906
+ joinColumnName: fieldMetaData ? fieldMetaData?.joinColumnName : null,
907
+ relationJoinTableName: fieldMetaData ? fieldMetaData?.relationJoinTableName : null
906
908
  };
907
909
 
908
910
 
@@ -972,11 +974,10 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
972
974
 
973
975
 
974
976
 
975
- const handleTypeSelect = (e: any) => {
976
-
977
+ const handleTypeSelect = (e: any, label: string) => {
977
978
 
978
979
  setShowTypeFilter(false);
979
- setSelectedType({ label: e, value: e });
980
+ setSelectedType({ label: label, value: e });
980
981
  formik.setFieldValue("type", e);
981
982
  if (e == "email") {
982
983
  formik.setFieldValue("regexPattern", "/^[a-zA-Z0-9. _%+-]+@[a-zA-Z0-9. -]+\\. [a-zA-Z]{2,}$/");
@@ -1117,7 +1118,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1117
1118
  <div className="p-d-flex p-jc-center creat-field-for form-dem">
1118
1119
  <div className="p-fluid" style={{ position: 'relative' }}>
1119
1120
  <div className="mb-3">
1120
- <div className="form-wrapper-title">{fieldMetaData ? `Edit ${capitalize(selectedType.value)} Field` : `Add a new ${capitalize(selectedType.value)} Field`}</div>
1121
+ <div className="form-wrapper-title">{fieldMetaData ? `Edit ${capitalize(selectedType.label)} Field` : `Add a new ${capitalize(selectedType.label)} Field`}</div>
1121
1122
  </div>
1122
1123
 
1123
1124
 
@@ -1228,9 +1229,11 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1228
1229
  if (pathname.includes('create')) {
1229
1230
  formik.setFieldValue("columnName", toSnakeCase);
1230
1231
  }
1232
+ } else {
1233
+ formik.setFieldValue("columnName", null);
1231
1234
  }
1232
1235
 
1233
- }} checked={showColumnName}></Checkbox>
1236
+ }} checked={showColumnName} disabled={fieldMetaData?.id}></Checkbox>
1234
1237
  <label htmlFor="ingredient1" className="form-field-label">
1235
1238
  Set Column Name
1236
1239
  </label>
@@ -1714,86 +1717,13 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1714
1717
  </div>
1715
1718
  )}
1716
1719
 
1717
-
1718
- {currentFields.includes("relationModelFieldName") && formik.values.relationType === "many-to-many" && (
1719
- <div className="field col-6 flex-flex-column gap-2">
1720
- <label
1721
- htmlFor="relationModelFieldName"
1722
- className="form-field-label"
1723
- >
1724
- Relation Model Field Name
1725
- </label>
1726
- <InputText
1727
- type="text"
1728
- id="relationModelFieldName"
1729
- name="relationModelFieldName"
1730
- onChange={formik.handleChange}
1731
- value={formik.values.relationModelFieldName}
1732
- className={classNames("", {
1733
- "p-invalid": isFormFieldValid(
1734
- formik,
1735
- "relationModelFieldName"
1736
- ),
1737
- })}
1738
- />
1739
- {isFormFieldValid(formik, "relationModelFieldName") && (
1740
- <Message
1741
- severity="error"
1742
- text={formik?.errors?.relationModelFieldName?.toString()}
1743
- />
1744
- )}
1745
-
1746
- </div>
1747
- )}
1748
-
1749
-
1750
- {currentFields.includes("relationCreateInverse") && formik.values.relationType === "many-to-many" && (
1751
- <div className="field col-6 flex-flex-column gap-2">
1752
- <label
1753
- htmlFor="relationCreateInverse"
1754
- className="form-field-label"
1755
- >
1756
- Relation Create Inverse
1757
- </label>
1758
- <Dropdown
1759
- id="relationCreateInverse"
1760
- name="relationCreateInverse"
1761
- value={formik.values.relationCreateInverse}
1762
- options={relationCreateInverses}
1763
- onChange={(e) =>
1764
- formik.setFieldValue(
1765
- "relationCreateInverse",
1766
- e.value
1767
- )
1768
- }
1769
- placeholder="Select a Data Source"
1770
- className={classNames("", {
1771
- "p-invalid": isFormFieldValid(
1772
- formik,
1773
- "relationCreateInverse"
1774
- ),
1775
- })}
1776
- />
1777
- {isFormFieldValid(
1778
- formik,
1779
- "relationCreateInverse"
1780
- ) && (
1781
- <Message
1782
- severity="error"
1783
- text={formik?.errors?.relationCreateInverse?.toString()}
1784
- />
1785
- )}
1786
- </div>
1787
- )}
1788
-
1789
-
1790
1720
  {currentFields.includes("relationModelModuleName") && (
1791
1721
  <div className="field col-6 flex-flex-column gap-2">
1792
1722
  <label
1793
1723
  htmlFor="relationModelModuleName"
1794
1724
  className="form-field-label"
1795
1725
  >
1796
- Relation Model Module Name
1726
+ Co-Module Name
1797
1727
  </label>
1798
1728
 
1799
1729
  <SingleSelectAutoCompleteField
@@ -1806,7 +1736,12 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1806
1736
  valueKey="name"
1807
1737
  searchData={searchRelationModelModuleNames}
1808
1738
  existingData={formik.values.relationModelModuleName}
1809
- additionalAction={(e: any) => formik.setFieldValue("relationModelSingularName", "")}
1739
+ additionalAction={(e: any) => {
1740
+ formik.setFieldValue("relationModelSingularName", "");
1741
+ formik.setFieldValue("relationJoinColumnName", "");
1742
+ formik.setFieldValue("joinColumnName", "");
1743
+ formik.setFieldValue("relationJoinTableName", "");
1744
+ }}
1810
1745
  />
1811
1746
 
1812
1747
  {/* <AutoComplete
@@ -1850,7 +1785,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1850
1785
  htmlFor="relationModelSingularName"
1851
1786
  className="form-field-label"
1852
1787
  >
1853
- Relation Model Singular Name
1788
+ Co-Model Name
1854
1789
  </label>
1855
1790
 
1856
1791
 
@@ -1891,6 +1826,150 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1891
1826
  </div>
1892
1827
  )}
1893
1828
 
1829
+ {currentFields.includes("relationCreateInverse") && formik.values.relationType === "many-to-many" && (
1830
+ <div className="field col-6 flex flex-column gap-2">
1831
+ <label htmlFor="relationCreateInverse" className="form-field-label">
1832
+ Relation Create Inverse
1833
+ </label>
1834
+ <div className="flex align-items-center">
1835
+ <Checkbox
1836
+ inputId="relationCreateInverse"
1837
+ name="relationCreateInverse"
1838
+ checked={Boolean(formik.values.relationCreateInverse)}
1839
+ onChange={(e) => formik.setFieldValue("relationCreateInverse", e.checked)}
1840
+ />
1841
+ <label htmlFor="relationCreateInverse" className="ml-2">Enable</label>
1842
+ </div>
1843
+ {isFormFieldValid(formik, "relationCreateInverse") && (
1844
+ <Message severity="error" text={formik?.errors?.relationCreateInverse?.toString()} />
1845
+ )}
1846
+ </div>
1847
+ )}
1848
+
1849
+ {currentFields.includes("relationModelFieldName") && formik.values.relationCreateInverse && formik.values.relationType === "many-to-many" && (
1850
+ <div className="field col-6 flex-flex-column gap-2">
1851
+ <label
1852
+ htmlFor="relationModelFieldName"
1853
+ className="form-field-label"
1854
+ >
1855
+ Field Name on Inverse Side
1856
+ </label>
1857
+ <InputText
1858
+ type="text"
1859
+ id="relationModelFieldName"
1860
+ name="relationModelFieldName"
1861
+ onChange={formik.handleChange}
1862
+ value={formik.values.relationModelFieldName}
1863
+ className={classNames("", {
1864
+ "p-invalid": isFormFieldValid(
1865
+ formik,
1866
+ "relationModelFieldName"
1867
+ ),
1868
+ })}
1869
+ />
1870
+ {isFormFieldValid(formik, "relationModelFieldName") && (
1871
+ <Message
1872
+ severity="error"
1873
+ text={formik?.errors?.relationModelFieldName?.toString()}
1874
+ />
1875
+ )}
1876
+
1877
+ </div>
1878
+ )}
1879
+
1880
+ {currentFields.includes("relationJoinTableName") && formik.values.relationType === "many-to-many" && (
1881
+ <div className="field col-6 flex-flex-column gap-2">
1882
+ <label
1883
+ htmlFor="relationJoinTableName"
1884
+ className="form-field-label"
1885
+ >
1886
+ Relation Join Table Name
1887
+ </label>
1888
+ <InputText
1889
+ type="text"
1890
+ id="relationJoinTableName"
1891
+ name="relationJoinTableName"
1892
+ onChange={formik.handleChange}
1893
+ value={formik.values.relationJoinTableName}
1894
+ className={classNames("", {
1895
+ "p-invalid": isFormFieldValid(
1896
+ formik,
1897
+ "relationJoinTableName"
1898
+ ),
1899
+ })}
1900
+ />
1901
+ {isFormFieldValid(formik, "relationJoinTableName") && (
1902
+ <Message
1903
+ severity="error"
1904
+ text={formik?.errors?.relationJoinTableName?.toString()}
1905
+ />
1906
+ )}
1907
+
1908
+ </div>
1909
+ )}
1910
+
1911
+ {currentFields.includes("joinColumnName") && formik.values.relationType === "many-to-many" && (
1912
+ <div className="field col-6 flex-flex-column gap-2">
1913
+ <label
1914
+ htmlFor="joinColumnName"
1915
+ className="form-field-label"
1916
+ >
1917
+ Join Column Name
1918
+ </label>
1919
+ <InputText
1920
+ type="text"
1921
+ id="joinColumnName"
1922
+ name="joinColumnName"
1923
+ onChange={formik.handleChange}
1924
+ value={formik.values.joinColumnName}
1925
+ className={classNames("", {
1926
+ "p-invalid": isFormFieldValid(
1927
+ formik,
1928
+ "joinColumnName"
1929
+ ),
1930
+ })}
1931
+ />
1932
+ {isFormFieldValid(formik, "joinColumnName") && (
1933
+ <Message
1934
+ severity="error"
1935
+ text={formik?.errors?.joinColumnName?.toString()}
1936
+ />
1937
+ )}
1938
+
1939
+ </div>
1940
+ )}
1941
+
1942
+ {currentFields.includes("relationJoinColumnName") && formik.values.relationType === "many-to-many" && (
1943
+ <div className="field col-6 flex-flex-column gap-2">
1944
+ <label
1945
+ htmlFor="relationJoinColumnName"
1946
+ className="form-field-label"
1947
+ >
1948
+ Relation Join Column Name
1949
+ </label>
1950
+ <InputText
1951
+ type="text"
1952
+ id="relationJoinColumnName"
1953
+ name="relationJoinColumnName"
1954
+ onChange={formik.handleChange}
1955
+ value={formik.values.relationJoinColumnName}
1956
+ className={classNames("", {
1957
+ "p-invalid": isFormFieldValid(
1958
+ formik,
1959
+ "relationJoinColumnName"
1960
+ ),
1961
+ })}
1962
+ />
1963
+ {isFormFieldValid(formik, "relationJoinColumnName") && (
1964
+ <Message
1965
+ severity="error"
1966
+ text={formik?.errors?.relationJoinColumnName?.toString()}
1967
+ />
1968
+ )}
1969
+
1970
+ </div>
1971
+ )}
1972
+
1894
1973
  {currentFields.includes("selectionDynamicProvider") && (
1895
1974
  <div className="field col-6 flex-flex-column gap-2">
1896
1975
  <label
@@ -1953,7 +2032,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1953
2032
  htmlFor="selectionValueType"
1954
2033
  className="form-field-label"
1955
2034
  >
1956
- Selection Value Type
2035
+ Select Value Type
1957
2036
  </label>
1958
2037
  <Dropdown
1959
2038
  id="selectionValueType"
@@ -2267,7 +2346,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
2267
2346
 
2268
2347
  </div>
2269
2348
  )}
2270
- {(currentFields.includes("regexPattern") || currentFields.includes("min") || currentFields.includes("max") || currentFields.includes("ormType")) && ormTypeOptions &&
2349
+ {(currentFields.includes("regexPattern") || currentFields.includes("min") || currentFields.includes("max") || currentFields.includes("ormType")) && ormTypeOptions && formik.values.relationType !== "many-to-many" &&
2271
2350
  <>
2272
2351
  <p className="form-wrapper-heading text-base">Validations</p>
2273
2352
  <div className="formgrid grid">
@@ -45,7 +45,7 @@ const FieldSelector = ({ handleTypeSelect, modelMetaData }: any) => {
45
45
  <div className="field col-6 mt-3" key={index}>
46
46
  <div
47
47
  className={`flex align-items-center gap-3 type-field-card ${selectedField === field.value ? 'selected' : ''}`}
48
- onClick={() => handleTypeSelect(field.value)}
48
+ onClick={() => handleTypeSelect(field.value, field.label)}
49
49
  >
50
50
  <i className={`pi ${field.icon}`}></i>
51
51
  <div className=''>
@@ -310,17 +310,18 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
310
310
  existingData={formik.values.dataSource}
311
311
  additionalAction={(e: any) => formik.setFieldValue("dataSourceType", e.target.value.type)}
312
312
  />
313
+ {formik.values.dataSourceType && <p className="form-field-label">Your datasource will connect to a {formik.values.dataSourceType} database</p>}
313
314
  {isFormFieldValid(formik, "dataSource") && (
314
315
  <Message severity="error" text={formik?.errors?.dataSource?.toString()} />
315
316
  )}
316
317
  </div>
317
318
 
318
319
 
319
- <div className="field col-12 flex flex-column gap-2 my-4">
320
+ {/* <div className="field col-12 flex flex-column gap-2 my-4">
320
321
  <label htmlFor="dataSourceType" className="form-field-label">
321
322
  Data Source Type
322
323
  </label>
323
- {/* <SingleSelectAutoCompleteField
324
+ <SingleSelectAutoCompleteField
324
325
  key="dataSourceType"
325
326
  formik={formik}
326
327
  isFormFieldValid={isFormFieldValid}
@@ -331,7 +332,7 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
331
332
  valueKey="value"
332
333
  searchData={serachDataSourceType}
333
334
  existingData={formik.values.dataSourceType}
334
- /> */}
335
+ />
335
336
  <InputText
336
337
  disabled
337
338
  type="text"
@@ -348,12 +349,12 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
348
349
  {isFormFieldValid(formik, "dataSourceType") && (
349
350
  <Message severity="error" text={formik?.errors?.dataSourceType?.toString()} />
350
351
  )}
351
- </div>
352
+ </div>*/}
352
353
  </div>
353
354
  <Divider />
354
355
  <p className="form-wrapper-heading text-base">Configurations</p>
355
356
  <div className="grid formgrid">
356
- {params.id === 'new' &&
357
+ {/* {params.id === 'new' &&
357
358
 
358
359
  <div className="field col-6">
359
360
  <div className="flex align-items-center gap-2">
@@ -375,7 +376,7 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
375
376
  text={formik?.errors?.isSystem?.toString()}
376
377
  />
377
378
  )}
378
- </div>}
379
+ </div>} */}
379
380
  <div className="field col-6">
380
381
  <div className="flex align-items-center gap-2">
381
382
  <Checkbox
@@ -390,7 +391,7 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
390
391
  Enable Soft Delete
391
392
  </label>
392
393
  </div>
393
- {params.id !== 'new' && <p className="form-field-label">Soft Delete is disabled in edit mode</p>}
394
+ {params.id !== 'new' && <p className="form-field-label">Soft-delete can only be set during initial creation to maintain data integrity</p>}
394
395
  {isFormFieldValid(formik, "enableSoftDelete") && (
395
396
  <Message
396
397
  severity="error"