@solidstarters/solid-core-ui 1.1.8 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -1
  2. package/dist/components/core/common/LoadDynamicJsxComponent.js +42 -62
  3. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -1
  4. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
  5. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +24 -4
  6. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  7. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts +2 -1
  8. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
  9. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +10 -8
  10. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  11. package/dist/components/core/filter/fields/SolidIntField.js +2 -2
  12. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  13. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  14. package/dist/components/core/model/CreateModel.js +1 -1
  15. package/dist/components/core/model/CreateModel.js.map +1 -1
  16. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  17. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  18. package/dist/components/core/model/FieldMetaData.js +5 -4
  19. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  20. package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -1
  21. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  22. package/dist/components/core/model/FieldMetaDataForm.js +18 -15
  23. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +1 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/redux/api/testApi.d.ts +5 -0
  29. package/dist/redux/api/testApi.d.ts.map +1 -0
  30. package/dist/redux/api/testApi.js +19 -0
  31. package/dist/redux/api/testApi.js.map +1 -0
  32. package/package.json +1 -1
  33. package/src/components/core/common/LoadDynamicJsxComponent.tsx +49 -25
  34. package/src/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +14 -2
  35. package/src/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +5 -4
  36. package/src/components/core/filter/fields/SolidIntField.tsx +2 -2
  37. package/src/components/core/model/CreateModel.tsx +1 -0
  38. package/src/components/core/model/FieldMetaData.tsx +22 -3
  39. package/src/components/core/model/FieldMetaDataForm.tsx +18 -15
  40. package/src/index.ts +1 -0
  41. package/src/redux/api/testApi.ts +21 -0
@@ -3,15 +3,15 @@ import { useGenerateCodeFormoduleMutation } from "@/redux/api/moduleApi";
3
3
  import { Button } from "primereact/button";
4
4
 
5
5
 
6
- export const GenerateModuleCodeRowAction = ({ context, closeCustomRowActionPopup }: any) => {
6
+ const GenerateModuleCodeRowAction = ({ context }: any) => {
7
7
  const [
8
8
  generateCode,
9
9
  { isLoading: isGenerateCodeUpdating, isSuccess: isGenerateCodeSuceess, isError: isGenerateCodeError, error: generateCodeError, data: generateCodeData },
10
10
  ] = useGenerateCodeFormoduleMutation();
11
11
 
12
12
  const generateCodeHandler = async () => {
13
- const response = await generateCode({ id: context.rowData.id })
14
- closeCustomRowActionPopup()
13
+ const response = await generateCode({ id: context?.rowData?.id })
14
+ context.closeListViewRowActionPopup();
15
15
 
16
16
  }
17
17
 
@@ -20,9 +20,10 @@ export const GenerateModuleCodeRowAction = ({ context, closeCustomRowActionPopup
20
20
  <p className="text-center">Click Ok to proceed with module code generation, please note that if the file already exists and <br></br>you have made custom changes to this file we will create a .bkp file as a backup of the existing file.</p>
21
21
  <div className="flex gap-5 justify-content-center">
22
22
  <Button label="Ok" icon="pi pi-check" className='small-button' severity="danger" autoFocus onClick={generateCodeHandler} />
23
- <Button label="Cancel" icon="pi pi-times" className='small-button' onClick={closeCustomRowActionPopup} />
23
+ <Button label="Cancel" icon="pi pi-times" className='small-button' onClick={() => context.closeListViewRowActionPopup()} />
24
24
  </div>
25
25
  </div >
26
26
  )
27
27
  }
28
28
 
29
+ export default GenerateModuleCodeRowAction;
@@ -6,8 +6,8 @@ import { InputTypes, SolidVarInputsFilterElement } from '../SolidVarInputsFilter
6
6
  const SolidIntField = ({ fieldMetadata, onChange, index, rule }: SolidFilterFieldsParams) => {
7
7
  // const filterable = column.attrs.filterable;
8
8
  const filterMatchModeOptions = [
9
- { label: 'Equals', value: "$eqi" },
10
- { label: 'Not Equals', value: "$nei" },
9
+ { label: 'Equals', value: "$eq" },
10
+ { label: 'Not Equals', value: "$ne" },
11
11
  { label: 'Less Than', value: "$lt" },
12
12
  { label: 'Less Than Or Equal', value: "$lte" },
13
13
  { label: 'Greater Than', value: "$gt" },
@@ -342,6 +342,7 @@ const CreateModel = ({ data, params }: any) => {
342
342
  deleteModelFunction={deleteModelFunction}
343
343
  nextTab={nextTab}
344
344
  formikFieldsMetadataRef={formikFieldsMetadataRef}
345
+ params={params}
345
346
  ></FieldMetaData>
346
347
  </TabPanel>
347
348
  </TabView>
@@ -11,7 +11,7 @@ import { useRef, useState } from "react";
11
11
  import FieldMetaDataForm from "./FieldMetaDataForm";
12
12
 
13
13
 
14
- const FieldMetaData = ({ modelMetaData, fieldMetaData, setFieldMetaData, deleteModelFunction, nextTab, formikFieldsMetadataRef }: any) => {
14
+ const FieldMetaData = ({ modelMetaData, fieldMetaData, setFieldMetaData, deleteModelFunction, nextTab, formikFieldsMetadataRef, params }: any) => {
15
15
  const pathname = usePathname();
16
16
  const msgs = useRef<Messages>(null);
17
17
 
@@ -29,6 +29,7 @@ const FieldMetaData = ({ modelMetaData, fieldMetaData, setFieldMetaData, deleteM
29
29
  });
30
30
  const toast = useRef<Toast>(null);
31
31
  const [visiblePopup, setVisiblePopup] = useState(false);
32
+ const [isRequiredPopUp, setIsRequiredPopUp] = useState(false);
32
33
  const [currentPopup, setCurrentPopup] = useState();
33
34
  const [selectedFieldMetaData, setSelectedFieldMetaData] = useState(null);
34
35
  const onRowSelect = (event: any) => {
@@ -130,9 +131,27 @@ const FieldMetaData = ({ modelMetaData, fieldMetaData, setFieldMetaData, deleteM
130
131
  }}
131
132
  showHeader={false}
132
133
  >
133
- <FieldMetaDataForm modelMetaData={modelMetaData} fieldMetaData={selectedFieldMetaData} allFields={fieldMetaData} setFieldMetaData={setFieldMetaData} deleteModelFunction={deleteModelFunction} setVisiblePopup={setVisiblePopup} formikFieldsMetadataRef={formikFieldsMetadataRef} ></FieldMetaDataForm>
134
+ <FieldMetaDataForm modelMetaData={modelMetaData} fieldMetaData={selectedFieldMetaData} allFields={fieldMetaData} setFieldMetaData={setFieldMetaData} deleteModelFunction={deleteModelFunction} setVisiblePopup={setVisiblePopup} formikFieldsMetadataRef={formikFieldsMetadataRef} params={params} setIsRequiredPopUp={setIsRequiredPopUp}></FieldMetaDataForm>
135
+ </Dialog>
136
+ <Dialog
137
+ visible={isRequiredPopUp}
138
+ header={(
139
+ <div className="flex align-items-center">
140
+ <i className="pi pi-exclamation-triangle text-yellow-500 text-xl mr-2"></i>
141
+ <span>Warning</span>
142
+ </div>
143
+ )}
144
+ headerClassName="text-center"
145
+ modal
146
+ footer={() => (
147
+ <div className="flex justify-content-center">
148
+ <Button label="Ok" className='small-button' onClick={() => setIsRequiredPopUp(false)} />
149
+ </div>
150
+ )}
151
+ onHide={() => setIsRequiredPopUp(false)}
152
+ >
153
+ <p>If there is data against this model this operation might not work and manual intervention will be required</p>
134
154
  </Dialog>
135
-
136
155
  </div >
137
156
  }
138
157
  </>
@@ -323,12 +323,12 @@ const createValidationSchema = (currentFields: any, selectedType: any, allFields
323
323
  "Max must be greater than Min",
324
324
  function (value) {
325
325
  const { min } = this.parent; // Access sibling field 'min'
326
- if (min != null && value == null) {
327
- // Trigger error if Min is filled but Max is empty
328
- return this.createError({
329
- message: "Max is required if Min is specified",
330
- });
331
- }
326
+ // if (min != null && value == null) {
327
+ // // Trigger error if Min is filled but Max is empty
328
+ // return this.createError({
329
+ // message: "Max is required if Min is specified",
330
+ // });
331
+ // }
332
332
  return value == null || value > min; // Validate only if Max exists
333
333
  }
334
334
  );
@@ -345,12 +345,12 @@ const createValidationSchema = (currentFields: any, selectedType: any, allFields
345
345
  "Max must be greater than Min",
346
346
  function (value) {
347
347
  const { min } = this.parent; // Access sibling field 'min'
348
- if (min != null && value == null) {
349
- // Trigger error if Min is filled but Max is empty
350
- return this.createError({
351
- message: "Max is required if Min is specified",
352
- });
353
- }
348
+ // if (min != null && value == null) {
349
+ // // Trigger error if Min is filled but Max is empty
350
+ // return this.createError({
351
+ // message: "Max is required if Min is specified",
352
+ // });
353
+ // }
354
354
  return value == null || value > min; // Validate only if Max exists
355
355
  }
356
356
  );
@@ -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 }: any) => {
509
+ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, allFields, deleteModelFunction, setVisiblePopup, params, setIsRequiredPopUp }: any) => {
510
510
 
511
511
  const booleanOptions = ["false", "true"];
512
512
  const [isBackPopupVisible, setIsBackPopupVisible] = useState(false);
@@ -923,6 +923,9 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
923
923
  return updatedItems
924
924
  }
925
925
  else {
926
+ if (params?.id !== 'new' && formtatedFieldPayload?.required && !formtatedFieldPayload?.defaultValue) {
927
+ setIsRequiredPopUp(true);
928
+ }
926
929
  return [...prevItems, formtatedFieldPayload]
927
930
  }
928
931
  });
@@ -1114,7 +1117,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1114
1117
  <div className="p-d-flex p-jc-center creat-field-for form-dem">
1115
1118
  <div className="p-fluid" style={{ position: 'relative' }}>
1116
1119
  <div className="mb-3">
1117
- <div className="form-wrapper-title">Add a new {capitalize(selectedType.value)} Field</div>
1120
+ <div className="form-wrapper-title">{fieldMetaData ? `Edit ${capitalize(selectedType.value)} Field` : `Add a new ${capitalize(selectedType.value)} Field`}</div>
1118
1121
  </div>
1119
1122
 
1120
1123
 
@@ -1416,7 +1419,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1416
1419
  <Calendar
1417
1420
  id="defaultValue"
1418
1421
  name="defaultValue"
1419
- value={formik.values.defaultValue ? new Date(formik.values.defaultValue) : new Date()}
1422
+ value={formik.values.defaultValue ? new Date(formik.values.defaultValue) : null}
1420
1423
  onChange={(e) => formik.setFieldValue("defaultValue", e.value)} // Use setFieldValue for proper handling
1421
1424
  showTime={formik.values.type === "datetime"} // Show time picker for datetime
1422
1425
  timeOnly={formik.values.type === "time"} // Time-only for time
package/src/index.ts CHANGED
@@ -432,6 +432,7 @@ export { mediaStorageProviderApi, useCreateMediaStorageProivderMutation, useDele
432
432
  // export * from '@/redux/api/modelApi';
433
433
  export { modelsApi, useCreatemodelMutation, useDeleteMultipleModelsMutation, useDeletemodelMutation, useGenerateCodeForModelMutation, useGetModelsQuery, useGetmodelByIdQuery, useLazyGetModelsQuery, useLazyGetmodelByIdQuery, useUpdatemodelMutation } from '@/redux/api/modelApi';
434
434
  export { modulesApi, useCreatemoduleMutation, useDeleteMultiplemodulesMutation, useDeletemoduleMutation, useGenerateCodeFormoduleMutation, useGetDefaultDataSourceQuery, useGetmoduleByIdQuery, useGetmodulesQuery, useLazyGetDefaultDataSourceQuery, useLazyGetmoduleByIdQuery, useLazyGetmodulesQuery, useRefreshPermissionsMutation, useUpdatemoduleMutation } from '@/redux/api/moduleApi';
435
+ export { testApi, useSeederMutation } from '@/redux/api/testApi';
435
436
  // export * from '@/redux/api/orderAttributeApi';
436
437
  // export * from '@/redux/api/permissionApi';
437
438
  // export * from '@/redux/api/pincodeApi';
@@ -0,0 +1,21 @@
1
+ import { createApi } from '@reduxjs/toolkit/query/react';
2
+ import { baseQueryWithAuth } from './fetchBaseQuery';
3
+
4
+ export const testApi = createApi({
5
+ reducerPath: 'testApi',
6
+ baseQuery: baseQueryWithAuth,
7
+ endpoints: (builder) => ({
8
+ seeder: builder.mutation({
9
+ query: (name) => ({
10
+ url: '/test/seed',
11
+ method: 'POST',
12
+ body: {
13
+ "seeder": name
14
+ }
15
+ }),
16
+ }),
17
+ })
18
+
19
+ });
20
+
21
+ export const {useSeederMutation} = testApi