@solidxai/core-ui 0.1.14-beta.9 → 0.1.14

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 (136) hide show
  1. package/dist/components/auth/AuthLayout.js +1 -1
  2. package/dist/components/auth/AuthLayout.js.map +1 -1
  3. package/dist/components/auth/AuthLayout.tsx +2 -2
  4. package/dist/components/common/SettingsComponent.module.css +1 -4
  5. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  6. package/dist/components/common/SolidFormStepper.js +6 -7
  7. package/dist/components/common/SolidFormStepper.js.map +1 -1
  8. package/dist/components/common/SolidFormStepper.tsx +1 -7
  9. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
  10. package/dist/components/common/SolidThemeProvider.js +11 -127
  11. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  12. package/dist/components/common/SolidThemeProvider.tsx +22 -104
  13. package/dist/components/core/card/CardGrid.d.ts +1 -1
  14. package/dist/components/core/card/CardGrid.d.ts.map +1 -1
  15. package/dist/components/core/card/CardGrid.js +2 -2
  16. package/dist/components/core/card/CardGrid.js.map +1 -1
  17. package/dist/components/core/card/CardGrid.tsx +0 -4
  18. package/dist/components/core/card/CardItem.d.ts +0 -2
  19. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  20. package/dist/components/core/card/CardItem.js +3 -4
  21. package/dist/components/core/card/CardItem.js.map +1 -1
  22. package/dist/components/core/card/CardItem.tsx +0 -15
  23. package/dist/components/core/card/SolidCardView.d.ts +1 -28
  24. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  25. package/dist/components/core/card/SolidCardView.js +44 -99
  26. package/dist/components/core/card/SolidCardView.js.map +1 -1
  27. package/dist/components/core/card/SolidCardView.tsx +7 -124
  28. package/dist/components/core/card/SolidCardViewConfigure.d.ts +1 -1
  29. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  30. package/dist/components/core/card/SolidCardViewConfigure.js +6 -15
  31. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  32. package/dist/components/core/card/SolidCardViewConfigure.tsx +0 -34
  33. package/dist/components/core/common/PDFViewer.d.ts +5 -9
  34. package/dist/components/core/common/PDFViewer.d.ts.map +1 -1
  35. package/dist/components/core/common/PDFViewer.js +102 -10
  36. package/dist/components/core/common/PDFViewer.js.map +1 -1
  37. package/dist/components/core/common/PDFViewer.tsx +88 -29
  38. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  39. package/dist/components/core/common/SolidCreateButton.js +2 -2
  40. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  41. package/dist/components/core/common/SolidCreateButton.tsx +2 -22
  42. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  43. package/dist/components/core/common/SolidGlobalSearchElement.js +134 -137
  44. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  45. package/dist/components/core/common/SolidGlobalSearchElement.tsx +119 -127
  46. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  47. package/dist/components/core/form/SolidFormActionHeader.js +21 -21
  48. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  49. package/dist/components/core/form/SolidFormActionHeader.tsx +53 -62
  50. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  51. package/dist/components/core/form/SolidFormView.js +2 -5
  52. package/dist/components/core/form/SolidFormView.js.map +1 -1
  53. package/dist/components/core/form/SolidFormView.tsx +2 -7
  54. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  55. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  56. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  57. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  58. package/dist/components/core/kanban/KanbanBoard.tsx +1 -3
  59. package/dist/components/core/kanban/KanbanCard.d.ts +0 -2
  60. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  61. package/dist/components/core/kanban/KanbanCard.js +2 -4
  62. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  63. package/dist/components/core/kanban/KanbanCard.tsx +1 -14
  64. package/dist/components/core/kanban/KanbanColumn.d.ts +1 -3
  65. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  66. package/dist/components/core/kanban/KanbanColumn.js +2 -2
  67. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  68. package/dist/components/core/kanban/KanbanColumn.tsx +2 -4
  69. package/dist/components/core/kanban/SolidKanbanView.d.ts +1 -25
  70. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  71. package/dist/components/core/kanban/SolidKanbanView.js +50 -89
  72. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  73. package/dist/components/core/kanban/SolidKanbanView.tsx +9 -82
  74. package/dist/components/core/list/PLAN.md +1 -1
  75. package/dist/components/core/list/SolidListView.d.ts +0 -11
  76. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  77. package/dist/components/core/list/SolidListView.js +3 -8
  78. package/dist/components/core/list/SolidListView.js.map +1 -1
  79. package/dist/components/core/list/SolidListView.tsx +43 -82
  80. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  81. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  82. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  83. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  84. package/dist/components/core/model/CreateModel.js +1 -2
  85. package/dist/components/core/model/CreateModel.js.map +1 -1
  86. package/dist/components/core/model/CreateModel.tsx +0 -2
  87. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  88. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  89. package/dist/components/core/model/FieldMetaData.js +8 -8
  90. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  91. package/dist/components/core/model/FieldMetaData.tsx +2 -2
  92. package/dist/components/core/model/FieldMetaDataForm.css +0 -119
  93. package/dist/components/core/model/FieldMetaDataForm.js +1 -1
  94. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  95. package/dist/components/core/model/FieldMetaDataForm.tsx +1 -1
  96. package/dist/components/core/module/ModuleMetadataExplorer.css +0 -64
  97. package/dist/components/core/module/ModulePackageDialog.css +12 -117
  98. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  99. package/dist/components/core/tree/SolidTreeView.js +3 -6
  100. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  101. package/dist/components/core/tree/SolidTreeView.tsx +13 -35
  102. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -1
  103. package/dist/components/layout/AdminHeaderActions.js +10 -15
  104. package/dist/components/layout/AdminHeaderActions.js.map +1 -1
  105. package/dist/components/layout/AdminHeaderActions.tsx +8 -15
  106. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  107. package/dist/components/layout/AdminTopHeader.js +18 -1
  108. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  109. package/dist/components/layout/AdminTopHeader.tsx +21 -3
  110. package/dist/index.d.ts +0 -5
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +0 -3
  113. package/dist/index.js.map +1 -1
  114. package/dist/index.ts +0 -5
  115. package/dist/resources/globals.css +0 -15
  116. package/dist/resources/solid-custom.css +0 -11
  117. package/dist/resources/solid-tailwind-generated.css +1 -1
  118. package/dist/resources/themes/solid-light-modern/theme.css +3 -4
  119. package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
  120. package/dist/routes/pages/admin/core/CardPage.js +2 -15
  121. package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
  122. package/dist/routes/pages/admin/core/CardPage.tsx +2 -17
  123. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  124. package/dist/routes/pages/admin/core/DashboardPage.js +3 -31
  125. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  126. package/dist/routes/pages/admin/core/DashboardPage.tsx +11 -39
  127. package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
  128. package/dist/routes/pages/admin/core/KanbanPage.js +2 -15
  129. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  130. package/dist/routes/pages/admin/core/KanbanPage.tsx +2 -17
  131. package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
  132. package/dist/routes/pages/admin/core/ListPage.js +13 -5
  133. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  134. package/dist/routes/pages/admin/core/ListPage.tsx +15 -5
  135. package/dist/types/solid-core.d.ts +0 -8
  136. package/package.json +1 -1
@@ -45,15 +45,15 @@ import { ERROR_MESSAGES } from "../../../constants/error-messages";
45
45
  import { AlertTriangle, Info, Pencil, Plus, Trash2 } from "lucide-react";
46
46
  import { SolidButton, SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogFooter, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, } from "../../shad-cn-ui";
47
47
  var FieldMetaData = function (_a) {
48
- var setIsDirty = _a.setIsDirty, setFieldDeleted = _a.setFieldDeleted, modelMetaData = _a.modelMetaData, fieldMetaData = _a.fieldMetaData, setFieldMetaData = _a.setFieldMetaData, deleteModelFunction = _a.deleteModelFunction, nextTab = _a.nextTab, formikFieldsMetadataRef = _a.formikFieldsMetadataRef, params = _a.params, _b = _a.showSaveButton, showSaveButton = _b === void 0 ? false : _b, _c = _a.hideAddButton, hideAddButton = _c === void 0 ? false : _c, onSave = _a.onSave;
48
+ var setIsDirty = _a.setIsDirty, setFieldDeleted = _a.setFieldDeleted, modelMetaData = _a.modelMetaData, fieldMetaData = _a.fieldMetaData, setFieldMetaData = _a.setFieldMetaData, deleteModelFunction = _a.deleteModelFunction, nextTab = _a.nextTab, formikFieldsMetadataRef = _a.formikFieldsMetadataRef, params = _a.params, _b = _a.showSaveButton, showSaveButton = _b === void 0 ? false : _b, onSave = _a.onSave;
49
49
  var pathname = usePathname();
50
50
  var dispatch = useDispatch();
51
- var _d = useState(false), visiblePopup = _d[0], setVisiblePopup = _d[1];
52
- var _e = useState(false), isRequiredPopUp = _e[0], setIsRequiredPopUp = _e[1];
53
- var _f = useState(), currentPopup = _f[0], setCurrentPopup = _f[1];
54
- var _g = useState(null), selectedFieldMetaData = _g[0], setSelectedFieldMetaData = _g[1];
55
- var _h = useState(false), deleteAlertPopup = _h[0], setDeleteAlertPopup = _h[1];
56
- var _j = useState(null), rowToDelete = _j[0], setRowToDelete = _j[1];
51
+ var _c = useState(false), visiblePopup = _c[0], setVisiblePopup = _c[1];
52
+ var _d = useState(false), isRequiredPopUp = _d[0], setIsRequiredPopUp = _d[1];
53
+ var _e = useState(), currentPopup = _e[0], setCurrentPopup = _e[1];
54
+ var _f = useState(null), selectedFieldMetaData = _f[0], setSelectedFieldMetaData = _f[1];
55
+ var _g = useState(false), deleteAlertPopup = _g[0], setDeleteAlertPopup = _g[1];
56
+ var _h = useState(null), rowToDelete = _h[0], setRowToDelete = _h[1];
57
57
  var onRowSelect = function (event) {
58
58
  setVisiblePopup(true);
59
59
  };
@@ -105,7 +105,7 @@ var FieldMetaData = function (_a) {
105
105
  return (_jsx(_Fragment, { children: needsModelSetup ?
106
106
  _jsx("div", { className: "solid-placeholder-card-wrapper", children: _jsxs("div", { className: "solid-placeholder-card", children: [_jsx("div", { className: "solid-placeholder-card-icon", children: _jsx(Info, { size: 18 }) }), _jsxs("div", { className: "solid-placeholder-card-body", children: [_jsx("p", { className: "solid-placeholder-card-title", children: "Model setup incomplete" }), _jsx("p", { className: "solid-placeholder-card-text", children: "Please select Module and Datasource from the models tab before managing fields." })] })] }) })
107
107
  :
108
- _jsxs(_Fragment, { children: [_jsxs("div", { className: "flex justify-end gap-2", style: { marginBottom: '0.5rem' }, children: [showSaveButton && (_jsx(SolidButton, { size: "sm", onClick: onSave, children: "Save" })), modelMetaData.isSystem !== true && !hideAddButton &&
108
+ _jsxs(_Fragment, { children: [_jsxs("div", { className: "flex justify-end gap-2", style: { marginBottom: '0.5rem' }, children: [showSaveButton && (_jsx(SolidButton, { size: "sm", onClick: onSave, children: "Save" })), modelMetaData.isSystem !== true &&
109
109
  _jsx(SolidButton, { size: "sm", leftIcon: _jsx(Plus, { size: 14 }), onClick: function () {
110
110
  if (!(modelMetaData === null || modelMetaData === void 0 ? void 0 : modelMetaData.dataSourceType)) {
111
111
  dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.ORM_TYPE_REQUIRED }));
@@ -1 +1 @@
1
- {"version":3,"file":"FieldMetaData.js","sourceRoot":"","sources":["../../../../src/components/core/model/FieldMetaData.tsx"],"names":[],"mappings":"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","sourcesContent":["import { usePathname } from \"../../../hooks/usePathname\";\nimport { SolidDataTable as DataTable, Column } from \"../list/SolidDataTable\";\nimport { useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport FieldMetaDataForm from \"./FieldMetaDataForm\";\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { AlertTriangle, Info, Pencil, Plus, Trash2 } from \"lucide-react\";\nimport {\n SolidButton,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n} from \"../../shad-cn-ui\";\n\n\nconst FieldMetaData = ({ setIsDirty, setFieldDeleted, modelMetaData, fieldMetaData, setFieldMetaData, deleteModelFunction, nextTab, formikFieldsMetadataRef, params, showSaveButton = false, hideAddButton = false, onSave }: any) => {\n const pathname = usePathname();\n const dispatch = useDispatch();\n const [visiblePopup, setVisiblePopup] = useState(false);\n const [isRequiredPopUp, setIsRequiredPopUp] = useState(false);\n const [currentPopup, setCurrentPopup] = useState();\n const [selectedFieldMetaData, setSelectedFieldMetaData] = useState<any>(null);\n const [deleteAlertPopup, setDeleteAlertPopup] = useState(false);\n const [rowToDelete, setRowToDelete] = useState<any>(null);\n const onRowSelect = (event: any) => {\n setVisiblePopup(true);\n\n };\n\n\n const bodyTemplate = (rowData: any) => {\n return (\n <>\n\n {rowData.displayName &&\n <>\n <p>{rowData.displayName}\n {rowData.isMarkedForRemoval === true &&\n <>\n <br></br> <span style={{ fontSize: '11px', color: 'red' }}>This field will be removed next time you generate code for this model.</span>\n </>\n }\n </p>\n </>\n }\n </>\n )\n };\n\n\n // Template for the pencil icon column\n const editTemplate = (rowData: any) => {\n return (\n <>\n {rowData.isSystem !== true && rowData.isMarkedForRemoval !== true &&\n <SolidButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"solid-icon-button\"\n aria-label=\"Edit field\"\n leftIcon={<Pencil size={14} />}\n onClick={() => {\n setSelectedFieldMetaData(rowData);\n setVisiblePopup(true);\n }}\n />\n }\n </>\n )\n };\n\n // Function to delete a row\n const deleteRow = (rowData: any) => {\n //show dialog bbefore deletion & which will have to option ok and cancel\n setFieldMetaData((prevData: any) => {\n const updatedData = prevData.filter((item: any) => item.name !== rowData.name);\n setIsDirty(true); // Ensure dirty state is updated immediately\n if (setFieldDeleted) setFieldDeleted(true);\n return updatedData;\n });\n };\n\n // Template for the trash (delete) icon column\n const deleteTemplate = (rowData: any) => {\n return (\n <>\n {(pathname.includes('create') || (rowData.isSystem !== true && rowData.isMarkedForRemoval !== true)) &&\n <SolidButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"solid-icon-button\"\n style={{ color: \"var(--solid-danger, #ef4444)\" }}\n aria-label=\"Delete field\"\n leftIcon={<Trash2 size={14} />}\n onClick={() => { setRowToDelete(rowData); setDeleteAlertPopup(true) }}\n />\n\n }\n </>\n )\n };\n\n const showToaster = async (message: any, severity: any) => {\n const errorMessages = Object.values(message);\n if (errorMessages.length > 0) {\n dispatch(showToast({ severity, summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));\n }\n };\n\n\n // const rowClass = (data: any) => {\n // return {\n // 'bg-red-row': data.isMarkedForRemoval === true\n // };\n // };\n\n\n const needsModelSetup = !modelMetaData.moduleId || !modelMetaData.dataSource;\n\n return (\n <>\n\n {needsModelSetup ?\n <div className=\"solid-placeholder-card-wrapper\">\n <div className=\"solid-placeholder-card\">\n <div className=\"solid-placeholder-card-icon\">\n <Info size={18} />\n </div>\n <div className=\"solid-placeholder-card-body\">\n <p className=\"solid-placeholder-card-title\">Model setup incomplete</p>\n <p className=\"solid-placeholder-card-text\">Please select Module and Datasource from the models tab before managing fields.</p>\n </div>\n </div>\n </div>\n :\n <>\n\n <div className=\"flex justify-end gap-2\" style={{ marginBottom: '0.5rem' }}>\n {showSaveButton && (\n <SolidButton\n size=\"sm\"\n onClick={onSave}\n >\n Save\n </SolidButton>\n )}\n {modelMetaData.isSystem !== true && !hideAddButton &&\n <SolidButton\n size=\"sm\"\n leftIcon={<Plus size={14} />}\n onClick={() => {\n if (!modelMetaData?.dataSourceType) {\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.ORM_TYPE_REQUIRED }));\n } else {\n setSelectedFieldMetaData(null);\n setVisiblePopup(true)\n }\n }}\n >\n Add\n </SolidButton>\n }\n </div>\n <div className=\"solid-datatable-wrapper solid-list-table-area flex-1 min-h-0 overflow-hidden\">\n <DataTable\n value={fieldMetaData}\n dataKey=\"id\"\n size=\"small\"\n emptyMessage=\"No fields configured\"\n rowClassName={(rowData) => rowData.isMarkedForRemoval === true ? \"greyed-out-row\" : \"\"}\n >\n <Column field=\"displayName\" header=\"Display Name\" body={bodyTemplate}></Column>\n <Column field=\"name\" header=\"Name\"></Column>\n <Column field=\"type\" header=\"Type\"></Column>\n\n {modelMetaData.isSystem !== true &&\n <Column body={editTemplate} header=\"Edit\" style={{ width: '80px' }} />\n }\n {modelMetaData.isSystem !== true &&\n <Column body={deleteTemplate} header=\"Delete\" style={{ width: '90px' }} />\n }\n </DataTable>\n </div>\n <SolidDialog\n open={visiblePopup}\n onOpenChange={(open) => {\n if (!open) {\n setVisiblePopup(false);\n }\n }}\n className=\"solid-dialog solid-field-dialog\"\n style={{ width: \"min(720px, calc(100vw - 2rem))\", minWidth:\"20rem\", maxWidth:\"95vw\" }}\n showHeader={false}\n >\n <SolidDialogBody className=\"solid-dialog-body-flush\">\n <FieldMetaDataForm setIsDirty={setIsDirty} modelMetaData={modelMetaData} fieldMetaData={selectedFieldMetaData} allFields={fieldMetaData} setFieldMetaData={setFieldMetaData} deleteModelFunction={deleteModelFunction} setVisiblePopup={setVisiblePopup} formikFieldsMetadataRef={formikFieldsMetadataRef} params={params} setIsRequiredPopUp={setIsRequiredPopUp} showToaster={showToaster}></FieldMetaDataForm>\n </SolidDialogBody>\n </SolidDialog>\n <SolidDialog\n open={isRequiredPopUp}\n onOpenChange={(open) => {\n if (!open) {\n setIsRequiredPopUp(false);\n }\n }}\n className=\"solid-dialog solid-confirm-dialog solid-field-confirm-dialog\"\n style={{ width: \"min(420px, calc(100vw - 2rem))\" }}\n >\n <SolidDialogHeader className=\"solid-field-confirm-header\">\n <SolidDialogTitle>\n <span className=\"flex items-center gap-2\">\n <AlertTriangle size={18} className=\"text-yellow-500\" />\n <span>Warning</span>\n </span>\n </SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody className=\"solid-field-confirm-dialog-body\">\n <p className=\"solid-field-confirm-message\">If there is data against this model this operation might not work and manual intervention will be required.</p>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-field-confirm-actions\">\n <SolidButton size=\"sm\" onClick={() => setIsRequiredPopUp(false)}>\n Ok\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n <SolidDialog\n open={deleteAlertPopup}\n onOpenChange={(open) => {\n if (!open) {\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }\n }}\n className=\"solid-shadcn-confirm-dialog solid-field-delete-flow-dialog\"\n style={{ width: \"min(560px, calc(100vw - 2rem))\" }}\n >\n <SolidDialogHeader className=\"solid-shadcn-dialog-head solid-field-delete-flow-head\">\n <SolidDialogTitle>\n <span className=\"flex items-center gap-2\">\n <AlertTriangle size={18} className=\"text-yellow-500\" />\n <span>Remove Field</span>\n </span>\n </SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-shadcn-dialog-sep\" />\n <SolidDialogBody className=\"solid-shadcn-dialog-body solid-field-delete-flow-body\">\n <p className=\"solid-shadcn-dialog-text solid-field-delete-flow-intro\">\n Removing a field is a 2 step process.\n </p>\n <ol className=\"solid-field-delete-flow-list\">\n <li>\n <span className=\"solid-field-delete-flow-index\">1.</span>\n <div className=\"solid-field-delete-flow-step\">\n <p className=\"solid-field-delete-flow-step-title\">Delete the field and save the model form.</p>\n <span className=\"solid-field-delete-flow-step-note\">This marks the field for removal.</span>\n </div>\n </li>\n <li>\n <span className=\"solid-field-delete-flow-index\">2.</span>\n <div className=\"solid-field-delete-flow-step\">\n <p className=\"solid-field-delete-flow-step-title\">Generate code for this model.</p>\n <span className=\"solid-field-delete-flow-step-note\">This removes the field from generated code, metadata tables, and JSON.</span>\n </div>\n </li>\n </ol>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-shadcn-dialog-actions solid-field-delete-flow-actions\">\n <SolidButton\n size=\"sm\"\n onClick={() => {\n if (rowToDelete) {\n deleteRow(rowToDelete);\n }\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }}\n >\n Ok\n </SolidButton>\n <SolidButton\n size=\"sm\"\n variant=\"outline\"\n onClick={() => {\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }}\n >\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n\n </>\n }\n </>\n\n\n\n );\n};\nexport default FieldMetaData;\n"]}
1
+ {"version":3,"file":"FieldMetaData.js","sourceRoot":"","sources":["../../../../src/components/core/model/FieldMetaData.tsx"],"names":[],"mappings":"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","sourcesContent":["import { usePathname } from \"../../../hooks/usePathname\";\nimport { SolidDataTable as DataTable, Column } from \"../list/SolidDataTable\";\nimport { useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport FieldMetaDataForm from \"./FieldMetaDataForm\";\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { AlertTriangle, Info, Pencil, Plus, Trash2 } from \"lucide-react\";\nimport {\n SolidButton,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n} from \"../../shad-cn-ui\";\n\n\nconst FieldMetaData = ({ setIsDirty, setFieldDeleted, modelMetaData, fieldMetaData, setFieldMetaData, deleteModelFunction, nextTab, formikFieldsMetadataRef, params, showSaveButton = false, onSave }: any) => {\n const pathname = usePathname();\n const dispatch = useDispatch();\n const [visiblePopup, setVisiblePopup] = useState(false);\n const [isRequiredPopUp, setIsRequiredPopUp] = useState(false);\n const [currentPopup, setCurrentPopup] = useState();\n const [selectedFieldMetaData, setSelectedFieldMetaData] = useState<any>(null);\n const [deleteAlertPopup, setDeleteAlertPopup] = useState(false);\n const [rowToDelete, setRowToDelete] = useState<any>(null);\n const onRowSelect = (event: any) => {\n setVisiblePopup(true);\n\n };\n\n\n const bodyTemplate = (rowData: any) => {\n return (\n <>\n\n {rowData.displayName &&\n <>\n <p>{rowData.displayName}\n {rowData.isMarkedForRemoval === true &&\n <>\n <br></br> <span style={{ fontSize: '11px', color: 'red' }}>This field will be removed next time you generate code for this model.</span>\n </>\n }\n </p>\n </>\n }\n </>\n )\n };\n\n\n // Template for the pencil icon column\n const editTemplate = (rowData: any) => {\n return (\n <>\n {rowData.isSystem !== true && rowData.isMarkedForRemoval !== true &&\n <SolidButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"solid-icon-button\"\n aria-label=\"Edit field\"\n leftIcon={<Pencil size={14} />}\n onClick={() => {\n setSelectedFieldMetaData(rowData);\n setVisiblePopup(true);\n }}\n />\n }\n </>\n )\n };\n\n // Function to delete a row\n const deleteRow = (rowData: any) => {\n //show dialog bbefore deletion & which will have to option ok and cancel\n setFieldMetaData((prevData: any) => {\n const updatedData = prevData.filter((item: any) => item.name !== rowData.name);\n setIsDirty(true); // Ensure dirty state is updated immediately\n if (setFieldDeleted) setFieldDeleted(true);\n return updatedData;\n });\n };\n\n // Template for the trash (delete) icon column\n const deleteTemplate = (rowData: any) => {\n return (\n <>\n {(pathname.includes('create') || (rowData.isSystem !== true && rowData.isMarkedForRemoval !== true)) &&\n <SolidButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"solid-icon-button\"\n style={{ color: \"var(--solid-danger, #ef4444)\" }}\n aria-label=\"Delete field\"\n leftIcon={<Trash2 size={14} />}\n onClick={() => { setRowToDelete(rowData); setDeleteAlertPopup(true) }}\n />\n\n }\n </>\n )\n };\n\n const showToaster = async (message: any, severity: any) => {\n const errorMessages = Object.values(message);\n if (errorMessages.length > 0) {\n dispatch(showToast({ severity, summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));\n }\n };\n\n\n // const rowClass = (data: any) => {\n // return {\n // 'bg-red-row': data.isMarkedForRemoval === true\n // };\n // };\n\n\n const needsModelSetup = !modelMetaData.moduleId || !modelMetaData.dataSource;\n\n return (\n <>\n\n {needsModelSetup ?\n <div className=\"solid-placeholder-card-wrapper\">\n <div className=\"solid-placeholder-card\">\n <div className=\"solid-placeholder-card-icon\">\n <Info size={18} />\n </div>\n <div className=\"solid-placeholder-card-body\">\n <p className=\"solid-placeholder-card-title\">Model setup incomplete</p>\n <p className=\"solid-placeholder-card-text\">Please select Module and Datasource from the models tab before managing fields.</p>\n </div>\n </div>\n </div>\n :\n <>\n\n <div className=\"flex justify-end gap-2\" style={{ marginBottom: '0.5rem' }}>\n {showSaveButton && (\n <SolidButton\n size=\"sm\"\n onClick={onSave}\n >\n Save\n </SolidButton>\n )}\n {modelMetaData.isSystem !== true &&\n <SolidButton\n size=\"sm\"\n leftIcon={<Plus size={14} />}\n onClick={() => {\n if (!modelMetaData?.dataSourceType) {\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.ORM_TYPE_REQUIRED }));\n } else {\n setSelectedFieldMetaData(null);\n setVisiblePopup(true)\n }\n }}\n >\n Add\n </SolidButton>\n }\n </div>\n <div className=\"solid-datatable-wrapper solid-list-table-area flex-1 min-h-0 overflow-hidden\">\n <DataTable\n value={fieldMetaData}\n dataKey=\"id\"\n size=\"small\"\n emptyMessage=\"No fields configured\"\n rowClassName={(rowData) => rowData.isMarkedForRemoval === true ? \"greyed-out-row\" : \"\"}\n >\n <Column field=\"displayName\" header=\"Display Name\" body={bodyTemplate}></Column>\n <Column field=\"name\" header=\"Name\"></Column>\n <Column field=\"type\" header=\"Type\"></Column>\n\n {modelMetaData.isSystem !== true &&\n <Column body={editTemplate} header=\"Edit\" style={{ width: '80px' }} />\n }\n {modelMetaData.isSystem !== true &&\n <Column body={deleteTemplate} header=\"Delete\" style={{ width: '90px' }} />\n }\n </DataTable>\n </div>\n <SolidDialog\n open={visiblePopup}\n onOpenChange={(open) => {\n if (!open) {\n setVisiblePopup(false);\n }\n }}\n className=\"solid-dialog solid-field-dialog\"\n style={{ width: \"min(720px, calc(100vw - 2rem))\", minWidth:\"20rem\", maxWidth:\"95vw\" }}\n showHeader={false}\n >\n <SolidDialogBody className=\"solid-dialog-body-flush\">\n <FieldMetaDataForm setIsDirty={setIsDirty} modelMetaData={modelMetaData} fieldMetaData={selectedFieldMetaData} allFields={fieldMetaData} setFieldMetaData={setFieldMetaData} deleteModelFunction={deleteModelFunction} setVisiblePopup={setVisiblePopup} formikFieldsMetadataRef={formikFieldsMetadataRef} params={params} setIsRequiredPopUp={setIsRequiredPopUp} showToaster={showToaster}></FieldMetaDataForm>\n </SolidDialogBody>\n </SolidDialog>\n <SolidDialog\n open={isRequiredPopUp}\n onOpenChange={(open) => {\n if (!open) {\n setIsRequiredPopUp(false);\n }\n }}\n className=\"solid-dialog solid-confirm-dialog solid-field-confirm-dialog\"\n style={{ width: \"min(420px, calc(100vw - 2rem))\" }}\n >\n <SolidDialogHeader className=\"solid-field-confirm-header\">\n <SolidDialogTitle>\n <span className=\"flex items-center gap-2\">\n <AlertTriangle size={18} className=\"text-yellow-500\" />\n <span>Warning</span>\n </span>\n </SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody className=\"solid-field-confirm-dialog-body\">\n <p className=\"solid-field-confirm-message\">If there is data against this model this operation might not work and manual intervention will be required.</p>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-field-confirm-actions\">\n <SolidButton size=\"sm\" onClick={() => setIsRequiredPopUp(false)}>\n Ok\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n <SolidDialog\n open={deleteAlertPopup}\n onOpenChange={(open) => {\n if (!open) {\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }\n }}\n className=\"solid-shadcn-confirm-dialog solid-field-delete-flow-dialog\"\n style={{ width: \"min(560px, calc(100vw - 2rem))\" }}\n >\n <SolidDialogHeader className=\"solid-shadcn-dialog-head solid-field-delete-flow-head\">\n <SolidDialogTitle>\n <span className=\"flex items-center gap-2\">\n <AlertTriangle size={18} className=\"text-yellow-500\" />\n <span>Remove Field</span>\n </span>\n </SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-shadcn-dialog-sep\" />\n <SolidDialogBody className=\"solid-shadcn-dialog-body solid-field-delete-flow-body\">\n <p className=\"solid-shadcn-dialog-text solid-field-delete-flow-intro\">\n Removing a field is a 2 step process.\n </p>\n <ol className=\"solid-field-delete-flow-list\">\n <li>\n <span className=\"solid-field-delete-flow-index\">1.</span>\n <div className=\"solid-field-delete-flow-step\">\n <p className=\"solid-field-delete-flow-step-title\">Delete the field and save the model form.</p>\n <span className=\"solid-field-delete-flow-step-note\">This marks the field for removal.</span>\n </div>\n </li>\n <li>\n <span className=\"solid-field-delete-flow-index\">2.</span>\n <div className=\"solid-field-delete-flow-step\">\n <p className=\"solid-field-delete-flow-step-title\">Generate code for this model.</p>\n <span className=\"solid-field-delete-flow-step-note\">This removes the field from generated code, metadata tables, and JSON.</span>\n </div>\n </li>\n </ol>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-shadcn-dialog-actions solid-field-delete-flow-actions\">\n <SolidButton\n size=\"sm\"\n onClick={() => {\n if (rowToDelete) {\n deleteRow(rowToDelete);\n }\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }}\n >\n Ok\n </SolidButton>\n <SolidButton\n size=\"sm\"\n variant=\"outline\"\n onClick={() => {\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }}\n >\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n\n </>\n }\n </>\n\n\n\n );\n};\nexport default FieldMetaData;\n"]}
@@ -18,7 +18,7 @@ import {
18
18
  } from "../../shad-cn-ui";
19
19
 
20
20
 
21
- const FieldMetaData = ({ setIsDirty, setFieldDeleted, modelMetaData, fieldMetaData, setFieldMetaData, deleteModelFunction, nextTab, formikFieldsMetadataRef, params, showSaveButton = false, hideAddButton = false, onSave }: any) => {
21
+ const FieldMetaData = ({ setIsDirty, setFieldDeleted, modelMetaData, fieldMetaData, setFieldMetaData, deleteModelFunction, nextTab, formikFieldsMetadataRef, params, showSaveButton = false, onSave }: any) => {
22
22
  const pathname = usePathname();
23
23
  const dispatch = useDispatch();
24
24
  const [visiblePopup, setVisiblePopup] = useState(false);
@@ -149,7 +149,7 @@ const FieldMetaData = ({ setIsDirty, setFieldDeleted, modelMetaData, fieldMetaDa
149
149
  Save
150
150
  </SolidButton>
151
151
  )}
152
- {modelMetaData.isSystem !== true && !hideAddButton &&
152
+ {modelMetaData.isSystem !== true &&
153
153
  <SolidButton
154
154
  size="sm"
155
155
  leftIcon={<Plus size={14} />}
@@ -26,9 +26,6 @@
26
26
  overflow-y: auto;
27
27
  overflow-x: hidden;
28
28
  padding: 0.5rem;
29
- background:
30
- radial-gradient(circle at top right, color-mix(in srgb, var(--primary) 7%, transparent), transparent 32%),
31
- linear-gradient(180deg, color-mix(in srgb, var(--background) 96%, transparent), color-mix(in srgb, var(--background) 92%, var(--card) 8%));
32
29
  }
33
30
 
34
31
  .solid-field-form-frame {
@@ -37,17 +34,6 @@
37
34
  width: 100%;
38
35
  flex-direction: column;
39
36
  gap: 1rem;
40
- padding: 1rem;
41
- border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
42
- border-radius: 16px;
43
- background: linear-gradient(
44
- 180deg,
45
- color-mix(in srgb, var(--card) 98%, var(--background) 2%),
46
- color-mix(in srgb, var(--card) 92%, var(--background) 8%)
47
- );
48
- box-shadow:
49
- 0 14px 32px rgba(15, 23, 42, 0.06),
50
- inset 0 1px 0 rgba(255, 255, 255, 0.04);
51
37
  }
52
38
 
53
39
  .solid-field-form-header {
@@ -62,30 +48,14 @@
62
48
  color: var(--muted-foreground);
63
49
  }
64
50
 
65
- .solid-field-form-shell .creat-field-form {
66
- width: 100%;
67
- padding: 0;
68
- border-radius: 0;
69
- background: transparent;
70
- }
71
-
72
51
  .solid-field-form-tabs .solid-notebook-tablist {
73
52
  width: 100% !important;
74
- padding: 0 0.25rem;
75
- border-bottom-color: color-mix(in srgb, var(--border) 84%, transparent);
76
53
  }
77
54
 
78
55
  .solid-field-form-tabs .solid-notebook-content {
79
56
  padding-top: 0.85rem;
80
57
  }
81
58
 
82
- .solid-field-form-tabs .solid-tabs-panel {
83
- border-radius: 14px;
84
- background: color-mix(in srgb, var(--background) 52%, var(--card) 48%);
85
- border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
86
- padding: 0.9rem;
87
- }
88
-
89
59
  .solid-field-checkbox-row {
90
60
  display: flex;
91
61
  align-items: center;
@@ -106,95 +76,6 @@
106
76
  border-top: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
107
77
  }
108
78
 
109
- .solid-field-dialog .solid-radix-dialog-body.solid-dialog-body-flush {
110
- background: var(--background);
111
- }
112
-
113
- .solid-field-dialog .solid-radix-dialog-header {
114
- background: linear-gradient(
115
- 180deg,
116
- color-mix(in srgb, var(--card) 96%, var(--background) 4%),
117
- color-mix(in srgb, var(--card) 92%, var(--background) 8%)
118
- );
119
- border-bottom: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
120
- }
121
-
122
- html.dark .solid-field-dialog .solid-radix-dialog-header,
123
- [data-theme="dark"] .solid-field-dialog .solid-radix-dialog-header {
124
- background: linear-gradient(
125
- 180deg,
126
- color-mix(in srgb, var(--card) 96%, #172554 4%),
127
- color-mix(in srgb, var(--card) 88%, #020617 12%)
128
- );
129
- border-bottom-color: color-mix(in srgb, var(--border) 72%, #334155 28%);
130
- }
131
-
132
- html.dark .solid-field-form-scroll,
133
- [data-theme="dark"] .solid-field-form-scroll {
134
- background:
135
- radial-gradient(circle at top right, color-mix(in srgb, var(--primary) 10%, transparent), transparent 34%),
136
- linear-gradient(180deg, color-mix(in srgb, var(--background) 96%, #020617 4%), color-mix(in srgb, var(--background) 90%, #0b1220 10%));
137
- }
138
-
139
- html.dark .solid-field-form-frame,
140
- [data-theme="dark"] .solid-field-form-frame {
141
- border-color: color-mix(in srgb, var(--border) 72%, #334155 28%);
142
- background: linear-gradient(
143
- 180deg,
144
- color-mix(in srgb, var(--card) 96%, #172554 4%),
145
- color-mix(in srgb, var(--card) 88%, #020617 12%)
146
- );
147
- box-shadow:
148
- 0 20px 44px rgba(2, 6, 23, 0.32),
149
- inset 0 1px 0 rgba(255, 255, 255, 0.03);
150
- }
151
-
152
- html.dark .solid-field-form-tabs .solid-notebook-tablist,
153
- [data-theme="dark"] .solid-field-form-tabs .solid-notebook-tablist {
154
- border-bottom-color: color-mix(in srgb, var(--border) 72%, #334155 28%);
155
- }
156
-
157
- html.dark .solid-field-form-tabs .solid-tabs-panel,
158
- [data-theme="dark"] .solid-field-form-tabs .solid-tabs-panel {
159
- background: color-mix(in srgb, var(--background) 74%, var(--card) 26%);
160
- border-color: color-mix(in srgb, var(--border) 72%, #334155 28%);
161
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
162
- }
163
-
164
- html.dark .solid-field-form-actions,
165
- [data-theme="dark"] .solid-field-form-actions {
166
- border-top-color: color-mix(in srgb, var(--border) 72%, #334155 28%);
167
- }
168
-
169
- html.dark .solid-field-form-shell .solid-file-icon-btn,
170
- [data-theme="dark"] .solid-field-form-shell .solid-file-icon-btn {
171
- border-color: color-mix(in srgb, var(--border) 72%, #334155 28%);
172
- background: color-mix(in srgb, var(--background) 72%, var(--card) 28%);
173
- color: color-mix(in srgb, var(--foreground) 84%, transparent);
174
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
175
- }
176
-
177
- html.dark .solid-field-form-shell .solid-file-icon-btn:hover:not(:disabled),
178
- [data-theme="dark"] .solid-field-form-shell .solid-file-icon-btn:hover:not(:disabled) {
179
- background: color-mix(in srgb, var(--accent) 48%, #172554 22%);
180
- border-color: color-mix(in srgb, var(--primary) 26%, var(--border) 74%);
181
- color: var(--foreground);
182
- }
183
-
184
- html.dark .solid-field-form-shell .solid-file-icon-btn.is-danger,
185
- [data-theme="dark"] .solid-field-form-shell .solid-file-icon-btn.is-danger {
186
- background: color-mix(in srgb, #7f1d1d 38%, var(--card) 62%);
187
- border-color: color-mix(in srgb, #ef4444 28%, var(--border) 72%);
188
- color: #fecaca;
189
- }
190
-
191
- html.dark .solid-field-form-shell .solid-file-icon-btn.is-danger:hover:not(:disabled),
192
- [data-theme="dark"] .solid-field-form-shell .solid-file-icon-btn.is-danger:hover:not(:disabled) {
193
- background: color-mix(in srgb, #991b1b 44%, var(--card) 56%);
194
- border-color: color-mix(in srgb, #f87171 34%, var(--border) 66%);
195
- color: #fee2e2;
196
- }
197
-
198
79
  @media (max-width: 640px) {
199
80
  .solid-field-form-scroll {
200
81
  padding: 0.75rem;
@@ -1540,7 +1540,7 @@ var FieldMetaDataForm = function (_a) {
1540
1540
  _f[styles.fieldInvalidControl] = isFormFieldValid(formik, "userKey"),
1541
1541
  _f)), children: _jsx(SolidAutocomplete, { value: userKeyField.selectedItem, suggestions: userKeyField.filteredItems, completeMethod: userKeyField.searchItems, onChange: userKeyField.handleChange, dropdown: true, field: "displayName", className: "w-full" }) }), _jsx("p", { className: "fieldSubTitle", children: "The co-model you have selected does not have a user key specified. Use the above dropdown to choose from one of the \"unique\" fields in this co-model to be set as its userkey. User keys are required in co-models being used in many-to-one or one-to-many relations as in SolidX when a many-to-one field is rendered it uses an autocomplete dropdown, and the user key value is what is displayed as the label in the dropdown." }), isFormFieldValid(formik, "userKey") && (_jsx("p", { className: styles.fieldError, children: (_27 = (_26 = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _26 === void 0 ? void 0 : _26.userKey) === null || _27 === void 0 ? void 0 : _27.toString() }))] })), currentFields.includes("relationFieldFixedFilter") && (_jsxs("div", { className: "field mt-2 flex w-full flex-col gap-2 px-2 pt-2", children: [_jsx("label", { htmlFor: "relationFieldFixedFilter", className: classNames("form-field-label", styles.fieldLabel), children: "Relation Field Fixed Filter" }), _jsx(SolidTextarea, { "aria-describedby": "Fixed Filter", id: "relationFieldFixedFilter", name: "relationFieldFixedFilter", onChange: formik.handleChange, value: formik.values.relationFieldFixedFilter, rows: 5, className: classNames(styles.fieldTextarea, {
1542
1542
  "p-invalid": isFormFieldValid(formik, "relationFieldFixedFilter"),
1543
- }) }), isFormFieldValid(formik, "relationFieldFixedFilter") && (_jsx("p", { className: styles.fieldError, children: (_29 = (_28 = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _28 === void 0 ? void 0 : _28.relationFieldFixedFilter) === null || _29 === void 0 ? void 0 : _29.toString() })), _jsx("p", { className: "fieldSubTitle", children: "Many to one fields are rendered as autocomplete dropdown on the SolidX ui. Use the fixed filter to load a pre-filtered set of records from the co-model. Please note user input entered in the autocomplete is used to apply a dynamic filter." })] })), currentFields.includes("relationCreateInverse") && (_jsxs("div", { className: "field mt-2 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: [_jsx("label", { htmlFor: "relationCreateInverse", className: classNames("form-field-label", styles.fieldLabel), children: "Relation Create Inverse" }), _jsxs("div", { className: "solid-field-checkbox-row", children: [_jsx(SolidCheckbox, { id: "relationCreateInverse", name: "relationCreateInverse", checked: formik.values.relationCreateInverse, disabled: formik.values.relationType === "one-to-many", onChange: function (event) { return formik.setFieldValue("relationCreateInverse", event.currentTarget.checked); } }), _jsx("label", { htmlFor: "relationCreateInverse", className: classNames("ml-2", "form-field-label", styles.fieldLabel), children: "Create Inverse" })] }), isFormFieldValid(formik, "relationCreateInverse") && (_jsx("p", { className: styles.fieldError, children: (_31 = (_30 = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _30 === void 0 ? void 0 : _30.relationCreateInverse) === null || _31 === void 0 ? void 0 : _31.toString() }))] })), currentFields.includes("relationCoModelFieldName") && formik.values.relationCreateInverse && !formik.values.relationCoModelSingularName && (_jsx("div", { className: "field mt-2 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: _jsx(SolidMessage, { text: "Please select Co-model" }) })), currentFields.includes("relationCoModelFieldName") && formik.values.relationCreateInverse && formik.values.relationCoModelSingularName && (_jsxs("div", { className: "field mt-2 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: [_jsxs("label", { htmlFor: "relationCoModelFieldName", className: classNames("form-field-label", styles.fieldLabel), children: ["Field Name In ", formik.values.relationCoModelSingularName, " Model"] }), _jsx(SolidInput, { type: "text", id: "relationCoModelFieldName", name: "relationCoModelFieldName", onChange: formik.handleChange, disabled: isExistingFieldReadOnly, value: formik.values.relationCoModelFieldName, className: classNames(styles.fieldInput, {
1543
+ }) }), isFormFieldValid(formik, "relationFieldFixedFilter") && (_jsx("p", { className: styles.fieldError, children: (_29 = (_28 = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _28 === void 0 ? void 0 : _28.relationFieldFixedFilter) === null || _29 === void 0 ? void 0 : _29.toString() })), _jsx("p", { className: "fieldSubTitle", children: "Many to one fields are rendered as autocomplete dropdown on the SolidX ui. Use the fixed filter to load a pre-filtered set of records from the co-model. Please note user input entered in the autocomplete is used to apply a dynamic filter." })] })), currentFields.includes("relationCreateInverse") && (_jsxs("div", { className: "field mt-2 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: [_jsx("label", { htmlFor: "relationCreateInverse", className: classNames("form-field-label", styles.fieldLabel), children: "Relation Create Inverse" }), _jsxs("div", { className: "flex items-center", children: [_jsx(SolidCheckbox, { id: "relationCreateInverse", name: "relationCreateInverse", checked: formik.values.relationCreateInverse, disabled: formik.values.relationType === "one-to-many", onChange: function (event) { return formik.setFieldValue("relationCreateInverse", event.currentTarget.checked); } }), _jsx("label", { htmlFor: "relationCreateInverse", className: classNames("ml-2", "form-field-label", styles.fieldLabel), children: "Create Inverse" })] }), isFormFieldValid(formik, "relationCreateInverse") && (_jsx("p", { className: styles.fieldError, children: (_31 = (_30 = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _30 === void 0 ? void 0 : _30.relationCreateInverse) === null || _31 === void 0 ? void 0 : _31.toString() }))] })), currentFields.includes("relationCoModelFieldName") && formik.values.relationCreateInverse && !formik.values.relationCoModelSingularName && (_jsx("div", { className: "field mt-2 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: _jsx(SolidMessage, { text: "Please select Co-model" }) })), currentFields.includes("relationCoModelFieldName") && formik.values.relationCreateInverse && formik.values.relationCoModelSingularName && (_jsxs("div", { className: "field mt-2 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: [_jsxs("label", { htmlFor: "relationCoModelFieldName", className: classNames("form-field-label", styles.fieldLabel), children: ["Field Name In ", formik.values.relationCoModelSingularName, " Model"] }), _jsx(SolidInput, { type: "text", id: "relationCoModelFieldName", name: "relationCoModelFieldName", onChange: formik.handleChange, disabled: isExistingFieldReadOnly, value: formik.values.relationCoModelFieldName, className: classNames(styles.fieldInput, {
1544
1544
  "p-invalid": isFormFieldValid(formik, "relationCoModelFieldName"),
1545
1545
  }) }), formik.values.relationType === "one-to-many" &&
1546
1546
  _jsxs("p", { className: "fieldSubTitle", children: ["This is a field that is created in the child model. In this case a ", _jsx("span", { style: { fontWeight: "700" }, children: (_32 = formik.values.relationCoModelFieldName) !== null && _32 !== void 0 ? _32 : formik.values.relationCoModelSingularName }), " field will be created in the ", formik.values.relationCoModelSingularName, " when setting create inverse true."] }), formik.values.relationType === "many-to-one" &&