@solidstarters/solid-core-ui 1.1.22 → 1.1.23

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 (86) hide show
  1. package/dist/components/common/SolidBreadcrumb.d.ts +2 -10
  2. package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -1
  3. package/dist/components/common/SolidBreadcrumb.js +28 -8
  4. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  5. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  6. package/dist/components/core/common/SolidGlobalSearchElement.js +1 -0
  7. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  8. package/dist/components/core/common/SolidViewLayoutManager.d.ts +13 -0
  9. package/dist/components/core/common/SolidViewLayoutManager.d.ts.map +1 -0
  10. package/dist/components/core/common/SolidViewLayoutManager.js +90 -0
  11. package/dist/components/core/common/SolidViewLayoutManager.js.map +1 -0
  12. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
  13. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +6 -4
  14. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  15. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
  16. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +5 -3
  17. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  18. package/dist/components/core/form/SolidFormLayouts.d.ts.map +1 -1
  19. package/dist/components/core/form/SolidFormLayouts.js +6 -2
  20. package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
  21. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  22. package/dist/components/core/form/SolidFormView.js +110 -46
  23. package/dist/components/core/form/SolidFormView.js.map +1 -1
  24. package/dist/components/core/form/fields/ISolidField.d.ts +2 -1
  25. package/dist/components/core/form/fields/ISolidField.d.ts.map +1 -1
  26. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  27. package/dist/components/core/form/fields/SolidSelectionStaticField.js +3 -1
  28. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  29. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  30. package/dist/components/core/form/fields/SolidShortTextField.js +3 -2
  31. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  32. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -2
  33. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  34. package/dist/components/core/list/SolidListView.js +1 -1
  35. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  36. package/dist/components/core/model/CreateModel.js +3 -9
  37. package/dist/components/core/model/CreateModel.js.map +1 -1
  38. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  39. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  40. package/dist/components/core/model/FieldMetaData.js +2 -2
  41. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  42. package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -1
  43. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  44. package/dist/components/core/model/FieldMetaDataForm.js +17 -9
  45. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  46. package/dist/components/core/model/ModelMetaData.js +5 -5
  47. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  48. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  49. package/dist/components/core/module/CreateModule.js +1 -5
  50. package/dist/components/core/module/CreateModule.js.map +1 -1
  51. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  52. package/dist/components/core/users/CreateUser.js +1 -5
  53. package/dist/components/core/users/CreateUser.js.map +1 -1
  54. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  55. package/dist/components/layout/AppSidebar.js +21 -34
  56. package/dist/components/layout/AppSidebar.js.map +1 -1
  57. package/dist/helpers/registry.js +3 -3
  58. package/dist/helpers/registry.js.map +1 -1
  59. package/dist/index.d.ts +2 -1
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -0
  62. package/dist/index.js.map +1 -1
  63. package/package.json +1 -1
  64. package/src/components/common/SolidBreadcrumb.tsx +38 -14
  65. package/src/components/core/common/SolidGlobalSearchElement.tsx +2 -0
  66. package/src/components/core/common/SolidViewLayoutManager.ts +85 -0
  67. package/src/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +11 -1
  68. package/src/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +16 -7
  69. package/src/components/core/form/SolidFormLayouts.tsx +6 -3
  70. package/src/components/core/form/SolidFormView.tsx +139 -63
  71. package/src/components/core/form/fields/ISolidField.tsx +2 -1
  72. package/src/components/core/form/fields/SolidSelectionStaticField.tsx +2 -1
  73. package/src/components/core/form/fields/SolidShortTextField.tsx +3 -1
  74. package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +6 -6
  75. package/src/components/core/list/SolidListView.tsx +1 -1
  76. package/src/components/core/model/CreateModel.tsx +8 -12
  77. package/src/components/core/model/FieldMetaData.tsx +2 -2
  78. package/src/components/core/model/FieldMetaDataForm.tsx +338 -332
  79. package/src/components/core/model/ModelMetaData.tsx +5 -5
  80. package/src/components/core/module/CreateModule.tsx +1 -6
  81. package/src/components/core/users/CreateUser.tsx +1 -6
  82. package/src/components/layout/AppSidebar.tsx +3 -21
  83. package/src/helpers/registry.ts +3 -3
  84. package/src/index.ts +15 -1
  85. package/src/types/index.d.ts +20 -0
  86. package/src/types/solid-core.d.ts +2 -1
@@ -86,7 +86,7 @@ const SelectionStaticValues = ({ enumValue, onUpdate, onDelete, onAdd }: any) =>
86
86
 
87
87
  return (
88
88
  <div className="flex align-items-center gap-2 mt-2">
89
-
89
+
90
90
  {/* Input field for Value */}
91
91
  <InputText
92
92
  value={value || ""}
@@ -94,7 +94,7 @@ const SelectionStaticValues = ({ enumValue, onUpdate, onDelete, onAdd }: any) =>
94
94
  placeholder="Value"
95
95
  className="w-full"
96
96
  />
97
-
97
+
98
98
  {/* Input field for Display */}
99
99
  <InputText
100
100
  value={display || ""}
@@ -103,7 +103,7 @@ const SelectionStaticValues = ({ enumValue, onUpdate, onDelete, onAdd }: any) =>
103
103
  className="w-full"
104
104
  />
105
105
 
106
-
106
+
107
107
 
108
108
  {/* Plus Button to add a new row */}
109
109
  <Button
@@ -146,7 +146,6 @@ const fieldBasedPayloadFormating = (values: any, currentFields: string[], fieldM
146
146
  // }
147
147
  return acc;
148
148
  }, {});
149
-
150
149
  transformedPayload.displayName = transformedPayload.displayName.trim()
151
150
 
152
151
  transformedPayload.identifier = fieldMetaData ? fieldMetaData.identifier : Date.now();
@@ -167,10 +166,11 @@ const fieldBasedPayloadFormating = (values: any, currentFields: string[], fieldM
167
166
  transformedPayload.computedFieldValueProviderCtxt = prettified
168
167
  }
169
168
  if (currentFields.includes("relationCreateInverse")) {
170
- transformedPayload.relationCreateInverse = values.relationCreateInverse == "false" ? "" : true
169
+ transformedPayload.relationCreateInverse = values.relationCreateInverse == false ? false : true
170
+ }
171
+ if (transformedPayload.relationType == "many-to-one") {
172
+ transformedPayload.relationCascade = values.relationCascade;
171
173
  }
172
-
173
-
174
174
 
175
175
  return transformedPayload
176
176
 
@@ -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, showToaster }: any) => {
509
+ const FieldMetaDataForm = ({ setIsDirty, 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);
@@ -893,7 +893,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
893
893
  mediaEmbedded: fieldMetaData ? (fieldMetaData?.mediaEmbedded && fieldMetaData?.mediaEmbedded.toString()) : "true",
894
894
  relationType: fieldMetaData ? fieldMetaData?.relationType : null,
895
895
  relationCoModelSingularName: fieldMetaData ? fieldMetaData?.relationCoModelSingularName : null,
896
- relationCoModelFieldName: fieldMetaData ? fieldMetaData?.relationCoModelFieldName : modelMetaData.pluralName || '',
896
+ relationCoModelFieldName: fieldMetaData ? fieldMetaData?.relationCoModelFieldName : null,
897
897
  relationCreateInverse: fieldMetaData ? fieldMetaData?.relationCreateInverse : false,
898
898
  relationCascade: fieldMetaData ? fieldMetaData?.relationCascade : 'cascade',
899
899
  relationModelModuleName: fieldMetaData ? fieldMetaData?.relationModelModuleName : modelMetaData?.module.name,
@@ -1046,9 +1046,9 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1046
1046
  const queryString = qs.stringify(queryData, {
1047
1047
  encodeValuesOnly: true,
1048
1048
  });
1049
-
1049
+
1050
1050
  const result = await triggerGetModels(queryString).unwrap();
1051
-
1051
+
1052
1052
  if (result && result.records) {
1053
1053
  if (!result?.records[0]?.userKeyField) {
1054
1054
  setUserKeyFields(true);
@@ -1085,6 +1085,12 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1085
1085
  }
1086
1086
  };
1087
1087
 
1088
+ useEffect(() => {
1089
+ if (formik.dirty) {
1090
+ setIsDirty(true);
1091
+ }
1092
+ }, [formik.dirty]);
1093
+
1088
1094
  return (
1089
1095
  <div>
1090
1096
  <Toast ref={toast} />
@@ -1865,39 +1871,39 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1865
1871
  )}
1866
1872
 
1867
1873
  {isUserKeyFields && (
1868
- <div className="field col-6 flex-flex-column gap-2">
1869
- <label
1870
- htmlFor="userKey"
1871
- className="form-field-label"
1872
- >
1873
- Set User Key
1874
- </label>
1874
+ <div className="field col-6 flex-flex-column gap-2">
1875
+ <label
1876
+ htmlFor="userKey"
1877
+ className="form-field-label"
1878
+ >
1879
+ Set User Key
1880
+ </label>
1875
1881
 
1876
1882
 
1877
- <SingleSelectAutoCompleteField
1878
- key="userKey"
1879
- formik={formik}
1880
- isFormFieldValid={isFormFieldValid}
1881
- fieldName="userKey"
1882
- fieldNameId="userKey"
1883
- labelKey="displayName"
1884
- valueKey="name"
1885
- searchData={searchUserKeyField}
1886
- existingData={formik.values.userKey}
1887
- />
1888
- {isFormFieldValid(
1889
- formik,
1890
- "userKey"
1891
- ) && (
1892
- <Message
1893
- severity="error"
1894
- text={formik?.errors?.userKey?.toString()}
1895
- />
1896
- )}
1897
- </div>
1898
- )}
1883
+ <SingleSelectAutoCompleteField
1884
+ key="userKey"
1885
+ formik={formik}
1886
+ isFormFieldValid={isFormFieldValid}
1887
+ fieldName="userKey"
1888
+ fieldNameId="userKey"
1889
+ labelKey="displayName"
1890
+ valueKey="name"
1891
+ searchData={searchUserKeyField}
1892
+ existingData={formik.values.userKey}
1893
+ />
1894
+ {isFormFieldValid(
1895
+ formik,
1896
+ "userKey"
1897
+ ) && (
1898
+ <Message
1899
+ severity="error"
1900
+ text={formik?.errors?.userKey?.toString()}
1901
+ />
1902
+ )}
1903
+ </div>
1904
+ )}
1899
1905
 
1900
- {currentFields.includes("relationCreateInverse") && (formik.values.relationType === "many-to-many" || formik.values.relationType === "many-to-one")&& (
1906
+ {currentFields.includes("relationCreateInverse") && (formik.values.relationType === "many-to-many" || formik.values.relationType === "many-to-one") && (
1901
1907
  <div className="field col-6 flex flex-column gap-2 mt-3">
1902
1908
  <label htmlFor="relationCreateInverse" className="form-field-label">
1903
1909
  Relation Create Inverse
@@ -1906,7 +1912,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1906
1912
  <Checkbox
1907
1913
  inputId="relationCreateInverse"
1908
1914
  name="relationCreateInverse"
1909
- checked={Boolean(formik.values.relationCreateInverse)}
1915
+ checked={formik.values.relationCreateInverse}
1910
1916
  onChange={(e) => formik.setFieldValue("relationCreateInverse", e.checked)}
1911
1917
  />
1912
1918
  <label htmlFor="relationCreateInverse" className="ml-2">Create Inverse</label>
@@ -1923,7 +1929,7 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1923
1929
  htmlFor="relationCoModelFieldName"
1924
1930
  className="form-field-label"
1925
1931
  >
1926
- Field Name on Inverse Side
1932
+ Relation Co-Model Field Name
1927
1933
  </label>
1928
1934
  <InputText
1929
1935
  type="text"
@@ -1948,93 +1954,93 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
1948
1954
  </div>
1949
1955
  )}
1950
1956
 
1951
- {currentFields.includes("relationJoinTableName") && formik.values.relationType === "many-to-many" && (
1957
+ {/* {currentFields.includes("joinColumnName") && formik.values.relationType === "many-to-many" && (
1952
1958
  <div className="field col-6 flex-flex-column gap-2 mt-3">
1953
1959
  <label
1954
- htmlFor="relationJoinTableName"
1960
+ htmlFor="joinColumnName"
1955
1961
  className="form-field-label"
1956
1962
  >
1957
- Relation Join Table Name
1963
+ Join Column Name
1958
1964
  </label>
1959
1965
  <InputText
1960
1966
  type="text"
1961
- id="relationJoinTableName"
1962
- name="relationJoinTableName"
1967
+ id="joinColumnName"
1968
+ name="joinColumnName"
1963
1969
  onChange={formik.handleChange}
1964
- value={formik.values.relationJoinTableName}
1970
+ value={formik.values.joinColumnName}
1965
1971
  className={classNames("", {
1966
1972
  "p-invalid": isFormFieldValid(
1967
1973
  formik,
1968
- "relationJoinTableName"
1974
+ "joinColumnName"
1969
1975
  ),
1970
1976
  })}
1971
1977
  />
1972
- {isFormFieldValid(formik, "relationJoinTableName") && (
1978
+ {isFormFieldValid(formik, "joinColumnName") && (
1973
1979
  <Message
1974
1980
  severity="error"
1975
- text={formik?.errors?.relationJoinTableName?.toString()}
1981
+ text={formik?.errors?.joinColumnName?.toString()}
1976
1982
  />
1977
1983
  )}
1978
1984
 
1979
1985
  </div>
1980
- )}
1986
+ )} */}
1981
1987
 
1982
- {/* {currentFields.includes("joinColumnName") && formik.values.relationType === "many-to-many" && (
1988
+ {currentFields.includes("relationCoModelColumnName") && formik.values.relationCreateInverse && (formik.values.relationType === "many-to-many" || formik.values.relationType === "many-to-one") && (
1983
1989
  <div className="field col-6 flex-flex-column gap-2 mt-3">
1984
1990
  <label
1985
- htmlFor="joinColumnName"
1991
+ htmlFor="relationCoModelColumnName"
1986
1992
  className="form-field-label"
1987
1993
  >
1988
- Join Column Name
1994
+ Relation Co-Model Column Name
1989
1995
  </label>
1990
1996
  <InputText
1991
1997
  type="text"
1992
- id="joinColumnName"
1993
- name="joinColumnName"
1998
+ id="relationCoModelColumnName"
1999
+ name="relationCoModelColumnName"
1994
2000
  onChange={formik.handleChange}
1995
- value={formik.values.joinColumnName}
2001
+ value={formik.values.relationCoModelColumnName}
1996
2002
  className={classNames("", {
1997
2003
  "p-invalid": isFormFieldValid(
1998
2004
  formik,
1999
- "joinColumnName"
2005
+ "relationCoModelColumnName"
2000
2006
  ),
2001
2007
  })}
2002
2008
  />
2003
- {isFormFieldValid(formik, "joinColumnName") && (
2009
+ {isFormFieldValid(formik, "relationCoModelColumnName") && (
2004
2010
  <Message
2005
2011
  severity="error"
2006
- text={formik?.errors?.joinColumnName?.toString()}
2012
+ text={formik?.errors?.relationCoModelColumnName?.toString()}
2007
2013
  />
2008
2014
  )}
2009
2015
 
2010
2016
  </div>
2011
- )} */}
2017
+ )}
2012
2018
 
2013
- {currentFields.includes("relationCoModelColumnName") && (formik.values.relationType === "many-to-many" || formik.values.relationType === "many-to-one") && (
2019
+ {currentFields.includes("relationJoinTableName") && formik.values.relationType === "many-to-many" && (
2014
2020
  <div className="field col-6 flex-flex-column gap-2 mt-3">
2015
2021
  <label
2016
- htmlFor="relationCoModelColumnName"
2022
+ htmlFor="relationJoinTableName"
2017
2023
  className="form-field-label"
2018
2024
  >
2019
- Relation Co-Model Column Name
2025
+ Relation Join Table Name
2020
2026
  </label>
2021
2027
  <InputText
2022
2028
  type="text"
2023
- id="relationCoModelColumnName"
2024
- name="relationCoModelColumnName"
2029
+ id="relationJoinTableName"
2030
+ name="relationJoinTableName"
2025
2031
  onChange={formik.handleChange}
2026
- value={formik.values.relationCoModelColumnName}
2032
+ value={formik.values.relationJoinTableName}
2027
2033
  className={classNames("", {
2028
2034
  "p-invalid": isFormFieldValid(
2029
2035
  formik,
2030
- "relationCoModelColumnName"
2036
+ "relationJoinTableName"
2031
2037
  ),
2032
2038
  })}
2033
2039
  />
2034
- {isFormFieldValid(formik, "relationCoModelColumnName") && (
2040
+ {isFormFieldValid(formik, "relationJoinTableName") && (
2035
2041
  <Message
2036
2042
  severity="error"
2037
- text={formik?.errors?.relationCoModelColumnName?.toString()}
2043
+ text={formik?.errors?.relationJoinTableName?.toString()}
2038
2044
  />
2039
2045
  )}
2040
2046
 
@@ -2423,97 +2429,97 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
2423
2429
  <div className="formgrid grid">
2424
2430
  {(currentFields.includes("regexPattern") && selectedType.value === "password") &&
2425
2431
  <>
2426
- <div className="field col-6 flex-flex-column gap-2 mt-3">
2427
- <label
2428
- htmlFor="regexPattern"
2429
- className="form-field-label"
2430
- >
2431
- Password Policy
2432
- </label>
2433
- <Dropdown value={selectedPasswordPolicy} onChange={(e: DropdownChangeEvent) => {
2434
- setSelectedPasswordPolicy(e.value)
2435
- if (e.value !== "custom") {
2436
- formik.setFieldValue('regexPattern', e.value)
2437
- }
2438
- }} options={passwordPolicyOptions} optionLabel="label"
2439
- placeholder="Select a Password Policy"
2440
- // className="w-full md:w-14rem"
2441
- className=""
2442
- checkmark={true} highlightOnSelect={false} />
2432
+ <div className="field col-6 flex-flex-column gap-2 mt-3">
2433
+ <label
2434
+ htmlFor="regexPattern"
2435
+ className="form-field-label"
2436
+ >
2437
+ Password Policy
2438
+ </label>
2439
+ <Dropdown value={selectedPasswordPolicy} onChange={(e: DropdownChangeEvent) => {
2440
+ setSelectedPasswordPolicy(e.value)
2441
+ if (e.value !== "custom") {
2442
+ formik.setFieldValue('regexPattern', e.value)
2443
+ }
2444
+ }} options={passwordPolicyOptions} optionLabel="label"
2445
+ placeholder="Select a Password Policy"
2446
+ // className="w-full md:w-14rem"
2447
+ className=""
2448
+ checkmark={true} highlightOnSelect={false} />
2443
2449
 
2444
- </div>
2450
+ </div>
2445
2451
  </>
2446
2452
  }
2447
2453
  {currentFields.includes("regexPattern") && (
2448
2454
  <>
2449
- <div className="field col-6 flex-flex-column gap-2 mt-3">
2455
+ <div className="field col-6 flex-flex-column gap-2 mt-3">
2456
+ <label
2457
+ htmlFor="regexPattern"
2458
+ className="form-field-label"
2459
+ >
2460
+ Regex Pattern
2461
+ </label>
2462
+ <InputText
2463
+ type="text"
2464
+ id="regexPattern"
2465
+ name="regexPattern"
2466
+ onChange={formik.handleChange}
2467
+ value={formik.values.regexPattern}
2468
+ className={classNames("", {
2469
+ "p-invalid": isFormFieldValid(
2470
+ formik,
2471
+ "regexPattern"
2472
+ ),
2473
+ })}
2474
+ />
2475
+ {isFormFieldValid(formik, "regexPattern") && (
2476
+ <Message
2477
+ severity="error"
2478
+ text={formik?.errors?.regexPattern?.toString()}
2479
+ />
2480
+ )}
2481
+ </div>
2482
+ {currentFields.includes("regexPattern") && (
2483
+ <div className="field col-6 flex-flex-column gap-2">
2450
2484
  <label
2451
- htmlFor="regexPattern"
2485
+ htmlFor="regexPatternNotMatchingErrorMsg"
2452
2486
  className="form-field-label"
2453
2487
  >
2454
- Regex Pattern
2488
+ Regex Pattern Not Matching Error Msg
2455
2489
  </label>
2456
2490
  <InputText
2457
2491
  type="text"
2458
- id="regexPattern"
2459
- name="regexPattern"
2492
+ id="regexPatternNotMatchingErrorMsg"
2493
+ name="regexPatternNotMatchingErrorMsg"
2460
2494
  onChange={formik.handleChange}
2461
- value={formik.values.regexPattern}
2495
+ value={formik.values.regexPatternNotMatchingErrorMsg}
2462
2496
  className={classNames("", {
2463
2497
  "p-invalid": isFormFieldValid(
2464
2498
  formik,
2465
- "regexPattern"
2499
+ "regexPatternNotMatchingErrorMsg"
2466
2500
  ),
2467
2501
  })}
2468
2502
  />
2469
- {isFormFieldValid(formik, "regexPattern") && (
2503
+ {isFormFieldValid(formik, "regexPatternNotMatchingErrorMsg") && (
2470
2504
  <Message
2471
2505
  severity="error"
2472
- text={formik?.errors?.regexPattern?.toString()}
2506
+ text={formik?.errors?.regexPatternNotMatchingErrorMsg?.toString()}
2473
2507
  />
2474
2508
  )}
2475
2509
  </div>
2476
- {currentFields.includes("regexPattern") && (
2477
- <div className="field col-6 flex-flex-column gap-2">
2478
- <label
2479
- htmlFor="regexPatternNotMatchingErrorMsg"
2480
- className="form-field-label"
2481
- >
2482
- Regex Pattern Not Matching Error Msg
2483
- </label>
2484
- <InputText
2485
- type="text"
2486
- id="regexPatternNotMatchingErrorMsg"
2487
- name="regexPatternNotMatchingErrorMsg"
2488
- onChange={formik.handleChange}
2489
- value={formik.values.regexPatternNotMatchingErrorMsg}
2490
- className={classNames("", {
2491
- "p-invalid": isFormFieldValid(
2492
- formik,
2493
- "regexPatternNotMatchingErrorMsg"
2494
- ),
2495
- })}
2496
- />
2497
- {isFormFieldValid(formik, "regexPatternNotMatchingErrorMsg") && (
2498
- <Message
2499
- severity="error"
2500
- text={formik?.errors?.regexPatternNotMatchingErrorMsg?.toString()}
2501
- />
2502
- )}
2503
- </div>
2504
2510
  )}
2505
2511
  </>
2506
2512
 
2507
2513
  )}
2508
2514
  {(currentFields.includes("min") || currentFields.includes("max")) &&
2509
- <>
2510
- {currentFields.includes("min") && (
2511
- <div className="field col-6 flex-flex-column gap-2 mt-3">
2512
- <label htmlFor="min" className="form-field-label">
2513
- Min {(selectedType.value !== "int" && selectedType.value !== "decimal") && `(Characters Allowed)`}
2514
-
2515
- </label>
2516
- {/* <InputText
2515
+ <>
2516
+ {currentFields.includes("min") && (
2517
+ <div className="field col-6 flex-flex-column gap-2 mt-3">
2518
+ <label htmlFor="min" className="form-field-label">
2519
+ Min {(selectedType.value !== "int" && selectedType.value !== "decimal") && `(Characters Allowed)`}
2520
+
2521
+ </label>
2522
+ {/* <InputText
2517
2523
  type="text"
2518
2524
  id="min"
2519
2525
  name="min"
@@ -2523,45 +2529,45 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
2523
2529
  "p-invalid": isFormFieldValid(formik, "min"),
2524
2530
  })}
2525
2531
  /> */}
2526
- {/* <RenderMinValueInput></RenderMinValueInput> */}
2527
- {(selectedType.value === "int" ||
2528
- selectedType.value === "decimal" ||
2529
- selectedType.value === "shortText" ||
2530
- selectedType.value === "decimal" ||
2531
- selectedType.value === "longText" ||
2532
- selectedType.value === "richText" ||
2533
- selectedType.value === "password" ||
2534
- selectedType.value === "json") &&
2535
- <InputNumber
2536
- id="min"
2537
- name="min"
2538
- onValueChange={formik.handleChange}
2539
- value={formik.values.min}
2540
- className={classNames("", {
2541
- "p-invalid": isFormFieldValid(
2542
- formik,
2543
- "min"
2544
- ),
2545
- })}
2546
- disabled={fieldMetaData?.id}
2547
- />
2548
- }
2549
-
2550
- {isFormFieldValid(formik, "min") && (
2551
- <Message
2552
- severity="error"
2553
- text={formik?.errors?.min?.toString()}
2554
- />
2555
- )}
2556
- </div>
2557
- )}
2558
- {currentFields.includes("max") && (
2559
- <div className="field col-6 flex-flex-column gap-2 mt-3">
2560
- <label htmlFor="max" className="form-field-label">
2561
- Max {(selectedType.value !== "int" &&
2562
- selectedType.value !== "decimal") && `(Characters allowed)`}
2563
- </label>
2564
- {/* <InputText
2532
+ {/* <RenderMinValueInput></RenderMinValueInput> */}
2533
+ {(selectedType.value === "int" ||
2534
+ selectedType.value === "decimal" ||
2535
+ selectedType.value === "shortText" ||
2536
+ selectedType.value === "decimal" ||
2537
+ selectedType.value === "longText" ||
2538
+ selectedType.value === "richText" ||
2539
+ selectedType.value === "password" ||
2540
+ selectedType.value === "json") &&
2541
+ <InputNumber
2542
+ id="min"
2543
+ name="min"
2544
+ onValueChange={formik.handleChange}
2545
+ value={formik.values.min}
2546
+ className={classNames("", {
2547
+ "p-invalid": isFormFieldValid(
2548
+ formik,
2549
+ "min"
2550
+ ),
2551
+ })}
2552
+ disabled={fieldMetaData?.id}
2553
+ />
2554
+ }
2555
+
2556
+ {isFormFieldValid(formik, "min") && (
2557
+ <Message
2558
+ severity="error"
2559
+ text={formik?.errors?.min?.toString()}
2560
+ />
2561
+ )}
2562
+ </div>
2563
+ )}
2564
+ {currentFields.includes("max") && (
2565
+ <div className="field col-6 flex-flex-column gap-2 mt-3">
2566
+ <label htmlFor="max" className="form-field-label">
2567
+ Max {(selectedType.value !== "int" &&
2568
+ selectedType.value !== "decimal") && `(Characters allowed)`}
2569
+ </label>
2570
+ {/* <InputText
2565
2571
  type="text"
2566
2572
  id="max"
2567
2573
  name="max"
@@ -2571,38 +2577,38 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
2571
2577
  "p-invalid": isFormFieldValid(formik, "max"),
2572
2578
  })}
2573
2579
  /> */}
2574
- {(selectedType.value === "int" ||
2575
- selectedType.value === "decimal" ||
2576
- selectedType.value === "shortText" ||
2577
- selectedType.value === "decimal" ||
2578
- selectedType.value === "longText" ||
2579
- selectedType.value === "richText" ||
2580
- selectedType.value === "password" ||
2581
- selectedType.value === "json") &&
2582
- <InputNumber
2583
- id="max"
2584
- name="max"
2585
- onValueChange={formik.handleChange}
2586
- value={formik.values.max}
2587
- className={classNames("", {
2588
- "p-invalid": isFormFieldValid(
2589
- formik,
2590
- "max"
2591
- ),
2592
- })}
2593
- disabled={fieldMetaData?.id}
2594
- />
2595
- }
2596
-
2597
- {isFormFieldValid(formik, "max") && (
2598
- <Message
2599
- severity="error"
2600
- text={formik?.errors?.max?.toString()}
2601
- />
2602
- )}
2603
- </div>
2604
- )}
2605
- </>
2580
+ {(selectedType.value === "int" ||
2581
+ selectedType.value === "decimal" ||
2582
+ selectedType.value === "shortText" ||
2583
+ selectedType.value === "decimal" ||
2584
+ selectedType.value === "longText" ||
2585
+ selectedType.value === "richText" ||
2586
+ selectedType.value === "password" ||
2587
+ selectedType.value === "json") &&
2588
+ <InputNumber
2589
+ id="max"
2590
+ name="max"
2591
+ onValueChange={formik.handleChange}
2592
+ value={formik.values.max}
2593
+ className={classNames("", {
2594
+ "p-invalid": isFormFieldValid(
2595
+ formik,
2596
+ "max"
2597
+ ),
2598
+ })}
2599
+ disabled={fieldMetaData?.id}
2600
+ />
2601
+ }
2602
+
2603
+ {isFormFieldValid(formik, "max") && (
2604
+ <Message
2605
+ severity="error"
2606
+ text={formik?.errors?.max?.toString()}
2607
+ />
2608
+ )}
2609
+ </div>
2610
+ )}
2611
+ </>
2606
2612
  }
2607
2613
  {currentFields.includes("ormType") && (
2608
2614
  <div className="md:col-12 sm:col-12">
@@ -2658,126 +2664,126 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
2658
2664
  </>
2659
2665
  }
2660
2666
 
2661
- <p className="form-wrapper-heading text-base">Settings</p>
2667
+ {(formik.values.relationType !== "many-to-many" && formik.values.relationType !== "one-to-many") && <p className="form-wrapper-heading text-base">Settings</p>}
2662
2668
  <div className="formgrid grid">
2663
- {currentFields.includes("required") && selectedType.value !== 'relation' && (
2664
- <div className="field col-6 flex-flex-column gap-2 mt-3">
2665
- <div className="flex align-items-center">
2666
- <Checkbox
2667
- name="required"
2668
- onChange={(e) => {
2669
- formik.setFieldValue("required", e.checked);
2670
- }}
2671
- checked={formik.values.required}
2672
- ></Checkbox>
2673
- <label htmlFor="ingredient1" className="form-field-label ml-2">
2674
- Required
2675
- </label>
2676
- </div>
2677
- <p className="text-xs mt-2">You won't be able to create an entry if this field is empty</p>
2678
-
2679
- {isFormFieldValid(formik, "required") && (
2680
- <Message
2681
- severity="error"
2682
- text={formik?.errors?.required?.toString()}
2683
- />
2684
- )}
2669
+ {currentFields.includes("required") && (formik.values.relationType !== "many-to-many" && formik.values.relationType !== "one-to-many") && (
2670
+ <div className="field col-6 flex-flex-column gap-2 mt-3">
2671
+ <div className="flex align-items-center">
2672
+ <Checkbox
2673
+ name="required"
2674
+ onChange={(e) => {
2675
+ formik.setFieldValue("required", e.checked);
2676
+ }}
2677
+ checked={formik.values.required}
2678
+ ></Checkbox>
2679
+ <label htmlFor="ingredient1" className="form-field-label ml-2">
2680
+ Required
2681
+ </label>
2685
2682
  </div>
2683
+ <p className="text-xs mt-2">You won't be able to create an entry if this field is empty</p>
2684
+
2685
+ {isFormFieldValid(formik, "required") && (
2686
+ <Message
2687
+ severity="error"
2688
+ text={formik?.errors?.required?.toString()}
2689
+ />
2690
+ )}
2691
+ </div>
2686
2692
  )}
2687
2693
  {currentFields.includes("unique") && selectedType.value !== 'relation' && (
2688
- <div className="field col-6 flex-flex-column gap-2">
2689
- <div className="flex align-items-center">
2690
- <Checkbox
2691
- name="unique"
2692
- onChange={(e) => {
2693
- formik.setFieldValue("unique", e.checked);
2694
- formik.setFieldValue("isUserKey", false);
2695
- }}
2696
- checked={formik.values.unique}
2697
- ></Checkbox>
2698
- <label htmlFor="ingredient1" className="form-field-label ml-2">
2699
- Unique
2700
- </label>
2701
- </div>
2702
- <p className="text-xs mt-2">You won't be able to create an entry if there is an existing entry with identical content</p>
2703
-
2704
- {isFormFieldValid(formik, "unique") && (
2705
- <Message
2706
- severity="error"
2707
- text={formik?.errors?.unique?.toString()}
2708
- />
2709
- )}
2694
+ <div className="field col-6 flex-flex-column gap-2">
2695
+ <div className="flex align-items-center">
2696
+ <Checkbox
2697
+ name="unique"
2698
+ onChange={(e) => {
2699
+ formik.setFieldValue("unique", e.checked);
2700
+ formik.setFieldValue("isUserKey", false);
2701
+ }}
2702
+ checked={formik.values.unique}
2703
+ ></Checkbox>
2704
+ <label htmlFor="ingredient1" className="form-field-label ml-2">
2705
+ Unique
2706
+ </label>
2710
2707
  </div>
2708
+ <p className="text-xs mt-2">You won't be able to create an entry if there is an existing entry with identical content</p>
2709
+
2710
+ {isFormFieldValid(formik, "unique") && (
2711
+ <Message
2712
+ severity="error"
2713
+ text={formik?.errors?.unique?.toString()}
2714
+ />
2715
+ )}
2716
+ </div>
2711
2717
  )}
2712
2718
  {currentFields.includes("index") && selectedType.value !== 'relation' && (
2713
- <div className="field col-6 flex-flex-column gap-2 mt-3">
2714
- <div className="flex align-items-center">
2715
- <Checkbox
2716
- name="index"
2717
- onChange={(e) => {
2718
- formik.setFieldValue("index", e.checked);
2719
- }}
2720
- checked={formik.values.index}
2721
- ></Checkbox>
2722
- <label htmlFor="ingredient1" className="form-field-label ml-2">
2723
- Index
2724
- </label>
2725
- </div>
2726
- {isFormFieldValid(formik, "index") && (
2727
- <Message
2728
- severity="error"
2729
- text={formik?.errors?.index?.toString()}
2730
- />
2731
- )}
2719
+ <div className="field col-6 flex-flex-column gap-2 mt-3">
2720
+ <div className="flex align-items-center">
2721
+ <Checkbox
2722
+ name="index"
2723
+ onChange={(e) => {
2724
+ formik.setFieldValue("index", e.checked);
2725
+ }}
2726
+ checked={formik.values.index}
2727
+ ></Checkbox>
2728
+ <label htmlFor="ingredient1" className="form-field-label ml-2">
2729
+ Index
2730
+ </label>
2732
2731
  </div>
2732
+ {isFormFieldValid(formik, "index") && (
2733
+ <Message
2734
+ severity="error"
2735
+ text={formik?.errors?.index?.toString()}
2736
+ />
2737
+ )}
2738
+ </div>
2733
2739
  )}
2734
2740
  {currentFields.includes("private") && selectedType.value !== 'relation' && (
2735
- <div className="field col-6 flex-flex-column gap-2 mt-3">
2736
- <div className="flex align-items-center">
2737
- <Checkbox
2738
- name="private"
2739
- onChange={(e) => {
2740
- formik.setFieldValue("private", e.checked);
2741
- }}
2742
- checked={formik.values.private}
2743
- ></Checkbox>
2744
- <label htmlFor="ingredient1" className="form-field-label ml-2">
2745
- Private
2746
- </label>
2747
- </div>
2748
- <p className="text-xs mt-2">This field will not show up in the API response</p>
2741
+ <div className="field col-6 flex-flex-column gap-2 mt-3">
2742
+ <div className="flex align-items-center">
2743
+ <Checkbox
2744
+ name="private"
2745
+ onChange={(e) => {
2746
+ formik.setFieldValue("private", e.checked);
2747
+ }}
2748
+ checked={formik.values.private}
2749
+ ></Checkbox>
2750
+ <label htmlFor="ingredient1" className="form-field-label ml-2">
2751
+ Private
2752
+ </label>
2753
+ </div>
2754
+ <p className="text-xs mt-2">This field will not show up in the API response</p>
2749
2755
 
2750
2756
 
2751
- {isFormFieldValid(formik, "private") && (
2752
- <Message
2753
- severity="error"
2754
- text={formik?.errors?.private?.toString()}
2755
- />
2756
- )}
2757
- </div>
2757
+ {isFormFieldValid(formik, "private") && (
2758
+ <Message
2759
+ severity="error"
2760
+ text={formik?.errors?.private?.toString()}
2761
+ />
2762
+ )}
2763
+ </div>
2758
2764
  )}
2759
2765
  {currentFields.includes("encrypt") && selectedType.value !== 'relation' && (
2760
- <div className="field col-6 flex-flex-column gap-2 mt-3">
2761
- <div className="flex align-items-center gap-2">
2762
- <Checkbox
2763
- name="encrypt"
2764
- onChange={(e) => {
2765
- formik.setFieldValue("encrypt", e.checked);
2766
- setEncryptState(e.checked);
2767
- }}
2768
- checked={formik.values.encrypt}
2769
- ></Checkbox>
2770
- <label htmlFor="ingredient1" className="form-field-label">
2771
- Encrypt
2772
- </label>
2773
- </div>
2774
- {isFormFieldValid(formik, "encrypt") && (
2775
- <Message
2776
- severity="error"
2777
- text={formik?.errors?.encrypt?.toString()}
2778
- />
2779
- )}
2766
+ <div className="field col-6 flex-flex-column gap-2 mt-3">
2767
+ <div className="flex align-items-center gap-2">
2768
+ <Checkbox
2769
+ name="encrypt"
2770
+ onChange={(e) => {
2771
+ formik.setFieldValue("encrypt", e.checked);
2772
+ setEncryptState(e.checked);
2773
+ }}
2774
+ checked={formik.values.encrypt}
2775
+ ></Checkbox>
2776
+ <label htmlFor="ingredient1" className="form-field-label">
2777
+ Encrypt
2778
+ </label>
2780
2779
  </div>
2780
+ {isFormFieldValid(formik, "encrypt") && (
2781
+ <Message
2782
+ severity="error"
2783
+ text={formik?.errors?.encrypt?.toString()}
2784
+ />
2785
+ )}
2786
+ </div>
2781
2787
  )}
2782
2788
  {/* {currentFields.includes("isSystem") && (
2783
2789
  <div className="md:col-6 sm:col-12">
@@ -2804,28 +2810,28 @@ const FieldMetaDataForm = ({ modelMetaData, fieldMetaData, setFieldMetaData, all
2804
2810
  </div>
2805
2811
  )} */}
2806
2812
  {currentFields.includes("isUserKey") && formik.values.unique && (
2807
- <div className="field col-6 flex-flex-column gap-2 mt-3">
2808
- <div className="flex align-items-center gap-2">
2809
- <Checkbox
2810
- name="isUserKey"
2811
- onChange={(e) => {
2812
- formik.setFieldValue("isUserKey", e.checked);
2813
- }}
2814
- checked={formik.values.isUserKey}
2815
- ></Checkbox>
2816
- <label htmlFor="ingredient1" className="form-field-label">
2817
- Is Userkey
2818
- </label>
2819
- </div>
2820
- <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>
2821
-
2822
- {isFormFieldValid(formik, "isUserKey") && (
2823
- <Message
2824
- severity="error"
2825
- text={formik?.errors?.isUserKey?.toString()}
2826
- />
2827
- )}
2813
+ <div className="field col-6 flex-flex-column gap-2 mt-3">
2814
+ <div className="flex align-items-center gap-2">
2815
+ <Checkbox
2816
+ name="isUserKey"
2817
+ onChange={(e) => {
2818
+ formik.setFieldValue("isUserKey", e.checked);
2819
+ }}
2820
+ checked={formik.values.isUserKey}
2821
+ ></Checkbox>
2822
+ <label htmlFor="ingredient1" className="form-field-label">
2823
+ Is Userkey
2824
+ </label>
2828
2825
  </div>
2826
+ <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>
2827
+
2828
+ {isFormFieldValid(formik, "isUserKey") && (
2829
+ <Message
2830
+ severity="error"
2831
+ text={formik?.errors?.isUserKey?.toString()}
2832
+ />
2833
+ )}
2834
+ </div>
2829
2835
  )}
2830
2836
  </div>
2831
2837