@solidxai/core-ui 0.1.5-beta.11 → 0.1.5-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
- package/dist/components/auth/GoogleAuthChecking.js +10 -10
- package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
- package/dist/components/auth/GoogleAuthChecking.tsx +8 -9
- package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.js +9 -10
- package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.tsx +6 -9
- package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidForgotPassword.js +8 -8
- package/dist/components/auth/SolidForgotPassword.js.map +1 -1
- package/dist/components/auth/SolidForgotPassword.tsx +6 -8
- package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.js +57 -57
- package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.tsx +10 -11
- package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.js +57 -57
- package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.tsx +10 -11
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +12 -12
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidLogin.tsx +11 -16
- package/dist/components/auth/SolidRegister.d.ts.map +1 -1
- package/dist/components/auth/SolidRegister.js +19 -19
- package/dist/components/auth/SolidRegister.js.map +1 -1
- package/dist/components/auth/SolidRegister.tsx +18 -23
- package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidResetPassword.js +15 -15
- package/dist/components/auth/SolidResetPassword.js.map +1 -1
- package/dist/components/auth/SolidResetPassword.tsx +7 -8
- package/dist/components/common/GeneralSettings.d.ts.map +1 -1
- package/dist/components/common/GeneralSettings.js +87 -120
- package/dist/components/common/GeneralSettings.js.map +1 -1
- package/dist/components/common/GeneralSettings.tsx +12 -42
- package/dist/components/common/GlobalToast.d.ts +2 -0
- package/dist/components/common/GlobalToast.d.ts.map +1 -0
- package/dist/components/common/GlobalToast.js +25 -0
- package/dist/components/common/GlobalToast.js.map +1 -0
- package/dist/components/common/GlobalToast.tsx +25 -0
- package/dist/components/common/SolidExport.d.ts.map +1 -1
- package/dist/components/common/SolidExport.js +19 -31
- package/dist/components/common/SolidExport.js.map +1 -1
- package/dist/components/common/SolidExport.tsx +7 -19
- package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
- package/dist/components/common/SolidFormStepper.js +41 -41
- package/dist/components/common/SolidFormStepper.js.map +1 -1
- package/dist/components/common/SolidFormStepper.tsx +5 -6
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +9 -9
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +8 -9
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +8 -8
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +7 -9
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +11 -11
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +10 -11
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +9 -9
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +8 -9
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +7 -7
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +6 -7
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +78 -21
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +65 -10
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +6 -8
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +5 -9
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +9 -11
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +5 -10
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js +5 -6
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +5 -8
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +10 -12
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +6 -11
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +11 -6
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +13 -1
- package/dist/components/core/form/SolidFormUserViewLayout.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormUserViewLayout.js +7 -8
- package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
- package/dist/components/core/form/SolidFormUserViewLayout.tsx +5 -7
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +12 -21
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +11 -33
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +37 -26
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +38 -5
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +11 -11
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +9 -11
- package/dist/components/core/kanban/KanbanUserViewLayout.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanUserViewLayout.js +7 -8
- package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
- package/dist/components/core/kanban/KanbanUserViewLayout.tsx +4 -6
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +5 -7
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +4 -9
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +13 -13
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +5 -6
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +20 -67
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +9 -76
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +15 -25
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/CreateModel.tsx +12 -32
- package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +6 -17
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.tsx +5 -26
- package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
- package/dist/components/core/model/ModelMetaData.js +48 -55
- package/dist/components/core/model/ModelMetaData.js.map +1 -1
- package/dist/components/core/model/ModelMetaData.tsx +4 -22
- package/dist/components/core/module/CreateModule.d.ts.map +1 -1
- package/dist/components/core/module/CreateModule.js +42 -44
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/module/CreateModule.tsx +13 -27
- package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
- package/dist/components/core/module/ModuleListViewData.js +11 -7
- package/dist/components/core/module/ModuleListViewData.js.map +1 -1
- package/dist/components/core/module/ModuleListViewData.tsx +10 -8
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +32 -69
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +8 -47
- package/dist/components/core/users/CreateUser.d.ts.map +1 -1
- package/dist/components/core/users/CreateUser.js +24 -37
- package/dist/components/core/users/CreateUser.js.map +1 -1
- package/dist/components/core/users/CreateUser.tsx +8 -46
- package/dist/components/core/users/UserListView.d.ts.map +1 -1
- package/dist/components/core/users/UserListView.js +9 -16
- package/dist/components/core/users/UserListView.js.map +1 -1
- package/dist/components/core/users/UserListView.tsx +5 -21
- package/dist/components/layout/AdminLayout.d.ts.map +1 -1
- package/dist/components/layout/AdminLayout.js +4 -2
- package/dist/components/layout/AdminLayout.js.map +1 -1
- package/dist/components/layout/AdminLayout.tsx +4 -2
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +1 -2
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/AppSidebar.tsx +0 -2
- package/dist/components/layout/Layout.d.ts.map +1 -1
- package/dist/components/layout/Layout.js +2 -1
- package/dist/components/layout/Layout.js.map +1 -1
- package/dist/components/layout/Layout.tsx +2 -0
- package/dist/components/layout/navbar-one.d.ts.map +1 -1
- package/dist/components/layout/navbar-one.js +1 -2
- package/dist/components/layout/navbar-one.js.map +1 -1
- package/dist/components/layout/navbar-one.tsx +0 -2
- package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
- package/dist/components/layout/navbar-two-menu.js +50 -24
- package/dist/components/layout/navbar-two-menu.js.map +1 -1
- package/dist/components/layout/navbar-two-menu.tsx +48 -30
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/index.ts +4 -0
- package/dist/redux/features/toastSlice.d.ts +15 -0
- package/dist/redux/features/toastSlice.d.ts.map +1 -0
- package/dist/redux/features/toastSlice.js +20 -0
- package/dist/redux/features/toastSlice.js.map +1 -0
- package/dist/redux/features/toastSlice.ts +35 -0
- package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/redux/store/defaultStoreConfig.js +2 -1
- package/dist/redux/store/defaultStoreConfig.js.map +1 -1
- package/dist/redux/store/defaultStoreConfig.ts +2 -0
- package/package.json +1 -1
|
@@ -21,7 +21,7 @@ import { useSearchParams } from "../../../hooks/useSearchParams";
|
|
|
21
21
|
import { ListViewRowActionPopup } from "./ListViewRowActionPopup";
|
|
22
22
|
import { FilterIcon } from '../../../components/modelsComponents/filterIcon';
|
|
23
23
|
import { OverlayPanel } from "primereact/overlaypanel";
|
|
24
|
-
import {
|
|
24
|
+
import { showToast } from "../../../redux/features/toastSlice";
|
|
25
25
|
import { Divider } from "primereact/divider";
|
|
26
26
|
import CompactImage from '../../../resources/images/layout/images/compact.png';
|
|
27
27
|
import CozyImage from '../../../resources/images/layout/images/cozy.png';
|
|
@@ -554,8 +554,6 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
554
554
|
const [listViewRowActionPopupState, setListViewRowActionPopupState] = useState(false);
|
|
555
555
|
const [listViewRowActionData, setListRowActionData] = useState<any>();
|
|
556
556
|
|
|
557
|
-
const toast = useRef<Toast>(null);
|
|
558
|
-
|
|
559
557
|
// Get the list view data.
|
|
560
558
|
const [triggerGetSolidEntities, { data: solidEntityListViewData, isLoading, error },] = useLazyGetSolidEntitiesQuery();
|
|
561
559
|
|
|
@@ -1074,12 +1072,7 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1074
1072
|
|
|
1075
1073
|
useEffect(() => {
|
|
1076
1074
|
if (recoverByIdIsSuccess && recoverByIdData) {
|
|
1077
|
-
|
|
1078
|
-
severity: "success",
|
|
1079
|
-
summary: "Success",
|
|
1080
|
-
detail: recoverByIdData.data.message,
|
|
1081
|
-
life: 3000,
|
|
1082
|
-
});
|
|
1075
|
+
dispatch(showToast({ severity: "success", summary: "Success", detail: recoverByIdData.data.message, life: 3000 }));
|
|
1083
1076
|
return;
|
|
1084
1077
|
}
|
|
1085
1078
|
if (recoverByIdIsError && recoverByIdError) {
|
|
@@ -1100,46 +1093,13 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1100
1093
|
? [errorMessages]
|
|
1101
1094
|
: [];
|
|
1102
1095
|
if (messages.length > 0) {
|
|
1103
|
-
|
|
1104
|
-
severity: "error",
|
|
1105
|
-
summary: ERROR_MESSAGES.SEND_REPORT,
|
|
1106
|
-
sticky: true,
|
|
1107
|
-
//@ts-ignore
|
|
1108
|
-
content: (props) => (
|
|
1109
|
-
<div
|
|
1110
|
-
className="flex flex-column align-items-left"
|
|
1111
|
-
style={{ flex: "1" }}
|
|
1112
|
-
>
|
|
1113
|
-
{messages.map((m, index) => (
|
|
1114
|
-
<div className="flex align-items-center gap-2" key={index}>
|
|
1115
|
-
<span className="font-bold text-900">{String(m)}</span>
|
|
1116
|
-
</div>
|
|
1117
|
-
))}
|
|
1118
|
-
</div>
|
|
1119
|
-
),
|
|
1120
|
-
});
|
|
1096
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.SEND_REPORT, detail: messages.join(', ') }));
|
|
1121
1097
|
}
|
|
1122
1098
|
};
|
|
1123
1099
|
|
|
1124
1100
|
const showFieldError = async (error: any) => {
|
|
1125
1101
|
if (error) {
|
|
1126
|
-
|
|
1127
|
-
severity: "error",
|
|
1128
|
-
summary: ERROR_MESSAGES.SEND_REPORT,
|
|
1129
|
-
// sticky: true,
|
|
1130
|
-
life: 3000,
|
|
1131
|
-
//@ts-ignore
|
|
1132
|
-
content: (props) => (
|
|
1133
|
-
<div
|
|
1134
|
-
className="flex flex-column align-items-left"
|
|
1135
|
-
style={{ flex: "1" }}
|
|
1136
|
-
>
|
|
1137
|
-
<div className="flex align-items-center gap-2">
|
|
1138
|
-
<span className="font-bold text-900">{String(error)}</span>
|
|
1139
|
-
</div>
|
|
1140
|
-
</div>
|
|
1141
|
-
),
|
|
1142
|
-
});
|
|
1102
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.SEND_REPORT, detail: String(error), life: 3000 }));
|
|
1143
1103
|
}
|
|
1144
1104
|
};
|
|
1145
1105
|
|
|
@@ -1152,21 +1112,11 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1152
1112
|
deleteManySolidEntities(deleteList)
|
|
1153
1113
|
.unwrap()
|
|
1154
1114
|
.then(() => {
|
|
1155
|
-
|
|
1156
|
-
severity: 'success',
|
|
1157
|
-
summary: 'Deleted',
|
|
1158
|
-
detail: ERROR_MESSAGES.RECORD_DELETE,
|
|
1159
|
-
life: 3000
|
|
1160
|
-
});
|
|
1115
|
+
dispatch(showToast({ severity: 'success', summary: 'Deleted', detail: ERROR_MESSAGES.RECORD_DELETE, life: 3000 }));
|
|
1161
1116
|
setDialogVisible(false);
|
|
1162
1117
|
})
|
|
1163
1118
|
.catch((error) => {
|
|
1164
|
-
|
|
1165
|
-
severity: 'error',
|
|
1166
|
-
summary: 'Delete Failed',
|
|
1167
|
-
detail: error?.data?.message,
|
|
1168
|
-
life: 4000
|
|
1169
|
-
});
|
|
1119
|
+
dispatch(showToast({ severity: 'error', summary: 'Delete Failed', detail: error?.data?.message, life: 4000 }));
|
|
1170
1120
|
});
|
|
1171
1121
|
};
|
|
1172
1122
|
|
|
@@ -1283,28 +1233,12 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1283
1233
|
|
|
1284
1234
|
if (response?.data?.statusCode === 200) {
|
|
1285
1235
|
setDeleteEntity(false);
|
|
1286
|
-
|
|
1287
|
-
severity: "success",
|
|
1288
|
-
summary: ERROR_MESSAGES.DELETED,
|
|
1289
|
-
detail: ERROR_MESSAGES.ENTITY_DELETE,
|
|
1290
|
-
life: 3000,
|
|
1291
|
-
});
|
|
1236
|
+
dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.DELETED, detail: ERROR_MESSAGES.ENTITY_DELETE, life: 3000 }));
|
|
1292
1237
|
} else {
|
|
1293
|
-
|
|
1294
|
-
severity: "error",
|
|
1295
|
-
summary: ERROR_MESSAGES.DELETE_FAIELD,
|
|
1296
|
-
detail: response?.error?.data?.error,
|
|
1297
|
-
sticky: true, // stays until user closes
|
|
1298
|
-
});
|
|
1238
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.DELETE_FAIELD, detail: response?.error?.data?.error }));
|
|
1299
1239
|
}
|
|
1300
1240
|
} catch (error: any) {
|
|
1301
|
-
|
|
1302
|
-
severity: "error",
|
|
1303
|
-
summary: ERROR_MESSAGES.DELETE_FAIELD,
|
|
1304
|
-
detail: ERROR_MESSAGES.SOMETHING_WRONG,
|
|
1305
|
-
sticky: true, // stays until user closes
|
|
1306
|
-
|
|
1307
|
-
});
|
|
1241
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.DELETE_FAIELD, detail: ERROR_MESSAGES.SOMETHING_WRONG }));
|
|
1308
1242
|
}
|
|
1309
1243
|
};
|
|
1310
1244
|
|
|
@@ -1366,7 +1300,6 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1366
1300
|
<div className={`h-full flex-grow-1 ${styles.ListContentWrapper}`}>
|
|
1367
1301
|
{solidListViewInitialMetaData && queryDataLoaded &&
|
|
1368
1302
|
<div className="page-header flex-column lg:flex-row">
|
|
1369
|
-
<Toast ref={toast} />
|
|
1370
1303
|
{/* <div> */}
|
|
1371
1304
|
<div className="flex justify-content-between w-full">
|
|
1372
1305
|
<div className="flex gap-3 align-items-center w-full ">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateModel.d.ts","sourceRoot":"","sources":["../../../../src/components/core/model/CreateModel.tsx"],"names":[],"mappings":"AA+BA,QAAA,MAAM,WAAW,qBAAsB,GAAG,
|
|
1
|
+
{"version":3,"file":"CreateModel.d.ts","sourceRoot":"","sources":["../../../../src/components/core/model/CreateModel.tsx"],"names":[],"mappings":"AA+BA,QAAA,MAAM,WAAW,qBAAsB,GAAG,4CAkezC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -58,16 +58,16 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
58
58
|
};
|
|
59
59
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
60
60
|
import { CancelButton, SolidCancelButton } from "../../../components/common/CancelButton";
|
|
61
|
-
import { handleError } from "../../../helpers/ToastContainer";
|
|
62
61
|
import { useGetFieldDefaultMetaDataQuery } from "../../../redux/api/fieldApi";
|
|
63
62
|
import { useCreatemodelMutation, useDeletemodelMutation, useLazyGetModelsQuery, useUpdatemodelMutation } from "../../../redux/api/modelApi";
|
|
64
63
|
import { usePathname } from "../../../hooks/usePathname";
|
|
65
64
|
import { useRouter } from "../../../hooks/useRouter";
|
|
66
65
|
import { Button } from "primereact/button";
|
|
67
66
|
import { TabPanel, TabView } from "primereact/tabview";
|
|
68
|
-
import { Toast } from "primereact/toast";
|
|
69
67
|
import qs from "qs";
|
|
70
68
|
import { useEffect, useRef, useState } from "react";
|
|
69
|
+
import { useDispatch } from "react-redux";
|
|
70
|
+
import { showToast } from "../../../redux/features/toastSlice";
|
|
71
71
|
import FieldMetaData from "./FieldMetaData";
|
|
72
72
|
import ModelMetaData from "./ModelMetaData";
|
|
73
73
|
import { BackButton } from "../../../components/common/BackButton";
|
|
@@ -78,7 +78,7 @@ import { SolidFormHeader } from "../../../components/common/SolidFormHeader";
|
|
|
78
78
|
import { ERROR_MESSAGES } from "../../../constants/error-messages";
|
|
79
79
|
var CreateModel = function (_a) {
|
|
80
80
|
var data = _a.data, params = _a.params;
|
|
81
|
-
var
|
|
81
|
+
var dispatch = useDispatch();
|
|
82
82
|
var router = useRouter();
|
|
83
83
|
var pathname = usePathname();
|
|
84
84
|
var _b = useState(false), deleteEntity = _b[0], setDeleteEntity = _b[1];
|
|
@@ -170,7 +170,7 @@ var CreateModel = function (_a) {
|
|
|
170
170
|
setFormErrors(errors);
|
|
171
171
|
var errorMessages = Object.values(errors);
|
|
172
172
|
errorMessages.forEach(function (error) {
|
|
173
|
-
|
|
173
|
+
dispatch(showToast({ severity: 'error', summary: 'Error', detail: Array.isArray(error) ? error.join(', ') : String(error) }));
|
|
174
174
|
});
|
|
175
175
|
firstErrorTab = 0; // Model Metadata tab has errors
|
|
176
176
|
}
|
|
@@ -178,7 +178,7 @@ var CreateModel = function (_a) {
|
|
|
178
178
|
setFormErrors({});
|
|
179
179
|
}
|
|
180
180
|
if (fieldMetaData.length === 0) {
|
|
181
|
-
|
|
181
|
+
dispatch(showToast({ severity: 'error', summary: 'Error', detail: ERROR_MESSAGES.ADD_ATLEAST_ONE_FIELD }));
|
|
182
182
|
firstErrorTab = firstErrorTab !== null && firstErrorTab !== void 0 ? firstErrorTab : 1; // If no prior error, set to Field tab
|
|
183
183
|
}
|
|
184
184
|
if (firstErrorTab !== undefined) {
|
|
@@ -196,8 +196,7 @@ var CreateModel = function (_a) {
|
|
|
196
196
|
}); };
|
|
197
197
|
var handleFormSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
198
198
|
var legacyTableConfig, hasPrimaryKey, fieldData, module_1, parentModel, createdAt, updatedAt, id, deletedAt, modelData, updateData, fieldData, module_2, parentModel, modelData, data_1;
|
|
199
|
-
|
|
200
|
-
return __generator(this, function (_b) {
|
|
199
|
+
return __generator(this, function (_a) {
|
|
201
200
|
legacyTableConfig = {};
|
|
202
201
|
if ((modelMetaData === null || modelMetaData === void 0 ? void 0 : modelMetaData.isLegacyTable) && (modelMetaData === null || modelMetaData === void 0 ? void 0 : modelMetaData.isLegacyTableWithId)) {
|
|
203
202
|
// UI: Both checked → Backend: both true
|
|
@@ -223,12 +222,7 @@ var CreateModel = function (_a) {
|
|
|
223
222
|
if ((modelMetaData === null || modelMetaData === void 0 ? void 0 : modelMetaData.isLegacyTable) || (modelMetaData === null || modelMetaData === void 0 ? void 0 : modelMetaData.isLegacyTableWithId)) {
|
|
224
223
|
hasPrimaryKey = fieldMetaData.some(function (field) { return field.isPrimaryKey === true; });
|
|
225
224
|
if (!hasPrimaryKey) {
|
|
226
|
-
(
|
|
227
|
-
severity: "error",
|
|
228
|
-
summary: "Primary Key Required",
|
|
229
|
-
detail: "Legacy tables set at least one field marked as Primary Key. Please mark a field as Primary Key before proceeding.",
|
|
230
|
-
life: 5000,
|
|
231
|
-
});
|
|
225
|
+
dispatch(showToast({ severity: "error", summary: "Primary Key Required", detail: "Legacy tables set at least one field marked as Primary Key. Please mark a field as Primary Key before proceeding.", life: 5000 }));
|
|
232
226
|
return [2 /*return*/];
|
|
233
227
|
}
|
|
234
228
|
}
|
|
@@ -277,18 +271,10 @@ var CreateModel = function (_a) {
|
|
|
277
271
|
}, [isCreateModelSuccess, isUpdatedModelSuceess, isDeleteModelSuceess]);
|
|
278
272
|
var showError = function (errors) { return __awaiter(void 0, void 0, void 0, function () {
|
|
279
273
|
var errorMessages;
|
|
280
|
-
|
|
281
|
-
return __generator(this, function (_b) {
|
|
274
|
+
return __generator(this, function (_a) {
|
|
282
275
|
errorMessages = Object.values(errors);
|
|
283
276
|
if (errorMessages.length > 0) {
|
|
284
|
-
(
|
|
285
|
-
severity: "error",
|
|
286
|
-
summary: ERROR_MESSAGES.SEND_REPORT,
|
|
287
|
-
// sticky: true,
|
|
288
|
-
life: 3000,
|
|
289
|
-
//@ts-ignore
|
|
290
|
-
content: function (props) { return (_jsx("div", { className: "flex flex-column align-items-left", style: { flex: "1" }, children: errorMessages.map(function (m, index) { return (_jsx("div", { className: "flex align-items-center gap-2", children: _jsx("span", { className: "font-bold text-900", children: String(m) }) }, index)); }) })); },
|
|
291
|
-
});
|
|
277
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));
|
|
292
278
|
}
|
|
293
279
|
return [2 /*return*/];
|
|
294
280
|
});
|
|
@@ -350,7 +336,11 @@ var CreateModel = function (_a) {
|
|
|
350
336
|
errors.forEach(function (_a) {
|
|
351
337
|
var isError = _a.isError, error = _a.error;
|
|
352
338
|
if (isError && error) {
|
|
353
|
-
|
|
339
|
+
var errorMessage = error && typeof error === 'object' && 'data' in error && 'message' in error.data
|
|
340
|
+
? error.data.message
|
|
341
|
+
: 'Something went wrong';
|
|
342
|
+
var detail = Array.isArray(errorMessage) ? errorMessage.join(', ') : String(errorMessage);
|
|
343
|
+
dispatch(showToast({ severity: 'error', summary: 'Error', detail: detail }));
|
|
354
344
|
}
|
|
355
345
|
});
|
|
356
346
|
}
|
|
@@ -374,7 +364,7 @@ var CreateModel = function (_a) {
|
|
|
374
364
|
} }), _jsx(OverlayPanel, { ref: op, className: "solid-custom-overlay", children: _jsx("div", { className: "flex flex-column gap-1 p-1", children: _jsx(Button, { text: true, type: "button", className: "w-8rem text-left gap-2", label: "Delete", size: "small", iconPos: "left", severity: "danger", icon: 'pi pi-trash', onClick: function () { return setDeleteEntity(true); } }) }) })] }));
|
|
375
365
|
};
|
|
376
366
|
var _u = useState(false), isDirty = _u[0], setIsDirty = _u[1];
|
|
377
|
-
return (_jsxs("div", { className: "solid-form-wrapper", children: [
|
|
367
|
+
return (_jsxs("div", { className: "solid-form-wrapper", children: [_jsxs("div", { style: { width: '100%', borderRight: '1px solid var(--primary-light-color' }, children: [_jsx("div", { className: "solid-form-header", children: params.id === "new" ?
|
|
378
368
|
_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex align-items-center gap-3", children: [_jsx(BackButton, {}), _jsxs("div", { className: "form-wrapper-title solid-long-text-wrapper ", children: ["Create Model ", (modelMetaData === null || modelMetaData === void 0 ? void 0 : modelMetaData.displayName) ? "- ".concat(modelMetaData === null || modelMetaData === void 0 ? void 0 : modelMetaData.displayName) : ""] })] }), _jsxs("div", { className: "gap-3 flex", children: [isDirty &&
|
|
379
369
|
_jsx(Button, { label: "Save", size: "small", onClick: handleSubmit, type: "submit" }), _jsx(CancelButton, {})] })] })
|
|
380
370
|
:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateModel.js","sourceRoot":"","sources":["../../../../src/components/core/model/CreateModel.tsx"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { CancelButton, SolidCancelButton } from \"../../../components/common/CancelButton\";\nimport { handleError } from \"../../../helpers/ToastContainer\";\nimport { useGetFieldDefaultMetaDataQuery } from \"../../../redux/api/fieldApi\";\nimport { useCreatemodelMutation, useDeletemodelMutation, useLazyGetModelsQuery, useUpdatemodelMutation } from \"../../../redux/api/modelApi\";\nimport { FetchBaseQueryError } from \"@reduxjs/toolkit/dist/query\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { Button } from \"primereact/button\";\nimport { TabPanel, TabView } from \"primereact/tabview\";\nimport { Toast } from \"primereact/toast\";\nimport qs from \"qs\";\nimport { useEffect, useRef, useState } from \"react\";\nimport FieldMetaData from \"./FieldMetaData\";\nimport ModelMetaData from \"./ModelMetaData\";\nimport { BackButton } from \"../../../components/common/BackButton\";\nimport { SolidFormStepper } from \"../../../components/common/SolidFormStepper\";\nimport { Dialog } from \"primereact/dialog\";\nimport { Divider } from \"primereact/divider\";\nimport { OverlayPanel } from \"primereact/overlaypanel\";\nimport { SolidBreadcrumb } from \"../../../components/common/SolidBreadcrumb\";\nimport { SolidFormHeader } from \"../../../components/common/SolidFormHeader\";\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\n\ninterface ErrorResponseData {\n message: string;\n statusCode: number;\n error: string;\n}\n\nconst CreateModel = ({ data, params }: any) => {\n\n const toast = useRef<Toast>(null);\n const router = useRouter();\n const pathname = usePathname();\n const [deleteEntity, setDeleteEntity] = useState(false);\n const [isLoadingData, setIsLoadingData] = useState(data ? true : false);\n const formikModelMetadataRef = useRef<any>();\n const formikFieldsMetadataRef = useRef();\n\n const [modelMetaData, setModelMetaData] = useState<any>();\n const [fieldMetaData, setFieldMetaData] = useState<any>([]);\n\n const { data: fieldDefaultMetaData, refetch } = useGetFieldDefaultMetaDataQuery(null);\n const [allModelsNames, setAllModelsNames] = useState([]);\n\n const [triggerGetModels, { data: allmodels, isLoading: isAllModelsLoaded, error: allModelsError }] =\n useLazyGetModelsQuery();\n\n\n const [\n createModel,\n { isLoading: isCreateModelLoading, isSuccess: isCreateModelSuccess, isError: isCreateModelError, error: createModelError, data: newModel },\n ] = useCreatemodelMutation();\n\n const [\n updateModel,\n { isLoading: isUpdatedModelUpdating, isSuccess: isUpdatedModelSuceess, isError: isUpdateModelError, error: updateModelError, data: updatedModel },\n ] = useUpdatemodelMutation();\n const [\n deleteModel,\n { isLoading: isModelDeleted, isSuccess: isDeleteModelSuceess, isError: isDeleteModelError, error: deleteModelError, data: DeletedModel },\n ] = useDeletemodelMutation();\n\n const [activeIndex, setActiveIndex] = useState<number>(0);\n const [tabErrors, setTabErrors] = useState<{ [key: number]: boolean }>({});\n const [formErrors, setFormErrors] = useState<Record<string, string>>({});\n\n const nextTab = () => {\n setActiveIndex(activeIndex + 1);\n };\n\n useEffect(() => {\n if (data) {\n const isLegacyTable = data.isLegacyTableWithId || data.isLegacyTable\n const isLegacyTableWithId = data.isLegacyTable ;\n const modelData = {\n ...data, moduleId: data?.module?.id, parentModelId: data?.parentModel,isLegacyTable,isLegacyTableWithId\n }\n\n setIsLoadingData(false);\n setModelMetaData(modelData);\n const fieldData = data.fields.map((f: any) => {\n const fieldCopy = { ...f }; // Create a shallow copy of the field object\n fieldCopy.identifier = f.id; // Add the identifier property\n if (fieldCopy.type == \"mediaSingle\" || fieldCopy.type == \"mediaMultiple\") {\n fieldCopy.mediaMaxSizeKb = f.mediaMaxSizeKb / 1024; // Add the identifier property\n\n }\n return fieldCopy;\n })\n setFieldMetaData(fieldData.sort((a: any, b: any) => b.id - a.id))\n }\n }, [data])\n\n\n useEffect(() => {\n const queryData = {\n offset: 0,\n limit: 1000,\n };\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true\n });\n triggerGetModels(queryString);\n }, [isDeleteModelSuceess]);\n\n useEffect(() => {\n if (allmodels) {\n if (data) {\n setAllModelsNames(allmodels?.records.filter((i: any) => i.id !== data.id).map((e: any) => e.singularName));\n\n } else {\n\n setAllModelsNames(allmodels?.records.map((e: any) => e.singularName));\n }\n }\n }, [allmodels, data]);\n\n\n const handleSubmit = async () => {\n\n if (formikModelMetadataRef.current) {\n await formikModelMetadataRef.current.submitForm(); // Call the handleSubmit function from the formik instance\n\n // @ts-ignore\n // formikModelMetadataRef.current.validateForm().then(() => {\n // if (Object.keys(formikModelMetadataRef?.current?.errors).length === 0) {\n\n // if (fieldMetaData.length > 0) {\n // handleFormSubmit();\n // } else {\n // if (activeIndex === 0) {\n // nextTab();\n // // showError({ error: \"Please add Atleast one field\" });\n // handleError([\"Please add Atleast one field\"])\n // } else {\n // handleError([\"Please add Atleast one field\"])\n // // showError({ error: \"Please add Atleast one field\" });\n // }\n // }\n // }\n // });\n\n formikModelMetadataRef.current.validateForm().then((errors: any) => {\n let firstErrorTab: number | undefined;\n if (Object.keys(errors).length > 0) {\n setFormErrors(errors);\n const errorMessages = Object.values(errors);\n errorMessages.forEach((error) => {\n handleError([error]); // Call handleError for each error separately\n });\n\n firstErrorTab = 0; // Model Metadata tab has errors\n } else {\n setFormErrors({});\n }\n\n if (fieldMetaData.length === 0) {\n handleError([ERROR_MESSAGES.ADD_ATLEAST_ONE_FIELD]);\n firstErrorTab = firstErrorTab ?? 1; // If no prior error, set to Field tab\n }\n\n if (firstErrorTab !== undefined) {\n setTabErrors({ [firstErrorTab]: true }); // Set error only on the first tab with an issue\n setActiveIndex(firstErrorTab); // Switch to the tab with an error\n } else {\n handleFormSubmit();\n }\n });\n }\n };\n\n\n const handleFormSubmit = async () => {\n\n let legacyTableConfig = {};\n \n if (modelMetaData?.isLegacyTable && modelMetaData?.isLegacyTableWithId) {\n // UI: Both checked → Backend: both true\n legacyTableConfig = {\n isLegacyTable: true,\n isLegacyTableWithId: false\n };\n } else if (modelMetaData?.isLegacyTable && !modelMetaData?.isLegacyTableWithId) {\n // UI: Only isLegacyTable checked → Backend: only isLegacyTableWithId true\n legacyTableConfig = {\n isLegacyTable: false,\n isLegacyTableWithId: true\n };\n } else {\n // UI: Neither checked → Backend: both false\n legacyTableConfig = {\n isLegacyTable: false,\n isLegacyTableWithId: false\n };\n }\n\n if (modelMetaData?.isLegacyTable || modelMetaData?.isLegacyTableWithId) {\n const hasPrimaryKey = fieldMetaData.some(\n (field: any) => field.isPrimaryKey === true\n );\n \n if (!hasPrimaryKey) {\n toast?.current?.show({\n severity: \"error\",\n summary: \"Primary Key Required\",\n detail: \"Legacy tables set at least one field marked as Primary Key. Please mark a field as Primary Key before proceeding.\",\n life: 5000,\n });\n return; \n }\n }\n\n if (data) {\n const fieldData = fieldMetaData.map(({ createdAt, updatedAt, deletedAt, mediaStorageProvider, identifier, ...rest }: any) => {\n if (rest.mediaMaxSizeKb) {\n rest.mediaMaxSizeKb = rest.mediaMaxSizeKb ? rest.mediaMaxSizeKb * 1024 : 0\n }\n return rest\n });\n const { module, parentModel, createdAt, updatedAt, id, deletedAt, ...modelData } = modelMetaData;\n const updateData = { ...modelData, displayName: modelData.displayName.trim(), fields: fieldData, ...legacyTableConfig };\n updateModel({ id: data.id, data: updateData });\n }\n else {\n if (modelMetaData) {\n const fieldData = fieldMetaData.map(({ mediaStorageProvider, identifier, ...rest }: any) => {\n if (rest.mediaMaxSizeKb) {\n rest.mediaMaxSizeKb = rest.mediaMaxSizeKb ? rest.mediaMaxSizeKb * 1024 : 0\n }\n return rest\n });\n const { module, parentModel, ...modelData } = modelMetaData;\n const data = { ...modelData, displayName: modelData.displayName.trim(), fields: fieldData, ...legacyTableConfig };\n createModel(data);\n if (isCreateModelSuccess) {\n\n }\n }\n }\n };\n\n const deleteModelFunction = async () => {\n deleteModel(data?.id);\n }\n\n useEffect(() => {\n if (isCreateModelSuccess == true || isUpdatedModelSuceess == true || isDeleteModelSuceess == true) {\n // router.push(`/admin/app-builder/model/all`);\n router.back();\n }\n }, [isCreateModelSuccess, isUpdatedModelSuceess, isDeleteModelSuceess])\n\n const showError = async (errors: any) => {\n const errorMessages = Object.values(errors);\n\n if (errorMessages.length > 0) {\n toast?.current?.show({\n severity: \"error\",\n summary: ERROR_MESSAGES.SEND_REPORT,\n // sticky: true,\n life: 3000,\n //@ts-ignore\n content: (props) => (\n <div\n className=\"flex flex-column align-items-left\"\n style={{ flex: \"1\" }}\n >\n {errorMessages.map((m, index) => (\n <div className=\"flex align-items-center gap-2\" key={index}>\n <span className=\"font-bold text-900\">{String(m)}</span>\n </div>\n ))}\n </div>\n ),\n });\n }\n };\n\n const isFetchBaseQueryErrorWithErrorResponse = (error: any): error is FetchBaseQueryError & { data: ErrorResponseData } => {\n return error && typeof error === 'object' && 'data' in error && 'message' in error.data;\n }\n\n // const handleError = (errorToast: any) => {\n // let errorMessage: any = ['An error occurred'];\n\n // if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {\n // errorMessage = errorToast.data.message;\n // } else {\n // errorMessage = ['Something went wrong'];\n // }\n\n // toast?.current?.show({\n // severity: 'error',\n // summary: 'Error',\n // detail: errorMessage,\n // life: 3000,\n // //@ts-ignore\n // content: (props) => (\n // <div className=\"flex flex-column align-items-left\" style={{ flex: \"1\" }}>\n // {Array.isArray(errorMessage) ? (\n // errorMessage.map((message, index) => (\n // <div className=\"flex align-items-center gap-2\" key={index}>\n // <span className=\"font-bold text-900\">{message.trim()}</span>\n // </div>\n // ))\n // ) : (\n // <div className=\"flex align-items-center gap-2\">\n // <span className=\"font-bold text-900\">{errorMessage?.trim()}</span>\n // </div>\n // )}\n // </div>\n // ),\n // });\n // };\n\n\n // Error Handler \n // Added useEffect to remove active tab class border color if error is there.\n useEffect(() => {\n const tabHeaders = document.querySelectorAll(\".p-tabview-nav li\");\n if (tabHeaders.length > 0) {\n if (tabErrors[0]) {\n tabHeaders[0].classList.remove(\"p-highlight\");\n }\n if (tabErrors[1]) {\n tabHeaders[1].classList.remove(\"p-highlight\");\n }\n }\n }, [tabErrors]);\n\n\n useEffect(() => {\n const errors = [\n { isError: isCreateModelError, error: createModelError },\n { isError: isDeleteModelError, error: deleteModelError },\n { isError: isUpdateModelError, error: updateModelError },\n ];\n if (errors.length > 0) {\n // Handle any error\n errors.forEach(({ isError, error }) => {\n if (isError && error) {\n handleError(error); // Call the centralized error handler\n }\n });\n }\n\n }, [isCreateModelError, isDeleteModelError, isUpdateModelError])\n const op = useRef(null);\n\n const formActionDropdown = () => {\n return (\n <div>\n <Button\n outlined\n severity=\"secondary\"\n type=\"button\"\n icon={'pi pi-cog'}\n size=\"small\"\n className=\"surface-card p-0 hidden md:flex\"\n style={{\n height: 33.06,\n width: 33.06\n }}\n onClick={(e) =>\n // @ts-ignore \n op.current.toggle(e)\n }\n />\n <Button\n outlined\n type=\"button\"\n icon={'pi pi-cog'}\n size=\"small\"\n className=\"surface-card p-0 solid-icon-button md:hidden\"\n // style={{\n // height: 33.06,\n // width: 33.06\n // }}\n onClick={(e) =>\n // @ts-ignore \n op.current.toggle(e)\n }\n />\n <OverlayPanel ref={op} className=\"solid-custom-overlay\">\n <div className=\"flex flex-column gap-1 p-1\">\n {/* <Button\n text\n type=\"button\"\n className=\"w-8rem text-left gap-2 text-color\"\n label=\"Duplicate\"\n size=\"small\"\n iconPos=\"left\"\n icon={<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M6 11.9997C5.63333 11.9997 5.31944 11.8691 5.05833 11.608C4.79722 11.3469 4.66667 11.033 4.66667 10.6663V2.66634C4.66667 2.29967 4.79722 1.98579 5.05833 1.72467C5.31944 1.46356 5.63333 1.33301 6 1.33301H12C12.3667 1.33301 12.6806 1.46356 12.9417 1.72467C13.2028 1.98579 13.3333 2.29967 13.3333 2.66634V10.6663C13.3333 11.033 13.2028 11.3469 12.9417 11.608C12.6806 11.8691 12.3667 11.9997 12 11.9997H6ZM6 10.6663H12V2.66634H6V10.6663ZM3.33333 14.6663C2.96667 14.6663 2.65278 14.5358 2.39167 14.2747C2.13056 14.0136 2 13.6997 2 13.333V3.99967H3.33333V13.333H10.6667V14.6663H3.33333Z\" fill=\"black\" fill-opacity=\"0.88\" />\n </svg>}\n /> */}\n <Button\n text\n type=\"button\"\n className=\"w-8rem text-left gap-2\"\n label=\"Delete\"\n size=\"small\"\n iconPos=\"left\"\n severity=\"danger\"\n icon={'pi pi-trash'}\n onClick={() => setDeleteEntity(true)}\n />\n </div>\n </OverlayPanel>\n </div>\n )\n }\n\n const [isDirty, setIsDirty] = useState(false);\n\n\n return (\n <div className=\"solid-form-wrapper\">\n <Toast ref={toast} />\n <div style={{ width: '100%', borderRight: '1px solid var(--primary-light-color' }}>\n <div className=\"solid-form-header\">\n {params.id === \"new\" ?\n <>\n <div className=\"flex align-items-center gap-3\">\n <BackButton />\n <div className=\"form-wrapper-title solid-long-text-wrapper \">Create Model {modelMetaData?.displayName ? `- ${modelMetaData?.displayName}` : \"\"}</div>\n </div>\n <div className=\"gap-3 flex\">\n {isDirty &&\n <Button label=\"Save\" size=\"small\" onClick={handleSubmit} type=\"submit\" />\n }\n <CancelButton />\n </div>\n </>\n :\n <>\n <div className=\"flex align-items-center gap-3\">\n <BackButton />\n <div className=\"form-wrapper-title solid-long-text-wrapper \">Edit Model {modelMetaData?.displayName ? `- ${modelMetaData?.displayName}` : \"\"}</div>\n </div>\n <div className=\"gap-3 flex\">\n {data?.isSystem !== true &&\n <>\n <div>\n {isDirty &&\n <>\n <Button label=\"Save\" size=\"small\" type=\"submit\" className=\"hidden lg:flex\" onClick={handleSubmit} />\n <Button icon=\"pi pi-check\" size=\"small\" type=\"submit\" className=\" lg:hidden solid-icon-button\" onClick={handleSubmit} />\n </>\n }\n </div>\n {/* <div>\n <Button outlined label=\"Delete\" size=\"small\" severity=\"danger\" type=\"button\" onClick={() => setDeleteEntity(true)} />\n </div> */}\n </>\n }\n {/* <CancelButton /> */}\n <SolidCancelButton />\n {formActionDropdown()}\n </div>\n </>\n }\n </div>\n <SolidFormHeader />\n {/* <div className=\"solid-form-stepper\">\n <SolidFormStepper />\n </div> */}\n <div className=\"px-4 py-3 md:p-4 solid-form-content\">\n <TabView\n activeIndex={activeIndex}\n onTabChange={(e) => {\n if (activeIndex == 0) {\n formikModelMetadataRef.current.handleSubmit();\n setActiveIndex(e.index)\n\n }\n if (activeIndex == 1) {\n setActiveIndex(e.index)\n }\n\n }}\n panelContainerClassName=\"px-0\"\n className=\"relative\"\n >\n <TabPanel header=\"Model\"\n headerClassName={tabErrors[0] ? \"tab-error-heading \" : \"\"}>\n <ModelMetaData\n modelMetaData={modelMetaData}\n setModelMetaData={setModelMetaData}\n allModelsNames={allModelsNames}\n deleteModelFunction={deleteModelFunction}\n nextTab={nextTab}\n formikModelMetadataRef={formikModelMetadataRef}\n params={params}\n formErrors={formErrors}\n setIsDirty={setIsDirty}\n ></ModelMetaData>\n </TabPanel>\n <TabPanel header=\"Fields\"\n headerClassName={tabErrors[1] ? \"tab-error-heading \" : \"\"}>\n <FieldMetaData\n modelMetaData={modelMetaData}\n fieldMetaData={fieldMetaData}\n setFieldMetaData={setFieldMetaData}\n deleteModelFunction={deleteModelFunction}\n nextTab={nextTab}\n formikFieldsMetadataRef={formikFieldsMetadataRef}\n params={params}\n setIsDirty={setIsDirty}\n ></FieldMetaData>\n </TabPanel>\n </TabView>\n </div>\n </div>\n {/* <div style={{ width: '22.5%' }}></div> */}\n <Dialog header=\"Delete Field\" headerClassName=\"py-2\" className=\"solid-confirm-dialog\" contentClassName=\"px-0 pb-0\" visible={deleteEntity} style={{ width: '20vw' }} onHide={() => { if (!deleteEntity) return; setDeleteEntity(false); }}>\n <Divider className=\"m-0\" />\n <div className=\"p-4\">\n <p className=\"m-0 solid-primary-title\" style={{ fontSize: 16 }}>\n Are you sure you want to delete this Field ?\n </p>\n <p className=\"\" style={{ color: 'var{--solid-grey-500}' }}>{modelMetaData?.singularName}</p>\n <div className=\"flex align-items-center gap-2 mt-3\">\n <Button label=\"Delete\" size=\"small\" onClick={deleteModelFunction} />\n <Button label=\"Cancel\" size=\"small\" onClick={() => setDeleteEntity(false)} outlined />\n </div>\n </div>\n </Dialog>\n </div>\n );\n};\n\nexport default CreateModel;\n"]}
|
|
1
|
+
{"version":3,"file":"CreateModel.js","sourceRoot":"","sources":["../../../../src/components/core/model/CreateModel.tsx"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { CancelButton, SolidCancelButton } from \"../../../components/common/CancelButton\";\nimport { useGetFieldDefaultMetaDataQuery } from \"../../../redux/api/fieldApi\";\nimport { useCreatemodelMutation, useDeletemodelMutation, useLazyGetModelsQuery, useUpdatemodelMutation } from \"../../../redux/api/modelApi\";\nimport { FetchBaseQueryError } from \"@reduxjs/toolkit/dist/query\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { Button } from \"primereact/button\";\nimport { TabPanel, TabView } from \"primereact/tabview\";\nimport qs from \"qs\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport FieldMetaData from \"./FieldMetaData\";\nimport ModelMetaData from \"./ModelMetaData\";\nimport { BackButton } from \"../../../components/common/BackButton\";\nimport { SolidFormStepper } from \"../../../components/common/SolidFormStepper\";\nimport { Dialog } from \"primereact/dialog\";\nimport { Divider } from \"primereact/divider\";\nimport { OverlayPanel } from \"primereact/overlaypanel\";\nimport { SolidBreadcrumb } from \"../../../components/common/SolidBreadcrumb\";\nimport { SolidFormHeader } from \"../../../components/common/SolidFormHeader\";\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\n\ninterface ErrorResponseData {\n message: string;\n statusCode: number;\n error: string;\n}\n\nconst CreateModel = ({ data, params }: any) => {\n\n const dispatch = useDispatch();\n const router = useRouter();\n const pathname = usePathname();\n const [deleteEntity, setDeleteEntity] = useState(false);\n const [isLoadingData, setIsLoadingData] = useState(data ? true : false);\n const formikModelMetadataRef = useRef<any>();\n const formikFieldsMetadataRef = useRef();\n\n const [modelMetaData, setModelMetaData] = useState<any>();\n const [fieldMetaData, setFieldMetaData] = useState<any>([]);\n\n const { data: fieldDefaultMetaData, refetch } = useGetFieldDefaultMetaDataQuery(null);\n const [allModelsNames, setAllModelsNames] = useState([]);\n\n const [triggerGetModels, { data: allmodels, isLoading: isAllModelsLoaded, error: allModelsError }] =\n useLazyGetModelsQuery();\n\n\n const [\n createModel,\n { isLoading: isCreateModelLoading, isSuccess: isCreateModelSuccess, isError: isCreateModelError, error: createModelError, data: newModel },\n ] = useCreatemodelMutation();\n\n const [\n updateModel,\n { isLoading: isUpdatedModelUpdating, isSuccess: isUpdatedModelSuceess, isError: isUpdateModelError, error: updateModelError, data: updatedModel },\n ] = useUpdatemodelMutation();\n const [\n deleteModel,\n { isLoading: isModelDeleted, isSuccess: isDeleteModelSuceess, isError: isDeleteModelError, error: deleteModelError, data: DeletedModel },\n ] = useDeletemodelMutation();\n\n const [activeIndex, setActiveIndex] = useState<number>(0);\n const [tabErrors, setTabErrors] = useState<{ [key: number]: boolean }>({});\n const [formErrors, setFormErrors] = useState<Record<string, string>>({});\n\n const nextTab = () => {\n setActiveIndex(activeIndex + 1);\n };\n\n useEffect(() => {\n if (data) {\n const isLegacyTable = data.isLegacyTableWithId || data.isLegacyTable\n const isLegacyTableWithId = data.isLegacyTable ;\n const modelData = {\n ...data, moduleId: data?.module?.id, parentModelId: data?.parentModel,isLegacyTable,isLegacyTableWithId\n }\n\n setIsLoadingData(false);\n setModelMetaData(modelData);\n const fieldData = data.fields.map((f: any) => {\n const fieldCopy = { ...f }; // Create a shallow copy of the field object\n fieldCopy.identifier = f.id; // Add the identifier property\n if (fieldCopy.type == \"mediaSingle\" || fieldCopy.type == \"mediaMultiple\") {\n fieldCopy.mediaMaxSizeKb = f.mediaMaxSizeKb / 1024; // Add the identifier property\n\n }\n return fieldCopy;\n })\n setFieldMetaData(fieldData.sort((a: any, b: any) => b.id - a.id))\n }\n }, [data])\n\n\n useEffect(() => {\n const queryData = {\n offset: 0,\n limit: 1000,\n };\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true\n });\n triggerGetModels(queryString);\n }, [isDeleteModelSuceess]);\n\n useEffect(() => {\n if (allmodels) {\n if (data) {\n setAllModelsNames(allmodels?.records.filter((i: any) => i.id !== data.id).map((e: any) => e.singularName));\n\n } else {\n\n setAllModelsNames(allmodels?.records.map((e: any) => e.singularName));\n }\n }\n }, [allmodels, data]);\n\n\n const handleSubmit = async () => {\n\n if (formikModelMetadataRef.current) {\n await formikModelMetadataRef.current.submitForm(); // Call the handleSubmit function from the formik instance\n\n // @ts-ignore\n // formikModelMetadataRef.current.validateForm().then(() => {\n // if (Object.keys(formikModelMetadataRef?.current?.errors).length === 0) {\n\n // if (fieldMetaData.length > 0) {\n // handleFormSubmit();\n // } else {\n // if (activeIndex === 0) {\n // nextTab();\n // // showError({ error: \"Please add Atleast one field\" });\n // handleError([\"Please add Atleast one field\"])\n // } else {\n // handleError([\"Please add Atleast one field\"])\n // // showError({ error: \"Please add Atleast one field\" });\n // }\n // }\n // }\n // });\n\n formikModelMetadataRef.current.validateForm().then((errors: any) => {\n let firstErrorTab: number | undefined;\n if (Object.keys(errors).length > 0) {\n setFormErrors(errors);\n const errorMessages = Object.values(errors);\n errorMessages.forEach((error) => {\n dispatch(showToast({ severity: 'error', summary: 'Error', detail: Array.isArray(error) ? error.join(', ') : String(error) }));\n });\n\n firstErrorTab = 0; // Model Metadata tab has errors\n } else {\n setFormErrors({});\n }\n\n if (fieldMetaData.length === 0) {\n dispatch(showToast({ severity: 'error', summary: 'Error', detail: ERROR_MESSAGES.ADD_ATLEAST_ONE_FIELD }));\n firstErrorTab = firstErrorTab ?? 1; // If no prior error, set to Field tab\n }\n\n if (firstErrorTab !== undefined) {\n setTabErrors({ [firstErrorTab]: true }); // Set error only on the first tab with an issue\n setActiveIndex(firstErrorTab); // Switch to the tab with an error\n } else {\n handleFormSubmit();\n }\n });\n }\n };\n\n\n const handleFormSubmit = async () => {\n\n let legacyTableConfig = {};\n \n if (modelMetaData?.isLegacyTable && modelMetaData?.isLegacyTableWithId) {\n // UI: Both checked → Backend: both true\n legacyTableConfig = {\n isLegacyTable: true,\n isLegacyTableWithId: false\n };\n } else if (modelMetaData?.isLegacyTable && !modelMetaData?.isLegacyTableWithId) {\n // UI: Only isLegacyTable checked → Backend: only isLegacyTableWithId true\n legacyTableConfig = {\n isLegacyTable: false,\n isLegacyTableWithId: true\n };\n } else {\n // UI: Neither checked → Backend: both false\n legacyTableConfig = {\n isLegacyTable: false,\n isLegacyTableWithId: false\n };\n }\n\n if (modelMetaData?.isLegacyTable || modelMetaData?.isLegacyTableWithId) {\n const hasPrimaryKey = fieldMetaData.some(\n (field: any) => field.isPrimaryKey === true\n );\n \n if (!hasPrimaryKey) {\n dispatch(showToast({ severity: \"error\", summary: \"Primary Key Required\", detail: \"Legacy tables set at least one field marked as Primary Key. Please mark a field as Primary Key before proceeding.\", life: 5000 }));\n return; \n }\n }\n\n if (data) {\n const fieldData = fieldMetaData.map(({ createdAt, updatedAt, deletedAt, mediaStorageProvider, identifier, ...rest }: any) => {\n if (rest.mediaMaxSizeKb) {\n rest.mediaMaxSizeKb = rest.mediaMaxSizeKb ? rest.mediaMaxSizeKb * 1024 : 0\n }\n return rest\n });\n const { module, parentModel, createdAt, updatedAt, id, deletedAt, ...modelData } = modelMetaData;\n const updateData = { ...modelData, displayName: modelData.displayName.trim(), fields: fieldData, ...legacyTableConfig };\n updateModel({ id: data.id, data: updateData });\n }\n else {\n if (modelMetaData) {\n const fieldData = fieldMetaData.map(({ mediaStorageProvider, identifier, ...rest }: any) => {\n if (rest.mediaMaxSizeKb) {\n rest.mediaMaxSizeKb = rest.mediaMaxSizeKb ? rest.mediaMaxSizeKb * 1024 : 0\n }\n return rest\n });\n const { module, parentModel, ...modelData } = modelMetaData;\n const data = { ...modelData, displayName: modelData.displayName.trim(), fields: fieldData, ...legacyTableConfig };\n createModel(data);\n if (isCreateModelSuccess) {\n\n }\n }\n }\n };\n\n const deleteModelFunction = async () => {\n deleteModel(data?.id);\n }\n\n useEffect(() => {\n if (isCreateModelSuccess == true || isUpdatedModelSuceess == true || isDeleteModelSuceess == true) {\n // router.push(`/admin/app-builder/model/all`);\n router.back();\n }\n }, [isCreateModelSuccess, isUpdatedModelSuceess, isDeleteModelSuceess])\n\n const showError = async (errors: any) => {\n const errorMessages = Object.values(errors);\n\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 const isFetchBaseQueryErrorWithErrorResponse = (error: any): error is FetchBaseQueryError & { data: ErrorResponseData } => {\n return error && typeof error === 'object' && 'data' in error && 'message' in error.data;\n }\n\n // const handleError = (errorToast: any) => {\n // let errorMessage: any = ['An error occurred'];\n\n // if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {\n // errorMessage = errorToast.data.message;\n // } else {\n // errorMessage = ['Something went wrong'];\n // }\n\n // toast?.current?.show({\n // severity: 'error',\n // summary: 'Error',\n // detail: errorMessage,\n // life: 3000,\n // //@ts-ignore\n // content: (props) => (\n // <div className=\"flex flex-column align-items-left\" style={{ flex: \"1\" }}>\n // {Array.isArray(errorMessage) ? (\n // errorMessage.map((message, index) => (\n // <div className=\"flex align-items-center gap-2\" key={index}>\n // <span className=\"font-bold text-900\">{message.trim()}</span>\n // </div>\n // ))\n // ) : (\n // <div className=\"flex align-items-center gap-2\">\n // <span className=\"font-bold text-900\">{errorMessage?.trim()}</span>\n // </div>\n // )}\n // </div>\n // ),\n // });\n // };\n\n\n // Error Handler \n // Added useEffect to remove active tab class border color if error is there.\n useEffect(() => {\n const tabHeaders = document.querySelectorAll(\".p-tabview-nav li\");\n if (tabHeaders.length > 0) {\n if (tabErrors[0]) {\n tabHeaders[0].classList.remove(\"p-highlight\");\n }\n if (tabErrors[1]) {\n tabHeaders[1].classList.remove(\"p-highlight\");\n }\n }\n }, [tabErrors]);\n\n\n useEffect(() => {\n const errors = [\n { isError: isCreateModelError, error: createModelError },\n { isError: isDeleteModelError, error: deleteModelError },\n { isError: isUpdateModelError, error: updateModelError },\n ];\n if (errors.length > 0) {\n // Handle any error\n errors.forEach(({ isError, error }) => {\n if (isError && error) {\n const errorMessage = error && typeof error === 'object' && 'data' in error && 'message' in (error as any).data\n ? (error as any).data.message\n : 'Something went wrong';\n const detail = Array.isArray(errorMessage) ? errorMessage.join(', ') : String(errorMessage);\n dispatch(showToast({ severity: 'error', summary: 'Error', detail }));\n }\n });\n }\n\n }, [isCreateModelError, isDeleteModelError, isUpdateModelError])\n const op = useRef(null);\n\n const formActionDropdown = () => {\n return (\n <div>\n <Button\n outlined\n severity=\"secondary\"\n type=\"button\"\n icon={'pi pi-cog'}\n size=\"small\"\n className=\"surface-card p-0 hidden md:flex\"\n style={{\n height: 33.06,\n width: 33.06\n }}\n onClick={(e) =>\n // @ts-ignore \n op.current.toggle(e)\n }\n />\n <Button\n outlined\n type=\"button\"\n icon={'pi pi-cog'}\n size=\"small\"\n className=\"surface-card p-0 solid-icon-button md:hidden\"\n // style={{\n // height: 33.06,\n // width: 33.06\n // }}\n onClick={(e) =>\n // @ts-ignore \n op.current.toggle(e)\n }\n />\n <OverlayPanel ref={op} className=\"solid-custom-overlay\">\n <div className=\"flex flex-column gap-1 p-1\">\n {/* <Button\n text\n type=\"button\"\n className=\"w-8rem text-left gap-2 text-color\"\n label=\"Duplicate\"\n size=\"small\"\n iconPos=\"left\"\n icon={<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M6 11.9997C5.63333 11.9997 5.31944 11.8691 5.05833 11.608C4.79722 11.3469 4.66667 11.033 4.66667 10.6663V2.66634C4.66667 2.29967 4.79722 1.98579 5.05833 1.72467C5.31944 1.46356 5.63333 1.33301 6 1.33301H12C12.3667 1.33301 12.6806 1.46356 12.9417 1.72467C13.2028 1.98579 13.3333 2.29967 13.3333 2.66634V10.6663C13.3333 11.033 13.2028 11.3469 12.9417 11.608C12.6806 11.8691 12.3667 11.9997 12 11.9997H6ZM6 10.6663H12V2.66634H6V10.6663ZM3.33333 14.6663C2.96667 14.6663 2.65278 14.5358 2.39167 14.2747C2.13056 14.0136 2 13.6997 2 13.333V3.99967H3.33333V13.333H10.6667V14.6663H3.33333Z\" fill=\"black\" fill-opacity=\"0.88\" />\n </svg>}\n /> */}\n <Button\n text\n type=\"button\"\n className=\"w-8rem text-left gap-2\"\n label=\"Delete\"\n size=\"small\"\n iconPos=\"left\"\n severity=\"danger\"\n icon={'pi pi-trash'}\n onClick={() => setDeleteEntity(true)}\n />\n </div>\n </OverlayPanel>\n </div>\n )\n }\n\n const [isDirty, setIsDirty] = useState(false);\n\n\n return (\n <div className=\"solid-form-wrapper\">\n <div style={{ width: '100%', borderRight: '1px solid var(--primary-light-color' }}>\n <div className=\"solid-form-header\">\n {params.id === \"new\" ?\n <>\n <div className=\"flex align-items-center gap-3\">\n <BackButton />\n <div className=\"form-wrapper-title solid-long-text-wrapper \">Create Model {modelMetaData?.displayName ? `- ${modelMetaData?.displayName}` : \"\"}</div>\n </div>\n <div className=\"gap-3 flex\">\n {isDirty &&\n <Button label=\"Save\" size=\"small\" onClick={handleSubmit} type=\"submit\" />\n }\n <CancelButton />\n </div>\n </>\n :\n <>\n <div className=\"flex align-items-center gap-3\">\n <BackButton />\n <div className=\"form-wrapper-title solid-long-text-wrapper \">Edit Model {modelMetaData?.displayName ? `- ${modelMetaData?.displayName}` : \"\"}</div>\n </div>\n <div className=\"gap-3 flex\">\n {data?.isSystem !== true &&\n <>\n <div>\n {isDirty &&\n <>\n <Button label=\"Save\" size=\"small\" type=\"submit\" className=\"hidden lg:flex\" onClick={handleSubmit} />\n <Button icon=\"pi pi-check\" size=\"small\" type=\"submit\" className=\" lg:hidden solid-icon-button\" onClick={handleSubmit} />\n </>\n }\n </div>\n {/* <div>\n <Button outlined label=\"Delete\" size=\"small\" severity=\"danger\" type=\"button\" onClick={() => setDeleteEntity(true)} />\n </div> */}\n </>\n }\n {/* <CancelButton /> */}\n <SolidCancelButton />\n {formActionDropdown()}\n </div>\n </>\n }\n </div>\n <SolidFormHeader />\n {/* <div className=\"solid-form-stepper\">\n <SolidFormStepper />\n </div> */}\n <div className=\"px-4 py-3 md:p-4 solid-form-content\">\n <TabView\n activeIndex={activeIndex}\n onTabChange={(e) => {\n if (activeIndex == 0) {\n formikModelMetadataRef.current.handleSubmit();\n setActiveIndex(e.index)\n\n }\n if (activeIndex == 1) {\n setActiveIndex(e.index)\n }\n\n }}\n panelContainerClassName=\"px-0\"\n className=\"relative\"\n >\n <TabPanel header=\"Model\"\n headerClassName={tabErrors[0] ? \"tab-error-heading \" : \"\"}>\n <ModelMetaData\n modelMetaData={modelMetaData}\n setModelMetaData={setModelMetaData}\n allModelsNames={allModelsNames}\n deleteModelFunction={deleteModelFunction}\n nextTab={nextTab}\n formikModelMetadataRef={formikModelMetadataRef}\n params={params}\n formErrors={formErrors}\n setIsDirty={setIsDirty}\n ></ModelMetaData>\n </TabPanel>\n <TabPanel header=\"Fields\"\n headerClassName={tabErrors[1] ? \"tab-error-heading \" : \"\"}>\n <FieldMetaData\n modelMetaData={modelMetaData}\n fieldMetaData={fieldMetaData}\n setFieldMetaData={setFieldMetaData}\n deleteModelFunction={deleteModelFunction}\n nextTab={nextTab}\n formikFieldsMetadataRef={formikFieldsMetadataRef}\n params={params}\n setIsDirty={setIsDirty}\n ></FieldMetaData>\n </TabPanel>\n </TabView>\n </div>\n </div>\n {/* <div style={{ width: '22.5%' }}></div> */}\n <Dialog header=\"Delete Field\" headerClassName=\"py-2\" className=\"solid-confirm-dialog\" contentClassName=\"px-0 pb-0\" visible={deleteEntity} style={{ width: '20vw' }} onHide={() => { if (!deleteEntity) return; setDeleteEntity(false); }}>\n <Divider className=\"m-0\" />\n <div className=\"p-4\">\n <p className=\"m-0 solid-primary-title\" style={{ fontSize: 16 }}>\n Are you sure you want to delete this Field ?\n </p>\n <p className=\"\" style={{ color: 'var{--solid-grey-500}' }}>{modelMetaData?.singularName}</p>\n <div className=\"flex align-items-center gap-2 mt-3\">\n <Button label=\"Delete\" size=\"small\" onClick={deleteModelFunction} />\n <Button label=\"Cancel\" size=\"small\" onClick={() => setDeleteEntity(false)} outlined />\n </div>\n </div>\n </Dialog>\n </div>\n );\n};\n\nexport default CreateModel;\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
3
|
import { CancelButton, SolidCancelButton } from "../../../components/common/CancelButton";
|
|
4
|
-
import { handleError } from "../../../helpers/ToastContainer";
|
|
5
4
|
import { useGetFieldDefaultMetaDataQuery } from "../../../redux/api/fieldApi";
|
|
6
5
|
import { useCreatemodelMutation, useDeletemodelMutation, useLazyGetModelsQuery, useUpdatemodelMutation } from "../../../redux/api/modelApi";
|
|
7
6
|
import { FetchBaseQueryError } from "@reduxjs/toolkit/dist/query";
|
|
@@ -9,9 +8,10 @@ import { usePathname } from "../../../hooks/usePathname";
|
|
|
9
8
|
import { useRouter } from "../../../hooks/useRouter";
|
|
10
9
|
import { Button } from "primereact/button";
|
|
11
10
|
import { TabPanel, TabView } from "primereact/tabview";
|
|
12
|
-
import { Toast } from "primereact/toast";
|
|
13
11
|
import qs from "qs";
|
|
14
12
|
import { useEffect, useRef, useState } from "react";
|
|
13
|
+
import { useDispatch } from "react-redux";
|
|
14
|
+
import { showToast } from "../../../redux/features/toastSlice";
|
|
15
15
|
import FieldMetaData from "./FieldMetaData";
|
|
16
16
|
import ModelMetaData from "./ModelMetaData";
|
|
17
17
|
import { BackButton } from "../../../components/common/BackButton";
|
|
@@ -31,7 +31,7 @@ interface ErrorResponseData {
|
|
|
31
31
|
|
|
32
32
|
const CreateModel = ({ data, params }: any) => {
|
|
33
33
|
|
|
34
|
-
const
|
|
34
|
+
const dispatch = useDispatch();
|
|
35
35
|
const router = useRouter();
|
|
36
36
|
const pathname = usePathname();
|
|
37
37
|
const [deleteEntity, setDeleteEntity] = useState(false);
|
|
@@ -149,7 +149,7 @@ const CreateModel = ({ data, params }: any) => {
|
|
|
149
149
|
setFormErrors(errors);
|
|
150
150
|
const errorMessages = Object.values(errors);
|
|
151
151
|
errorMessages.forEach((error) => {
|
|
152
|
-
|
|
152
|
+
dispatch(showToast({ severity: 'error', summary: 'Error', detail: Array.isArray(error) ? error.join(', ') : String(error) }));
|
|
153
153
|
});
|
|
154
154
|
|
|
155
155
|
firstErrorTab = 0; // Model Metadata tab has errors
|
|
@@ -158,7 +158,7 @@ const CreateModel = ({ data, params }: any) => {
|
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
if (fieldMetaData.length === 0) {
|
|
161
|
-
|
|
161
|
+
dispatch(showToast({ severity: 'error', summary: 'Error', detail: ERROR_MESSAGES.ADD_ATLEAST_ONE_FIELD }));
|
|
162
162
|
firstErrorTab = firstErrorTab ?? 1; // If no prior error, set to Field tab
|
|
163
163
|
}
|
|
164
164
|
|
|
@@ -203,12 +203,7 @@ const CreateModel = ({ data, params }: any) => {
|
|
|
203
203
|
);
|
|
204
204
|
|
|
205
205
|
if (!hasPrimaryKey) {
|
|
206
|
-
|
|
207
|
-
severity: "error",
|
|
208
|
-
summary: "Primary Key Required",
|
|
209
|
-
detail: "Legacy tables set at least one field marked as Primary Key. Please mark a field as Primary Key before proceeding.",
|
|
210
|
-
life: 5000,
|
|
211
|
-
});
|
|
206
|
+
dispatch(showToast({ severity: "error", summary: "Primary Key Required", detail: "Legacy tables set at least one field marked as Primary Key. Please mark a field as Primary Key before proceeding.", life: 5000 }));
|
|
212
207
|
return;
|
|
213
208
|
}
|
|
214
209
|
}
|
|
@@ -257,25 +252,7 @@ const CreateModel = ({ data, params }: any) => {
|
|
|
257
252
|
const errorMessages = Object.values(errors);
|
|
258
253
|
|
|
259
254
|
if (errorMessages.length > 0) {
|
|
260
|
-
|
|
261
|
-
severity: "error",
|
|
262
|
-
summary: ERROR_MESSAGES.SEND_REPORT,
|
|
263
|
-
// sticky: true,
|
|
264
|
-
life: 3000,
|
|
265
|
-
//@ts-ignore
|
|
266
|
-
content: (props) => (
|
|
267
|
-
<div
|
|
268
|
-
className="flex flex-column align-items-left"
|
|
269
|
-
style={{ flex: "1" }}
|
|
270
|
-
>
|
|
271
|
-
{errorMessages.map((m, index) => (
|
|
272
|
-
<div className="flex align-items-center gap-2" key={index}>
|
|
273
|
-
<span className="font-bold text-900">{String(m)}</span>
|
|
274
|
-
</div>
|
|
275
|
-
))}
|
|
276
|
-
</div>
|
|
277
|
-
),
|
|
278
|
-
});
|
|
255
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));
|
|
279
256
|
}
|
|
280
257
|
};
|
|
281
258
|
|
|
@@ -342,7 +319,11 @@ const CreateModel = ({ data, params }: any) => {
|
|
|
342
319
|
// Handle any error
|
|
343
320
|
errors.forEach(({ isError, error }) => {
|
|
344
321
|
if (isError && error) {
|
|
345
|
-
|
|
322
|
+
const errorMessage = error && typeof error === 'object' && 'data' in error && 'message' in (error as any).data
|
|
323
|
+
? (error as any).data.message
|
|
324
|
+
: 'Something went wrong';
|
|
325
|
+
const detail = Array.isArray(errorMessage) ? errorMessage.join(', ') : String(errorMessage);
|
|
326
|
+
dispatch(showToast({ severity: 'error', summary: 'Error', detail }));
|
|
346
327
|
}
|
|
347
328
|
});
|
|
348
329
|
}
|
|
@@ -419,7 +400,6 @@ const CreateModel = ({ data, params }: any) => {
|
|
|
419
400
|
|
|
420
401
|
return (
|
|
421
402
|
<div className="solid-form-wrapper">
|
|
422
|
-
<Toast ref={toast} />
|
|
423
403
|
<div style={{ width: '100%', borderRight: '1px solid var(--primary-light-color' }}>
|
|
424
404
|
<div className="solid-form-header">
|
|
425
405
|
{params.id === "new" ?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldMetaData.d.ts","sourceRoot":"","sources":["../../../../src/components/core/model/FieldMetaData.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FieldMetaData.d.ts","sourceRoot":"","sources":["../../../../src/components/core/model/FieldMetaData.tsx"],"names":[],"mappings":"AAcA,QAAA,MAAM,aAAa,kIAAmI,GAAG,4CAiOxJ,CAAC;AACF,eAAe,aAAa,CAAC"}
|
|
@@ -43,6 +43,8 @@ import { Dialog } from "primereact/dialog";
|
|
|
43
43
|
import { useMountEffect } from "primereact/hooks";
|
|
44
44
|
import { Messages } from "primereact/messages";
|
|
45
45
|
import { useRef, useState } from "react";
|
|
46
|
+
import { useDispatch } from "react-redux";
|
|
47
|
+
import { showToast } from "../../../redux/features/toastSlice";
|
|
46
48
|
import FieldMetaDataForm from "./FieldMetaDataForm";
|
|
47
49
|
import { ERROR_MESSAGES } from "../../../constants/error-messages";
|
|
48
50
|
var FieldMetaData = function (_a) {
|
|
@@ -61,7 +63,7 @@ var FieldMetaData = function (_a) {
|
|
|
61
63
|
});
|
|
62
64
|
}
|
|
63
65
|
});
|
|
64
|
-
var
|
|
66
|
+
var dispatch = useDispatch();
|
|
65
67
|
var _b = useState(false), visiblePopup = _b[0], setVisiblePopup = _b[1];
|
|
66
68
|
var _c = useState(false), isRequiredPopUp = _c[0], setIsRequiredPopUp = _c[1];
|
|
67
69
|
var _d = useState(), currentPopup = _d[0], setCurrentPopup = _d[1];
|
|
@@ -100,17 +102,10 @@ var FieldMetaData = function (_a) {
|
|
|
100
102
|
};
|
|
101
103
|
var showToaster = function (message, severity) { return __awaiter(void 0, void 0, void 0, function () {
|
|
102
104
|
var errorMessages;
|
|
103
|
-
|
|
104
|
-
return __generator(this, function (_b) {
|
|
105
|
+
return __generator(this, function (_a) {
|
|
105
106
|
errorMessages = Object.values(message);
|
|
106
107
|
if (errorMessages.length > 0) {
|
|
107
|
-
(
|
|
108
|
-
severity: severity,
|
|
109
|
-
summary: ERROR_MESSAGES.SEND_REPORT,
|
|
110
|
-
life: 3000,
|
|
111
|
-
//@ts-ignore
|
|
112
|
-
content: function (props) { return (_jsx("div", { className: "flex flex-column align-items-left", style: { flex: "1" }, children: errorMessages.map(function (m, index) { return (_jsx("div", { className: "flex align-items-center gap-2", children: _jsx("span", { className: "font-bold text-900", children: String(m) }) }, index)); }) })); },
|
|
113
|
-
});
|
|
108
|
+
dispatch(showToast({ severity: severity, summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));
|
|
114
109
|
}
|
|
115
110
|
return [2 /*return*/];
|
|
116
111
|
});
|
|
@@ -127,14 +122,8 @@ var FieldMetaData = function (_a) {
|
|
|
127
122
|
_jsx(Button, { label: "Add",
|
|
128
123
|
// icon="pi pi-external-link"
|
|
129
124
|
onClick: function () {
|
|
130
|
-
var _a;
|
|
131
125
|
if (!(modelMetaData === null || modelMetaData === void 0 ? void 0 : modelMetaData.dataSourceType)) {
|
|
132
|
-
(
|
|
133
|
-
severity: 'error',
|
|
134
|
-
summary: ERROR_MESSAGES.ERROR,
|
|
135
|
-
detail: ERROR_MESSAGES.ORM_TYPE_REQUIRED,
|
|
136
|
-
sticky: true,
|
|
137
|
-
});
|
|
126
|
+
dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.ORM_TYPE_REQUIRED }));
|
|
138
127
|
}
|
|
139
128
|
else {
|
|
140
129
|
setSelectedFieldMetaData(null);
|