@solidxai/core-ui 0.1.12-beta.7 → 0.1.12-beta.9

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 (233) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +19 -17
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +59 -34
  5. package/dist/components/common/BackendReconnectIndicator.d.ts +6 -0
  6. package/dist/components/common/BackendReconnectIndicator.d.ts.map +1 -0
  7. package/dist/components/common/BackendReconnectIndicator.js +25 -0
  8. package/dist/components/common/BackendReconnectIndicator.js.map +1 -0
  9. package/dist/components/common/BackendReconnectIndicator.tsx +45 -0
  10. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  11. package/dist/components/common/SettingsComponent.js +7 -3
  12. package/dist/components/common/SettingsComponent.js.map +1 -1
  13. package/dist/components/common/SettingsComponent.module.css +144 -12
  14. package/dist/components/common/SettingsComponent.tsx +22 -3
  15. package/dist/components/common/SolidAdmin.d.ts.map +1 -1
  16. package/dist/components/common/SolidAdmin.js +7 -2
  17. package/dist/components/common/SolidAdmin.js.map +1 -1
  18. package/dist/components/common/SolidAdmin.tsx +7 -2
  19. package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -1
  20. package/dist/components/common/SolidBreadcrumb.js +1 -6
  21. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  22. package/dist/components/common/SolidBreadcrumb.tsx +1 -8
  23. package/dist/components/common/SolidMaterialSymbol.d.ts +10 -0
  24. package/dist/components/common/SolidMaterialSymbol.d.ts.map +1 -0
  25. package/dist/components/common/SolidMaterialSymbol.js +69 -0
  26. package/dist/components/common/SolidMaterialSymbol.js.map +1 -0
  27. package/dist/components/common/SolidMaterialSymbol.tsx +96 -0
  28. package/dist/components/common/SolidToastProvider.d.ts.map +1 -1
  29. package/dist/components/common/SolidToastProvider.js +14 -1
  30. package/dist/components/common/SolidToastProvider.js.map +1 -1
  31. package/dist/components/common/SolidToastProvider.tsx +19 -1
  32. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +3 -1
  33. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  34. package/dist/components/core/common/SolidGlobalSearchElement.js +3 -2
  35. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  36. package/dist/components/core/common/SolidGlobalSearchElement.tsx +14 -18
  37. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  38. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +43 -16
  39. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  40. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +24 -2
  41. package/dist/components/core/form/SolidFormFooter.js +1 -1
  42. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  43. package/dist/components/core/form/SolidFormFooter.tsx +1 -1
  44. package/dist/components/core/form/SolidFormLayouts.js +1 -1
  45. package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
  46. package/dist/components/core/form/SolidFormLayouts.tsx +2 -2
  47. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  48. package/dist/components/core/form/fields/SolidMediaMultipleField.js +120 -56
  49. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  50. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +63 -50
  51. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  52. package/dist/components/core/form/fields/SolidMediaSingleField.js +115 -37
  53. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  54. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +36 -35
  55. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  56. package/dist/components/core/form/fields/SolidRichTextField.js +54 -5
  57. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  58. package/dist/components/core/form/fields/SolidRichTextField.tsx +71 -7
  59. package/dist/components/core/form/fields/mediaFieldUtils.d.ts +3 -0
  60. package/dist/components/core/form/fields/mediaFieldUtils.d.ts.map +1 -0
  61. package/dist/components/core/form/fields/mediaFieldUtils.js +30 -0
  62. package/dist/components/core/form/fields/mediaFieldUtils.js.map +1 -0
  63. package/dist/components/core/form/fields/mediaFieldUtils.ts +45 -0
  64. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -1
  65. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +1 -1
  66. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -1
  67. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +3 -1
  68. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  69. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +22 -23
  70. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  71. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +13 -7
  72. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  73. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +16 -11
  74. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  75. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +32 -18
  76. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.d.ts.map +1 -1
  77. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.js +3 -1
  78. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.js.map +1 -1
  79. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.tsx +11 -5
  80. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  81. package/dist/components/core/list/SolidDataTable.js +3 -2
  82. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  83. package/dist/components/core/list/SolidDataTable.tsx +3 -2
  84. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  85. package/dist/components/core/list/SolidListView.js +11 -5
  86. package/dist/components/core/list/SolidListView.js.map +1 -1
  87. package/dist/components/core/list/SolidListView.tsx +15 -8
  88. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  89. package/dist/components/core/list/SolidListViewColumn.js +1 -0
  90. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  91. package/dist/components/core/list/SolidListViewColumn.tsx +1 -0
  92. package/dist/components/core/list/columns/SolidShortTextColumn.d.ts.map +1 -1
  93. package/dist/components/core/list/columns/SolidShortTextColumn.js +7 -2
  94. package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
  95. package/dist/components/core/list/columns/SolidShortTextColumn.tsx +7 -2
  96. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.d.ts.map +1 -1
  97. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js +4 -1
  98. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js.map +1 -1
  99. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +5 -2
  100. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  101. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +2 -1
  102. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  103. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +2 -1
  104. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.d.ts.map +1 -1
  105. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js +4 -1
  106. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js.map +1 -1
  107. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +5 -2
  108. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  109. package/dist/components/core/locales/SolidLocale.js +1 -1
  110. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  111. package/dist/components/core/locales/SolidLocale.tsx +1 -0
  112. package/dist/components/core/model/CreateModel.css +26 -0
  113. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  114. package/dist/components/core/model/FieldMetaData.js +21 -3
  115. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  116. package/dist/components/core/model/FieldMetaData.tsx +45 -4
  117. package/dist/components/core/model/FieldMetaDataForm.css +82 -0
  118. package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -0
  119. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  120. package/dist/components/core/model/FieldMetaDataForm.js +246 -235
  121. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  122. package/dist/components/core/model/FieldMetaDataForm.tsx +46 -34
  123. package/dist/components/core/model/FieldSelector.js +1 -1
  124. package/dist/components/core/model/FieldSelector.js.map +1 -1
  125. package/dist/components/core/model/FieldSelector.tsx +1 -1
  126. package/dist/components/core/model/ModelMetaData.js +1 -1
  127. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  128. package/dist/components/core/model/ModelMetaData.tsx +1 -1
  129. package/dist/components/core/module/CreateModule.css +55 -2
  130. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  131. package/dist/components/core/module/CreateModule.js +2 -2
  132. package/dist/components/core/module/CreateModule.js.map +1 -1
  133. package/dist/components/core/module/CreateModule.tsx +3 -2
  134. package/dist/components/core/module/ModuleMetadataExplorer.css +27 -0
  135. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -1
  136. package/dist/components/core/module/ModuleMetadataExplorer.js +1 -1
  137. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -1
  138. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1 -0
  139. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  140. package/dist/components/core/tree/SolidTreeView.js +6 -1
  141. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  142. package/dist/components/core/tree/SolidTreeView.tsx +7 -1
  143. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -1
  144. package/dist/components/layout/AdminHeaderActions.js +10 -9
  145. package/dist/components/layout/AdminHeaderActions.js.map +1 -1
  146. package/dist/components/layout/AdminHeaderActions.tsx +2 -0
  147. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  148. package/dist/components/layout/AppSidebar.js +2 -1
  149. package/dist/components/layout/AppSidebar.js.map +1 -1
  150. package/dist/components/layout/AppSidebar.tsx +12 -5
  151. package/dist/components/layout/SolidMenuItemIcon.d.ts +9 -0
  152. package/dist/components/layout/SolidMenuItemIcon.d.ts.map +1 -0
  153. package/dist/components/layout/SolidMenuItemIcon.js +20 -0
  154. package/dist/components/layout/SolidMenuItemIcon.js.map +1 -0
  155. package/dist/components/layout/SolidMenuItemIcon.tsx +45 -0
  156. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  157. package/dist/components/layout/navbar-two-menu.js +6 -7
  158. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  159. package/dist/components/layout/navbar-two-menu.tsx +4 -12
  160. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -1
  161. package/dist/components/shad-cn-ui/SolidCodeEditor.js +30 -2
  162. package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -1
  163. package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +38 -1
  164. package/dist/helpers/backendHealthMonitor.d.ts +39 -0
  165. package/dist/helpers/backendHealthMonitor.d.ts.map +1 -0
  166. package/dist/helpers/backendHealthMonitor.js +255 -0
  167. package/dist/helpers/backendHealthMonitor.js.map +1 -0
  168. package/dist/helpers/backendHealthMonitor.ts +177 -0
  169. package/dist/helpers/helpers.d.ts +1 -0
  170. package/dist/helpers/helpers.d.ts.map +1 -1
  171. package/dist/helpers/helpers.js +9 -0
  172. package/dist/helpers/helpers.js.map +1 -1
  173. package/dist/helpers/helpers.ts +11 -1
  174. package/dist/helpers/menuItemIcons.d.ts +34 -0
  175. package/dist/helpers/menuItemIcons.d.ts.map +1 -0
  176. package/dist/helpers/menuItemIcons.js +144 -0
  177. package/dist/helpers/menuItemIcons.js.map +1 -0
  178. package/dist/helpers/menuItemIcons.ts +191 -0
  179. package/dist/helpers/relationDisplay.d.ts +3 -0
  180. package/dist/helpers/relationDisplay.d.ts.map +1 -0
  181. package/dist/helpers/relationDisplay.js +92 -0
  182. package/dist/helpers/relationDisplay.js.map +1 -0
  183. package/dist/helpers/relationDisplay.ts +101 -0
  184. package/dist/helpers/settingsPayload.d.ts +1 -0
  185. package/dist/helpers/settingsPayload.d.ts.map +1 -1
  186. package/dist/helpers/settingsPayload.js.map +1 -1
  187. package/dist/helpers/settingsPayload.ts +1 -0
  188. package/dist/helpers/solidIcons.d.ts +2 -0
  189. package/dist/helpers/solidIcons.d.ts.map +1 -1
  190. package/dist/helpers/solidIcons.js +8 -0
  191. package/dist/helpers/solidIcons.js.map +1 -1
  192. package/dist/helpers/solidIcons.tsx +10 -1
  193. package/dist/helpers/waitForBackendAvailability.d.ts +1 -0
  194. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -1
  195. package/dist/helpers/waitForBackendAvailability.js +35 -22
  196. package/dist/helpers/waitForBackendAvailability.js.map +1 -1
  197. package/dist/helpers/waitForBackendAvailability.ts +18 -12
  198. package/dist/http/solidHttp.d.ts.map +1 -1
  199. package/dist/http/solidHttp.js +10 -4
  200. package/dist/http/solidHttp.js.map +1 -1
  201. package/dist/http/solidHttp.ts +9 -4
  202. package/dist/redux/api/datasourceIntrospectionApi.d.ts +4 -0
  203. package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -1
  204. package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -1
  205. package/dist/redux/api/datasourceIntrospectionApi.ts +4 -0
  206. package/dist/redux/api/fetchBaseQuery.d.ts.map +1 -1
  207. package/dist/redux/api/fetchBaseQuery.js +9 -3
  208. package/dist/redux/api/fetchBaseQuery.js.map +1 -1
  209. package/dist/redux/api/fetchBaseQuery.tsx +9 -3
  210. package/dist/redux/store/StoreProvider.d.ts.map +1 -1
  211. package/dist/redux/store/StoreProvider.js +4 -3
  212. package/dist/redux/store/StoreProvider.js.map +1 -1
  213. package/dist/redux/store/StoreProvider.tsx +4 -3
  214. package/dist/resources/globals.css +341 -49
  215. package/dist/resources/solid-custom.css +410 -12
  216. package/dist/resources/solid-responsive.css +27 -16
  217. package/dist/resources/solid-tailwind-generated.css +1 -1
  218. package/dist/routes/AppEventListener.d.ts.map +1 -1
  219. package/dist/routes/AppEventListener.js +23 -0
  220. package/dist/routes/AppEventListener.js.map +1 -1
  221. package/dist/routes/AppEventListener.tsx +29 -0
  222. package/dist/routes/pages/admin/core/DashboardPage.module.css +12 -0
  223. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +306 -3
  224. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
  225. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +745 -393
  226. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
  227. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1074 -420
  228. package/dist/routes/pages/admin/core/DatasourcesPage.css +15 -0
  229. package/dist/routes/pages/admin/core/DatasourcesPage.d.ts.map +1 -1
  230. package/dist/routes/pages/admin/core/DatasourcesPage.js +7 -188
  231. package/dist/routes/pages/admin/core/DatasourcesPage.js.map +1 -1
  232. package/dist/routes/pages/admin/core/DatasourcesPage.tsx +3 -393
  233. package/package.json +3 -2
@@ -31,6 +31,7 @@ import {
31
31
  SolidCodeEditor,
32
32
  } from "../../shad-cn-ui";
33
33
  import styles from "../form/fields/solidFields.module.css";
34
+ import "./FieldMetaDataForm.css";
34
35
 
35
36
 
36
37
 
@@ -490,11 +491,14 @@ const fieldBasedPayloadFormating = (values: any, currentFields: string[], fieldM
490
491
  }
491
492
 
492
493
  function fetchCurrentFields(solidFieldType: any, fieldDefaultMetaData: any) {
494
+ const fieldTypes = Array.isArray(fieldDefaultMetaData?.data?.fieldTypes)
495
+ ? fieldDefaultMetaData.data.fieldTypes
496
+ : [];
493
497
 
494
498
  if (solidFieldType) {
495
- const allowedFields = fieldDefaultMetaData?.data?.fieldTypes.filter((e: any) => e.fieldType === solidFieldType);
499
+ const allowedFields = fieldTypes.filter((e: any) => e.fieldType === solidFieldType);
496
500
  if (allowedFields.length > 0) {
497
- return allowedFields[0].fields
501
+ return allowedFields[0].fields ?? [];
498
502
  }
499
503
 
500
504
  }
@@ -964,6 +968,7 @@ const FieldMetaDataForm = ({
964
968
  const showValidationSection =
965
969
  selectedTypeValue !== "relation" && (showRegexFields || showMinFields || showMaxFields || showOrmOptions);
966
970
  const isExistingFieldReadOnly = disableIdentityEditingForExisting && Boolean(fieldMetaData?.id);
971
+ const fieldTypeLabel = capitalize(String(selectedType?.label ?? selectedTypeValue ?? "field"));
967
972
 
968
973
  const closeForm = useCallback(() => {
969
974
  if (typeof onClose === "function") {
@@ -1431,7 +1436,7 @@ const FieldMetaDataForm = ({
1431
1436
  enableReinitialize: true,
1432
1437
  onSubmit: async (values) => {
1433
1438
  try {
1434
- const newFieldData = { ...values, isSystem: values.isSystem == true ? true : '' }
1439
+ const newFieldData = { ...values, isSystem: values.isSystem === true }
1435
1440
  const formtatedFieldPayload = fieldBasedPayloadFormating(newFieldData, currentFields, fieldMetaData);
1436
1441
 
1437
1442
  if (typeof onDraftSubmit === "function") {
@@ -1473,6 +1478,10 @@ const FieldMetaDataForm = ({
1473
1478
 
1474
1479
  });
1475
1480
 
1481
+ const fieldEditorTitle = fieldMetaData
1482
+ ? `Edit ${formik?.values?.displayName || fieldTypeLabel} Field`
1483
+ : `Add ${fieldTypeLabel} Field`;
1484
+
1476
1485
  const mediaTypeSelectedItems = useMemo(() => {
1477
1486
  if (!Array.isArray(formik.values.mediaTypes)) return [];
1478
1487
  return formik.values.mediaTypes.map((entry: any) => {
@@ -1559,16 +1568,18 @@ const FieldMetaDataForm = ({
1559
1568
  } else {
1560
1569
  formik.setFieldValue("regexPattern", "");
1561
1570
  }
1562
- const ormType = fieldDefaultMetaData.data.ormType[modelMetaData?.dataSourceType];
1563
- const availableOrmTypes = ormType[e];
1571
+ const ormTypeByDataSource = fieldDefaultMetaData?.data?.ormType?.[modelMetaData?.dataSourceType];
1572
+ const availableOrmTypes = ormTypeByDataSource?.[e];
1564
1573
  // setFilteredOrmTypes(availableOrmTypes.ormTypes.map((e: any) => ({
1565
1574
  // label: e,
1566
1575
  // value: e,
1567
1576
  // })));
1568
1577
  // setSelectedOrmType({ label: availableOrmTypes.ormTypes[0], value: availableOrmTypes.ormTypes[0] });
1569
- setOrmTypeOptions(availableOrmTypes.ormTypes)
1570
- formik.setFieldValue("ormType", availableOrmTypes.ormTypes[0].label);
1571
- setSelectedOrmType(availableOrmTypes.ormTypes[0].label)
1578
+ const nextOrmTypes = availableOrmTypes?.ormTypes ?? [];
1579
+ const nextOrmTypeLabel = nextOrmTypes[0]?.label ?? null;
1580
+ setOrmTypeOptions(nextOrmTypes);
1581
+ formik.setFieldValue("ormType", nextOrmTypeLabel);
1582
+ setSelectedOrmType(nextOrmTypeLabel);
1572
1583
  setCurrentFields(
1573
1584
  fetchCurrentFields(e, fieldDefaultMetaData)
1574
1585
  );
@@ -1799,7 +1810,7 @@ const FieldMetaDataForm = ({
1799
1810
 
1800
1811
 
1801
1812
  return (
1802
- <div>
1813
+ <div className="solid-field-form-shell">
1803
1814
  <div>
1804
1815
  <form
1805
1816
  onSubmit={formik.handleSubmit}
@@ -1809,22 +1820,28 @@ const FieldMetaDataForm = ({
1809
1820
  }}
1810
1821
  >
1811
1822
  {showTypeFilter === true ?
1812
- <FieldSelector
1813
- handleTypeSelect={handleTypeSelect}
1814
- modelMetaData={modelMetaData}
1815
- availableFieldTypes={availableFieldTypes}
1816
- initialSelectedValue={selectedType?.value ?? selectorInitialFieldType}
1817
- requireExplicitContinue={selectorRequireContinue}
1818
- continueLabel={selectorContinueLabel}
1819
- ></FieldSelector>
1823
+ <div className="solid-field-form-scroll">
1824
+ <FieldSelector
1825
+ handleTypeSelect={handleTypeSelect}
1826
+ modelMetaData={modelMetaData}
1827
+ availableFieldTypes={availableFieldTypes}
1828
+ initialSelectedValue={selectedType?.value ?? selectorInitialFieldType}
1829
+ requireExplicitContinue={selectorRequireContinue}
1830
+ continueLabel={selectorContinueLabel}
1831
+ ></FieldSelector>
1832
+ </div>
1820
1833
  :
1821
- <div className="p-3" style={{ maxHeight: '80vh', overflowY: 'auto', overflowX: 'hidden' }}>
1822
- <div className="flex justify-center creat-field-for form-dem">
1823
- <div className="solid-fluid" style={{ position: 'relative' }}>
1824
- {/* <div className="mb-3">
1825
- <div className="form-wrapper-title">{fieldMetaData ? `Edit ${capitalize(selectedType.label)} Field` : `Add a new ${capitalize(selectedType.label)} Field`}</div>
1826
- </div> */}
1827
- <TabView panelContainerClassName="px-0">
1834
+ <div className="solid-field-form-scroll">
1835
+ <div className="flex justify-center creat-field-form form-demo">
1836
+ <div className="solid-fluid solid-field-form-frame">
1837
+ <div className="solid-field-form-header">
1838
+ <p className="form-wrapper-title m-0">{fieldEditorTitle}</p>
1839
+ <p className="solid-field-form-subtitle">
1840
+ Review the basic info and advanced configuration for this field.
1841
+ </p>
1842
+ </div>
1843
+ <div className="solid-field-form-tabs">
1844
+ <TabView panelContainerClassName="px-0">
1828
1845
  <TabPanel
1829
1846
  header="Basic Info"
1830
1847
  className={(formik.touched.hasOwnProperty("name") && formik.errors.hasOwnProperty("name")) || (formik.touched.hasOwnProperty("displayName") && formik.errors.hasOwnProperty("displayName")) || (formik.touched.hasOwnProperty("displayName") && formik.errors.hasOwnProperty("ormType")) ? "tab-error-heading" : ""}
@@ -1893,7 +1910,6 @@ const FieldMetaDataForm = ({
1893
1910
  onChange={formik.handleChange}
1894
1911
  value={formik.values.description}
1895
1912
  rows={5}
1896
- cols={30}
1897
1913
  className={classNames(styles.fieldTextarea, {
1898
1914
  "p-invalid": isFormFieldValid(formik, "description"),
1899
1915
  })}
@@ -2501,7 +2517,6 @@ const FieldMetaDataForm = ({
2501
2517
  onChange={formik.handleChange}
2502
2518
  value={formik.values.relationFieldFixedFilter}
2503
2519
  rows={5}
2504
- cols={30}
2505
2520
  className={classNames(styles.fieldTextarea, {
2506
2521
  "p-invalid": isFormFieldValid(
2507
2522
  formik,
@@ -3487,14 +3502,11 @@ const FieldMetaDataForm = ({
3487
3502
  </div>
3488
3503
  )}
3489
3504
  </TabPanel>
3490
- </TabView>
3491
- <div className="mt-4 flex gap-4">
3492
- <div>
3493
- <SolidButton label={submitLabel} size="small" onClick={() => showError()} type="submit" />
3494
- </div>
3495
- <div>
3496
- <SolidButton label="Cancel" size="small" severity="secondary" type="reset" onClick={closeForm} outlined />
3497
- </div>
3505
+ </TabView>
3506
+ </div>
3507
+ <div className="solid-field-form-actions">
3508
+ <SolidButton label={submitLabel} size="small" onClick={() => showError()} type="submit" />
3509
+ <SolidButton label="Cancel" size="small" severity="secondary" type="reset" onClick={closeForm} outlined />
3498
3510
  </div>
3499
3511
  </div>
3500
3512
  {/* <div className="ml-4">
@@ -71,7 +71,7 @@ var FieldSelector = function (_a) {
71
71
  return;
72
72
  handleTypeSelect(selectedOption.value, selectedOption.label);
73
73
  };
74
- return (_jsxs("div", { className: "solid-field-selector-container", children: [_jsxs("div", { className: "solid-field-selector-header", children: [_jsx("p", { className: "form-wrapper-heading", children: "Select Field Type" }), _jsx("p", { className: "solid-field-selector-subheading", children: "Choose the data type you want to add to the model." })] }), _jsx("div", { className: "solid-field-selector-grid", children: visibleFieldOptions.map(function (option) { return (_jsx("button", { type: "button", className: "solid-field-selector-card ".concat(selectedField === option.value ? "is-active" : ""), onClick: function () { return handleSelect(option); }, children: _jsxs("div", { className: "solid-field-selector-card-inner", children: [_jsx("span", { className: "solid-field-selector-icon solid-field-selector-icon-".concat(option.tone), children: _jsx(option.Icon, { size: 18, strokeWidth: 1.8 }) }), _jsxs("div", { className: "solid-field-selector-text", children: [_jsx("span", { className: "solid-field-selector-title", children: option.label }), _jsx("span", { className: "solid-field-selector-description", children: option.description })] })] }) }, option.value)); }) }), requireExplicitContinue ? (_jsx("div", { className: "mt-4 flex justify-end", children: _jsx(SolidButton, { size: "small", leftIcon: _jsx(ArrowRight, { size: 14 }), onClick: handleContinue, disabled: !selectedField, children: continueLabel }) })) : null] }));
74
+ return (_jsxs("div", { className: "solid-field-selector-container", children: [_jsxs("div", { className: "solid-field-selector-header", children: [_jsx("p", { className: "form-wrapper-heading pt-0", children: "Select Field Type" }), _jsx("p", { className: "solid-field-selector-subheading", children: "Choose the data type you want to add to the model." })] }), _jsx("div", { className: "solid-field-selector-grid", children: visibleFieldOptions.map(function (option) { return (_jsx("button", { type: "button", className: "solid-field-selector-card ".concat(selectedField === option.value ? "is-active" : ""), onClick: function () { return handleSelect(option); }, children: _jsxs("div", { className: "solid-field-selector-card-inner", children: [_jsx("span", { className: "solid-field-selector-icon solid-field-selector-icon-".concat(option.tone), children: _jsx(option.Icon, { size: 18, strokeWidth: 1.8 }) }), _jsxs("div", { className: "solid-field-selector-text", children: [_jsx("span", { className: "solid-field-selector-title", children: option.label }), _jsx("span", { className: "solid-field-selector-description", children: option.description })] })] }) }, option.value)); }) }), requireExplicitContinue ? (_jsx("div", { className: "mt-4 flex justify-end", children: _jsx(SolidButton, { size: "small", leftIcon: _jsx(ArrowRight, { size: 14 }), onClick: handleContinue, disabled: !selectedField, children: continueLabel }) })) : null] }));
75
75
  };
76
76
  export default FieldSelector;
77
77
  //# sourceMappingURL=FieldSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldSelector.js","sourceRoot":"","sources":["../../../../src/components/core/model/FieldSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useEffect, useMemo, useState } from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\nimport {\n AlignLeft,\n Calculator,\n Calendar,\n Clock9,\n Code2,\n Feather,\n Fingerprint,\n FunctionSquare,\n Hash,\n Image,\n Images,\n ListChecks,\n ListFilter,\n Mail,\n Share2,\n Shield,\n Sigma,\n Timer,\n ToggleLeft,\n Type,\n ArrowRight,\n} from \"lucide-react\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\ntype FieldSelectorProps = {\n handleTypeSelect: (value: string, label: string) => void;\n modelMetaData?: any;\n availableFieldTypes?: string[];\n initialSelectedValue?: string | null;\n requireExplicitContinue?: boolean;\n continueLabel?: string;\n};\n\ntype FieldOption = {\n label: string;\n description: string;\n Icon: LucideIcon;\n value: string;\n tone: \"blue\" | \"violet\" | \"green\" | \"orange\" | \"cyan\";\n};\n\nconst fieldToneMap: Record<string, FieldOption[\"tone\"]> = {\n int: \"blue\",\n bigint: \"blue\",\n decimal: \"blue\",\n shortText: \"violet\",\n longText: \"violet\",\n richText: \"violet\",\n json: \"cyan\",\n boolean: \"green\",\n date: \"orange\",\n datetime: \"orange\",\n time: \"orange\",\n relation: \"cyan\",\n mediaSingle: \"violet\",\n mediaMultiple: \"violet\",\n email: \"cyan\",\n password: \"cyan\",\n selectionStatic: \"green\",\n selectionDynamic: \"green\",\n computed: \"blue\",\n uuid: \"blue\",\n};\n\nconst solidFieldOptions: FieldOption[] = [\n { label: \"Integer\", description: \"Whole number (int)\", Icon: Hash, value: \"int\", tone: fieldToneMap.int },\n { label: \"Big Integer\", description: \"Large whole number (bigint)\", Icon: Calculator, value: \"bigint\", tone: fieldToneMap.bigint },\n { label: \"Decimal\", description: \"64-bit floating-point number\", Icon: Sigma, value: \"decimal\", tone: fieldToneMap.decimal },\n { label: \"Short Text\", description: \"Small text field\", Icon: Type, value: \"shortText\", tone: fieldToneMap.shortText },\n { label: \"Long Text\", description: \"Large text field\", Icon: AlignLeft, value: \"longText\", tone: fieldToneMap.longText },\n { label: \"Rich Text\", description: \"Rich text editor\", Icon: Feather, value: \"richText\", tone: fieldToneMap.richText },\n { label: \"JSON\", description: \"JSON data format\", Icon: Code2, value: \"json\", tone: fieldToneMap.json },\n { label: \"Boolean\", description: \"True / False value\", Icon: ToggleLeft, value: \"boolean\", tone: fieldToneMap.boolean },\n { label: \"Date\", description: \"Date field\", Icon: Calendar, value: \"date\", tone: fieldToneMap.date },\n { label: \"Datetime\", description: \"Date & time field\", Icon: Clock9, value: \"datetime\", tone: fieldToneMap.datetime },\n { label: \"Time\", description: \"Time picker\", Icon: Timer, value: \"time\", tone: fieldToneMap.time },\n { label: \"Relation\", description: \"Reference another entity\", Icon: Share2, value: \"relation\", tone: fieldToneMap.relation },\n { label: \"Single Media\", description: \"Single file upload\", Icon: Image, value: \"mediaSingle\", tone: fieldToneMap.mediaSingle },\n { label: \"Multiple Media\", description: \"Multiple file upload\", Icon: Images, value: \"mediaMultiple\", tone: fieldToneMap.mediaMultiple },\n { label: \"Email\", description: \"Email field\", Icon: Mail, value: \"email\", tone: fieldToneMap.email },\n { label: \"Password\", description: \"Password input\", Icon: Shield, value: \"password\", tone: fieldToneMap.password },\n { label: \"Static Selection\", description: \"Predefined values\", Icon: ListChecks, value: \"selectionStatic\", tone: fieldToneMap.selectionStatic },\n { label: \"Dynamic Selection\", description: \"Dynamic list\", Icon: ListFilter, value: \"selectionDynamic\", tone: fieldToneMap.selectionDynamic },\n { label: \"Computed\", description: \"Derive value from data\", Icon: FunctionSquare, value: \"computed\", tone: fieldToneMap.computed },\n { label: \"UUID\", description: \"Unique identifier\", Icon: Fingerprint, value: \"uuid\", tone: fieldToneMap.uuid },\n];\n\nconst FieldSelector = ({\n handleTypeSelect,\n availableFieldTypes,\n initialSelectedValue = null,\n requireExplicitContinue = false,\n continueLabel = \"Next\",\n}: FieldSelectorProps) => {\n const [selectedField, setSelectedField] = useState<string | null>(initialSelectedValue);\n\n useEffect(() => {\n setSelectedField(initialSelectedValue);\n }, [initialSelectedValue]);\n\n const visibleFieldOptions = useMemo(() => {\n if (!availableFieldTypes?.length) {\n return solidFieldOptions;\n }\n\n const allowedTypes = new Set(availableFieldTypes);\n return solidFieldOptions.filter((option) => allowedTypes.has(option.value));\n }, [availableFieldTypes]);\n\n const handleSelect = (option: FieldOption) => {\n setSelectedField(option.value);\n if (!requireExplicitContinue) {\n handleTypeSelect(option.value, option.label);\n }\n };\n\n const handleContinue = () => {\n const selectedOption = visibleFieldOptions.find((option) => option.value === selectedField);\n if (!selectedOption) return;\n handleTypeSelect(selectedOption.value, selectedOption.label);\n };\n\n return (\n <div className=\"solid-field-selector-container\">\n <div className=\"solid-field-selector-header\">\n <p className=\"form-wrapper-heading\">Select Field Type</p>\n <p className=\"solid-field-selector-subheading\">Choose the data type you want to add to the model.</p>\n </div>\n <div className=\"solid-field-selector-grid\">\n {visibleFieldOptions.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n className={`solid-field-selector-card ${selectedField === option.value ? \"is-active\" : \"\"}`}\n onClick={() => handleSelect(option)}\n >\n <div className=\"solid-field-selector-card-inner\">\n <span className={`solid-field-selector-icon solid-field-selector-icon-${option.tone}`}>\n <option.Icon size={18} strokeWidth={1.8} />\n </span>\n <div className=\"solid-field-selector-text\">\n <span className=\"solid-field-selector-title\">{option.label}</span>\n <span className=\"solid-field-selector-description\">{option.description}</span>\n </div>\n </div>\n </button>\n ))}\n </div>\n {requireExplicitContinue ? (\n <div className=\"mt-4 flex justify-end\">\n <SolidButton\n size=\"small\"\n leftIcon={<ArrowRight size={14} />}\n onClick={handleContinue}\n disabled={!selectedField}\n >\n {continueLabel}\n </SolidButton>\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default FieldSelector;\n"]}
1
+ {"version":3,"file":"FieldSelector.js","sourceRoot":"","sources":["../../../../src/components/core/model/FieldSelector.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,IAAI,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,UAAU,EACV,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,EACL,UAAU,EACV,IAAI,EACJ,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAmB/C,IAAM,YAAY,GAAwC;IACxD,GAAG,EAAE,MAAM;IACX,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE,QAAQ;IACvB,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,eAAe,EAAE,OAAO;IACxB,gBAAgB,EAAE,OAAO;IACzB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,IAAM,iBAAiB,GAAkB;IACvC,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE;IACzG,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,6BAA6B,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE;IAClI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,8BAA8B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE;IAC5H,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,SAAS,EAAE;IACtH,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IACxH,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IACtH,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE;IACvG,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE;IACvH,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE;IACpG,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IACrH,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE;IAClG,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC5H,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,CAAC,WAAW,EAAE;IAC/H,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE;IACxI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE;IACpG,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IAClH,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE;IAC/I,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,CAAC,gBAAgB,EAAE;IAC7I,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,wBAAwB,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IAClI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE;CAC/G,CAAC;AAEF,IAAM,aAAa,GAAG,UAAC,EAMF;QALnB,gBAAgB,sBAAA,EAChB,mBAAmB,yBAAA,EACnB,4BAA2B,EAA3B,oBAAoB,mBAAG,IAAI,KAAA,EAC3B,+BAA+B,EAA/B,uBAAuB,mBAAG,KAAK,KAAA,EAC/B,qBAAsB,EAAtB,aAAa,mBAAG,MAAM,KAAA;IAEhB,IAAA,KAAoC,QAAQ,CAAgB,oBAAoB,CAAC,EAAhF,aAAa,QAAA,EAAE,gBAAgB,QAAiD,CAAC;IAExF,SAAS,CAAC;QACR,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,IAAM,mBAAmB,GAAG,OAAO,CAAC;QAClC,IAAI,CAAC,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,CAAA,EAAE;YAChC,OAAO,iBAAiB,CAAC;SAC1B;QAED,IAAM,YAAY,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAClD,OAAO,iBAAiB,CAAC,MAAM,CAAC,UAAC,MAAM,IAAK,OAAA,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,IAAM,YAAY,GAAG,UAAC,MAAmB;QACvC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,uBAAuB,EAAE;YAC5B,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG;QACrB,IAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,KAAK,KAAK,aAAa,EAA9B,CAA8B,CAAC,CAAC;QAC5F,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,gCAAgC,aAC7C,eAAK,SAAS,EAAC,6BAA6B,aAC1C,YAAG,SAAS,EAAC,2BAA2B,kCAAsB,EAC9D,YAAG,SAAS,EAAC,iCAAiC,mEAAuD,IACjG,EACN,cAAK,SAAS,EAAC,2BAA2B,YACvC,mBAAmB,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,CACnC,iBAEE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,oCAA6B,aAAa,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,EAC3F,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,MAAM,CAAC,EAApB,CAAoB,YAEnC,eAAK,SAAS,EAAC,iCAAiC,aAC9C,eAAM,SAAS,EAAE,8DAAuD,MAAM,CAAC,IAAI,CAAE,YACnF,KAAC,MAAM,CAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAI,GACtC,EACP,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,4BAA4B,YAAE,MAAM,CAAC,KAAK,GAAQ,EAClE,eAAM,SAAS,EAAC,kCAAkC,YAAE,MAAM,CAAC,WAAW,GAAQ,IAC1E,IACF,IAbD,MAAM,CAAC,KAAK,CAcV,CACV,EAjBoC,CAiBpC,CAAC,GACE,EACL,uBAAuB,CAAC,CAAC,CAAC,CACzB,cAAK,SAAS,EAAC,uBAAuB,YACpC,KAAC,WAAW,IACV,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,GAAI,EAClC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,CAAC,aAAa,YAEvB,aAAa,GACF,GACV,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["\nimport { useEffect, useMemo, useState } from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\nimport {\n AlignLeft,\n Calculator,\n Calendar,\n Clock9,\n Code2,\n Feather,\n Fingerprint,\n FunctionSquare,\n Hash,\n Image,\n Images,\n ListChecks,\n ListFilter,\n Mail,\n Share2,\n Shield,\n Sigma,\n Timer,\n ToggleLeft,\n Type,\n ArrowRight,\n} from \"lucide-react\";\nimport { SolidButton } from \"../../shad-cn-ui\";\n\ntype FieldSelectorProps = {\n handleTypeSelect: (value: string, label: string) => void;\n modelMetaData?: any;\n availableFieldTypes?: string[];\n initialSelectedValue?: string | null;\n requireExplicitContinue?: boolean;\n continueLabel?: string;\n};\n\ntype FieldOption = {\n label: string;\n description: string;\n Icon: LucideIcon;\n value: string;\n tone: \"blue\" | \"violet\" | \"green\" | \"orange\" | \"cyan\";\n};\n\nconst fieldToneMap: Record<string, FieldOption[\"tone\"]> = {\n int: \"blue\",\n bigint: \"blue\",\n decimal: \"blue\",\n shortText: \"violet\",\n longText: \"violet\",\n richText: \"violet\",\n json: \"cyan\",\n boolean: \"green\",\n date: \"orange\",\n datetime: \"orange\",\n time: \"orange\",\n relation: \"cyan\",\n mediaSingle: \"violet\",\n mediaMultiple: \"violet\",\n email: \"cyan\",\n password: \"cyan\",\n selectionStatic: \"green\",\n selectionDynamic: \"green\",\n computed: \"blue\",\n uuid: \"blue\",\n};\n\nconst solidFieldOptions: FieldOption[] = [\n { label: \"Integer\", description: \"Whole number (int)\", Icon: Hash, value: \"int\", tone: fieldToneMap.int },\n { label: \"Big Integer\", description: \"Large whole number (bigint)\", Icon: Calculator, value: \"bigint\", tone: fieldToneMap.bigint },\n { label: \"Decimal\", description: \"64-bit floating-point number\", Icon: Sigma, value: \"decimal\", tone: fieldToneMap.decimal },\n { label: \"Short Text\", description: \"Small text field\", Icon: Type, value: \"shortText\", tone: fieldToneMap.shortText },\n { label: \"Long Text\", description: \"Large text field\", Icon: AlignLeft, value: \"longText\", tone: fieldToneMap.longText },\n { label: \"Rich Text\", description: \"Rich text editor\", Icon: Feather, value: \"richText\", tone: fieldToneMap.richText },\n { label: \"JSON\", description: \"JSON data format\", Icon: Code2, value: \"json\", tone: fieldToneMap.json },\n { label: \"Boolean\", description: \"True / False value\", Icon: ToggleLeft, value: \"boolean\", tone: fieldToneMap.boolean },\n { label: \"Date\", description: \"Date field\", Icon: Calendar, value: \"date\", tone: fieldToneMap.date },\n { label: \"Datetime\", description: \"Date & time field\", Icon: Clock9, value: \"datetime\", tone: fieldToneMap.datetime },\n { label: \"Time\", description: \"Time picker\", Icon: Timer, value: \"time\", tone: fieldToneMap.time },\n { label: \"Relation\", description: \"Reference another entity\", Icon: Share2, value: \"relation\", tone: fieldToneMap.relation },\n { label: \"Single Media\", description: \"Single file upload\", Icon: Image, value: \"mediaSingle\", tone: fieldToneMap.mediaSingle },\n { label: \"Multiple Media\", description: \"Multiple file upload\", Icon: Images, value: \"mediaMultiple\", tone: fieldToneMap.mediaMultiple },\n { label: \"Email\", description: \"Email field\", Icon: Mail, value: \"email\", tone: fieldToneMap.email },\n { label: \"Password\", description: \"Password input\", Icon: Shield, value: \"password\", tone: fieldToneMap.password },\n { label: \"Static Selection\", description: \"Predefined values\", Icon: ListChecks, value: \"selectionStatic\", tone: fieldToneMap.selectionStatic },\n { label: \"Dynamic Selection\", description: \"Dynamic list\", Icon: ListFilter, value: \"selectionDynamic\", tone: fieldToneMap.selectionDynamic },\n { label: \"Computed\", description: \"Derive value from data\", Icon: FunctionSquare, value: \"computed\", tone: fieldToneMap.computed },\n { label: \"UUID\", description: \"Unique identifier\", Icon: Fingerprint, value: \"uuid\", tone: fieldToneMap.uuid },\n];\n\nconst FieldSelector = ({\n handleTypeSelect,\n availableFieldTypes,\n initialSelectedValue = null,\n requireExplicitContinue = false,\n continueLabel = \"Next\",\n}: FieldSelectorProps) => {\n const [selectedField, setSelectedField] = useState<string | null>(initialSelectedValue);\n\n useEffect(() => {\n setSelectedField(initialSelectedValue);\n }, [initialSelectedValue]);\n\n const visibleFieldOptions = useMemo(() => {\n if (!availableFieldTypes?.length) {\n return solidFieldOptions;\n }\n\n const allowedTypes = new Set(availableFieldTypes);\n return solidFieldOptions.filter((option) => allowedTypes.has(option.value));\n }, [availableFieldTypes]);\n\n const handleSelect = (option: FieldOption) => {\n setSelectedField(option.value);\n if (!requireExplicitContinue) {\n handleTypeSelect(option.value, option.label);\n }\n };\n\n const handleContinue = () => {\n const selectedOption = visibleFieldOptions.find((option) => option.value === selectedField);\n if (!selectedOption) return;\n handleTypeSelect(selectedOption.value, selectedOption.label);\n };\n\n return (\n <div className=\"solid-field-selector-container\">\n <div className=\"solid-field-selector-header\">\n <p className=\"form-wrapper-heading pt-0\">Select Field Type</p>\n <p className=\"solid-field-selector-subheading\">Choose the data type you want to add to the model.</p>\n </div>\n <div className=\"solid-field-selector-grid\">\n {visibleFieldOptions.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n className={`solid-field-selector-card ${selectedField === option.value ? \"is-active\" : \"\"}`}\n onClick={() => handleSelect(option)}\n >\n <div className=\"solid-field-selector-card-inner\">\n <span className={`solid-field-selector-icon solid-field-selector-icon-${option.tone}`}>\n <option.Icon size={18} strokeWidth={1.8} />\n </span>\n <div className=\"solid-field-selector-text\">\n <span className=\"solid-field-selector-title\">{option.label}</span>\n <span className=\"solid-field-selector-description\">{option.description}</span>\n </div>\n </div>\n </button>\n ))}\n </div>\n {requireExplicitContinue ? (\n <div className=\"mt-4 flex justify-end\">\n <SolidButton\n size=\"small\"\n leftIcon={<ArrowRight size={14} />}\n onClick={handleContinue}\n disabled={!selectedField}\n >\n {continueLabel}\n </SolidButton>\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default FieldSelector;\n"]}
@@ -127,7 +127,7 @@ const FieldSelector = ({
127
127
  return (
128
128
  <div className="solid-field-selector-container">
129
129
  <div className="solid-field-selector-header">
130
- <p className="form-wrapper-heading">Select Field Type</p>
130
+ <p className="form-wrapper-heading pt-0">Select Field Type</p>
131
131
  <p className="solid-field-selector-subheading">Choose the data type you want to add to the model.</p>
132
132
  </div>
133
133
  <div className="solid-field-selector-grid">
@@ -217,7 +217,7 @@ var ModelMetaData = React.forwardRef(function (_a, ref) {
217
217
  return __generator(this, function (_a) {
218
218
  tableName = generateTableName(values.module.displayName, values.singularName);
219
219
  try {
220
- modelData_1 = __assign(__assign(__assign(__assign({}, modelMetaData), { singularName: values.singularName, pluralName: values.pluralName, displayName: values.displayName, description: values.description, dataSource: values.dataSource, dataSourceType: values.dataSourceType, tableName: (values === null || values === void 0 ? void 0 : values.tableName) || tableName, moduleId: values.moduleId, module: values.module, isSystem: values.isSystem ? values.isSystem === true : '', enableSoftDelete: values.enableSoftDelete === true ? true : '', enableAuditTracking: values.enableAuditTracking === true ? true : '', internationalisation: values.internationalisation === true ? true : '', draftPublishWorkflow: values.draftPublishWorkflow === true ? true : '', isChild: values.isChild === true ? true : '' }), (values.isChild == true && {
220
+ modelData_1 = __assign(__assign(__assign(__assign({}, modelMetaData), { singularName: values.singularName, pluralName: values.pluralName, displayName: values.displayName, description: values.description, dataSource: values.dataSource, dataSourceType: values.dataSourceType, tableName: (values === null || values === void 0 ? void 0 : values.tableName) || tableName, moduleId: values.moduleId, module: values.module, isSystem: values.isSystem === true, enableSoftDelete: values.enableSoftDelete === true ? true : '', enableAuditTracking: values.enableAuditTracking === true ? true : '', internationalisation: values.internationalisation === true ? true : '', draftPublishWorkflow: values.draftPublishWorkflow === true ? true : '', isChild: values.isChild === true ? true : '' }), (values.isChild == true && {
221
221
  parentModelId: values.parentModelId,
222
222
  parentModel: values.parentModel,
223
223
  })), { isLegacyTable: values.isLegacyTable === true ? true : false, hasExistingId: values.hasExistingId === true ? true : false });
@@ -1 +1 @@
1
- {"version":3,"file":"ModelMetaData.js","sourceRoot":"","sources":["../../../../src/components/core/model/ModelMetaData.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { getSingularAndPlural } from \"../../../helpers/helpers\";\nimport { useGetFieldDefaultMetaDataQuery } from \"../../../redux/api/fieldApi\";\nimport { useLazyGetModelsQuery } from \"../../../redux/api/modelApi\";\nimport { useLazyGetmodulesQuery } from \"../../../redux/api/moduleApi\";\nimport { useFormik } from \"formik\";\nimport { snakeCase } from \"lodash\";\nimport qs from \"qs\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport * as Yup from \"yup\";\nimport { SolidAutocomplete, SolidCheckbox, SolidInput, SolidPanel, SolidTextarea } from \"../../shad-cn-ui\";\nimport { useSolidAutocompleteField } from \"../../../hooks/useSolidAutocompleteField\";\nimport styles from \"../form/fields/solidFields.module.css\";\n\nconst cx = (...parts: Array<string | false | null | undefined | Record<string, boolean>>) => {\n const classes: string[] = [];\n parts.forEach((part) => {\n if (!part) return;\n if (typeof part === \"string\") {\n classes.push(part);\n return;\n }\n Object.entries(part).forEach(([key, value]) => {\n if (value) classes.push(key);\n });\n });\n return classes.join(\" \");\n};\n\nconst ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allModelsNames, deleteModelFunction, formikModelMetadataRef, params, formErrors, setIsDirty }: any, ref) => {\n\n // const ModelMetaData = ({ modelMetaData, setModelMetaData, deleteModelFunction, nextTab, formikModelMetadataRef }: any) => { \n\n const dispatch = useDispatch();\n\n const [triggerGetModules, { data: moduleData, isFetching: isModuleFetching, error: moduleError }] = useLazyGetmodulesQuery();\n const [triggerGetModels, { data: modelData, isFetching: isModelFetching, error: modelError }] = useLazyGetModelsQuery();\n const { data: fieldDefaultMetaData, isLoading, error, refetch } = useGetFieldDefaultMetaDataQuery(null);\n \n\n const initialValues = {\n singularName: modelMetaData ? modelMetaData?.singularName : \"\",\n pluralName: modelMetaData ? modelMetaData?.pluralName : \"\",\n displayName: modelMetaData ? modelMetaData?.displayName : \"\",\n description: modelMetaData ? modelMetaData?.description : \"\",\n dataSource: modelMetaData ? modelMetaData?.dataSource : \"\",\n dataSourceType: modelMetaData ? modelMetaData?.dataSourceType : \"\",\n tableName: modelMetaData ? modelMetaData?.tableName : null,\n moduleId: modelMetaData ? modelMetaData?.module?.id : \"\",\n module: modelMetaData ? modelMetaData?.module : \"\",\n isSystem: modelMetaData ? modelMetaData?.isSystem : false,\n enableSoftDelete: modelMetaData ? modelMetaData?.enableSoftDelete : \"\",\n enableAuditTracking: modelMetaData ? modelMetaData?.enableAuditTracking : true,\n internationalisation: modelMetaData ? modelMetaData?.internationalisation : \"\",\n draftPublishWorkflow: modelMetaData ? modelMetaData?.draftPublishWorkflow : \"\",\n isChild: modelMetaData ? modelMetaData?.isChild : \"\",\n parentModelId: modelMetaData ? modelMetaData?.parentModel?.id : \"\",\n parentModel: modelMetaData ? modelMetaData?.parentModel : \"\",\n isLegacyTable: modelMetaData ? modelMetaData?.isLegacyTable : false,\n hasExistingId: modelMetaData ? modelMetaData?.hasExistingId : false,\n };\n\n const [showTableName, setShowTableName] = useState<any>(false);\n const [showParentModel, setShowParentModel] = useState<any>(false);\n const [selectedModule, setSelectedModule] = useState<any>(null);\n\n\n useEffect(() => {\n if (modelMetaData && modelMetaData.tableName) {\n setShowTableName(true)\n }\n if (modelMetaData && modelMetaData.isChild) {\n setShowParentModel(true)\n }\n else if (modelMetaData && !modelMetaData.isChild) {\n setShowParentModel(false)\n }\n }, [modelMetaData])\n\n const validationSchema = Yup.object({\n singularName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .notOneOf(allModelsNames, ERROR_MESSAGES.FIELD_ALREADY_USE('Name', 'name'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Singular Name')),\n pluralName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Plural Name')),\n // tableName: Yup.string().required().matches(/^[a-z0-9_]+$/, ERROR_MESSAGES.SNAKE_CASE('Tabale')),\n displayName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Display Name\")),\n description: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Description Name\")),\n dataSource: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source\")),\n dataSourceType: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source Type\")),\n moduleId: Yup.number().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module Id\")),\n module: Yup.object().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module\")),\n isSystem: Yup.boolean(),\n enableSoftDelete: Yup.boolean(),\n enableAuditTracking: Yup.boolean(),\n internationalisation: Yup.boolean(),\n draftPublishWorkflow: Yup.boolean(),\n isChild: Yup.boolean(),\n parentModelId: Yup.number().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model Id'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n parentModel: Yup.object().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n isLegacyTable: Yup.boolean(),\n hasExistingId: Yup.boolean(),\n });\n\n\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const getFieldErrorMessage = (fieldName: string, fallbackField?: string) => {\n const errors = formik.errors as Record<string, any>;\n const message =\n errors[fieldName] ??\n (fallbackField ? errors[fallbackField] : undefined) ??\n formErrors[fieldName] ??\n (fallbackField ? formErrors[fallbackField] : undefined);\n return message;\n };\n\n const fieldHasError = (fieldName: string, fallbackField?: string) => {\n return Boolean(\n isFormFieldValid(formik, fieldName) ||\n (fallbackField && isFormFieldValid(formik, fallbackField)) ||\n formErrors[fieldName] ||\n (fallbackField && formErrors[fallbackField])\n );\n };\n\n const renderFieldError = (fieldName: string, fallbackField?: string) => {\n if (!fieldHasError(fieldName, fallbackField)) {\n return null;\n }\n\n const message = getFieldErrorMessage(fieldName, fallbackField);\n\n if (!message) {\n return null;\n }\n\n const errorText = Array.isArray(message) ? message.join(\", \") : String(message);\n return <p className={styles.fieldError}>{errorText}</p>;\n };\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n validateOnChange: true, // This ensures validation runs when a field value is changed\n enableReinitialize: true,\n innerRef: formikModelMetadataRef,\n onSubmit: async (values) => {\n const tableName = generateTableName(values.module.displayName, values.singularName);\n\n try {\n const modelData = {\n ...modelMetaData,\n singularName: values.singularName,\n pluralName: values.pluralName,\n displayName: values.displayName,\n description: values.description,\n dataSource: values.dataSource,\n dataSourceType: values.dataSourceType,\n tableName: values?.tableName || tableName,\n moduleId: values.moduleId,\n module: values.module,\n isSystem: values.isSystem ? values.isSystem === true : '',\n enableSoftDelete: values.enableSoftDelete === true ? true : '',\n enableAuditTracking: values.enableAuditTracking === true ? true : '',\n internationalisation: values.internationalisation === true ? true : '',\n draftPublishWorkflow: values.draftPublishWorkflow === true ? true : '',\n isChild: values.isChild === true ? true : '',\n ...(values.isChild == true && {\n parentModelId: values.parentModelId,\n parentModel: values.parentModel,\n }),\n isLegacyTable: values.isLegacyTable === true ? true : false,\n hasExistingId: values.hasExistingId === true ? true : false,\n \n };\n setModelMetaData(modelData);\n } catch (err) {\n console.error(ERROR_MESSAGES.CREATE_MODEL, err);\n }\n },\n });\n\n function generateTableName(moduleSlug: string, modelName: string): string {\n const snakeCaseModelName = snakeCase(modelName);\n const sankeCaseModuleName = snakeCase(moduleSlug);\n return `${sankeCaseModuleName}_${snakeCaseModelName}`;\n }\n\n const showError = async () => {\n const errors = await formik.validateForm(); // Trigger validation and get the updated errors\n const errorMessages = Object.values(errors);\n if (errorMessages.length > 0) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));\n }\n };\n\n\n const searchModule = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n name: {\n $containsi: query,\n },\n },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModules(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const searchModel = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n singularName: {\n $containsi: query,\n },\n },\n };\n\n // Add module filter dynamically\n if (selectedModule?.name) {\n (queryData.filters as any)[\"module\"] = {\n name: { $containsi: selectedModule.name },\n };\n }\n\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModels(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const serachDataSource = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.name.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.name, value: e.name, type: e.type }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n const serachDataSourceType = async (event: any) => {\n const query = event.query;\n try {\n\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.type.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.type, value: e.type }))\n return transformedData;\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return [];\n\n }\n };\n\n\n // useEffect(() => {\n // if (modelMetaData) {\n // setModelMetaData(modelMetaData.parentCategoryId);\n\n // // formik.setFieldValue(\"parentCategoryId\", modelMetaData.parentCategoryId);\n // }\n // }, [modelMetaData])\n\n\n // Set the formik reference to the formik instance\n // Set the formik reference to the formik instance\n useEffect(() => {\n if (formikModelMetadataRef) {\n formikModelMetadataRef.current = formik; // Assign the formik instance to the ref\n }\n }, [formik, formikModelMetadataRef]);\n\n\n const renderCount = useRef(0);\n\n useEffect(() => {\n renderCount.current += 1; // Increment count on every render\n });\n\n\n useEffect(() => {\n formik.validateForm();\n setModelMetaData(formik.values);\n\n }, [formik.values])\n\n useEffect(() => {\n if (formik.dirty) {\n setIsDirty(true);\n }\n }, [formik.dirty]);\n\n const moduleField = useSolidAutocompleteField({\n formik,\n fieldName: \"module\",\n fieldNameId: \"moduleId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModule,\n existingData: formik.values.module,\n relationField: true,\n additionalAction: (e: any) => setSelectedModule(e.value),\n });\n\n const dataSourceField = useSolidAutocompleteField({\n formik,\n fieldName: \"dataSource\",\n labelKey: \"label\",\n valueKey: \"value\",\n searchData: serachDataSource,\n existingData: formik.values.dataSource,\n additionalAction: (e: any) => formik.setFieldValue(\"dataSourceType\", e.target.value.type),\n });\n\n const parentModelField = useSolidAutocompleteField({\n formik,\n fieldName: \"parentModel\",\n fieldNameId: \"parentModelId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModel,\n existingData: formik.values.parentModel,\n relationField: true,\n });\n\n return (\n\n <>\n <form onSubmit={formik.handleSubmit}>\n <div className=\"\">\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pr-4\">\n <SolidPanel header={\"Basic Info\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"moduleId\" className={styles.fieldLabel}>\n Module\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"module\", \"moduleId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={moduleField.selectedItem}\n suggestions={moduleField.filteredItems}\n completeMethod={moduleField.searchItems}\n onChange={moduleField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"module\", \"moduleId\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"dataSource\" className={styles.fieldLabel}>\n Data Source\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"dataSource\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={dataSourceField.selectedItem}\n suggestions={dataSourceField.filteredItems}\n completeMethod={dataSourceField.searchItems}\n onChange={dataSourceField.handleChange}\n dropdown\n field=\"label\"\n className=\"w-full\"\n />\n </div>\n {formik.values.dataSourceType && (\n <p className=\"form-field-label text-sm\">\n Your datasource will connect to a {formik.values.dataSourceType} database\n </p>\n )}\n {renderFieldError(\"dataSource\")}\n </div>\n </SolidPanel>\n\n <SolidPanel header={\"Configurations\"} className=\"solid-column-panel mt-3 mb-3 lg:mt-5\">\n <div className=\"mt-2\">\n <SolidCheckbox\n name=\"enableSoftDelete\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableSoftDelete}\n onChange={(event) => {\n formik.setFieldValue(\"enableSoftDelete\", event.currentTarget.checked);\n }}\n label=\"Enable Soft Delete\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Soft-delete can only be set during initial creation to maintain data integrity\n </p>\n )}\n {renderFieldError(\"enableSoftDelete\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isChild\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isChild}\n onChange={(event) => {\n formik.setFieldValue(\"isChild\", event.currentTarget.checked);\n }}\n label=\"Is Child\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Is Current Model child of another Model\n </p>\n )}\n {renderFieldError(\"isChild\")}\n </div>\n\n {showParentModel && (\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"parentModelId\" className={styles.fieldLabel}>\n Parent Model\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"parentModel\", \"parentModelId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={parentModelField.selectedItem}\n suggestions={parentModelField.filteredItems}\n completeMethod={parentModelField.searchItems}\n onChange={parentModelField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"parentModel\", \"parentModelId\")}\n </div>\n )}\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"enableAuditTracking\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableAuditTracking}\n onChange={(event) => {\n formik.setFieldValue(\"enableAuditTracking\", event.currentTarget.checked);\n }}\n label=\"Enable Audit Tracking\"\n />\n {renderFieldError(\"enableAuditTracking\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"internationalisation\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.internationalisation}\n onChange={(event) => {\n formik.setFieldValue(\"internationalisation\", event.currentTarget.checked);\n }}\n label=\"Is Internationalisation Enabled\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"draftPublishWorkflow\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.draftPublishWorkflow}\n onChange={(event) => {\n formik.setFieldValue(\"draftPublishWorkflow\", event.currentTarget.checked);\n }}\n label=\"Draft/Publish Workflow\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isLegacyTable\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isLegacyTable}\n onChange={(event) => {\n const isChecked = event.currentTarget.checked;\n formik.setFieldValue(\"isLegacyTable\", isChecked);\n if (!isChecked) {\n formik.setFieldValue(\"hasExistingId\", false);\n }\n }}\n label=\"Is Legacy Table\"\n />\n </div>\n\n {formik.values.isLegacyTable && (\n <>\n <div className=\"ml-4 mt-2\">\n <SolidCheckbox\n name=\"hasExistingId\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.hasExistingId}\n onChange={(event) => {\n formik.setFieldValue(\"hasExistingId\", event.currentTarget.checked);\n }}\n label=\"Has existing Id\"\n />\n </div>\n <p className=\"form-field-label mt-2 text-sm\">\n Note: Legacy tables require at least one field marked as Primary Key during model creation\n </p>\n </>\n )}\n </SolidPanel>\n </div>\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pl-4\">\n <SolidPanel header={\"Basic Settings\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"displayName\" className={styles.fieldLabel}>\n Display Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"displayName\"\n name=\"displayName\"\n className={styles.fieldInput}\n value={formik.values.displayName}\n disabled={params.id !== \"new\"}\n onChange={(e) => {\n formik.handleChange(e);\n const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(e.target.value);\n if (params.id === \"new\") {\n formik.setFieldValue(\"singularName\", toCamelCase);\n formik.setFieldValue(\"pluralName\", toPluralCamelCase);\n formik.setFieldValue(\"tableName\", toSnakeCase);\n }\n }}\n />\n {renderFieldError(\"displayName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"singularName\" className={styles.fieldLabel}>\n Singular Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"singularName\"\n name=\"singularName\"\n className={styles.fieldInput}\n value={formik.values.singularName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"singularName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"pluralName\" className={styles.fieldLabel}>\n Plural Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"pluralName\"\n name=\"pluralName\"\n className={styles.fieldInput}\n value={formik.values.pluralName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"pluralName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"tableName\" className={styles.fieldLabel}>\n Table Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"tableName\"\n name=\"tableName\"\n className={styles.fieldInput}\n value={formik.values.tableName}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"tableName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"description\" className={styles.fieldLabel}>\n Description\n </label>\n <SolidTextarea\n id=\"description\"\n name=\"description\"\n className={styles.fieldTextarea}\n value={formik.values.description}\n rows={5}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"description\")}\n </div>\n </SolidPanel>\n </div>\n </div>\n </div>\n </form>\n </>\n );\n});\n\nexport default ModelMetaData;\n"]}
1
+ {"version":3,"file":"ModelMetaData.js","sourceRoot":"","sources":["../../../../src/components/core/model/ModelMetaData.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { getSingularAndPlural } from \"../../../helpers/helpers\";\nimport { useGetFieldDefaultMetaDataQuery } from \"../../../redux/api/fieldApi\";\nimport { useLazyGetModelsQuery } from \"../../../redux/api/modelApi\";\nimport { useLazyGetmodulesQuery } from \"../../../redux/api/moduleApi\";\nimport { useFormik } from \"formik\";\nimport { snakeCase } from \"lodash\";\nimport qs from \"qs\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport * as Yup from \"yup\";\nimport { SolidAutocomplete, SolidCheckbox, SolidInput, SolidPanel, SolidTextarea } from \"../../shad-cn-ui\";\nimport { useSolidAutocompleteField } from \"../../../hooks/useSolidAutocompleteField\";\nimport styles from \"../form/fields/solidFields.module.css\";\n\nconst cx = (...parts: Array<string | false | null | undefined | Record<string, boolean>>) => {\n const classes: string[] = [];\n parts.forEach((part) => {\n if (!part) return;\n if (typeof part === \"string\") {\n classes.push(part);\n return;\n }\n Object.entries(part).forEach(([key, value]) => {\n if (value) classes.push(key);\n });\n });\n return classes.join(\" \");\n};\n\nconst ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allModelsNames, deleteModelFunction, formikModelMetadataRef, params, formErrors, setIsDirty }: any, ref) => {\n\n // const ModelMetaData = ({ modelMetaData, setModelMetaData, deleteModelFunction, nextTab, formikModelMetadataRef }: any) => { \n\n const dispatch = useDispatch();\n\n const [triggerGetModules, { data: moduleData, isFetching: isModuleFetching, error: moduleError }] = useLazyGetmodulesQuery();\n const [triggerGetModels, { data: modelData, isFetching: isModelFetching, error: modelError }] = useLazyGetModelsQuery();\n const { data: fieldDefaultMetaData, isLoading, error, refetch } = useGetFieldDefaultMetaDataQuery(null);\n \n\n const initialValues = {\n singularName: modelMetaData ? modelMetaData?.singularName : \"\",\n pluralName: modelMetaData ? modelMetaData?.pluralName : \"\",\n displayName: modelMetaData ? modelMetaData?.displayName : \"\",\n description: modelMetaData ? modelMetaData?.description : \"\",\n dataSource: modelMetaData ? modelMetaData?.dataSource : \"\",\n dataSourceType: modelMetaData ? modelMetaData?.dataSourceType : \"\",\n tableName: modelMetaData ? modelMetaData?.tableName : null,\n moduleId: modelMetaData ? modelMetaData?.module?.id : \"\",\n module: modelMetaData ? modelMetaData?.module : \"\",\n isSystem: modelMetaData ? modelMetaData?.isSystem : false,\n enableSoftDelete: modelMetaData ? modelMetaData?.enableSoftDelete : \"\",\n enableAuditTracking: modelMetaData ? modelMetaData?.enableAuditTracking : true,\n internationalisation: modelMetaData ? modelMetaData?.internationalisation : \"\",\n draftPublishWorkflow: modelMetaData ? modelMetaData?.draftPublishWorkflow : \"\",\n isChild: modelMetaData ? modelMetaData?.isChild : \"\",\n parentModelId: modelMetaData ? modelMetaData?.parentModel?.id : \"\",\n parentModel: modelMetaData ? modelMetaData?.parentModel : \"\",\n isLegacyTable: modelMetaData ? modelMetaData?.isLegacyTable : false,\n hasExistingId: modelMetaData ? modelMetaData?.hasExistingId : false,\n };\n\n const [showTableName, setShowTableName] = useState<any>(false);\n const [showParentModel, setShowParentModel] = useState<any>(false);\n const [selectedModule, setSelectedModule] = useState<any>(null);\n\n\n useEffect(() => {\n if (modelMetaData && modelMetaData.tableName) {\n setShowTableName(true)\n }\n if (modelMetaData && modelMetaData.isChild) {\n setShowParentModel(true)\n }\n else if (modelMetaData && !modelMetaData.isChild) {\n setShowParentModel(false)\n }\n }, [modelMetaData])\n\n const validationSchema = Yup.object({\n singularName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .notOneOf(allModelsNames, ERROR_MESSAGES.FIELD_ALREADY_USE('Name', 'name'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Singular Name')),\n pluralName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Plural Name')),\n // tableName: Yup.string().required().matches(/^[a-z0-9_]+$/, ERROR_MESSAGES.SNAKE_CASE('Tabale')),\n displayName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Display Name\")),\n description: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Description Name\")),\n dataSource: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source\")),\n dataSourceType: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source Type\")),\n moduleId: Yup.number().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module Id\")),\n module: Yup.object().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module\")),\n isSystem: Yup.boolean(),\n enableSoftDelete: Yup.boolean(),\n enableAuditTracking: Yup.boolean(),\n internationalisation: Yup.boolean(),\n draftPublishWorkflow: Yup.boolean(),\n isChild: Yup.boolean(),\n parentModelId: Yup.number().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model Id'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n parentModel: Yup.object().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n isLegacyTable: Yup.boolean(),\n hasExistingId: Yup.boolean(),\n });\n\n\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const getFieldErrorMessage = (fieldName: string, fallbackField?: string) => {\n const errors = formik.errors as Record<string, any>;\n const message =\n errors[fieldName] ??\n (fallbackField ? errors[fallbackField] : undefined) ??\n formErrors[fieldName] ??\n (fallbackField ? formErrors[fallbackField] : undefined);\n return message;\n };\n\n const fieldHasError = (fieldName: string, fallbackField?: string) => {\n return Boolean(\n isFormFieldValid(formik, fieldName) ||\n (fallbackField && isFormFieldValid(formik, fallbackField)) ||\n formErrors[fieldName] ||\n (fallbackField && formErrors[fallbackField])\n );\n };\n\n const renderFieldError = (fieldName: string, fallbackField?: string) => {\n if (!fieldHasError(fieldName, fallbackField)) {\n return null;\n }\n\n const message = getFieldErrorMessage(fieldName, fallbackField);\n\n if (!message) {\n return null;\n }\n\n const errorText = Array.isArray(message) ? message.join(\", \") : String(message);\n return <p className={styles.fieldError}>{errorText}</p>;\n };\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n validateOnChange: true, // This ensures validation runs when a field value is changed\n enableReinitialize: true,\n innerRef: formikModelMetadataRef,\n onSubmit: async (values) => {\n const tableName = generateTableName(values.module.displayName, values.singularName);\n\n try {\n const modelData = {\n ...modelMetaData,\n singularName: values.singularName,\n pluralName: values.pluralName,\n displayName: values.displayName,\n description: values.description,\n dataSource: values.dataSource,\n dataSourceType: values.dataSourceType,\n tableName: values?.tableName || tableName,\n moduleId: values.moduleId,\n module: values.module,\n isSystem: values.isSystem === true,\n enableSoftDelete: values.enableSoftDelete === true ? true : '',\n enableAuditTracking: values.enableAuditTracking === true ? true : '',\n internationalisation: values.internationalisation === true ? true : '',\n draftPublishWorkflow: values.draftPublishWorkflow === true ? true : '',\n isChild: values.isChild === true ? true : '',\n ...(values.isChild == true && {\n parentModelId: values.parentModelId,\n parentModel: values.parentModel,\n }),\n isLegacyTable: values.isLegacyTable === true ? true : false,\n hasExistingId: values.hasExistingId === true ? true : false,\n \n };\n setModelMetaData(modelData);\n } catch (err) {\n console.error(ERROR_MESSAGES.CREATE_MODEL, err);\n }\n },\n });\n\n function generateTableName(moduleSlug: string, modelName: string): string {\n const snakeCaseModelName = snakeCase(modelName);\n const sankeCaseModuleName = snakeCase(moduleSlug);\n return `${sankeCaseModuleName}_${snakeCaseModelName}`;\n }\n\n const showError = async () => {\n const errors = await formik.validateForm(); // Trigger validation and get the updated errors\n const errorMessages = Object.values(errors);\n if (errorMessages.length > 0) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));\n }\n };\n\n\n const searchModule = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n name: {\n $containsi: query,\n },\n },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModules(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const searchModel = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n singularName: {\n $containsi: query,\n },\n },\n };\n\n // Add module filter dynamically\n if (selectedModule?.name) {\n (queryData.filters as any)[\"module\"] = {\n name: { $containsi: selectedModule.name },\n };\n }\n\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModels(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const serachDataSource = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.name.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.name, value: e.name, type: e.type }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n const serachDataSourceType = async (event: any) => {\n const query = event.query;\n try {\n\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.type.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.type, value: e.type }))\n return transformedData;\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return [];\n\n }\n };\n\n\n // useEffect(() => {\n // if (modelMetaData) {\n // setModelMetaData(modelMetaData.parentCategoryId);\n\n // // formik.setFieldValue(\"parentCategoryId\", modelMetaData.parentCategoryId);\n // }\n // }, [modelMetaData])\n\n\n // Set the formik reference to the formik instance\n // Set the formik reference to the formik instance\n useEffect(() => {\n if (formikModelMetadataRef) {\n formikModelMetadataRef.current = formik; // Assign the formik instance to the ref\n }\n }, [formik, formikModelMetadataRef]);\n\n\n const renderCount = useRef(0);\n\n useEffect(() => {\n renderCount.current += 1; // Increment count on every render\n });\n\n\n useEffect(() => {\n formik.validateForm();\n setModelMetaData(formik.values);\n\n }, [formik.values])\n\n useEffect(() => {\n if (formik.dirty) {\n setIsDirty(true);\n }\n }, [formik.dirty]);\n\n const moduleField = useSolidAutocompleteField({\n formik,\n fieldName: \"module\",\n fieldNameId: \"moduleId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModule,\n existingData: formik.values.module,\n relationField: true,\n additionalAction: (e: any) => setSelectedModule(e.value),\n });\n\n const dataSourceField = useSolidAutocompleteField({\n formik,\n fieldName: \"dataSource\",\n labelKey: \"label\",\n valueKey: \"value\",\n searchData: serachDataSource,\n existingData: formik.values.dataSource,\n additionalAction: (e: any) => formik.setFieldValue(\"dataSourceType\", e.target.value.type),\n });\n\n const parentModelField = useSolidAutocompleteField({\n formik,\n fieldName: \"parentModel\",\n fieldNameId: \"parentModelId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModel,\n existingData: formik.values.parentModel,\n relationField: true,\n });\n\n return (\n\n <>\n <form onSubmit={formik.handleSubmit}>\n <div className=\"\">\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pr-4\">\n <SolidPanel header={\"Basic Info\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"moduleId\" className={styles.fieldLabel}>\n Module\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"module\", \"moduleId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={moduleField.selectedItem}\n suggestions={moduleField.filteredItems}\n completeMethod={moduleField.searchItems}\n onChange={moduleField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"module\", \"moduleId\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"dataSource\" className={styles.fieldLabel}>\n Data Source\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"dataSource\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={dataSourceField.selectedItem}\n suggestions={dataSourceField.filteredItems}\n completeMethod={dataSourceField.searchItems}\n onChange={dataSourceField.handleChange}\n dropdown\n field=\"label\"\n className=\"w-full\"\n />\n </div>\n {formik.values.dataSourceType && (\n <p className=\"form-field-label text-sm\">\n Your datasource will connect to a {formik.values.dataSourceType} database\n </p>\n )}\n {renderFieldError(\"dataSource\")}\n </div>\n </SolidPanel>\n\n <SolidPanel header={\"Configurations\"} className=\"solid-column-panel mt-3 mb-3 lg:mt-5\">\n <div className=\"mt-2\">\n <SolidCheckbox\n name=\"enableSoftDelete\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableSoftDelete}\n onChange={(event) => {\n formik.setFieldValue(\"enableSoftDelete\", event.currentTarget.checked);\n }}\n label=\"Enable Soft Delete\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Soft-delete can only be set during initial creation to maintain data integrity\n </p>\n )}\n {renderFieldError(\"enableSoftDelete\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isChild\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isChild}\n onChange={(event) => {\n formik.setFieldValue(\"isChild\", event.currentTarget.checked);\n }}\n label=\"Is Child\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Is Current Model child of another Model\n </p>\n )}\n {renderFieldError(\"isChild\")}\n </div>\n\n {showParentModel && (\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"parentModelId\" className={styles.fieldLabel}>\n Parent Model\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"parentModel\", \"parentModelId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={parentModelField.selectedItem}\n suggestions={parentModelField.filteredItems}\n completeMethod={parentModelField.searchItems}\n onChange={parentModelField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"parentModel\", \"parentModelId\")}\n </div>\n )}\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"enableAuditTracking\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableAuditTracking}\n onChange={(event) => {\n formik.setFieldValue(\"enableAuditTracking\", event.currentTarget.checked);\n }}\n label=\"Enable Audit Tracking\"\n />\n {renderFieldError(\"enableAuditTracking\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"internationalisation\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.internationalisation}\n onChange={(event) => {\n formik.setFieldValue(\"internationalisation\", event.currentTarget.checked);\n }}\n label=\"Is Internationalisation Enabled\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"draftPublishWorkflow\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.draftPublishWorkflow}\n onChange={(event) => {\n formik.setFieldValue(\"draftPublishWorkflow\", event.currentTarget.checked);\n }}\n label=\"Draft/Publish Workflow\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isLegacyTable\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isLegacyTable}\n onChange={(event) => {\n const isChecked = event.currentTarget.checked;\n formik.setFieldValue(\"isLegacyTable\", isChecked);\n if (!isChecked) {\n formik.setFieldValue(\"hasExistingId\", false);\n }\n }}\n label=\"Is Legacy Table\"\n />\n </div>\n\n {formik.values.isLegacyTable && (\n <>\n <div className=\"ml-4 mt-2\">\n <SolidCheckbox\n name=\"hasExistingId\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.hasExistingId}\n onChange={(event) => {\n formik.setFieldValue(\"hasExistingId\", event.currentTarget.checked);\n }}\n label=\"Has existing Id\"\n />\n </div>\n <p className=\"form-field-label mt-2 text-sm\">\n Note: Legacy tables require at least one field marked as Primary Key during model creation\n </p>\n </>\n )}\n </SolidPanel>\n </div>\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pl-4\">\n <SolidPanel header={\"Basic Settings\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"displayName\" className={styles.fieldLabel}>\n Display Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"displayName\"\n name=\"displayName\"\n className={styles.fieldInput}\n value={formik.values.displayName}\n disabled={params.id !== \"new\"}\n onChange={(e) => {\n formik.handleChange(e);\n const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(e.target.value);\n if (params.id === \"new\") {\n formik.setFieldValue(\"singularName\", toCamelCase);\n formik.setFieldValue(\"pluralName\", toPluralCamelCase);\n formik.setFieldValue(\"tableName\", toSnakeCase);\n }\n }}\n />\n {renderFieldError(\"displayName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"singularName\" className={styles.fieldLabel}>\n Singular Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"singularName\"\n name=\"singularName\"\n className={styles.fieldInput}\n value={formik.values.singularName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"singularName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"pluralName\" className={styles.fieldLabel}>\n Plural Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"pluralName\"\n name=\"pluralName\"\n className={styles.fieldInput}\n value={formik.values.pluralName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"pluralName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"tableName\" className={styles.fieldLabel}>\n Table Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"tableName\"\n name=\"tableName\"\n className={styles.fieldInput}\n value={formik.values.tableName}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"tableName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"description\" className={styles.fieldLabel}>\n Description\n </label>\n <SolidTextarea\n id=\"description\"\n name=\"description\"\n className={styles.fieldTextarea}\n value={formik.values.description}\n rows={5}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"description\")}\n </div>\n </SolidPanel>\n </div>\n </div>\n </div>\n </form>\n </>\n );\n});\n\nexport default ModelMetaData;\n"]}
@@ -185,7 +185,7 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
185
185
  tableName: values?.tableName || tableName,
186
186
  moduleId: values.moduleId,
187
187
  module: values.module,
188
- isSystem: values.isSystem ? values.isSystem === true : '',
188
+ isSystem: values.isSystem === true,
189
189
  enableSoftDelete: values.enableSoftDelete === true ? true : '',
190
190
  enableAuditTracking: values.enableAuditTracking === true ? true : '',
191
191
  internationalisation: values.internationalisation === true ? true : '',
@@ -1,7 +1,9 @@
1
1
  .solid-module-form-workspace {
2
2
  display: flex;
3
+ flex: 1 1 auto;
3
4
  flex-direction: column;
4
5
  gap: 0;
6
+ min-height: 0;
5
7
  }
6
8
 
7
9
  .solid-module-workspace-header {
@@ -12,8 +14,10 @@
12
14
 
13
15
  .solid-module-form-workspace .solid-module-form-tabs {
14
16
  display: flex;
17
+ flex: 1 1 auto;
15
18
  flex-direction: column;
16
19
  gap: 0;
20
+ min-height: 0;
17
21
  }
18
22
 
19
23
  .solid-module-form-workspace .solid-module-form-tablist {
@@ -23,6 +27,10 @@
23
27
  }
24
28
 
25
29
  .solid-module-form-workspace .solid-module-form-tabpanel {
30
+ display: flex;
31
+ flex: 1 1 auto;
32
+ flex-direction: column;
33
+ min-height: 0;
26
34
  padding-top: 0.65rem;
27
35
  }
28
36
 
@@ -49,6 +57,24 @@
49
57
  padding: 0 0.9rem 1rem;
50
58
  }
51
59
 
60
+ .solid-module-general-info-content {
61
+ display: flex;
62
+ flex: 1 1 auto;
63
+ flex-direction: column;
64
+ min-height: 0;
65
+ }
66
+
67
+ .solid-module-general-info-content > form {
68
+ display: flex;
69
+ flex: 1 1 auto;
70
+ flex-direction: column;
71
+ min-height: 0;
72
+ }
73
+
74
+ .solid-module-general-info-content form {
75
+ background: transparent;
76
+ }
77
+
52
78
  .solid-module-general-info-actions {
53
79
  display: flex;
54
80
  align-items: center;
@@ -115,8 +141,8 @@
115
141
  background:
116
142
  linear-gradient(
117
143
  180deg,
118
- color-mix(in srgb, var(--primary-color, var(--primary)) 5%, #ffffff 95%),
119
- color-mix(in srgb, var(--primary-color, var(--primary)) 9%, #f8fafc 91%)
144
+ color-mix(in srgb, var(--primary-color, var(--primary)) 5%, var(--card, #ffffff) 95%),
145
+ color-mix(in srgb, var(--primary-color, var(--primary)) 9%, var(--background, #f8fafc) 91%)
120
146
  );
121
147
  }
122
148
 
@@ -164,3 +190,30 @@
164
190
  display: flex;
165
191
  justify-content: center;
166
192
  }
193
+
194
+ [data-theme="dark"] .solid-module-form-workspace,
195
+ [data-theme="dark"] .solid-module-form-tabpanel,
196
+ [data-theme="dark"] .solid-module-general-info-content,
197
+ [data-theme="dark"] .solid-module-general-info-content form {
198
+ background: transparent;
199
+ }
200
+
201
+ [data-theme="dark"] .solid-module-automap-panel {
202
+ border-color: color-mix(in srgb, var(--primary-color, var(--primary)) 24%, var(--border) 76%);
203
+ background:
204
+ linear-gradient(
205
+ 180deg,
206
+ color-mix(in srgb, var(--primary-color, var(--primary)) 10%, var(--card) 90%),
207
+ color-mix(in srgb, var(--primary-color, var(--primary)) 14%, var(--background) 86%)
208
+ );
209
+ box-shadow: inset 0 1px 0 color-mix(in srgb, var(--foreground) 6%, transparent);
210
+ }
211
+
212
+ [data-theme="dark"] .solid-module-automap-eyebrow {
213
+ color: color-mix(in srgb, var(--primary-color, var(--primary)) 72%, var(--muted-foreground) 28%);
214
+ }
215
+
216
+ [data-theme="dark"] .solid-module-automap-copy p,
217
+ [data-theme="dark"] .solid-module-automap-list {
218
+ color: color-mix(in srgb, var(--foreground) 80%, var(--muted-foreground));
219
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"CreateModule.d.ts","sourceRoot":"","sources":["../../../../src/components/core/module/CreateModule.tsx"],"names":[],"mappings":"AA+BA,OAAO,oBAAoB,CAAC;AAK5B,QAAA,MAAM,YAAY,qBAAsB,GAAG,4CAmiB1C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"CreateModule.d.ts","sourceRoot":"","sources":["../../../../src/components/core/module/CreateModule.tsx"],"names":[],"mappings":"AA+BA,OAAO,oBAAoB,CAAC;AAK5B,QAAA,MAAM,YAAY,qBAAsB,GAAG,4CAoiB1C,CAAC;AAEF,eAAe,YAAY,CAAC"}