@solidstarters/solid-core-ui 1.1.17 → 1.1.18
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/common/SingleSelectAutoCompleteField.d.ts.map +1 -1
- package/dist/components/common/SingleSelectAutoCompleteField.js +3 -1
- package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +3 -3
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.js +9 -7
- package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDateField.js +7 -5
- package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDateTimeField.js +7 -5
- package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.js +9 -7
- package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.js +9 -7
- package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.js +6 -4
- package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.js +8 -6
- package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +18 -16
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +19 -17
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.js +9 -7
- package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js +10 -8
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.js +10 -8
- package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
- package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidShortTextField.js +8 -6
- package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidTimeField.js +7 -5
- package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +15 -11
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts +1 -0
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +66 -7
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +12 -10
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +42 -34
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +9 -2
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js +10 -3
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +54 -1
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -1
- package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js +118 -51
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/module/CreateModule.js +2 -1
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/redux/api/modelApi.d.ts +2 -1
- package/dist/redux/api/modelApi.d.ts.map +1 -1
- package/dist/redux/api/modelApi.js +9 -2
- package/dist/redux/api/modelApi.js.map +1 -1
- package/package.json +1 -1
- package/src/components/common/SingleSelectAutoCompleteField.tsx +3 -1
- package/src/components/core/common/SolidGlobalSearchElement.tsx +3 -3
- package/src/components/core/form/fields/SolidBooleanField.tsx +6 -3
- package/src/components/core/form/fields/SolidDateField.tsx +6 -3
- package/src/components/core/form/fields/SolidDateTimeField.tsx +6 -3
- package/src/components/core/form/fields/SolidDecimalField.tsx +6 -3
- package/src/components/core/form/fields/SolidIntegerField.tsx +6 -3
- package/src/components/core/form/fields/SolidJsonField.tsx +6 -3
- package/src/components/core/form/fields/SolidLongTextField.tsx +6 -3
- package/src/components/core/form/fields/SolidMediaMultipleField.tsx +6 -3
- package/src/components/core/form/fields/SolidMediaSingleField.tsx +6 -3
- package/src/components/core/form/fields/SolidRichTextField.tsx +7 -3
- package/src/components/core/form/fields/SolidSelectionDynamicField.tsx +6 -3
- package/src/components/core/form/fields/SolidSelectionStaticField.tsx +6 -3
- package/src/components/core/form/fields/SolidShortTextField.tsx +8 -4
- package/src/components/core/form/fields/SolidTimeField.tsx +7 -4
- package/src/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +29 -25
- package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +92 -2
- package/src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +5 -1
- package/src/components/core/list/SolidListView.tsx +12 -3
- package/src/components/core/list/columns/SolidMediaMultipleColumn.tsx +18 -0
- package/src/components/core/list/columns/SolidMediaSingleColumn.tsx +21 -0
- package/src/components/core/model/FieldMetaData.tsx +25 -1
- package/src/components/core/model/FieldMetaDataForm.tsx +108 -18
- package/src/components/core/module/CreateModule.tsx +1 -1
- package/src/redux/api/modelApi.ts +9 -2
|
@@ -8,16 +8,37 @@ import { FilterMatchMode } from 'primereact/api';
|
|
|
8
8
|
|
|
9
9
|
const SolidMediaSingleColumn = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => {
|
|
10
10
|
// const filterable = column.attrs.filterable;
|
|
11
|
+
|
|
11
12
|
const filterable = false;
|
|
12
13
|
const showFilterOperator = false;
|
|
13
14
|
const columnDataType = undefined;
|
|
14
15
|
const header = column.attrs.label ?? fieldMetadata.displayName;
|
|
15
16
|
|
|
17
|
+
const imageBodyTemplate = (product: any) => {
|
|
18
|
+
if (!product?._media?.[fieldMetadata.name]) return null;
|
|
19
|
+
|
|
20
|
+
const imageUrls = product._media[fieldMetadata.name].map((i: any) => i._full_url);
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<>
|
|
24
|
+
{imageUrls.map((url: string, index: number) => (
|
|
25
|
+
<img
|
|
26
|
+
key={index}
|
|
27
|
+
src={url}
|
|
28
|
+
alt={`product-image-${index}`}
|
|
29
|
+
className="w-6rem shadow-2 border-round"
|
|
30
|
+
/>
|
|
31
|
+
))}
|
|
32
|
+
</>
|
|
33
|
+
);
|
|
34
|
+
};
|
|
35
|
+
|
|
16
36
|
return (
|
|
17
37
|
<Column
|
|
18
38
|
key={fieldMetadata.name}
|
|
19
39
|
field={fieldMetadata.name}
|
|
20
40
|
header={header}
|
|
41
|
+
body={imageBodyTemplate}
|
|
21
42
|
// className="text-sm"
|
|
22
43
|
sortable={column.attrs.sortable}
|
|
23
44
|
// filter={filterable}
|
|
@@ -74,6 +74,30 @@ const FieldMetaData = ({ modelMetaData, fieldMetaData, setFieldMetaData, deleteM
|
|
|
74
74
|
)
|
|
75
75
|
};
|
|
76
76
|
|
|
77
|
+
const showToaster = async (message: any, severity: any) => {
|
|
78
|
+
const errorMessages = Object.values(message);
|
|
79
|
+
if (errorMessages.length > 0) {
|
|
80
|
+
toast?.current?.show({
|
|
81
|
+
severity: severity,
|
|
82
|
+
summary: "Can you send me the report?",
|
|
83
|
+
life: 3000,
|
|
84
|
+
//@ts-ignore
|
|
85
|
+
content: (props) => (
|
|
86
|
+
<div
|
|
87
|
+
className="flex flex-column align-items-left"
|
|
88
|
+
style={{ flex: "1" }}
|
|
89
|
+
>
|
|
90
|
+
{errorMessages.map((m, index) => (
|
|
91
|
+
<div className="flex align-items-center gap-2" key={index}>
|
|
92
|
+
<span className="font-bold text-900">{String(m)}</span>
|
|
93
|
+
</div>
|
|
94
|
+
))}
|
|
95
|
+
</div>
|
|
96
|
+
),
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
77
101
|
|
|
78
102
|
|
|
79
103
|
return (
|
|
@@ -132,7 +156,7 @@ const FieldMetaData = ({ modelMetaData, fieldMetaData, setFieldMetaData, deleteM
|
|
|
132
156
|
}}
|
|
133
157
|
showHeader={false}
|
|
134
158
|
>
|
|
135
|
-
<FieldMetaDataForm modelMetaData={modelMetaData} fieldMetaData={selectedFieldMetaData} allFields={fieldMetaData} setFieldMetaData={setFieldMetaData} deleteModelFunction={deleteModelFunction} setVisiblePopup={setVisiblePopup} formikFieldsMetadataRef={formikFieldsMetadataRef} params={params} setIsRequiredPopUp={setIsRequiredPopUp}></FieldMetaDataForm>
|
|
159
|
+
<FieldMetaDataForm modelMetaData={modelMetaData} fieldMetaData={selectedFieldMetaData} allFields={fieldMetaData} setFieldMetaData={setFieldMetaData} deleteModelFunction={deleteModelFunction} setVisiblePopup={setVisiblePopup} formikFieldsMetadataRef={formikFieldsMetadataRef} params={params} setIsRequiredPopUp={setIsRequiredPopUp} showToaster={showToaster}></FieldMetaDataForm>
|
|
136
160
|
</Dialog>
|
|
137
161
|
<Dialog
|
|
138
162
|
visible={isRequiredPopUp}
|
|
@@ -4,7 +4,7 @@ import { SingleSelectAutoCompleteField } from "@/components/common/SingleSelectA
|
|
|
4
4
|
import { getSingularAndPlural } from "@/helpers/helpers";
|
|
5
5
|
import { useGetFieldDefaultMetaDataQuery } from "@/redux/api/fieldApi";
|
|
6
6
|
import { useLazyGetMediaStorageProvidersQuery } from "@/redux/api/mediaStorageProviderApi";
|
|
7
|
-
import { useLazyGetModelsQuery } from "@/redux/api/modelApi";
|
|
7
|
+
import { useLazyGetModelsQuery, useUpdateUserKeyMutation } from "@/redux/api/modelApi";
|
|
8
8
|
import { useLazyGetmodulesQuery } from "@/redux/api/moduleApi";
|
|
9
9
|
import { useFormik } from "formik";
|
|
10
10
|
import { capitalize } from "lodash";
|
|
@@ -506,7 +506,7 @@ const createValidationSchema = (currentFields: any, selectedType: any, allFields
|
|
|
506
506
|
return Yup.object(schema);
|
|
507
507
|
};
|
|
508
508
|
|
|
509
|
-
const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, allFields, deleteModelFunction, setVisiblePopup, params, setIsRequiredPopUp }: any) => {
|
|
509
|
+
const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, allFields, deleteModelFunction, setVisiblePopup, params, setIsRequiredPopUp, showToaster }: any) => {
|
|
510
510
|
|
|
511
511
|
const booleanOptions = ["false", "true"];
|
|
512
512
|
const [isBackPopupVisible, setIsBackPopupVisible] = useState(false);
|
|
@@ -523,6 +523,10 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
523
523
|
const [triggerGetMediaStorageProvider, { data: MediaStorageProviderData, isFetching: isMediaStorageProviderFetching, error: MediaStorageProviderError }] = useLazyGetMediaStorageProvidersQuery();
|
|
524
524
|
const [triggerGetModules, { data: moduleData, isFetching: isModuleFetching, error: moduleError }] = useLazyGetmodulesQuery();
|
|
525
525
|
const [triggerGetModels, { data: modelData, isFetching: ismodelFetching, error: modelError }] = useLazyGetModelsQuery();
|
|
526
|
+
const [
|
|
527
|
+
updateUserKey,
|
|
528
|
+
{ isLoading: isUpdateUserKeyLoading, isSuccess: isUpdateUserKeySuccess, isError: isUpdateUserKeyError, error: UpdateUserKeyError, data: newModel },
|
|
529
|
+
] = useUpdateUserKeyMutation();
|
|
526
530
|
|
|
527
531
|
|
|
528
532
|
const [markdownText, setMarkdownText] = useState<string>();
|
|
@@ -543,7 +547,8 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
543
547
|
const [ormTypeOptions, setOrmTypeOptions] = useState([]);
|
|
544
548
|
const [selectedOrmType, setSelectedOrmType] = useState<any>(fieldMetaData?.ormType);
|
|
545
549
|
|
|
546
|
-
|
|
550
|
+
const [isUserKeyFields, setUserKeyFields] = useState(false);
|
|
551
|
+
const [userKeyData, setUserKeyData] = useState([]);
|
|
547
552
|
|
|
548
553
|
const [
|
|
549
554
|
filteredExternalIdProvider,
|
|
@@ -734,7 +739,9 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
734
739
|
}
|
|
735
740
|
};
|
|
736
741
|
|
|
737
|
-
|
|
742
|
+
const searchUserKeyField = () => {
|
|
743
|
+
return userKeyData;
|
|
744
|
+
}
|
|
738
745
|
|
|
739
746
|
const searchComputedFieldValueType = async (event: any) => {
|
|
740
747
|
const query = event.query;
|
|
@@ -904,7 +911,8 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
904
911
|
isUserKey: fieldMetaData ? fieldMetaData?.isUserKey : false,
|
|
905
912
|
relationJoinColumnName: fieldMetaData ? fieldMetaData?.relationJoinColumnName : null,
|
|
906
913
|
joinColumnName: fieldMetaData ? fieldMetaData?.joinColumnName : null,
|
|
907
|
-
relationJoinTableName: fieldMetaData ? fieldMetaData?.relationJoinTableName : null
|
|
914
|
+
relationJoinTableName: fieldMetaData ? fieldMetaData?.relationJoinTableName : null,
|
|
915
|
+
userKey: fieldMetaData ? fieldMetaData?.userKey : null
|
|
908
916
|
};
|
|
909
917
|
|
|
910
918
|
|
|
@@ -914,7 +922,6 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
914
922
|
enableReinitialize: true,
|
|
915
923
|
onSubmit: async (values) => {
|
|
916
924
|
try {
|
|
917
|
-
|
|
918
925
|
setFieldMetaData((prevItems: any) => {
|
|
919
926
|
const newFieldData = { ...values, isSystem: values.isSystem == true ? true : '' }
|
|
920
927
|
const formtatedFieldPayload = fieldBasedPayloadFormating(newFieldData, currentFields, fieldMetaData);
|
|
@@ -931,6 +938,13 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
931
938
|
return [...prevItems, formtatedFieldPayload]
|
|
932
939
|
}
|
|
933
940
|
});
|
|
941
|
+
if (values.userKey) {
|
|
942
|
+
const data = {
|
|
943
|
+
modelName: values.relationModelSingularName,
|
|
944
|
+
fieldName: values.userKey
|
|
945
|
+
}
|
|
946
|
+
updateUserKey(data);
|
|
947
|
+
}
|
|
934
948
|
// nextTab()
|
|
935
949
|
setVisiblePopup(false);
|
|
936
950
|
|
|
@@ -972,7 +986,13 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
972
986
|
}
|
|
973
987
|
};
|
|
974
988
|
|
|
975
|
-
|
|
989
|
+
useEffect(() => {
|
|
990
|
+
if (isUpdateUserKeySuccess) {
|
|
991
|
+
showToaster([newModel?.data?.message], "success");
|
|
992
|
+
} if (isUpdateUserKeyError) {
|
|
993
|
+
showToaster(UpdateUserKeyError, 'error')
|
|
994
|
+
}
|
|
995
|
+
}, [isUpdateUserKeySuccess, isUpdateUserKeyError])
|
|
976
996
|
|
|
977
997
|
const handleTypeSelect = (e: any, label: string) => {
|
|
978
998
|
|
|
@@ -1012,6 +1032,40 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
1012
1032
|
}
|
|
1013
1033
|
}, [fieldMetaData])
|
|
1014
1034
|
|
|
1035
|
+
useEffect(() => {
|
|
1036
|
+
const fetchFields = async () => {
|
|
1037
|
+
const queryData: any = {
|
|
1038
|
+
limit: 10,
|
|
1039
|
+
offset: 0,
|
|
1040
|
+
filters: {
|
|
1041
|
+
singularName: {
|
|
1042
|
+
$eq: formik.values.relationModelSingularName
|
|
1043
|
+
}
|
|
1044
|
+
},
|
|
1045
|
+
populate: ['fields']
|
|
1046
|
+
};
|
|
1047
|
+
const queryString = qs.stringify(queryData, {
|
|
1048
|
+
encodeValuesOnly: true,
|
|
1049
|
+
});
|
|
1050
|
+
|
|
1051
|
+
const result = await triggerGetModels(queryString).unwrap();
|
|
1052
|
+
|
|
1053
|
+
if (result && result.records) {
|
|
1054
|
+
if (!result?.records[0]?.userKeyField) {
|
|
1055
|
+
setUserKeyFields(true);
|
|
1056
|
+
const fieldsWithUnique = result?.records[0]?.fields?.filter((field: any) => field?.unique === true);
|
|
1057
|
+
setUserKeyData(fieldsWithUnique)
|
|
1058
|
+
} else {
|
|
1059
|
+
setUserKeyFields(false);
|
|
1060
|
+
setUserKeyData([]);
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
if (formik.values.relationModelSingularName) {
|
|
1065
|
+
fetchFields();
|
|
1066
|
+
}
|
|
1067
|
+
}, [formik.values.relationModelSingularName])
|
|
1068
|
+
|
|
1015
1069
|
const updateEnumValues = (index: number, updatedString: string) => {
|
|
1016
1070
|
const updatedValues = formik.values.selectionStaticValues.map((enumValue: string, i: number) =>
|
|
1017
1071
|
i === index ? updatedString : enumValue
|
|
@@ -1826,6 +1880,39 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
1826
1880
|
</div>
|
|
1827
1881
|
)}
|
|
1828
1882
|
|
|
1883
|
+
{isUserKeyFields && (
|
|
1884
|
+
<div className="field col-6 flex-flex-column gap-2">
|
|
1885
|
+
<label
|
|
1886
|
+
htmlFor="userKey"
|
|
1887
|
+
className="form-field-label"
|
|
1888
|
+
>
|
|
1889
|
+
Set User Key
|
|
1890
|
+
</label>
|
|
1891
|
+
|
|
1892
|
+
|
|
1893
|
+
<SingleSelectAutoCompleteField
|
|
1894
|
+
key="userKey"
|
|
1895
|
+
formik={formik}
|
|
1896
|
+
isFormFieldValid={isFormFieldValid}
|
|
1897
|
+
fieldName="userKey"
|
|
1898
|
+
fieldNameId="userKey"
|
|
1899
|
+
labelKey="displayName"
|
|
1900
|
+
valueKey="name"
|
|
1901
|
+
searchData={searchUserKeyField}
|
|
1902
|
+
existingData={formik.values.userKey}
|
|
1903
|
+
/>
|
|
1904
|
+
{isFormFieldValid(
|
|
1905
|
+
formik,
|
|
1906
|
+
"userKey"
|
|
1907
|
+
) && (
|
|
1908
|
+
<Message
|
|
1909
|
+
severity="error"
|
|
1910
|
+
text={formik?.errors?.userKey?.toString()}
|
|
1911
|
+
/>
|
|
1912
|
+
)}
|
|
1913
|
+
</div>
|
|
1914
|
+
)}
|
|
1915
|
+
|
|
1829
1916
|
{currentFields.includes("relationCreateInverse") && formik.values.relationType === "many-to-many" && (
|
|
1830
1917
|
<div className="field col-6 flex flex-column gap-2 mt-3">
|
|
1831
1918
|
<label htmlFor="relationCreateInverse" className="form-field-label">
|
|
@@ -1838,7 +1925,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
1838
1925
|
checked={Boolean(formik.values.relationCreateInverse)}
|
|
1839
1926
|
onChange={(e) => formik.setFieldValue("relationCreateInverse", e.checked)}
|
|
1840
1927
|
/>
|
|
1841
|
-
<label htmlFor="relationCreateInverse" className="ml-2">
|
|
1928
|
+
<label htmlFor="relationCreateInverse" className="ml-2">Create Inverse</label>
|
|
1842
1929
|
</div>
|
|
1843
1930
|
{isFormFieldValid(formik, "relationCreateInverse") && (
|
|
1844
1931
|
<Message severity="error" text={formik?.errors?.relationCreateInverse?.toString()} />
|
|
@@ -2045,7 +2132,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2045
2132
|
e.value
|
|
2046
2133
|
)
|
|
2047
2134
|
}
|
|
2048
|
-
placeholder="Select
|
|
2135
|
+
placeholder="Select Value Type"
|
|
2049
2136
|
className={classNames("", {
|
|
2050
2137
|
"p-invalid": isFormFieldValid(
|
|
2051
2138
|
formik,
|
|
@@ -2346,7 +2433,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2346
2433
|
|
|
2347
2434
|
</div>
|
|
2348
2435
|
)}
|
|
2349
|
-
{(currentFields.includes("regexPattern") || currentFields.includes("min") || currentFields.includes("max") || currentFields.includes("ormType")) && ormTypeOptions &&
|
|
2436
|
+
{(currentFields.includes("regexPattern") || currentFields.includes("min") || currentFields.includes("max") || currentFields.includes("ormType")) && ormTypeOptions && selectedType.value !== 'relation' &&
|
|
2350
2437
|
<>
|
|
2351
2438
|
<p className="form-wrapper-heading text-base">Validations</p>
|
|
2352
2439
|
<div className="formgrid grid">
|
|
@@ -2439,7 +2526,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2439
2526
|
{currentFields.includes("min") && (
|
|
2440
2527
|
<div className="field col-6 flex-flex-column gap-2 mt-3">
|
|
2441
2528
|
<label htmlFor="min" className="form-field-label">
|
|
2442
|
-
Min (Characters Allowed)
|
|
2529
|
+
Min {(selectedType.value !== "int" && selectedType.value !== "decimal") && `(Characters Allowed)`}
|
|
2443
2530
|
|
|
2444
2531
|
</label>
|
|
2445
2532
|
{/* <InputText
|
|
@@ -2472,6 +2559,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2472
2559
|
"min"
|
|
2473
2560
|
),
|
|
2474
2561
|
})}
|
|
2562
|
+
disabled={fieldMetaData?.id}
|
|
2475
2563
|
/>
|
|
2476
2564
|
}
|
|
2477
2565
|
|
|
@@ -2486,7 +2574,8 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2486
2574
|
{currentFields.includes("max") && (
|
|
2487
2575
|
<div className="field col-6 flex-flex-column gap-2 mt-3">
|
|
2488
2576
|
<label htmlFor="max" className="form-field-label">
|
|
2489
|
-
Max (
|
|
2577
|
+
Max {(selectedType.value !== "int" &&
|
|
2578
|
+
selectedType.value !== "decimal") && `(Characters allowed)`}
|
|
2490
2579
|
</label>
|
|
2491
2580
|
{/* <InputText
|
|
2492
2581
|
type="text"
|
|
@@ -2517,6 +2606,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2517
2606
|
"max"
|
|
2518
2607
|
),
|
|
2519
2608
|
})}
|
|
2609
|
+
disabled={fieldMetaData?.id}
|
|
2520
2610
|
/>
|
|
2521
2611
|
}
|
|
2522
2612
|
|
|
@@ -2586,7 +2676,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2586
2676
|
|
|
2587
2677
|
<p className="form-wrapper-heading text-base">Settings</p>
|
|
2588
2678
|
<div className="formgrid grid">
|
|
2589
|
-
{currentFields.includes("required") && (
|
|
2679
|
+
{currentFields.includes("required") && selectedType.value !== 'relation' && (
|
|
2590
2680
|
<div className="field col-6 flex-flex-column gap-2 mt-3">
|
|
2591
2681
|
<div className="flex align-items-center">
|
|
2592
2682
|
<Checkbox
|
|
@@ -2610,7 +2700,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2610
2700
|
)}
|
|
2611
2701
|
</div>
|
|
2612
2702
|
)}
|
|
2613
|
-
{currentFields.includes("unique") && (
|
|
2703
|
+
{currentFields.includes("unique") && selectedType.value !== 'relation' && (
|
|
2614
2704
|
<div className="field col-6 flex-flex-column gap-2">
|
|
2615
2705
|
<div className="flex align-items-center">
|
|
2616
2706
|
<Checkbox
|
|
@@ -2634,7 +2724,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2634
2724
|
)}
|
|
2635
2725
|
</div>
|
|
2636
2726
|
)}
|
|
2637
|
-
{currentFields.includes("index") && (
|
|
2727
|
+
{currentFields.includes("index") && selectedType.value !== 'relation' && (
|
|
2638
2728
|
<div className="field col-6 flex-flex-column gap-2 mt-3">
|
|
2639
2729
|
<div className="flex align-items-center">
|
|
2640
2730
|
<Checkbox
|
|
@@ -2656,7 +2746,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2656
2746
|
)}
|
|
2657
2747
|
</div>
|
|
2658
2748
|
)}
|
|
2659
|
-
{currentFields.includes("private") && (
|
|
2749
|
+
{currentFields.includes("private") && selectedType.value !== 'relation' && (
|
|
2660
2750
|
<div className="field col-6 flex-flex-column gap-2 mt-3">
|
|
2661
2751
|
<div className="flex align-items-center">
|
|
2662
2752
|
<Checkbox
|
|
@@ -2681,7 +2771,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2681
2771
|
)}
|
|
2682
2772
|
</div>
|
|
2683
2773
|
)}
|
|
2684
|
-
{currentFields.includes("encrypt") && (
|
|
2774
|
+
{currentFields.includes("encrypt") && selectedType.value !== 'relation' && (
|
|
2685
2775
|
<div className="field col-6 flex-flex-column gap-2 mt-3">
|
|
2686
2776
|
<div className="flex align-items-center gap-2">
|
|
2687
2777
|
<Checkbox
|
|
@@ -2742,7 +2832,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
|
|
|
2742
2832
|
Is Userkey
|
|
2743
2833
|
</label>
|
|
2744
2834
|
</div>
|
|
2745
|
-
<p className="fieldSubTitle">
|
|
2835
|
+
<p className="fieldSubTitle">By selecting this option, you are setting this field as the model's user key. Any existing user key configuration will be overwritten</p>
|
|
2746
2836
|
|
|
2747
2837
|
{isFormFieldValid(formik, "isUserKey") && (
|
|
2748
2838
|
<Message
|
|
@@ -208,7 +208,7 @@ const CreateModule = ({ data }: any) => {
|
|
|
208
208
|
if (data) {
|
|
209
209
|
setmenuIconPreview(`${process.env.API_URL}/${data.menuIconUrl}`);
|
|
210
210
|
|
|
211
|
-
const fileName = data
|
|
211
|
+
const fileName = data?.menuIconUrl?.split("/").pop(); // Extract filename from URL
|
|
212
212
|
setFileDetails({ name: fileName || "Unknown File", type: "Uploaded File" });
|
|
213
213
|
|
|
214
214
|
// Set the upload progress to 100% since the file is already uploaded
|
|
@@ -7,7 +7,7 @@ export const modelsApi = createApi({
|
|
|
7
7
|
endpoints: (builder) => ({
|
|
8
8
|
getModels: builder.query({
|
|
9
9
|
query: (qs) => {
|
|
10
|
-
return `/model-metadata
|
|
10
|
+
return `/model-metadata?&populate[1]=userKeyField&${qs}`
|
|
11
11
|
},
|
|
12
12
|
transformResponse: (response: any) => {
|
|
13
13
|
if (response.error) {
|
|
@@ -64,7 +64,14 @@ export const modelsApi = createApi({
|
|
|
64
64
|
method: 'DELETE',
|
|
65
65
|
}),
|
|
66
66
|
}),
|
|
67
|
+
updateUserKey: builder.mutation({
|
|
68
|
+
query: (data) => ({
|
|
69
|
+
url: `/model-metadata/update-user-key`,
|
|
70
|
+
method: 'POST',
|
|
71
|
+
body: data,
|
|
72
|
+
}),
|
|
73
|
+
}),
|
|
67
74
|
})
|
|
68
75
|
})
|
|
69
76
|
|
|
70
|
-
export const { useGetModelsQuery,useLazyGetModelsQuery, useLazyGetmodelByIdQuery, useGetmodelByIdQuery, useCreatemodelMutation,useGenerateCodeForModelMutation,useUpdatemodelMutation, useDeleteMultipleModelsMutation ,useDeletemodelMutation } = modelsApi
|
|
77
|
+
export const { useGetModelsQuery,useLazyGetModelsQuery, useLazyGetmodelByIdQuery, useGetmodelByIdQuery, useCreatemodelMutation,useGenerateCodeForModelMutation,useUpdatemodelMutation, useDeleteMultipleModelsMutation ,useDeletemodelMutation, useUpdateUserKeyMutation } = modelsApi
|