@solidxai/core-ui 0.1.4-beta.0 → 0.1.4-beta.2

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 (162) hide show
  1. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
  2. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +8 -0
  3. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  4. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +8 -0
  5. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.d.ts +2 -0
  6. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.d.ts.map +1 -0
  7. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js +34 -0
  8. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js.map +1 -0
  9. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.tsx +83 -0
  10. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  11. package/dist/components/core/common/SolidGlobalSearchElement.js +6 -8
  12. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  13. package/dist/components/core/common/SolidGlobalSearchElement.tsx +21 -21
  14. package/dist/components/core/dashboard/SolidDashboard.d.ts +1 -1
  15. package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -1
  16. package/dist/components/core/dashboard/SolidDashboard.js.map +1 -1
  17. package/dist/components/core/dashboard/SolidDashboard.tsx +1 -1
  18. package/dist/components/core/dashboard/SolidDashboardVariable.js +1 -1
  19. package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -1
  20. package/dist/components/core/dashboard/SolidDashboardVariable.tsx +1 -1
  21. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
  22. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +15 -30
  23. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  24. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +46 -36
  25. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts +40 -0
  26. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  27. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +315 -160
  28. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  29. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +459 -249
  30. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  31. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +46 -95
  32. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  33. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +57 -113
  34. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.d.ts +15 -5
  35. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.d.ts.map +1 -1
  36. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.js +203 -67
  37. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.js.map +1 -1
  38. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.ts +147 -67
  39. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  40. package/dist/components/core/kanban/SolidKanbanView.js +8 -7
  41. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  42. package/dist/components/core/kanban/SolidKanbanView.tsx +3 -2
  43. package/dist/components/core/list/SolidListView.d.ts +8 -5
  44. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  45. package/dist/components/core/list/SolidListView.js +95 -84
  46. package/dist/components/core/list/SolidListView.js.map +1 -1
  47. package/dist/components/core/list/SolidListView.tsx +55 -62
  48. package/dist/components/core/list/SolidListViewConfigure.d.ts +7 -0
  49. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  50. package/dist/components/core/list/SolidListViewConfigure.js +6 -5
  51. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  52. package/dist/components/core/list/SolidListViewConfigure.tsx +21 -12
  53. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  54. package/dist/components/core/list/columns/SolidBooleanColumn.js +1 -24
  55. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  56. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +1 -35
  57. package/dist/components/core/list/columns/SolidDateColumn.d.ts +0 -5
  58. package/dist/components/core/list/columns/SolidDateColumn.d.ts.map +1 -1
  59. package/dist/components/core/list/columns/SolidDateColumn.js +1 -31
  60. package/dist/components/core/list/columns/SolidDateColumn.js.map +1 -1
  61. package/dist/components/core/list/columns/SolidDateColumn.tsx +2 -49
  62. package/dist/components/core/list/columns/SolidDatetimeColumn.d.ts.map +1 -1
  63. package/dist/components/core/list/columns/SolidDatetimeColumn.js +1 -20
  64. package/dist/components/core/list/columns/SolidDatetimeColumn.js.map +1 -1
  65. package/dist/components/core/list/columns/SolidDatetimeColumn.tsx +2 -37
  66. package/dist/components/core/list/columns/SolidExternalIdColumn.d.ts.map +1 -1
  67. package/dist/components/core/list/columns/SolidExternalIdColumn.js +1 -21
  68. package/dist/components/core/list/columns/SolidExternalIdColumn.js.map +1 -1
  69. package/dist/components/core/list/columns/SolidExternalIdColumn.tsx +1 -38
  70. package/dist/components/core/list/columns/SolidIdColumn.d.ts.map +1 -1
  71. package/dist/components/core/list/columns/SolidIdColumn.js +1 -21
  72. package/dist/components/core/list/columns/SolidIdColumn.js.map +1 -1
  73. package/dist/components/core/list/columns/SolidIdColumn.tsx +1 -36
  74. package/dist/components/core/list/columns/SolidIntColumn.d.ts.map +1 -1
  75. package/dist/components/core/list/columns/SolidIntColumn.js +1 -30
  76. package/dist/components/core/list/columns/SolidIntColumn.js.map +1 -1
  77. package/dist/components/core/list/columns/SolidIntColumn.tsx +2 -46
  78. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  79. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +1 -5
  80. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  81. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +0 -7
  82. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  83. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +1 -1
  84. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  85. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +0 -1
  86. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.d.ts.map +1 -1
  87. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js +1 -21
  88. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js.map +1 -1
  89. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.tsx +1 -37
  90. package/dist/components/core/list/columns/SolidSelectionStaticColumn.d.ts.map +1 -1
  91. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js +1 -21
  92. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js.map +1 -1
  93. package/dist/components/core/list/columns/SolidSelectionStaticColumn.tsx +1 -38
  94. package/dist/components/core/list/columns/SolidShortTextColumn.d.ts.map +1 -1
  95. package/dist/components/core/list/columns/SolidShortTextColumn.js +2 -66
  96. package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
  97. package/dist/components/core/list/columns/SolidShortTextColumn.tsx +3 -86
  98. package/dist/components/core/list/columns/SolidTimeColumn.d.ts.map +1 -1
  99. package/dist/components/core/list/columns/SolidTimeColumn.js +1 -20
  100. package/dist/components/core/list/columns/SolidTimeColumn.js.map +1 -1
  101. package/dist/components/core/list/columns/SolidTimeColumn.tsx +2 -37
  102. package/dist/components/core/list/columns/SolidUuidColumn.d.ts.map +1 -1
  103. package/dist/components/core/list/columns/SolidUuidColumn.js +1 -21
  104. package/dist/components/core/list/columns/SolidUuidColumn.js.map +1 -1
  105. package/dist/components/core/list/columns/SolidUuidColumn.tsx +1 -37
  106. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.d.ts.map +1 -1
  107. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js +1 -17
  108. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js.map +1 -1
  109. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +2 -35
  110. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  111. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +10 -20
  112. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  113. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +15 -36
  114. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.d.ts.map +1 -1
  115. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js +1 -15
  116. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js.map +1 -1
  117. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +1 -31
  118. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  119. package/dist/components/core/tree/SolidTreeView.js +23 -14
  120. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  121. package/dist/components/core/tree/SolidTreeView.tsx +50 -16
  122. package/dist/helpers/registry.js +3 -1
  123. package/dist/helpers/registry.js.map +1 -1
  124. package/dist/helpers/registry.ts +4 -1
  125. package/dist/index.d.ts +3 -2
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +3 -2
  128. package/dist/index.js.map +1 -1
  129. package/dist/index.ts +5 -2
  130. package/dist/redux/api/fetchBaseQuery.js +4 -5
  131. package/dist/redux/api/fetchBaseQuery.js.map +1 -1
  132. package/dist/redux/api/fetchBaseQuery.tsx +4 -4
  133. package/dist/redux/api/solidSettingsApi.d.ts +2 -1
  134. package/dist/redux/api/solidSettingsApi.d.ts.map +1 -1
  135. package/dist/redux/api/solidSettingsApi.js +4 -1
  136. package/dist/redux/api/solidSettingsApi.js.map +1 -1
  137. package/dist/redux/api/solidSettingsApi.tsx +6 -1
  138. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  139. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  140. package/dist/resources/globals.css +14 -0
  141. package/dist/routes/pages/admin/core/DashboardPage.d.ts +2 -0
  142. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -0
  143. package/dist/routes/pages/admin/core/DashboardPage.js +14 -0
  144. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -0
  145. package/dist/routes/pages/admin/core/DashboardPage.tsx +17 -0
  146. package/dist/routes/pages/admin/core/ListPage.js +1 -1
  147. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  148. package/dist/routes/pages/admin/core/ListPage.tsx +1 -1
  149. package/dist/routes/pages/admin/core/ModuleHomePage.d.ts.map +1 -1
  150. package/dist/routes/pages/admin/core/ModuleHomePage.js +4 -15
  151. package/dist/routes/pages/admin/core/ModuleHomePage.js.map +1 -1
  152. package/dist/routes/pages/admin/core/ModuleHomePage.tsx +4 -3
  153. package/dist/routes/solidRoutes.d.ts.map +1 -1
  154. package/dist/routes/solidRoutes.js +2 -0
  155. package/dist/routes/solidRoutes.js.map +1 -1
  156. package/dist/routes/solidRoutes.tsx +2 -0
  157. package/dist/routes/types.d.ts +1 -1
  158. package/dist/routes/types.d.ts.map +1 -1
  159. package/dist/routes/types.js.map +1 -1
  160. package/dist/routes/types.ts +1 -0
  161. package/dist/types/solid-core.d.ts +1 -1
  162. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationOneToManyField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI5E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AASlG,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,GAAG,CAAC;IAChB,EAAE,EAAE,GAAG,CAAC;IACR,OAAO,EAAE,GAAG,CAAC;IACb,cAAc,EAAE,GAAG,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;IAChB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,gBAAgB,CAAC,EAAE,GAAG,CAAA;CACzB,CAAA;AAED,qBAAa,2BAA4B,YAAW,WAAW;IAE3D,OAAO,CAAC,YAAY,CAAkB;gBAC1B,YAAY,EAAE,eAAe;IAIzC,YAAY,IAAI,GAAG;IAYnB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAWnD,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAc9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAkD3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAcjE;AAGD,eAAO,MAAM,sCAAsC,6BAA8B,yBAAyB,4CAiNzG,CAAA;AAGD,eAAO,MAAM,sCAAsC,6BAA8B,yBAAyB,4CAgLzG,CAAA;AAGD,eAAO,MAAM,0BAA0B,4IAA6I,GAAG,4CAoDtL,CAAA;AAGD,eAAO,MAAM,iCAAiC,oEAAqE,oBAAoB,4CA0JtI,CAAA"}
1
+ {"version":3,"file":"SolidRelationOneToManyField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI5E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AASlG,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,GAAG,CAAC;IAChB,EAAE,EAAE,GAAG,CAAC;IACR,OAAO,EAAE,GAAG,CAAC;IACb,cAAc,EAAE,GAAG,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;IAChB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,gBAAgB,CAAC,EAAE,GAAG,CAAA;CACzB,CAAA;AAED,qBAAa,2BAA4B,YAAW,WAAW;IAE3D,OAAO,CAAC,YAAY,CAAkB;gBAC1B,YAAY,EAAE,eAAe;IAIzC,YAAY,IAAI,GAAG;IAYnB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAWnD,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAc9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAkD3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAcjE;AA4CD,eAAO,MAAM,sCAAsC,6BAA8B,yBAAyB,4CAwKzG,CAAA;AAGD,eAAO,MAAM,sCAAsC,6BAA8B,yBAAyB,4CAwHzG,CAAA;AAGD,eAAO,MAAM,0BAA0B,4IAA6I,GAAG,4CAoDtL,CAAA;AAGD,eAAO,MAAM,iCAAiC,oEAAqE,oBAAoB,4CA0JtI,CAAA"}
@@ -160,6 +160,34 @@ var SolidRelationOneToManyField = /** @class */ (function () {
160
160
  return SolidRelationOneToManyField;
161
161
  }());
162
162
  export { SolidRelationOneToManyField };
163
+ var buildRelationCustomFilter = function (_a) {
164
+ var _b;
165
+ var _c, _d, _e, _f, _g;
166
+ var fieldContext = _a.fieldContext, fieldLayoutInfo = _a.fieldLayoutInfo;
167
+ if (!fieldContext) {
168
+ return { id: { $eq: -1 } };
169
+ }
170
+ var relationFieldName = (_d = (_c = fieldContext.fieldMetadata) === null || _c === void 0 ? void 0 : _c.relationCoModelFieldName) !== null && _d !== void 0 ? _d : fieldContext.modelName;
171
+ var parentId = (_f = (_e = fieldContext.data) === null || _e === void 0 ? void 0 : _e.id) !== null && _f !== void 0 ? _f : -1;
172
+ var baseFilter = (_b = {},
173
+ _b[relationFieldName] = {
174
+ id: { $eq: parentId },
175
+ },
176
+ _b);
177
+ var whereClause = (_g = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _g === void 0 ? void 0 : _g.whereClause;
178
+ if (!whereClause)
179
+ return { $and: [baseFilter] };
180
+ try {
181
+ var parsedWhereClause = JSON.parse(whereClause);
182
+ return {
183
+ $and: [baseFilter, parsedWhereClause],
184
+ };
185
+ }
186
+ catch (error) {
187
+ console.error("Failed to parse whereClause:", error);
188
+ return { $and: [baseFilter] };
189
+ }
190
+ };
163
191
  export var DefaultRelationOneToManyFormEditWidget = function (_a) {
164
192
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
165
193
  var formik = _a.formik, fieldContext = _a.fieldContext;
@@ -187,10 +215,10 @@ export var DefaultRelationOneToManyFormEditWidget = function (_a) {
187
215
  var urlParams = new URLSearchParams(window.location.search);
188
216
  var childEntity = urlParams.get('childEntity');
189
217
  if (childEntity === fieldLayoutInfo.attrs.name && lastPathSegment !== "new") {
190
- handlePopupOpen('new');
218
+ handleAddOrEditClickForEmbeddedView('new');
191
219
  }
192
220
  }, []);
193
- var handlePopupOpen = function (id) {
221
+ var handleAddOrEditClickForEmbeddedView = function (id) {
194
222
  var _a;
195
223
  var _b, _c;
196
224
  if (lastPathSegment === "new") {
@@ -214,8 +242,7 @@ export var DefaultRelationOneToManyFormEditWidget = function (_a) {
214
242
  }
215
243
  };
216
244
  var handlePopupClose = function () {
217
- var _a;
218
- var _b, _c;
245
+ var _a, _b;
219
246
  setvisibleCreateRelationEntity(false);
220
247
  var currentUrl = new URL(window.location.href);
221
248
  currentUrl.searchParams.delete('childEntity');
@@ -226,46 +253,16 @@ export var DefaultRelationOneToManyFormEditWidget = function (_a) {
226
253
  moduleName: fieldContext.fieldMetadata.relationModelModuleName,
227
254
  modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),
228
255
  inlineCreate: readOnlyPermission === false ? true : false,
229
- customLayout: (_b = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _b === void 0 ? void 0 : _b.inlineListLayout,
256
+ customLayout: (_a = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _a === void 0 ? void 0 : _a.inlineListLayout,
230
257
  embeded: true,
231
- id: fieldContext.data ? (_c = fieldContext === null || fieldContext === void 0 ? void 0 : fieldContext.data) === null || _c === void 0 ? void 0 : _c.id : 'new',
232
- customFilter: (_a = {},
233
- _a[customFilter] = {
234
- id: {
235
- $eq: fieldContext.data && fieldContext.data.id !== undefined ? fieldContext.data.id : -1
236
- }
237
- },
238
- _a)
258
+ id: fieldContext.data ? (_b = fieldContext === null || fieldContext === void 0 ? void 0 : fieldContext.data) === null || _b === void 0 ? void 0 : _b.id : 'new',
259
+ customFilter: buildRelationCustomFilter({
260
+ fieldContext: fieldContext,
261
+ fieldLayoutInfo: fieldLayoutInfo,
262
+ })
239
263
  };
240
264
  setListViewParams(lisviewparams);
241
265
  };
242
- var buildCustomFilter = function (customFilterKey, fieldContext, fieldLayoutInfo) {
243
- var _a, _b;
244
- var _c;
245
- var baseFilter = (_a = {},
246
- _a[customFilterKey] = {
247
- id: {
248
- $eq: fieldContext.data && fieldContext.data.id !== undefined
249
- ? fieldContext.data.id
250
- : -1
251
- }
252
- },
253
- _a);
254
- var whereClause = (_c = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _c === void 0 ? void 0 : _c.whereClause;
255
- if (whereClause) {
256
- try {
257
- var parsedWhereClause = JSON.parse(whereClause);
258
- return _b = {},
259
- _b[customFilterKey] = __assign(__assign({}, baseFilter[customFilterKey]), parsedWhereClause),
260
- _b;
261
- }
262
- catch (error) {
263
- console.error('Failed to parse whereClause:', error);
264
- return baseFilter;
265
- }
266
- }
267
- return baseFilter;
268
- };
269
266
  //Intial Params
270
267
  useEffect(function () {
271
268
  var _a;
@@ -278,14 +275,10 @@ export var DefaultRelationOneToManyFormEditWidget = function (_a) {
278
275
  customLayout: (_b = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _b === void 0 ? void 0 : _b.inlineListLayout,
279
276
  embeded: true,
280
277
  id: fieldContext.data ? (_c = fieldContext === null || fieldContext === void 0 ? void 0 : fieldContext.data) === null || _c === void 0 ? void 0 : _c.id : 'new',
281
- customFilter: buildCustomFilter(customFilter, fieldContext, fieldLayoutInfo)
282
- // customFilter: {
283
- // [customFilter]: {
284
- // id: {
285
- // $eq: fieldContext.data && fieldContext.data.id !== undefined ? fieldContext.data.id : -1
286
- // }
287
- // }
288
- // }
278
+ customFilter: buildRelationCustomFilter({
279
+ fieldContext: fieldContext,
280
+ fieldLayoutInfo: fieldLayoutInfo,
281
+ })
289
282
  };
290
283
  setListViewParams(listviewparams);
291
284
  var formviewparams = {
@@ -337,7 +330,7 @@ export var DefaultRelationOneToManyFormEditWidget = function (_a) {
337
330
  }); };
338
331
  return (_jsxs("div", { children: [showFieldLabel != false &&
339
332
  _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "form-field-label", children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: " *" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), listViewParams &&
340
- _jsx(SolidListView, __assign({}, listViewParams, { handlePopUpOpen: handlePopupOpen }), refreshList.toString()), readOnlyPermission !== true && formViewParams &&
333
+ _jsx(SolidListView, __assign({}, listViewParams, { handleAddClickForEmbeddedView: handleAddOrEditClickForEmbeddedView, handleEditClickForEmbeddedView: handleAddOrEditClickForEmbeddedView }), refreshList.toString()), readOnlyPermission !== true && formViewParams &&
341
334
  _jsx(RenderSolidFormEmbededView, { formik: formik, fieldContext: fieldContext, visibleCreateRelationEntity: visibleCreateRelationEntity, setvisibleCreateRelationEntity: setvisibleCreateRelationEntity, formViewParams: formViewParams, handlePopupClose: handlePopupClose }), _jsx(Dialog, { showHeader: false, headerClassName: "py-2", contentClassName: "px-0 pb-0", className: "solid-confirm-dialog", contentStyle: { borderRadius: 6 }, visible: showSaveParentEntityConfirmationPopup, style: { width: '20vw' }, onHide: function () { if (!showSaveParentEntityConfirmationPopup)
342
335
  return; setShowSaveParentEntityConfirmationPopup(false); }, children: _jsxs("div", { className: "p-4", children: [_jsxs("p", { className: "m-0 solid-primary-title", style: { fontSize: 16 }, children: ["Before Creating ", fieldLabel, " you need to save ", ((_s = (_r = (_q = solidFormViewMetaData === null || solidFormViewMetaData === void 0 ? void 0 : solidFormViewMetaData.data) === null || _q === void 0 ? void 0 : _q.solidView) === null || _r === void 0 ? void 0 : _r.model) === null || _s === void 0 ? void 0 : _s.displayName) ? (_v = (_u = (_t = solidFormViewMetaData === null || solidFormViewMetaData === void 0 ? void 0 : solidFormViewMetaData.data) === null || _t === void 0 ? void 0 : _t.solidView) === null || _u === void 0 ? void 0 : _u.model) === null || _v === void 0 ? void 0 : _v.displayName : capitalize(fieldContext.modelName), ". Please click save if you wish to proceed ?"] }), _jsxs("div", { className: "flex align-items-center justify-content-start gap-2 mt-3", children: [_jsx(Button, { label: "Save", size: "small", onClick: saveParentEntity }), _jsx(Button, { label: "Cancel", size: "small", onClick: function () { return setShowSaveParentEntityConfirmationPopup(false); }, outlined: true, className: 'bg-primary-reverse' })] })] }) })] }));
343
336
  };
@@ -362,35 +355,7 @@ export var DefaultRelationOneToManyFormViewWidget = function (_a) {
362
355
  var _ = _a[0], value = _a[1];
363
356
  return value.isUserKey;
364
357
  })) === null || _f === void 0 ? void 0 : _f[0];
365
- var buildRelationCustomFilter = function (_a) {
366
- var _b;
367
- var _c, _d, _e, _f, _g;
368
- var fieldContext = _a.fieldContext, fieldLayoutInfo = _a.fieldLayoutInfo;
369
- if (!fieldContext) {
370
- return { id: { $eq: -1 } };
371
- }
372
- var relationFieldName = (_d = (_c = fieldContext.fieldMetadata) === null || _c === void 0 ? void 0 : _c.relationCoModelFieldName) !== null && _d !== void 0 ? _d : fieldContext.modelName;
373
- var parentId = (_f = (_e = fieldContext.data) === null || _e === void 0 ? void 0 : _e.id) !== null && _f !== void 0 ? _f : -1;
374
- var baseFilter = (_b = {},
375
- _b[relationFieldName] = {
376
- id: { $eq: parentId },
377
- },
378
- _b);
379
- var whereClause = (_g = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _g === void 0 ? void 0 : _g.whereClause;
380
- if (!whereClause)
381
- return { $and: [baseFilter] };
382
- try {
383
- var parsedWhereClause = JSON.parse(whereClause);
384
- return {
385
- $and: [baseFilter, parsedWhereClause],
386
- };
387
- }
388
- catch (error) {
389
- console.error("Failed to parse whereClause:", error);
390
- return { $and: [baseFilter] };
391
- }
392
- };
393
- var handlePopupOpen = function (id) {
358
+ var handleAddOrEditClickForEmbeddedView = function (id) {
394
359
  var _a;
395
360
  var _b, _c;
396
361
  var formviewparams = {
@@ -424,13 +389,6 @@ export var DefaultRelationOneToManyFormViewWidget = function (_a) {
424
389
  fieldContext: fieldContext,
425
390
  fieldLayoutInfo: fieldLayoutInfo,
426
391
  })
427
- // customFilter: {
428
- // [customFilter]: {
429
- // id: {
430
- // $eq: fieldContext.data ? fieldContext?.data?.id : -1
431
- // }
432
- // }
433
- // }
434
392
  };
435
393
  setListViewParams(lisviewparams);
436
394
  };
@@ -450,13 +408,6 @@ export var DefaultRelationOneToManyFormViewWidget = function (_a) {
450
408
  fieldContext: fieldContext,
451
409
  fieldLayoutInfo: fieldLayoutInfo,
452
410
  })
453
- // customFilter: {
454
- // [customFilter]: {
455
- // id: {
456
- // $eq: fieldContext?.data?.id !== undefined ? fieldContext?.data?.id : -1
457
- // }
458
- // }
459
- // }
460
411
  };
461
412
  setListViewParams(listviewparams);
462
413
  var formviewparams = {
@@ -479,7 +430,7 @@ export var DefaultRelationOneToManyFormViewWidget = function (_a) {
479
430
  var formReadonly = (_p = (_o = (_m = solidFormViewMetaData.data.solidView) === null || _m === void 0 ? void 0 : _m.layout) === null || _o === void 0 ? void 0 : _o.attrs) === null || _p === void 0 ? void 0 : _p.readonly;
480
431
  return (_jsxs("div", { children: [showFieldLabel != false &&
481
432
  _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "form-field-label", children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: " *" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), listViewParams &&
482
- _jsx(SolidListView, __assign({}, listViewParams, { handlePopUpOpen: handlePopupOpen }), refreshList.toString()), readOnlyPermission !== true && formViewParams &&
433
+ _jsx(SolidListView, __assign({}, listViewParams, { handleAddClickForEmbeddedView: handleAddOrEditClickForEmbeddedView, handleEditClickForEmbeddedView: handleAddOrEditClickForEmbeddedView }), refreshList.toString()), readOnlyPermission !== true && formViewParams &&
483
434
  _jsx(RenderSolidFormEmbededView, { fieldLayoutInfo: fieldLayoutInfo, visibleCreateRelationEntity: visibleCreateRelationEntity, setvisibleCreateRelationEntity: setvisibleCreateRelationEntity, formViewParams: formViewParams, handlePopupClose: handlePopupClose })] }));
484
435
  };
485
436
  export var RenderSolidFormEmbededView = function (_a) {
@@ -559,7 +510,7 @@ export var PseudoRelationOneToManyFormWidget = function (_a) {
559
510
  return { $and: [baseFilter] };
560
511
  }
561
512
  };
562
- var handlePopupOpen = function (id) {
513
+ var handleAddOrEditClickForEmbeddedView = function (id) {
563
514
  var _a;
564
515
  var _b, _c;
565
516
  var formviewparams = {
@@ -632,7 +583,7 @@ export var PseudoRelationOneToManyFormWidget = function (_a) {
632
583
  }, [readOnlyPermission, formViewData]);
633
584
  return (_jsxs("div", { children: [showFieldLabel != false &&
634
585
  _jsx("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "form-field-label", children: fieldLabel }), listViewParams &&
635
- _jsx(SolidListView, __assign({}, listViewParams, { handlePopUpOpen: handlePopupOpen }), refreshList.toString()), readOnlyPermission !== true && formViewParams &&
586
+ _jsx(SolidListView, __assign({}, listViewParams, { handleAddClickForEmbeddedView: handleAddOrEditClickForEmbeddedView, handleEditClickForEmbeddedView: handleAddOrEditClickForEmbeddedView }), refreshList.toString()), readOnlyPermission !== true && formViewParams &&
636
587
  _jsx(RenderSolidFormEmbededView, { fieldLayoutInfo: fieldLayoutInfo, visibleCreateRelationEntity: visibleCreateRelationEntity, setvisibleCreateRelationEntity: setvisibleCreateRelationEntity, formViewParams: formViewParams, handlePopupClose: handlePopupClose })] }));
637
588
  };
638
589
  //# sourceMappingURL=SolidRelationOneToManyField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationOneToManyField.js","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidListView } from \"../../../../../components/core/list/SolidListView\";\nimport { camelCase, capitalize } from \"lodash\";\nimport { Dialog } from \"primereact/dialog\";\nimport { useEffect, useState } from \"react\";\nimport * as Yup from 'yup';\nimport SolidFormView from '../../../../../components/core/form/SolidFormView';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"../ISolidField\";\nimport { usePathname } from \"../../../../../hooks/usePathname\";\nimport { useRouter } from \"../../../../../hooks/useRouter\";\nimport { getExtensionComponent } from \"../../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps, SolidFormWidgetProps } from \"../../../../../types/solid-core\";\nimport { Message } from \"primereact/message\";\nimport FieldMetaData from \"../../../../../components/core/model/FieldMetaData\";\nimport { Chip } from \"primereact/chip\";\nimport { SolidFieldTooltip } from \"../../../../../components/common/SolidFieldTooltip\";\nimport { Divider } from \"primereact/divider\";\nimport { Button } from \"primereact/button\";\nimport { ERROR_MESSAGES } from \"../../../../../constants/error-messages\";\n\nexport type FormViewParams = {\n moduleName: any;\n id: any;\n embeded: any;\n isCustomCreate: any;\n customLayout: any;\n modelName: any;\n parentFieldName?: any;\n parentData: any;\n onEmbeddedFormSave: any;\n inlineCreateAutoSave: any;\n customCreateHandler?: any;\n handlePopupClose?: any\n}\n\nexport class SolidRelationOneToManyField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n initialValue(): any {\n\n // const manyToOneFieldData = this.fieldContext.data[this.fieldContext.field.attrs.name];\n // const fieldMetadata = this.fieldContext.fieldMetadata;\n // const userKeyField = fieldMetadata.relationModel.userKeyField.name;\n // const manyToOneColVal = manyToOneFieldData ? manyToOneFieldData[userKeyField] : '';\n\n // return { label: manyToOneColVal || '', value: manyToOneFieldData?.id || '' };\n\n return '';\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n // if(!value || value.length === 0) {\n // formData.append(`${fieldLayoutInfo.attrs.name}Command`, \"clear\");\n\n // }\n if (value) {\n formData.append(`${fieldLayoutInfo.attrs.name}Id`, value.value);\n }\n }\n\n validationSchema(): Yup.Schema {\n let schema = Yup.object();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n const userKeyFieldName = fieldMetadata.relationModel?.userKeyField?.name;\n\n let DynamicWidget = getExtensionComponent(\"SolidFormFieldRelationViewModeWidget\");\n const widgetProps = {\n label: fieldLabel,\n value: (this.fieldContext.data?.[fieldLayoutInfo.attrs.name] || []).map(\n (item: any) => ({ label: item[userKeyFieldName] ?? '' })\n ),\n layout: fieldLayoutInfo\n }\n\n // DefaultRelationOneToManyFormEditWidget\n\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultRelationOneToManyFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultRelationOneToManyFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n\n\n}\n\n\nexport const DefaultRelationOneToManyFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const router = useRouter();\n\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);\n const [listViewParams, setListViewParams] = useState<any>()\n const [formViewParams, setformViewParams] = useState<FormViewParams>()\n const [refreshList, setRefreshList] = useState(false); // Added state for rerender\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const pathname = usePathname();\n const lastPathSegment = pathname.split('/').pop();\n const userKeyField: any = Object.entries(fieldContext.solidFormViewMetaData.data.solidFieldsMetadata).find(([_, value]: any) => value.isUserKey)?.[0];\n const [showSaveParentEntityConfirmationPopup, setShowSaveParentEntityConfirmationPopup] = useState(false);\n\n useEffect(() => {\n const urlParams = new URLSearchParams(window.location.search);\n const childEntity = urlParams.get('childEntity');\n if (childEntity === fieldLayoutInfo.attrs.name && lastPathSegment !== \"new\") {\n handlePopupOpen('new');\n }\n }, [])\n\n const handlePopupOpen = (id: any) => {\n if (lastPathSegment === \"new\") {\n setShowSaveParentEntityConfirmationPopup(true);\n } else {\n\n const formviewparams: FormViewParams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n id: id,\n embeded: true,\n isCustomCreate: false,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n parentFieldName: fieldContext.fieldMetadata.relationCoModelFieldName,\n parentData: userKeyField ? { [userKeyField]: { solidManyToOneLabel: fieldContext.data[userKeyField], solidManyToOneValue: fieldContext.data['id'] } } : {},\n onEmbeddedFormSave: fieldContext.onEmbeddedFormSave,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n }\n setformViewParams(formviewparams);\n setvisibleCreateRelationEntity(true);\n }\n }\n\n const handlePopupClose = () => {\n setvisibleCreateRelationEntity(false);\n const currentUrl = new URL(window.location.href);\n currentUrl.searchParams.delete('childEntity');\n router.push(currentUrl.toString());\n setRefreshList((prev) => !prev);\n const customFilter = fieldContext.fieldMetadata.relationCoModelFieldName ? fieldContext.fieldMetadata.relationCoModelFieldName : `${fieldContext.modelName}`\n const lisviewparams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: fieldContext.data ? fieldContext?.data?.id : 'new',\n customFilter: {\n [customFilter]: {\n id: {\n $eq: fieldContext.data && fieldContext.data.id !== undefined ? fieldContext.data.id : -1\n }\n }\n }\n }\n setListViewParams(lisviewparams)\n }\n\n\n\n const buildCustomFilter = (customFilterKey: any, fieldContext: any, fieldLayoutInfo: any) => {\n const baseFilter = {\n [customFilterKey]: {\n id: {\n $eq: fieldContext.data && fieldContext.data.id !== undefined\n ? fieldContext.data.id\n : -1\n }\n }\n };\n\n const whereClause = fieldLayoutInfo?.attrs?.whereClause;\n\n if (whereClause) {\n try {\n const parsedWhereClause = JSON.parse(whereClause);\n return {\n [customFilterKey]: {\n ...baseFilter[customFilterKey],\n ...parsedWhereClause\n }\n };\n } catch (error) {\n console.error('Failed to parse whereClause:', error);\n return baseFilter;\n }\n }\n\n return baseFilter;\n };\n\n\n //Intial Params \n useEffect(() => {\n\n\n const customFilter = fieldContext.fieldMetadata.relationCoModelFieldName ? fieldContext.fieldMetadata.relationCoModelFieldName : `${fieldContext.modelName}`\n const listviewparams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: fieldContext.data ? fieldContext?.data?.id : 'new',\n customFilter: buildCustomFilter(customFilter, fieldContext, fieldLayoutInfo)\n\n // customFilter: {\n // [customFilter]: {\n // id: {\n // $eq: fieldContext.data && fieldContext.data.id !== undefined ? fieldContext.data.id : -1\n // }\n // }\n // }\n }\n setListViewParams(listviewparams);\n const formviewparams: FormViewParams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n parentFieldName: fieldContext.fieldMetadata.relationCoModelFieldName,\n id: \"new\",\n embeded: true,\n isCustomCreate: false,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n parentData: userKeyField ? { [userKeyField]: { solidManyToOneLabel: fieldContext.data[userKeyField], solidManyToOneValue: fieldContext.data['id'] } } : {},\n onEmbeddedFormSave: fieldContext.onEmbeddedFormSave,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n }\n\n\n\n setformViewParams(formviewparams)\n\n }, [readOnlyPermission])\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const saveParentEntity = async () => {\n const currentPath = window.location.pathname;\n const currentUrl = new URL(window.location.href);\n currentUrl.searchParams.set('childEntity', fieldLayoutInfo.attrs.name);\n currentUrl.searchParams.set('viewMode', 'edit');\n const updatedPath = currentUrl.toString();\n try {\n console.log(\"updatedPath\", updatedPath);\n router.push(updatedPath);\n await formik.handleSubmit();\n } catch {\n\n }\n setShowSaveParentEntityConfirmationPopup(false);\n };\n\n\n\n return (\n <div>\n {/* <div className=\"justify-content-center align-items-center\"> */}\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className=\"form-field-label\">{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n\n {/* {lastPathSegment === 'new' && <p>Please save the {solidFormViewMetaData.data.solidView.model.displayName} to be able to save {fieldMetadata.displayName}</p>} */}\n {listViewParams &&\n <SolidListView key={refreshList.toString()} {...listViewParams} handlePopUpOpen={handlePopupOpen} />\n }\n {readOnlyPermission !== true && formViewParams &&\n <RenderSolidFormEmbededView formik={formik} fieldContext={fieldContext} visibleCreateRelationEntity={visibleCreateRelationEntity} setvisibleCreateRelationEntity={setvisibleCreateRelationEntity} formViewParams={formViewParams} handlePopupClose={handlePopupClose}></RenderSolidFormEmbededView>\n }\n\n <Dialog showHeader={false} headerClassName=\"py-2\" contentClassName=\"px-0 pb-0\" className=\"solid-confirm-dialog\" contentStyle={{ borderRadius: 6 }} visible={showSaveParentEntityConfirmationPopup} style={{ width: '20vw' }} onHide={() => { if (!showSaveParentEntityConfirmationPopup) return; setShowSaveParentEntityConfirmationPopup(false); }}>\n <div className=\"p-4\">\n <p className=\"m-0 solid-primary-title\" style={{ fontSize: 16 }}>\n Before Creating {fieldLabel} you need to save {solidFormViewMetaData?.data?.solidView?.model?.displayName ? solidFormViewMetaData?.data?.solidView?.model?.displayName : capitalize(fieldContext.modelName)}.\n Please click save if you wish to proceed ?\n </p>\n <div className=\"flex align-items-center justify-content-start gap-2 mt-3\">\n <Button label=\"Save\" size=\"small\" onClick={saveParentEntity} />\n <Button label=\"Cancel\" size=\"small\" onClick={() => setShowSaveParentEntityConfirmationPopup(false)} outlined className='bg-primary-reverse' />\n </div>\n </div>\n </Dialog>\n\n </div>\n );\n}\n\n\nexport const DefaultRelationOneToManyFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);\n const [listViewParams, setListViewParams] = useState<any>()\n const [formViewParams, setformViewParams] = useState<FormViewParams>()\n const [refreshList, setRefreshList] = useState(false); // Added state for rerender\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const pathname = usePathname();\n const lastPathSegment = pathname.split('/').pop();\n const userKeyField: any = Object.entries(fieldContext.solidFormViewMetaData.data.solidFieldsMetadata).find(([_, value]: any) => value.isUserKey)?.[0];\n\n const buildRelationCustomFilter = ({\n fieldContext,\n fieldLayoutInfo,\n }: {\n fieldContext: any;\n fieldLayoutInfo?: any;\n }) => {\n if (!fieldContext) {\n return { id: { $eq: -1 } };\n }\n\n const relationFieldName =\n fieldContext.fieldMetadata?.relationCoModelFieldName ??\n fieldContext.modelName;\n\n const parentId = fieldContext.data?.id ?? -1;\n\n const baseFilter = {\n [relationFieldName]: {\n id: { $eq: parentId },\n },\n };\n\n const whereClause = fieldLayoutInfo?.attrs?.whereClause;\n\n if (!whereClause) return { $and: [baseFilter] };\n\n try {\n const parsedWhereClause = JSON.parse(whereClause);\n\n return {\n $and: [baseFilter, parsedWhereClause],\n };\n } catch (error) {\n console.error(\"Failed to parse whereClause:\", error);\n return { $and: [baseFilter] };\n }\n };\n\n\n\n const handlePopupOpen = (id: any) => {\n\n const formviewparams: FormViewParams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n id: id,\n embeded: true,\n isCustomCreate: false,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n parentFieldName: fieldContext.fieldMetadata.relationCoModelFieldName,\n parentData: userKeyField ? { [userKeyField]: { solidManyToOneLabel: fieldContext.data[userKeyField], solidManyToOneValue: fieldContext.data['id'] } } : {},\n onEmbeddedFormSave: fieldContext.onEmbeddedFormSave,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n\n }\n setformViewParams(formviewparams);\n setvisibleCreateRelationEntity(true);\n\n\n }\n\n const handlePopupClose = () => {\n setvisibleCreateRelationEntity(false);\n setRefreshList((prev) => !prev);\n const customFilter = fieldContext.fieldMetadata.relationCoModelFieldName ? fieldContext.fieldMetadata.relationCoModelFieldName : `${fieldContext.modelName}`\n const lisviewparams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: fieldContext.data ? fieldContext?.data?.id : 'new',\n customFilter: buildRelationCustomFilter({\n fieldContext,\n fieldLayoutInfo,\n })\n // customFilter: {\n // [customFilter]: {\n // id: {\n // $eq: fieldContext.data ? fieldContext?.data?.id : -1\n // }\n // }\n // }\n }\n setListViewParams(lisviewparams)\n }\n //Intial Params \n useEffect(() => {\n\n const customFilter = fieldContext.fieldMetadata.relationCoModelFieldName ? fieldContext.fieldMetadata.relationCoModelFieldName : `${fieldContext.modelName}`\n const listviewparams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: fieldContext.data ? fieldContext?.data?.id : 'new',\n customFilter: buildRelationCustomFilter({\n fieldContext,\n fieldLayoutInfo,\n })\n\n\n // customFilter: {\n // [customFilter]: {\n // id: {\n // $eq: fieldContext?.data?.id !== undefined ? fieldContext?.data?.id : -1\n // }\n // }\n // }\n }\n setListViewParams(listviewparams);\n const formviewparams: FormViewParams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n id: \"new\",\n embeded: true,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n parentFieldName: fieldContext.fieldMetadata.relationCoModelFieldName,\n parentData: userKeyField ? { [userKeyField]: { solidManyToOneLabel: fieldContext.data[userKeyField], solidManyToOneValue: fieldContext.data['id'] } } : {},\n onEmbeddedFormSave: fieldContext.onEmbeddedFormSave,\n isCustomCreate: false\n\n }\n setformViewParams(formviewparams)\n\n }, [readOnlyPermission])\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n\n return (\n <div>\n {/* <div className=\"justify-content-center align-items-center\"> */}\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className=\"form-field-label\">{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n\n {/* {lastPathSegment === 'new' && <p>Please save the {solidFormViewMetaData.data.solidView.model.displayName} to be able to save {fieldMetadata.displayName}</p>} */}\n {listViewParams &&\n <SolidListView key={refreshList.toString()} {...listViewParams} handlePopUpOpen={handlePopupOpen} />\n }\n {readOnlyPermission !== true && formViewParams &&\n <RenderSolidFormEmbededView fieldLayoutInfo={fieldLayoutInfo} visibleCreateRelationEntity={visibleCreateRelationEntity} setvisibleCreateRelationEntity={setvisibleCreateRelationEntity} formViewParams={formViewParams} handlePopupClose={handlePopupClose}></RenderSolidFormEmbededView>\n }\n\n\n </div>\n );\n}\n\n\nexport const RenderSolidFormEmbededView = ({ fieldLayoutInfo, customCreateHandler, visibleCreateRelationEntity, setvisibleCreateRelationEntity, formViewParams, handlePopupClose }: any) => {\n const router = useRouter();\n\n const params: FormViewParams = {\n moduleName: formViewParams.moduleName,\n id: formViewParams?.id,\n modelName: camelCase(formViewParams.modelName),\n embeded: formViewParams.embeded,\n customLayout: formViewParams.customLayout,\n customCreateHandler: ((values: any) => {\n setvisibleCreateRelationEntity(false);\n customCreateHandler(values)\n }),\n inlineCreateAutoSave: formViewParams.inlineCreateAutoSave,\n handlePopupClose: handlePopupClose,\n parentFieldName: formViewParams.parentFieldName,\n parentData: formViewParams.parentData,\n onEmbeddedFormSave: formViewParams.onEmbeddedFormSave,\n isCustomCreate: formViewParams.isCustomCreate\n }\n\n return (\n <div className=\"many-to-many-add\" >\n {/* <Button icon=\"pi pi-plus\"\n rounded\n outlined\n aria-label=\"Filter\"\n type=\"button\"\n onClick={() => setvisibleCreateRelationEntity(true)}\n /> */}\n <Dialog\n header=\"\"\n showHeader={false}\n visible={visibleCreateRelationEntity}\n className=\"solid-dialog\"\n style={{\n width: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width ?? \"60vw\",\n height: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.height ?? \"auto\"\n }}\n onHide={() => {\n if (!visibleCreateRelationEntity) return;\n setvisibleCreateRelationEntity(false);\n }}\n breakpoints={{ '1199px': '35rem', \"767px\": '85vw', \"550px\": '90vw' }}\n\n >\n {params &&\n <SolidFormView {...params} />\n }\n </Dialog>\n </div>\n )\n}\n\n\nexport const PseudoRelationOneToManyFormWidget = ({ formData, field, fieldsMetadata, viewMetadata, formViewData }: SolidFormWidgetProps) => {\n\n const fieldLayoutInfo = field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label;\n const fieldDescription = fieldLayoutInfo.attrs.description;\n const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);\n const [listViewParams, setListViewParams] = useState<any>()\n const [formViewParams, setformViewParams] = useState<FormViewParams | null>(null)\n const [refreshList, setRefreshList] = useState(false); // Added state for rerender\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldLayoutInfo.readOnly ? fieldLayoutInfo.readOnly : false;\n const pathname = usePathname();\n\n const parentModelName = fieldLayoutInfo?.attrs?.parentModelName;\n const childModelName = fieldLayoutInfo?.attrs?.childModelName;\n const parentFieldName = fieldLayoutInfo?.attrs?.parentFieldName;\n const childFieldName = fieldLayoutInfo?.attrs?.childFieldName;\n const parentModuleName = fieldLayoutInfo?.attrs?.parentModuleName;\n const childModuleName = fieldLayoutInfo?.attrs?.childModuleName\n\n\n const buildCustomFilter = ({ childFieldName, parentFieldName, formViewData, fieldLayoutInfo,\n }: {\n childFieldName?: string;\n parentFieldName?: string;\n formViewData?: any;\n fieldLayoutInfo?: any;\n }) => {\n const baseFilter =\n childFieldName && formViewData?.data\n ? {\n [childFieldName]: {\n $eq: formViewData.data[parentFieldName as string],\n },\n }\n : { id: { $eq: -1 } };\n\n // 2️⃣ Optional whereClause merge\n const whereClause = fieldLayoutInfo?.attrs?.whereClause;\n\n if (!whereClause) return { $and: [baseFilter] };\n\n try {\n const parsedWhereClause = JSON.parse(whereClause);\n\n // If both filters exist, merge safely\n return {\n $and: [baseFilter, parsedWhereClause]\n };\n } catch (error) {\n console.error(\"Failed to parse whereClause:\", error);\n return { $and: [baseFilter] };\n }\n };\n\n\n\n const handlePopupOpen = (id: any) => {\n\n const formviewparams: FormViewParams = {\n moduleName: childModuleName,\n modelName: camelCase(childModelName),\n id: id,\n embeded: true,\n isCustomCreate: false,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n parentFieldName: parentFieldName,\n parentData: childFieldName && formViewData?.data && formViewData?.data[parentFieldName] ? { [childFieldName]: formViewData.data[parentFieldName] } : {},\n onEmbeddedFormSave: fieldLayoutInfo.onEmbeddedFormSave ? fieldLayoutInfo : false\n }\n setformViewParams(formviewparams);\n setvisibleCreateRelationEntity(true);\n\n\n }\n\n const handlePopupClose = () => {\n setvisibleCreateRelationEntity(false);\n setRefreshList((prev) => !prev);\n const lisviewparams = {\n moduleName: childModuleName,\n modelName: camelCase(childModelName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: formViewData && formViewData?.data ? formViewData?.data?.id : 'new',\n customFilter: buildCustomFilter({\n childFieldName,\n parentFieldName,\n formViewData,\n fieldLayoutInfo,\n })\n }\n setListViewParams(lisviewparams)\n }\n //Intial Params \n useEffect(() => {\n\n const listviewparams = {\n moduleName: childModuleName,\n modelName: camelCase(childModelName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: formViewData && formViewData?.data ? formViewData?.data?.id : 'new',\n customFilter: buildCustomFilter({\n childFieldName,\n parentFieldName,\n formViewData,\n fieldLayoutInfo,\n })\n }\n setListViewParams(listviewparams);\n const formviewparams: FormViewParams = {\n moduleName: childModuleName,\n modelName: camelCase(childModelName),\n id: \"new\",\n embeded: true,\n isCustomCreate: false,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n parentFieldName: parentFieldName,\n parentData: childFieldName && formViewData && formViewData?.data && formViewData?.data[parentFieldName] ? { [childFieldName]: formViewData.data[parentFieldName] } : {},\n onEmbeddedFormSave: formViewData && formViewData.onEmbeddedFormSave\n\n }\n\n setformViewParams(formviewparams)\n\n\n }, [readOnlyPermission, formViewData])\n\n return (\n <div>\n {/* <div className=\"justify-content-center align-items-center\"> */}\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className=\"form-field-label\">{fieldLabel}\n {/* {fieldMetadata.required && <span className=\"text-red-500\"> *</span>} */}\n {/* <SolidFieldTooltip fieldContext={fieldContext} /> */}\n </label>\n }\n\n {/* {lastPathSegment === 'new' && <p>Please save the {solidFormViewMetaData.data.solidView.model.displayName} to be able to save {fieldMetadata.displayName}</p>} */}\n {listViewParams &&\n <SolidListView key={refreshList.toString()} {...listViewParams} handlePopUpOpen={handlePopupOpen} />\n }\n {readOnlyPermission !== true && formViewParams &&\n <RenderSolidFormEmbededView fieldLayoutInfo={fieldLayoutInfo} visibleCreateRelationEntity={visibleCreateRelationEntity} setvisibleCreateRelationEntity={setvisibleCreateRelationEntity} formViewParams={formViewParams} handlePopupClose={handlePopupClose}></RenderSolidFormEmbededView>\n }\n\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidRelationOneToManyField.js","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidListView } from \"../../../../../components/core/list/SolidListView\";\nimport { camelCase, capitalize } from \"lodash\";\nimport { Dialog } from \"primereact/dialog\";\nimport { useEffect, useState } from \"react\";\nimport * as Yup from 'yup';\nimport SolidFormView from '../../../../../components/core/form/SolidFormView';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"../ISolidField\";\nimport { usePathname } from \"../../../../../hooks/usePathname\";\nimport { useRouter } from \"../../../../../hooks/useRouter\";\nimport { getExtensionComponent } from \"../../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps, SolidFormWidgetProps } from \"../../../../../types/solid-core\";\nimport { Message } from \"primereact/message\";\nimport FieldMetaData from \"../../../../../components/core/model/FieldMetaData\";\nimport { Chip } from \"primereact/chip\";\nimport { SolidFieldTooltip } from \"../../../../../components/common/SolidFieldTooltip\";\nimport { Divider } from \"primereact/divider\";\nimport { Button } from \"primereact/button\";\nimport { ERROR_MESSAGES } from \"../../../../../constants/error-messages\";\n\nexport type FormViewParams = {\n moduleName: any;\n id: any;\n embeded: any;\n isCustomCreate: any;\n customLayout: any;\n modelName: any;\n parentFieldName?: any;\n parentData: any;\n onEmbeddedFormSave: any;\n inlineCreateAutoSave: any;\n customCreateHandler?: any;\n handlePopupClose?: any\n}\n\nexport class SolidRelationOneToManyField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n initialValue(): any {\n\n // const manyToOneFieldData = this.fieldContext.data[this.fieldContext.field.attrs.name];\n // const fieldMetadata = this.fieldContext.fieldMetadata;\n // const userKeyField = fieldMetadata.relationModel.userKeyField.name;\n // const manyToOneColVal = manyToOneFieldData ? manyToOneFieldData[userKeyField] : '';\n\n // return { label: manyToOneColVal || '', value: manyToOneFieldData?.id || '' };\n\n return '';\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n // if(!value || value.length === 0) {\n // formData.append(`${fieldLayoutInfo.attrs.name}Command`, \"clear\");\n\n // }\n if (value) {\n formData.append(`${fieldLayoutInfo.attrs.name}Id`, value.value);\n }\n }\n\n validationSchema(): Yup.Schema {\n let schema = Yup.object();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n const userKeyFieldName = fieldMetadata.relationModel?.userKeyField?.name;\n\n let DynamicWidget = getExtensionComponent(\"SolidFormFieldRelationViewModeWidget\");\n const widgetProps = {\n label: fieldLabel,\n value: (this.fieldContext.data?.[fieldLayoutInfo.attrs.name] || []).map(\n (item: any) => ({ label: item[userKeyFieldName] ?? '' })\n ),\n layout: fieldLayoutInfo\n }\n\n // DefaultRelationOneToManyFormEditWidget\n\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultRelationOneToManyFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultRelationOneToManyFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n )\n }\n </div>\n </>\n );\n\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n\n\n}\n\n\n\nconst buildRelationCustomFilter = ({\n fieldContext,\n fieldLayoutInfo,\n}: {\n fieldContext: any;\n fieldLayoutInfo?: any;\n}) => {\n if (!fieldContext) {\n return { id: { $eq: -1 } };\n }\n const relationFieldName =\n fieldContext.fieldMetadata?.relationCoModelFieldName ??\n fieldContext.modelName;\n\n const parentId = fieldContext.data?.id ?? -1;\n\n\n const baseFilter = {\n [relationFieldName]: {\n id: { $eq: parentId },\n },\n };\n\n const whereClause = fieldLayoutInfo?.attrs?.whereClause;\n\n if (!whereClause) return { $and: [baseFilter] };\n\n try {\n const parsedWhereClause = JSON.parse(whereClause);\n\n return {\n $and: [baseFilter, parsedWhereClause],\n };\n } catch (error) {\n console.error(\"Failed to parse whereClause:\", error);\n return { $and: [baseFilter] };\n }\n};\n\n\nexport const DefaultRelationOneToManyFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const router = useRouter();\n\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);\n const [listViewParams, setListViewParams] = useState<any>()\n const [formViewParams, setformViewParams] = useState<FormViewParams>()\n const [refreshList, setRefreshList] = useState(false); // Added state for rerender\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const pathname = usePathname();\n const lastPathSegment = pathname.split('/').pop();\n const userKeyField: any = Object.entries(fieldContext.solidFormViewMetaData.data.solidFieldsMetadata).find(([_, value]: any) => value.isUserKey)?.[0];\n const [showSaveParentEntityConfirmationPopup, setShowSaveParentEntityConfirmationPopup] = useState(false);\n\n useEffect(() => {\n const urlParams = new URLSearchParams(window.location.search);\n const childEntity = urlParams.get('childEntity');\n if (childEntity === fieldLayoutInfo.attrs.name && lastPathSegment !== \"new\") {\n handleAddOrEditClickForEmbeddedView('new');\n }\n }, [])\n\n const handleAddOrEditClickForEmbeddedView = (id: any) => {\n if (lastPathSegment === \"new\") {\n setShowSaveParentEntityConfirmationPopup(true);\n } else {\n\n const formviewparams: FormViewParams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n id: id,\n embeded: true,\n isCustomCreate: false,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n parentFieldName: fieldContext.fieldMetadata.relationCoModelFieldName,\n parentData: userKeyField ? { [userKeyField]: { solidManyToOneLabel: fieldContext.data[userKeyField], solidManyToOneValue: fieldContext.data['id'] } } : {},\n onEmbeddedFormSave: fieldContext.onEmbeddedFormSave,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n }\n setformViewParams(formviewparams);\n setvisibleCreateRelationEntity(true);\n }\n }\n\n const handlePopupClose = () => {\n setvisibleCreateRelationEntity(false);\n const currentUrl = new URL(window.location.href);\n currentUrl.searchParams.delete('childEntity');\n router.push(currentUrl.toString());\n setRefreshList((prev) => !prev);\n const customFilter = fieldContext.fieldMetadata.relationCoModelFieldName ? fieldContext.fieldMetadata.relationCoModelFieldName : `${fieldContext.modelName}`\n const lisviewparams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: fieldContext.data ? fieldContext?.data?.id : 'new',\n customFilter: buildRelationCustomFilter({\n fieldContext,\n fieldLayoutInfo,\n })\n }\n setListViewParams(lisviewparams)\n }\n\n //Intial Params \n useEffect(() => {\n\n\n const customFilter = fieldContext.fieldMetadata.relationCoModelFieldName ? fieldContext.fieldMetadata.relationCoModelFieldName : `${fieldContext.modelName}`\n const listviewparams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: fieldContext.data ? fieldContext?.data?.id : 'new',\n customFilter: buildRelationCustomFilter({\n fieldContext,\n fieldLayoutInfo,\n })\n\n }\n setListViewParams(listviewparams);\n const formviewparams: FormViewParams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n parentFieldName: fieldContext.fieldMetadata.relationCoModelFieldName,\n id: \"new\",\n embeded: true,\n isCustomCreate: false,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n parentData: userKeyField ? { [userKeyField]: { solidManyToOneLabel: fieldContext.data[userKeyField], solidManyToOneValue: fieldContext.data['id'] } } : {},\n onEmbeddedFormSave: fieldContext.onEmbeddedFormSave,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n }\n\n\n\n setformViewParams(formviewparams)\n\n }, [readOnlyPermission])\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const saveParentEntity = async () => {\n const currentPath = window.location.pathname;\n const currentUrl = new URL(window.location.href);\n currentUrl.searchParams.set('childEntity', fieldLayoutInfo.attrs.name);\n currentUrl.searchParams.set('viewMode', 'edit');\n const updatedPath = currentUrl.toString();\n try {\n console.log(\"updatedPath\", updatedPath);\n router.push(updatedPath);\n await formik.handleSubmit();\n } catch {\n\n }\n setShowSaveParentEntityConfirmationPopup(false);\n };\n\n\n\n return (\n <div>\n {/* <div className=\"justify-content-center align-items-center\"> */}\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className=\"form-field-label\">{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n\n {/* {lastPathSegment === 'new' && <p>Please save the {solidFormViewMetaData.data.solidView.model.displayName} to be able to save {fieldMetadata.displayName}</p>} */}\n {listViewParams &&\n <SolidListView key={refreshList.toString()} {...listViewParams} handleAddClickForEmbeddedView={handleAddOrEditClickForEmbeddedView} handleEditClickForEmbeddedView={handleAddOrEditClickForEmbeddedView} />\n }\n {readOnlyPermission !== true && formViewParams &&\n <RenderSolidFormEmbededView formik={formik} fieldContext={fieldContext} visibleCreateRelationEntity={visibleCreateRelationEntity} setvisibleCreateRelationEntity={setvisibleCreateRelationEntity} formViewParams={formViewParams} handlePopupClose={handlePopupClose}></RenderSolidFormEmbededView>\n }\n\n <Dialog showHeader={false} headerClassName=\"py-2\" contentClassName=\"px-0 pb-0\" className=\"solid-confirm-dialog\" contentStyle={{ borderRadius: 6 }} visible={showSaveParentEntityConfirmationPopup} style={{ width: '20vw' }} onHide={() => { if (!showSaveParentEntityConfirmationPopup) return; setShowSaveParentEntityConfirmationPopup(false); }}>\n <div className=\"p-4\">\n <p className=\"m-0 solid-primary-title\" style={{ fontSize: 16 }}>\n Before Creating {fieldLabel} you need to save {solidFormViewMetaData?.data?.solidView?.model?.displayName ? solidFormViewMetaData?.data?.solidView?.model?.displayName : capitalize(fieldContext.modelName)}.\n Please click save if you wish to proceed ?\n </p>\n <div className=\"flex align-items-center justify-content-start gap-2 mt-3\">\n <Button label=\"Save\" size=\"small\" onClick={saveParentEntity} />\n <Button label=\"Cancel\" size=\"small\" onClick={() => setShowSaveParentEntityConfirmationPopup(false)} outlined className='bg-primary-reverse' />\n </div>\n </div>\n </Dialog>\n\n </div>\n );\n}\n\n\nexport const DefaultRelationOneToManyFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);\n const [listViewParams, setListViewParams] = useState<any>()\n const [formViewParams, setformViewParams] = useState<FormViewParams>()\n const [refreshList, setRefreshList] = useState(false); // Added state for rerender\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const pathname = usePathname();\n const lastPathSegment = pathname.split('/').pop();\n const userKeyField: any = Object.entries(fieldContext.solidFormViewMetaData.data.solidFieldsMetadata).find(([_, value]: any) => value.isUserKey)?.[0];\n\n\n const handleAddOrEditClickForEmbeddedView = (id: any) => {\n\n const formviewparams: FormViewParams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n id: id,\n embeded: true,\n isCustomCreate: false,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n parentFieldName: fieldContext.fieldMetadata.relationCoModelFieldName,\n parentData: userKeyField ? { [userKeyField]: { solidManyToOneLabel: fieldContext.data[userKeyField], solidManyToOneValue: fieldContext.data['id'] } } : {},\n onEmbeddedFormSave: fieldContext.onEmbeddedFormSave,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n\n }\n setformViewParams(formviewparams);\n setvisibleCreateRelationEntity(true);\n\n\n }\n\n const handlePopupClose = () => {\n setvisibleCreateRelationEntity(false);\n setRefreshList((prev) => !prev);\n const customFilter = fieldContext.fieldMetadata.relationCoModelFieldName ? fieldContext.fieldMetadata.relationCoModelFieldName : `${fieldContext.modelName}`\n const lisviewparams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: fieldContext.data ? fieldContext?.data?.id : 'new',\n customFilter: buildRelationCustomFilter({\n fieldContext,\n fieldLayoutInfo,\n })\n }\n setListViewParams(lisviewparams)\n }\n //Intial Params \n useEffect(() => {\n\n const customFilter = fieldContext.fieldMetadata.relationCoModelFieldName ? fieldContext.fieldMetadata.relationCoModelFieldName : `${fieldContext.modelName}`\n const listviewparams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: fieldContext.data ? fieldContext?.data?.id : 'new',\n customFilter: buildRelationCustomFilter({\n fieldContext,\n fieldLayoutInfo,\n })\n }\n setListViewParams(listviewparams);\n const formviewparams: FormViewParams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n id: \"new\",\n embeded: true,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n parentFieldName: fieldContext.fieldMetadata.relationCoModelFieldName,\n parentData: userKeyField ? { [userKeyField]: { solidManyToOneLabel: fieldContext.data[userKeyField], solidManyToOneValue: fieldContext.data['id'] } } : {},\n onEmbeddedFormSave: fieldContext.onEmbeddedFormSave,\n isCustomCreate: false\n\n }\n setformViewParams(formviewparams)\n\n }, [readOnlyPermission])\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n\n return (\n <div>\n {/* <div className=\"justify-content-center align-items-center\"> */}\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className=\"form-field-label\">{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n\n {/* {lastPathSegment === 'new' && <p>Please save the {solidFormViewMetaData.data.solidView.model.displayName} to be able to save {fieldMetadata.displayName}</p>} */}\n {listViewParams &&\n <SolidListView key={refreshList.toString()} {...listViewParams} handleAddClickForEmbeddedView={handleAddOrEditClickForEmbeddedView} handleEditClickForEmbeddedView={handleAddOrEditClickForEmbeddedView} />\n }\n {readOnlyPermission !== true && formViewParams &&\n <RenderSolidFormEmbededView fieldLayoutInfo={fieldLayoutInfo} visibleCreateRelationEntity={visibleCreateRelationEntity} setvisibleCreateRelationEntity={setvisibleCreateRelationEntity} formViewParams={formViewParams} handlePopupClose={handlePopupClose}></RenderSolidFormEmbededView>\n }\n\n\n </div>\n );\n}\n\n\nexport const RenderSolidFormEmbededView = ({ fieldLayoutInfo, customCreateHandler, visibleCreateRelationEntity, setvisibleCreateRelationEntity, formViewParams, handlePopupClose }: any) => {\n const router = useRouter();\n\n const params: FormViewParams = {\n moduleName: formViewParams.moduleName,\n id: formViewParams?.id,\n modelName: camelCase(formViewParams.modelName),\n embeded: formViewParams.embeded,\n customLayout: formViewParams.customLayout,\n customCreateHandler: ((values: any) => {\n setvisibleCreateRelationEntity(false);\n customCreateHandler(values)\n }),\n inlineCreateAutoSave: formViewParams.inlineCreateAutoSave,\n handlePopupClose: handlePopupClose,\n parentFieldName: formViewParams.parentFieldName,\n parentData: formViewParams.parentData,\n onEmbeddedFormSave: formViewParams.onEmbeddedFormSave,\n isCustomCreate: formViewParams.isCustomCreate\n }\n\n return (\n <div className=\"many-to-many-add\" >\n {/* <Button icon=\"pi pi-plus\"\n rounded\n outlined\n aria-label=\"Filter\"\n type=\"button\"\n onClick={() => setvisibleCreateRelationEntity(true)}\n /> */}\n <Dialog\n header=\"\"\n showHeader={false}\n visible={visibleCreateRelationEntity}\n className=\"solid-dialog\"\n style={{\n width: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width ?? \"60vw\",\n height: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.height ?? \"auto\"\n }}\n onHide={() => {\n if (!visibleCreateRelationEntity) return;\n setvisibleCreateRelationEntity(false);\n }}\n breakpoints={{ '1199px': '35rem', \"767px\": '85vw', \"550px\": '90vw' }}\n\n >\n {params &&\n <SolidFormView {...params} />\n }\n </Dialog>\n </div>\n )\n}\n\n\nexport const PseudoRelationOneToManyFormWidget = ({ formData, field, fieldsMetadata, viewMetadata, formViewData }: SolidFormWidgetProps) => {\n\n const fieldLayoutInfo = field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label;\n const fieldDescription = fieldLayoutInfo.attrs.description;\n const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);\n const [listViewParams, setListViewParams] = useState<any>()\n const [formViewParams, setformViewParams] = useState<FormViewParams | null>(null)\n const [refreshList, setRefreshList] = useState(false); // Added state for rerender\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldLayoutInfo.readOnly ? fieldLayoutInfo.readOnly : false;\n const pathname = usePathname();\n\n const parentModelName = fieldLayoutInfo?.attrs?.parentModelName;\n const childModelName = fieldLayoutInfo?.attrs?.childModelName;\n const parentFieldName = fieldLayoutInfo?.attrs?.parentFieldName;\n const childFieldName = fieldLayoutInfo?.attrs?.childFieldName;\n const parentModuleName = fieldLayoutInfo?.attrs?.parentModuleName;\n const childModuleName = fieldLayoutInfo?.attrs?.childModuleName\n\n\n const buildCustomFilter = ({ childFieldName, parentFieldName, formViewData, fieldLayoutInfo,\n }: {\n childFieldName?: string;\n parentFieldName?: string;\n formViewData?: any;\n fieldLayoutInfo?: any;\n }) => {\n const baseFilter =\n childFieldName && formViewData?.data\n ? {\n [childFieldName]: {\n $eq: formViewData.data[parentFieldName as string],\n },\n }\n : { id: { $eq: -1 } };\n\n // 2️⃣ Optional whereClause merge\n const whereClause = fieldLayoutInfo?.attrs?.whereClause;\n\n if (!whereClause) return { $and: [baseFilter] };\n\n try {\n const parsedWhereClause = JSON.parse(whereClause);\n\n // If both filters exist, merge safely\n return {\n $and: [baseFilter, parsedWhereClause]\n };\n } catch (error) {\n console.error(\"Failed to parse whereClause:\", error);\n return { $and: [baseFilter] };\n }\n };\n\n\n\n const handleAddOrEditClickForEmbeddedView = (id: any) => {\n\n const formviewparams: FormViewParams = {\n moduleName: childModuleName,\n modelName: camelCase(childModelName),\n id: id,\n embeded: true,\n isCustomCreate: false,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n parentFieldName: parentFieldName,\n parentData: childFieldName && formViewData?.data && formViewData?.data[parentFieldName] ? { [childFieldName]: formViewData.data[parentFieldName] } : {},\n onEmbeddedFormSave: fieldLayoutInfo.onEmbeddedFormSave ? fieldLayoutInfo : false\n }\n setformViewParams(formviewparams);\n setvisibleCreateRelationEntity(true);\n\n\n }\n\n const handlePopupClose = () => {\n setvisibleCreateRelationEntity(false);\n setRefreshList((prev) => !prev);\n const lisviewparams = {\n moduleName: childModuleName,\n modelName: camelCase(childModelName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: formViewData && formViewData?.data ? formViewData?.data?.id : 'new',\n customFilter: buildCustomFilter({\n childFieldName,\n parentFieldName,\n formViewData,\n fieldLayoutInfo,\n })\n }\n setListViewParams(lisviewparams)\n }\n //Intial Params \n useEffect(() => {\n\n const listviewparams = {\n moduleName: childModuleName,\n modelName: camelCase(childModelName),\n inlineCreate: readOnlyPermission === false ? true : false,\n customLayout: fieldLayoutInfo?.attrs?.inlineListLayout,\n embeded: true,\n id: formViewData && formViewData?.data ? formViewData?.data?.id : 'new',\n customFilter: buildCustomFilter({\n childFieldName,\n parentFieldName,\n formViewData,\n fieldLayoutInfo,\n })\n }\n setListViewParams(listviewparams);\n const formviewparams: FormViewParams = {\n moduleName: childModuleName,\n modelName: camelCase(childModelName),\n id: \"new\",\n embeded: true,\n isCustomCreate: false,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n customLayout: fieldLayoutInfo?.attrs?.inlineCreateLayout,\n parentFieldName: parentFieldName,\n parentData: childFieldName && formViewData && formViewData?.data && formViewData?.data[parentFieldName] ? { [childFieldName]: formViewData.data[parentFieldName] } : {},\n onEmbeddedFormSave: formViewData && formViewData.onEmbeddedFormSave\n\n }\n\n setformViewParams(formviewparams)\n\n\n }, [readOnlyPermission, formViewData])\n\n return (\n <div>\n {/* <div className=\"justify-content-center align-items-center\"> */}\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className=\"form-field-label\">{fieldLabel}\n {/* {fieldMetadata.required && <span className=\"text-red-500\"> *</span>} */}\n {/* <SolidFieldTooltip fieldContext={fieldContext} /> */}\n </label>\n }\n\n {/* {lastPathSegment === 'new' && <p>Please save the {solidFormViewMetaData.data.solidView.model.displayName} to be able to save {fieldMetadata.displayName}</p>} */}\n {listViewParams &&\n <SolidListView key={refreshList.toString()} {...listViewParams} handleAddClickForEmbeddedView={handleAddOrEditClickForEmbeddedView} handleEditClickForEmbeddedView={handleAddOrEditClickForEmbeddedView} />\n }\n {readOnlyPermission !== true && formViewParams &&\n <RenderSolidFormEmbededView fieldLayoutInfo={fieldLayoutInfo} visibleCreateRelationEntity={visibleCreateRelationEntity} setvisibleCreateRelationEntity={setvisibleCreateRelationEntity} formViewParams={formViewParams} handlePopupClose={handlePopupClose}></RenderSolidFormEmbededView>\n }\n\n </div>\n );\n}\n"]}