@solidxai/core-ui 0.1.5-beta.11 → 0.1.5-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
  2. package/dist/components/auth/GoogleAuthChecking.js +10 -10
  3. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  4. package/dist/components/auth/GoogleAuthChecking.tsx +8 -9
  5. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  6. package/dist/components/auth/SolidChangeForcePassword.js +9 -10
  7. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  8. package/dist/components/auth/SolidChangeForcePassword.tsx +6 -9
  9. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  10. package/dist/components/auth/SolidForgotPassword.js +8 -8
  11. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  12. package/dist/components/auth/SolidForgotPassword.tsx +6 -8
  13. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  14. package/dist/components/auth/SolidInitialLoginOtp.js +57 -57
  15. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  16. package/dist/components/auth/SolidInitialLoginOtp.tsx +10 -11
  17. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  18. package/dist/components/auth/SolidInitiateRegisterOtp.js +57 -57
  19. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  20. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +10 -11
  21. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  22. package/dist/components/auth/SolidLogin.js +12 -12
  23. package/dist/components/auth/SolidLogin.js.map +1 -1
  24. package/dist/components/auth/SolidLogin.tsx +11 -16
  25. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  26. package/dist/components/auth/SolidRegister.js +19 -19
  27. package/dist/components/auth/SolidRegister.js.map +1 -1
  28. package/dist/components/auth/SolidRegister.tsx +18 -23
  29. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  30. package/dist/components/auth/SolidResetPassword.js +15 -15
  31. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  32. package/dist/components/auth/SolidResetPassword.tsx +7 -8
  33. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  34. package/dist/components/common/GeneralSettings.js +87 -120
  35. package/dist/components/common/GeneralSettings.js.map +1 -1
  36. package/dist/components/common/GeneralSettings.tsx +12 -42
  37. package/dist/components/common/GlobalToast.d.ts +2 -0
  38. package/dist/components/common/GlobalToast.d.ts.map +1 -0
  39. package/dist/components/common/GlobalToast.js +25 -0
  40. package/dist/components/common/GlobalToast.js.map +1 -0
  41. package/dist/components/common/GlobalToast.tsx +25 -0
  42. package/dist/components/common/SolidExport.d.ts.map +1 -1
  43. package/dist/components/common/SolidExport.js +19 -31
  44. package/dist/components/common/SolidExport.js.map +1 -1
  45. package/dist/components/common/SolidExport.tsx +7 -19
  46. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  47. package/dist/components/common/SolidFormStepper.js +41 -41
  48. package/dist/components/common/SolidFormStepper.js.map +1 -1
  49. package/dist/components/common/SolidFormStepper.tsx +5 -6
  50. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  51. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +9 -9
  52. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  53. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +8 -9
  54. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  55. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +8 -8
  56. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  57. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +7 -9
  58. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
  59. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +11 -11
  60. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  61. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +10 -11
  62. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  63. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +9 -9
  64. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  65. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +8 -9
  66. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  67. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +7 -7
  68. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  69. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +6 -7
  70. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  71. package/dist/components/core/common/SolidGlobalSearchElement.js +78 -21
  72. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  73. package/dist/components/core/common/SolidGlobalSearchElement.tsx +65 -10
  74. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  75. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +6 -8
  76. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  77. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +5 -9
  78. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
  79. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +9 -11
  80. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  81. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +5 -10
  82. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts.map +1 -1
  83. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js +5 -6
  84. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -1
  85. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +5 -8
  86. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
  87. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +10 -12
  88. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  89. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +6 -11
  90. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
  91. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +11 -6
  92. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  93. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +13 -1
  94. package/dist/components/core/form/SolidFormUserViewLayout.d.ts.map +1 -1
  95. package/dist/components/core/form/SolidFormUserViewLayout.js +7 -8
  96. package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
  97. package/dist/components/core/form/SolidFormUserViewLayout.tsx +5 -7
  98. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  99. package/dist/components/core/form/SolidFormView.js +12 -21
  100. package/dist/components/core/form/SolidFormView.js.map +1 -1
  101. package/dist/components/core/form/SolidFormView.tsx +11 -33
  102. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  103. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +37 -26
  104. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  105. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +38 -5
  106. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  107. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +11 -11
  108. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  109. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +9 -11
  110. package/dist/components/core/kanban/KanbanUserViewLayout.d.ts.map +1 -1
  111. package/dist/components/core/kanban/KanbanUserViewLayout.js +7 -8
  112. package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
  113. package/dist/components/core/kanban/KanbanUserViewLayout.tsx +4 -6
  114. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  115. package/dist/components/core/kanban/SolidKanbanView.js +5 -7
  116. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  117. package/dist/components/core/kanban/SolidKanbanView.tsx +4 -9
  118. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  119. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +13 -13
  120. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  121. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +5 -6
  122. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  123. package/dist/components/core/list/SolidListView.js +20 -67
  124. package/dist/components/core/list/SolidListView.js.map +1 -1
  125. package/dist/components/core/list/SolidListView.tsx +9 -76
  126. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  127. package/dist/components/core/model/CreateModel.js +15 -25
  128. package/dist/components/core/model/CreateModel.js.map +1 -1
  129. package/dist/components/core/model/CreateModel.tsx +12 -32
  130. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  131. package/dist/components/core/model/FieldMetaData.js +6 -17
  132. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  133. package/dist/components/core/model/FieldMetaData.tsx +5 -26
  134. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  135. package/dist/components/core/model/ModelMetaData.js +48 -55
  136. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  137. package/dist/components/core/model/ModelMetaData.tsx +4 -22
  138. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  139. package/dist/components/core/module/CreateModule.js +42 -44
  140. package/dist/components/core/module/CreateModule.js.map +1 -1
  141. package/dist/components/core/module/CreateModule.tsx +13 -27
  142. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  143. package/dist/components/core/module/ModuleListViewData.js +11 -7
  144. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  145. package/dist/components/core/module/ModuleListViewData.tsx +10 -8
  146. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  147. package/dist/components/core/tree/SolidTreeView.js +32 -69
  148. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  149. package/dist/components/core/tree/SolidTreeView.tsx +8 -47
  150. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  151. package/dist/components/core/users/CreateUser.js +24 -37
  152. package/dist/components/core/users/CreateUser.js.map +1 -1
  153. package/dist/components/core/users/CreateUser.tsx +8 -46
  154. package/dist/components/core/users/UserListView.d.ts.map +1 -1
  155. package/dist/components/core/users/UserListView.js +9 -16
  156. package/dist/components/core/users/UserListView.js.map +1 -1
  157. package/dist/components/core/users/UserListView.tsx +5 -21
  158. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  159. package/dist/components/layout/AdminLayout.js +4 -2
  160. package/dist/components/layout/AdminLayout.js.map +1 -1
  161. package/dist/components/layout/AdminLayout.tsx +4 -2
  162. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  163. package/dist/components/layout/AppSidebar.js +1 -2
  164. package/dist/components/layout/AppSidebar.js.map +1 -1
  165. package/dist/components/layout/AppSidebar.tsx +0 -2
  166. package/dist/components/layout/Layout.d.ts.map +1 -1
  167. package/dist/components/layout/Layout.js +2 -1
  168. package/dist/components/layout/Layout.js.map +1 -1
  169. package/dist/components/layout/Layout.tsx +2 -0
  170. package/dist/components/layout/navbar-one.d.ts.map +1 -1
  171. package/dist/components/layout/navbar-one.js +1 -2
  172. package/dist/components/layout/navbar-one.js.map +1 -1
  173. package/dist/components/layout/navbar-one.tsx +0 -2
  174. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  175. package/dist/components/layout/navbar-two-menu.js +50 -24
  176. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  177. package/dist/components/layout/navbar-two-menu.tsx +48 -30
  178. package/dist/index.d.ts +4 -0
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +3 -0
  181. package/dist/index.js.map +1 -1
  182. package/dist/index.ts +4 -0
  183. package/dist/redux/features/toastSlice.d.ts +15 -0
  184. package/dist/redux/features/toastSlice.d.ts.map +1 -0
  185. package/dist/redux/features/toastSlice.js +20 -0
  186. package/dist/redux/features/toastSlice.js.map +1 -0
  187. package/dist/redux/features/toastSlice.ts +35 -0
  188. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  189. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  190. package/dist/redux/store/defaultStoreConfig.js +2 -1
  191. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  192. package/dist/redux/store/defaultStoreConfig.ts +2 -0
  193. package/package.json +1 -1
@@ -1,8 +1,7 @@
1
1
  import { useFormik } from 'formik';
2
2
  import { Button } from 'primereact/button';
3
3
  import { InputText } from 'primereact/inputtext';
4
- import { Toast } from 'primereact/toast';
5
- import { useCallback, useEffect, useRef, useState } from 'react'
4
+ import { useCallback, useEffect, useState } from 'react'
6
5
  import { CancelButton } from './CancelButton';
7
6
  import { InputSwitch } from 'primereact/inputswitch';
8
7
  import { RadioButton } from 'primereact/radiobutton';
@@ -21,11 +20,10 @@ import { Dropdown } from 'primereact/dropdown';
21
20
  import { OpenAiProviderComponent } from './SolidSettings/LlmSettings/OpenAiProviderComponent';
22
21
  import { AnthropicProviderComponent } from './SolidSettings/LlmSettings/AnthropicProviderComponent';
23
22
  import { useDispatch, useSelector } from 'react-redux';
24
- import { handleError } from '../../helpers/ToastContainer';
25
23
  import { ERROR_MESSAGES } from '../../constants/error-messages';
26
24
  import { useBulkUpdateSolidSettingsMutation, useLazyGetSolidSettingsQuery } from '../../redux/api/solidSettingsApi';
27
25
  import { env } from "../../adapters/env";
28
- import showToast from "../../helpers/showToast";
26
+ import { showToast } from '../../redux/features/toastSlice';
29
27
 
30
28
 
31
29
  export const GeneralSettings = () => {
@@ -43,8 +41,6 @@ export const GeneralSettings = () => {
43
41
  }, [trigger])
44
42
  const pathname = usePathname();
45
43
  const [bulkUpdateSolidSettings] = useBulkUpdateSolidSettingsMutation();
46
- const toast = useRef<Toast>(null);
47
-
48
44
  const initialValues = {
49
45
  appLogo: solidSettingsData?.data?.appLogo ?? null,
50
46
  companylogo: solidSettingsData?.data?.companylogo ?? null,
@@ -134,7 +130,7 @@ export const GeneralSettings = () => {
134
130
  });
135
131
 
136
132
  if (updatedSettingsArray.length === 0) {
137
- showToast(toast, "success", "No Changes", "No settings were updated");
133
+ dispatch(showToast({ severity: "success", summary: "No Changes", detail: "No settings were updated" }));
138
134
  return;
139
135
  }
140
136
 
@@ -145,13 +141,13 @@ export const GeneralSettings = () => {
145
141
  const response = await bulkUpdateSolidSettings({ data: formData }).unwrap();
146
142
 
147
143
  if (response.statusCode === 200) {
148
- showToast(toast, "success", "Updated", "Settings updated");
144
+ dispatch(showToast({ severity: "success", summary: "Updated", detail: "Settings updated" }));
149
145
  trigger("")
150
146
  }
151
147
 
152
148
  } catch (error: any) {
153
149
  console.log("Error updating settings:", error);
154
- showToast(toast, "error", ERROR_MESSAGES.FAILED, error?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);
150
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: error?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG }));
155
151
  }
156
152
  },
157
153
  });
@@ -160,8 +156,8 @@ export const GeneralSettings = () => {
160
156
  const errors = await formik.validateForm();
161
157
  const errorMessages = Object.values(errors);
162
158
 
163
- if (errorMessages.length > 0 && toast.current) {
164
- handleError(errorMessages)
159
+ if (errorMessages.length > 0) {
160
+ dispatch(showToast({ severity: 'error', summary: 'Error', detail: Array.isArray(errorMessages) ? errorMessages.join(', ') : errorMessages }));
165
161
  }
166
162
  }
167
163
  useEffect(() => {
@@ -179,12 +175,7 @@ export const GeneralSettings = () => {
179
175
  const file = acceptedFiles[0];
180
176
  if (file) {
181
177
  if (file.size > 2 * 1024 * 1024) {
182
- toast.current?.show({
183
- severity: "error",
184
- summary: "File too large",
185
- detail: "Maximum file size is 2MB",
186
- sticky: true
187
- });
178
+ dispatch(showToast({ severity: "error", summary: "File too large", detail: "Maximum file size is 2MB" }));
188
179
  return;
189
180
  }
190
181
  formik.setFieldValue("appLogo", file);
@@ -198,12 +189,7 @@ export const GeneralSettings = () => {
198
189
  const file = acceptedFiles[0];
199
190
  if (file) {
200
191
  if (file.size > 2 * 1024 * 1024) {
201
- toast.current?.show({
202
- severity: "error",
203
- summary: "File too large",
204
- detail: "Maximum file size is 2MB",
205
- sticky: true
206
- });
192
+ dispatch(showToast({ severity: "error", summary: "File too large", detail: "Maximum file size is 2MB" }));
207
193
  return;
208
194
  }
209
195
  formik.setFieldValue("companylogo", file);
@@ -262,12 +248,7 @@ export const GeneralSettings = () => {
262
248
  const file = acceptedFiles[0];
263
249
  if (file) {
264
250
  if (file.size > 2 * 1024 * 1024) {
265
- toast.current?.show({
266
- severity: "error",
267
- summary: ERROR_MESSAGES.FILE_LARGE,
268
- detail: ERROR_MESSAGES.MAX_FILE_SIZE,
269
- sticky: true
270
- });
251
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FILE_LARGE, detail: ERROR_MESSAGES.MAX_FILE_SIZE }));
271
252
  return;
272
253
  }
273
254
  formik.setFieldValue("authScreenRightBackgroundImage", file);
@@ -281,12 +262,7 @@ export const GeneralSettings = () => {
281
262
  const file = acceptedFiles[0];
282
263
  if (file) {
283
264
  if (file.size > 2 * 1024 * 1024) {
284
- toast.current?.show({
285
- severity: "error",
286
- summary: ERROR_MESSAGES.FILE_LARGE,
287
- detail: ERROR_MESSAGES.MAX_FILE_SIZE,
288
- sticky: true,
289
- });
265
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FILE_LARGE, detail: ERROR_MESSAGES.MAX_FILE_SIZE }));
290
266
  return;
291
267
  }
292
268
  formik.setFieldValue("authScreenLeftBackgroundImage", file);
@@ -298,12 +274,7 @@ export const GeneralSettings = () => {
298
274
  const file = acceptedFiles[0];
299
275
  if (file) {
300
276
  if (file.size > 2 * 1024 * 1024) {
301
- toast.current?.show({
302
- severity: "error",
303
- summary: ERROR_MESSAGES.FILE_LARGE,
304
- detail: ERROR_MESSAGES.MAX_FILE_SIZE,
305
- sticky: true,
306
- });
277
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FILE_LARGE, detail: ERROR_MESSAGES.MAX_FILE_SIZE }));
307
278
  return;
308
279
  }
309
280
  formik.setFieldValue("authScreenCenterBackgroundImage", file);
@@ -447,7 +418,6 @@ export const GeneralSettings = () => {
447
418
 
448
419
  return (
449
420
  <div className="page-parent-wrapper">
450
- <Toast ref={toast} />
451
421
  <div className="solid-form-wrapper">
452
422
  <div className="solid-form-section">
453
423
  <form onSubmit={formik.handleSubmit}>
@@ -0,0 +1,2 @@
1
+ export declare const GlobalToast: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=GlobalToast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalToast.d.ts","sourceRoot":"","sources":["../../../src/components/common/GlobalToast.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,+CAmBvB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Toast } from 'primereact/toast';
3
+ import { useEffect, useRef } from 'react';
4
+ import { useDispatch, useSelector } from 'react-redux';
5
+ import { clearToast } from '../../redux/features/toastSlice';
6
+ export var GlobalToast = function () {
7
+ var toastRef = useRef(null);
8
+ var dispatch = useDispatch();
9
+ var message = useSelector(function (state) { return state.toast.message; });
10
+ useEffect(function () {
11
+ var _a;
12
+ if (message && toastRef.current) {
13
+ toastRef.current.show({
14
+ severity: message.severity,
15
+ summary: message.summary,
16
+ detail: message.detail,
17
+ sticky: message.sticky,
18
+ life: message.sticky ? undefined : ((_a = message.life) !== null && _a !== void 0 ? _a : 3000),
19
+ });
20
+ dispatch(clearToast());
21
+ }
22
+ }, [message]);
23
+ return _jsx(Toast, { ref: toastRef });
24
+ };
25
+ //# sourceMappingURL=GlobalToast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalToast.js","sourceRoot":"","sources":["../../../src/components/common/GlobalToast.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,MAAM,CAAC,IAAM,WAAW,GAAG;IACvB,IAAM,QAAQ,GAAG,MAAM,CAAQ,IAAI,CAAC,CAAC;IACrC,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,OAAO,GAAG,WAAW,CAAC,UAAC,KAAU,IAAK,OAAA,KAAK,CAAC,KAAK,CAAC,OAAO,EAAnB,CAAmB,CAAC,CAAC;IAEjE,SAAS,CAAC;;QACN,IAAI,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;YAC7B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAA,OAAO,CAAC,IAAI,mCAAI,IAAI,CAAC;aAC5D,CAAC,CAAC;YACH,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;SAC1B;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,KAAC,KAAK,IAAC,GAAG,EAAE,QAAQ,GAAI,CAAC;AACpC,CAAC,CAAC","sourcesContent":["import { Toast } from 'primereact/toast';\nimport React, { useEffect, useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { clearToast } from '../../redux/features/toastSlice';\n\nexport const GlobalToast = () => {\n const toastRef = useRef<Toast>(null);\n const dispatch = useDispatch();\n const message = useSelector((state: any) => state.toast.message);\n\n useEffect(() => {\n if (message && toastRef.current) {\n toastRef.current.show({\n severity: message.severity,\n summary: message.summary,\n detail: message.detail,\n sticky: message.sticky,\n life: message.sticky ? undefined : (message.life ?? 3000),\n });\n dispatch(clearToast());\n }\n }, [message]);\n\n return <Toast ref={toastRef} />;\n};\n"]}
@@ -0,0 +1,25 @@
1
+ import { Toast } from 'primereact/toast';
2
+ import React, { useEffect, useRef } from 'react';
3
+ import { useDispatch, useSelector } from 'react-redux';
4
+ import { clearToast } from '../../redux/features/toastSlice';
5
+
6
+ export const GlobalToast = () => {
7
+ const toastRef = useRef<Toast>(null);
8
+ const dispatch = useDispatch();
9
+ const message = useSelector((state: any) => state.toast.message);
10
+
11
+ useEffect(() => {
12
+ if (message && toastRef.current) {
13
+ toastRef.current.show({
14
+ severity: message.severity,
15
+ summary: message.summary,
16
+ detail: message.detail,
17
+ sticky: message.sticky,
18
+ life: message.sticky ? undefined : (message.life ?? 3000),
19
+ });
20
+ dispatch(clearToast());
21
+ }
22
+ }, [message]);
23
+
24
+ return <Toast ref={toastRef} />;
25
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidExport.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidExport.tsx"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,CAAC;AAqC5B,eAAO,MAAM,WAAW,kCAAmC,GAAG,mDA2gB7D,CAAC"}
1
+ {"version":3,"file":"SolidExport.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidExport.tsx"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,CAAC;AAsC5B,eAAO,MAAM,WAAW,kCAAmC,GAAG,mDA8f7D,CAAC"}
@@ -47,8 +47,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
47
47
  import { useFormik } from "formik";
48
48
  import './solid-export.css';
49
49
  import { Button } from "primereact/button";
50
- import { Toast } from "primereact/toast";
51
- import React, { useEffect, useRef, useState } from "react";
50
+ import React, { useEffect, useState } from "react";
51
+ import { useDispatch } from 'react-redux';
52
+ import { showToast } from '../../redux/features/toastSlice';
52
53
  import { createSolidEntityApi } from "../../redux/api/solidEntityApi";
53
54
  import { Dropdown } from "primereact/dropdown";
54
55
  import { Dialog } from "primereact/dialog";
@@ -60,7 +61,7 @@ import { Checkbox } from "primereact/checkbox";
60
61
  import { ERROR_MESSAGES } from "../../constants/error-messages";
61
62
  export var SolidExport = function (_a) {
62
63
  var listViewMetaData = _a.listViewMetaData, filters = _a.filters;
63
- var toast = useRef(null);
64
+ var dispatch = useDispatch();
64
65
  var entityApi = createSolidEntityApi("userViewMetadata");
65
66
  var useUpsertSolidEntityMutation = entityApi.useUpsertSolidEntityMutation;
66
67
  var upsertUserView = useUpsertSolidEntityMutation()[0];
@@ -149,9 +150,9 @@ export var SolidExport = function (_a) {
149
150
  }, [templatesData]);
150
151
  var handleAddTemplate = function () { return __awaiter(void 0, void 0, void 0, function () {
151
152
  var tname, customSelectedFields, fieldsData, exportData, response, newAddedTemplate_1, err_1;
152
- var _a, _b, _c;
153
- return __generator(this, function (_d) {
154
- switch (_d.label) {
153
+ var _a;
154
+ return __generator(this, function (_b) {
155
+ switch (_b.label) {
155
156
  case 0:
156
157
  setIsDialogVisible(false);
157
158
  tname = newTemplateName.trim();
@@ -167,17 +168,13 @@ export var SolidExport = function (_a) {
167
168
  fields: fieldsData,
168
169
  modelMetadataId: (_a = solidView === null || solidView === void 0 ? void 0 : solidView.model) === null || _a === void 0 ? void 0 : _a.id,
169
170
  };
170
- _d.label = 1;
171
+ _b.label = 1;
171
172
  case 1:
172
- _d.trys.push([1, 3, , 4]);
173
+ _b.trys.push([1, 3, , 4]);
173
174
  return [4 /*yield*/, createExportTemplate(exportData).unwrap()];
174
175
  case 2:
175
- response = _d.sent();
176
- (_b = toast === null || toast === void 0 ? void 0 : toast.current) === null || _b === void 0 ? void 0 : _b.show({
177
- severity: "success",
178
- summary: "Template Added",
179
- detail: "Template Saved",
180
- });
176
+ response = _b.sent();
177
+ dispatch(showToast({ severity: "success", summary: "Template Added", detail: "Template Saved" }));
181
178
  newAddedTemplate_1 = {
182
179
  name: (selectedTemplate === null || selectedTemplate === void 0 ? void 0 : selectedTemplate.name) || "",
183
180
  code: response.data.id,
@@ -191,17 +188,13 @@ export var SolidExport = function (_a) {
191
188
  setSelectedFormat(formatOptions.find(function (format) { return format.code === (selectedFormat === null || selectedFormat === void 0 ? void 0 : selectedFormat.code); }) || null);
192
189
  return [3 /*break*/, 4];
193
190
  case 3:
194
- err_1 = _d.sent();
191
+ err_1 = _b.sent();
195
192
  console.error(ERROR_MESSAGES.TEMPLATE_FAILED, err_1);
196
193
  return [3 /*break*/, 4];
197
194
  case 4: return [3 /*break*/, 6];
198
195
  case 5:
199
- (_c = toast === null || toast === void 0 ? void 0 : toast.current) === null || _c === void 0 ? void 0 : _c.show({
200
- severity: "error",
201
- summary: ERROR_MESSAGES.TEMPLATE_FAILED,
202
- detail: ERROR_MESSAGES.TEMPLATE_FAILED,
203
- });
204
- _d.label = 6;
196
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.TEMPLATE_FAILED, detail: ERROR_MESSAGES.TEMPLATE_FAILED }));
197
+ _b.label = 6;
205
198
  case 6: return [2 /*return*/];
206
199
  }
207
200
  });
@@ -302,18 +295,13 @@ export var SolidExport = function (_a) {
302
295
  } })] }));
303
296
  var handleDeleteTemplate = function (id) { return __awaiter(void 0, void 0, void 0, function () {
304
297
  var response;
305
- var _a;
306
- return __generator(this, function (_b) {
307
- switch (_b.label) {
298
+ return __generator(this, function (_a) {
299
+ switch (_a.label) {
308
300
  case 0: return [4 /*yield*/, deleteExportTemplate(id).unwrap()];
309
301
  case 1:
310
- response = _b.sent();
302
+ response = _a.sent();
311
303
  setTemplateOptions(function (prev) { return prev.filter(function (template) { return template.code !== id; }); });
312
- (_a = toast === null || toast === void 0 ? void 0 : toast.current) === null || _a === void 0 ? void 0 : _a.show({
313
- severity: "success",
314
- summary: "Template Deleted",
315
- detail: "Template Deleted",
316
- });
304
+ dispatch(showToast({ severity: "success", summary: "Template Deleted", detail: "Template Deleted" }));
317
305
  return [2 /*return*/];
318
306
  }
319
307
  });
@@ -324,7 +312,7 @@ export var SolidExport = function (_a) {
324
312
  handleDeleteTemplate(option.code);
325
313
  }, xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M7 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2h4a1 1 0 1 1 0 2h-1.069l-.867 12.142A2 2 0 0 1 17.069 22H6.93a2 2 0 0 1-1.995-1.858L4.07 8H3a1 1 0 0 1 0-2h4V4zm2 2h6V4H9v2zM6.074 8l.857 12H17.07l.857-12H6.074zM10 10a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1zm4 0a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1z", fill: "#ff3d32" }) })] }));
326
314
  };
327
- return (_jsxs(_Fragment, { children: [_jsx(Toast, { ref: toast }), _jsx("div", { className: "p-0", children: currentStepValue === 'export' &&
315
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "p-0", children: currentStepValue === 'export' &&
328
316
  _jsxs(_Fragment, { children: [_jsxs("div", { className: "SolidExportControls mx-2 gap-2", children: [_jsxs("div", { className: "flex align-items-center", children: [_jsx(Checkbox, { inputId: "applyFilters", onChange: function (e) { return setCheckedApplyFilter(!!e.checked); }, checked: checkApplyFilter }), _jsx("label", { htmlFor: "applyFilters", className: "ml-2", children: " Apply Filters" })] }), _jsx(Dropdown, { value: selectedFormat, onChange: function (e) { return setSelectedFormat(e.value); }, options: formatOptions, optionLabel: "name", placeholder: "Format .", className: "p-dropdown p-outlined",
329
317
  // 👇 Render icon + text for dropdown list options
330
318
  itemTemplate: function (option) {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidExport.js","sourceRoot":"","sources":["../../../src/components/common/SolidExport.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useFormik } from \"formik\";\nimport './solid-export.css';\nimport { Button } from \"primereact/button\";\nimport { Toast } from \"primereact/toast\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { createSolidEntityApi } from \"../../redux/api/solidEntityApi\";\nimport { Dropdown } from \"primereact/dropdown\";\nimport { Dialog } from \"primereact/dialog\";\nimport { InputText } from \"primereact/inputtext\";\nimport { useCreateExportTemplateMutation, useDeleteExportTemplateMutation, useGetExportTemplatesQuery } from \"../../redux/api/exportTemplateApi\";\nimport { downloadFileWithProgress } from '../../helpers/downloadFileWithProgress';\nimport { DownloadProgressToast } from \"./DownloadProgressToast\";\nimport { Checkbox } from \"primereact/checkbox\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\ninterface FieldMetadata {\n displayName: string;\n type: string;\n}\ninterface FilterColumns {\n name: string;\n key: string;\n}\n// Define the template option type\ninterface TemplateOption {\n name: string;\n code: string;\n fields: string[];\n templateFormat: string;\n}\ninterface FormatOption {\n name: string;\n code: string;\n icon?: JSX.Element;\n}\ninterface Question {\n key: string;\n name: string;\n}\nexport const SolidExport = ({ listViewMetaData, filters }: any) => {\n const toast = useRef<Toast>(null);\n const entityApi = createSolidEntityApi(\"userViewMetadata\");\n const { useUpsertSolidEntityMutation } = entityApi;\n\n const [upsertUserView] = useUpsertSolidEntityMutation();\n\n if (!listViewMetaData?.data) return null;\n\n const solidView = listViewMetaData.data.solidView;\n const solidFieldsMetadata = listViewMetaData.data.solidFieldsMetadata as Record<\n string,\n FieldMetadata\n >;\n if (!solidView || !solidFieldsMetadata) return null;\n\n const checkedFieldNames = new Set(\n solidView.layout.children.map((col: { attrs: { name: string } }) => col.attrs.name)\n );\n\n // const allColumns: FilterColumns[] = Object.entries(solidFieldsMetadata).map(\n // ([key, field]) => ({\n // name: field.displayName,\n // key,\n // })\n // );\n\n\n const excludedTypes = new Set(['mediaSingle', 'mediaMultiple']);\n const allColumns: FilterColumns[] = Object.entries(solidFieldsMetadata)\n .filter(([, field]) => !excludedTypes.has(field.type))\n .map(([key, field]) => ({\n name: field.displayName,\n key,\n }));\n\n const [createExportTemplate] = useCreateExportTemplateMutation();\n const [deleteExportTemplate] = useDeleteExportTemplateMutation();\n const { data: templatesData } = useGetExportTemplatesQuery({});\n const formik = useFormik({\n initialValues: {\n selectedColumns: allColumns.filter((col) => checkedFieldNames.has(col.key)),\n },\n onSubmit: (values) => {\n // console.log(\"Selected columns:\", values.selectedColumns);\n }\n });\n\n const { selectedColumns } = formik.values;\n\n const availableColumns = allColumns.filter(\n (col) => !selectedColumns.some((selected) => selected.key === col.key)\n );\n const moveToSelected = (col: FilterColumns) => {\n formik.setFieldValue(\"selectedColumns\", [...selectedColumns, col]);\n };\n const moveToAvailable = (col: FilterColumns) => {\n formik.setFieldValue(\"selectedColumns\", selectedColumns.filter((c) => c.key !== col.key));\n };\n\n const [selectedTemplate, setSelectedTemplate] = useState<TemplateOption | null>(null);\n const [selectedFormat, setSelectedFormat] = useState<FormatOption | null>({\n name: \"CSV\",\n code: \"csv\",\n icon: (\n <svg fill=\"#000000\" width=\"16\" height=\"16\" viewBox=\"0 0 318.188 318.188\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\">\n <g>\n <g>\n <g>\n <rect x=\"182.882\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n <rect x=\"101.592\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"88.053\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"110.371\" width=\"33.713\" height=\"15\" />\n <rect x=\"101.592\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n <polygon points=\"112.09,123.663 112.09,123.662 118.286,113.621 124.548,123.662 134.588,123.662 123.647,107.909 133.82,91.54 123.911,91.54 118.33,101.472 112.53,91.54 102.906,91.54 112.925,107.228 102.269,123.663\" />\n <path d=\"M201.02,249.514c-0.339,1.27-0.73,3.015-1.174,5.236c-0.445,2.222-0.741,4.073-0.889,5.555 c-0.127-2.053-0.847-5.691-2.158-10.918l-6.316-23.519h-14.092l15.139,46.401h14.759l15.202-46.401h-14.027L201.02,249.514z\" />\n <rect x=\"142.457\" y=\"110.371\" width=\"33.713\" height=\"15\" />\n <rect x=\"142.457\" y=\"88.053\" width=\"33.713\" height=\"15\" />\n <path d=\"M283.149,52.723L232.624,2.197C231.218,0.79,229.311,0,227.321,0H40.342c-4.142,0-7.5,3.358-7.5,7.5v303.188 c0,4.142,3.358,7.5,7.5,7.5h237.504c4.142,0,7.5-3.358,7.5-7.5V58.025C285.346,56.036,284.556,54.129,283.149,52.723z M234.821,25.606l24.918,24.919h-24.918V25.606z M47.842,15h171.979v10.263H47.842V15z M47.842,303.188V40.263h171.979v17.763 c0,4.143,3.358,7.5,7.5,7.5h43.024v237.662H47.842z\" />\n <rect x=\"142.457\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <path d=\"M122.372,235.484c1.969,0,3.809,0.275,5.523,0.826c1.713,0.55,3.428,1.227,5.141,2.031l3.841-9.871 c-4.57-2.18-9.362-3.27-14.378-3.27c-4.591,0-8.585,0.98-11.98,2.937c-3.396,1.957-5.999,4.755-7.808,8.395 c-1.81,3.64-2.714,7.86-2.714,12.663c0,7.682,1.867,13.553,5.602,17.615c3.734,4.063,9.104,6.094,16.107,6.094 c4.888,0,9.268-0.857,13.14-2.57v-10.602c-1.947,0.805-3.883,1.492-5.808,2.063c-1.926,0.571-3.915,0.857-5.967,0.857 c-6.793,0-10.188-4.464-10.188-13.393c0-4.295,0.836-7.665,2.507-10.109C117.062,236.707,119.39,235.484,122.372,235.484z\" />\n <path d=\"M163.57,244.594c-4.169-1.904-6.724-3.216-7.665-3.936c-0.942-0.719-1.412-1.533-1.412-2.443 c-0.002-0.847,0.368-1.556,1.11-2.127c0.74-0.571,1.925-0.857,3.555-0.857c3.152,0,6.897,0.995,11.234,2.984l3.841-9.681 c-4.994-2.222-9.892-3.333-14.694-3.333c-5.439,0-9.713,1.196-12.822,3.587c-3.111,2.392-4.666,5.724-4.666,9.997 c0,2.285,0.365,4.264,1.095,5.936s1.851,3.152,3.364,4.443s3.782,2.624,6.809,3.999c3.343,1.503,5.4,2.497,6.173,2.983 c0.771,0.486,1.333,0.968,1.682,1.444c0.35,0.476,0.524,1.031,0.524,1.666c0,1.016-0.435,1.847-1.302,2.491 c-0.868,0.647-2.233,0.969-4.095,0.969c-2.158,0-4.527-0.344-7.109-1.032c-2.581-0.687-5.067-1.645-7.458-2.872v11.172 c2.264,1.079,4.443,1.836,6.538,2.27c2.095,0.434,4.687,0.65,7.775,0.65c3.703,0,6.93-0.619,9.681-1.856 c2.75-1.238,4.856-2.973,6.315-5.205c1.461-2.232,2.191-4.787,2.191-7.665c0-3.131-0.777-5.729-2.333-7.792 C170.346,248.323,167.569,246.393,163.57,244.594z\" />\n <rect x=\"142.457\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n </g>\n </g>\n </g>\n </svg>\n ),\n });\n const [templateOptions, setTemplateOptions] = useState<TemplateOption[]>([]);\n //loading hardcode format\n const [formatOptions, setFormatOptions] = useState<FormatOption[]>([\n {\n name: \"CSV\",\n code: \"csv\",\n icon: (\n <svg fill=\"#000000\" width=\"16\" height=\"16\" viewBox=\"0 0 318.188 318.188\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\">\n <g>\n <g>\n <g>\n <rect x=\"182.882\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n <rect x=\"101.592\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"88.053\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"110.371\" width=\"33.713\" height=\"15\" />\n <rect x=\"101.592\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n <polygon points=\"112.09,123.663 112.09,123.662 118.286,113.621 124.548,123.662 134.588,123.662 123.647,107.909 133.82,91.54 123.911,91.54 118.33,101.472 112.53,91.54 102.906,91.54 112.925,107.228 102.269,123.663\" />\n <path d=\"M201.02,249.514c-0.339,1.27-0.73,3.015-1.174,5.236c-0.445,2.222-0.741,4.073-0.889,5.555 c-0.127-2.053-0.847-5.691-2.158-10.918l-6.316-23.519h-14.092l15.139,46.401h14.759l15.202-46.401h-14.027L201.02,249.514z\" />\n <rect x=\"142.457\" y=\"110.371\" width=\"33.713\" height=\"15\" />\n <rect x=\"142.457\" y=\"88.053\" width=\"33.713\" height=\"15\" />\n <path d=\"M283.149,52.723L232.624,2.197C231.218,0.79,229.311,0,227.321,0H40.342c-4.142,0-7.5,3.358-7.5,7.5v303.188 c0,4.142,3.358,7.5,7.5,7.5h237.504c4.142,0,7.5-3.358,7.5-7.5V58.025C285.346,56.036,284.556,54.129,283.149,52.723z M234.821,25.606l24.918,24.919h-24.918V25.606z M47.842,15h171.979v10.263H47.842V15z M47.842,303.188V40.263h171.979v17.763 c0,4.143,3.358,7.5,7.5,7.5h43.024v237.662H47.842z\" />\n <rect x=\"142.457\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <path d=\"M122.372,235.484c1.969,0,3.809,0.275,5.523,0.826c1.713,0.55,3.428,1.227,5.141,2.031l3.841-9.871 c-4.57-2.18-9.362-3.27-14.378-3.27c-4.591,0-8.585,0.98-11.98,2.937c-3.396,1.957-5.999,4.755-7.808,8.395 c-1.81,3.64-2.714,7.86-2.714,12.663c0,7.682,1.867,13.553,5.602,17.615c3.734,4.063,9.104,6.094,16.107,6.094 c4.888,0,9.268-0.857,13.14-2.57v-10.602c-1.947,0.805-3.883,1.492-5.808,2.063c-1.926,0.571-3.915,0.857-5.967,0.857 c-6.793,0-10.188-4.464-10.188-13.393c0-4.295,0.836-7.665,2.507-10.109C117.062,236.707,119.39,235.484,122.372,235.484z\" />\n <path d=\"M163.57,244.594c-4.169-1.904-6.724-3.216-7.665-3.936c-0.942-0.719-1.412-1.533-1.412-2.443 c-0.002-0.847,0.368-1.556,1.11-2.127c0.74-0.571,1.925-0.857,3.555-0.857c3.152,0,6.897,0.995,11.234,2.984l3.841-9.681 c-4.994-2.222-9.892-3.333-14.694-3.333c-5.439,0-9.713,1.196-12.822,3.587c-3.111,2.392-4.666,5.724-4.666,9.997 c0,2.285,0.365,4.264,1.095,5.936s1.851,3.152,3.364,4.443s3.782,2.624,6.809,3.999c3.343,1.503,5.4,2.497,6.173,2.983 c0.771,0.486,1.333,0.968,1.682,1.444c0.35,0.476,0.524,1.031,0.524,1.666c0,1.016-0.435,1.847-1.302,2.491 c-0.868,0.647-2.233,0.969-4.095,0.969c-2.158,0-4.527-0.344-7.109-1.032c-2.581-0.687-5.067-1.645-7.458-2.872v11.172 c2.264,1.079,4.443,1.836,6.538,2.27c2.095,0.434,4.687,0.65,7.775,0.65c3.703,0,6.93-0.619,9.681-1.856 c2.75-1.238,4.856-2.973,6.315-5.205c1.461-2.232,2.191-4.787,2.191-7.665c0-3.131-0.777-5.729-2.333-7.792 C170.346,248.323,167.569,246.393,163.57,244.594z\" />\n <rect x=\"142.457\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n </g>\n </g>\n </g>\n </svg>\n ),\n },\n {\n name: \"Excel\",\n code: \"excel\",\n icon: (\n <svg version=\"1.1\" id=\"Layer_1\" x=\"0px\" y=\"0px\"\n fill=\"#000000\" viewBox=\"0 0 512 512\" width=\"16\" height=\"16\">\n <g>\n <g>\n <g>\n <path d=\"M447.168,134.56c-0.535-1.288-1.318-2.459-2.304-3.445l-128-128c-2.003-1.988-4.709-3.107-7.531-3.115H74.667\n C68.776,0,64,4.776,64,10.667v490.667C64,507.224,68.776,512,74.667,512h362.667c5.891,0,10.667-4.776,10.667-10.667V138.667\n C447.997,137.256,447.714,135.86,447.168,134.56z M320,36.416L411.584,128H320V36.416z M426.667,490.667H85.333V21.333h213.333\n v117.333c0,5.891,4.776,10.667,10.667,10.667h117.333V490.667z\"/>\n <path d=\"M128,181.333v256c0,5.891,4.776,10.667,10.667,10.667h234.667c5.891,0,10.667-4.776,10.667-10.667v-256\n c0-5.891-4.776-10.667-10.667-10.667H138.667C132.776,170.667,128,175.442,128,181.333z M320,192h42.667v42.667H320V192z\n M320,256h42.667v42.667H320V256z M320,320h42.667v42.667H320V320z M320,384h42.667v42.667H320V384z M213.333,192h85.333v42.667\n h-85.333V192z M213.333,256h85.333v42.667h-85.333V256z M213.333,320h85.333v42.667h-85.333V320z M213.333,384h85.333v42.667\n h-85.333V384z M149.333,192H192v42.667h-42.667V192z M149.333,256H192v42.667h-42.667V256z M149.333,320H192v42.667h-42.667V320z\n M149.333,384H192v42.667h-42.667V384z\"/>\n </g>\n </g>\n </g>\n </svg>\n ),\n },\n ]);\n\n const [isDialogVisible, setIsDialogVisible] = useState(false);\n const [newTemplateName, setNewTemplateName] = useState(\"\");\n const steps = [\n { label: 'Export', value: 'export' },\n { label: 'Summary', value: 'summary' },\n ];\n const [currentStepValue, setCurrentStepValue] = useState('export');\n\n useEffect(() => {\n if (templatesData?.records && templatesData.records.length > 0) {\n const templates = templatesData.records.map((template: any) => ({\n name: template.templateName,\n code: template.id,\n fields: template.fields,\n templateFormat: template.templateFormat\n }));\n setTemplateOptions([...templates]);\n }\n }, [templatesData]);\n\n const handleAddTemplate = async () => {\n setIsDialogVisible(false);\n const tname = newTemplateName.trim();\n if ((selectedTemplate?.name || tname) && selectedFormat) {\n setNewTemplateName(\"\");\n setIsDialogVisible(false);\n let customSelectedFields = selectedColumns.map((col) => col.key);\n const fieldsData = JSON.stringify(customSelectedFields)\n const exportData = {\n templateName: tname || selectedTemplate?.name || \"\",\n templateFormat: selectedFormat?.code || \"\",\n notifyOnEmail: true,\n fields: fieldsData,\n modelMetadataId: solidView?.model?.id,\n };\n\n try {\n const response = await createExportTemplate(exportData).unwrap();\n toast?.current?.show({\n severity: \"success\",\n summary: \"Template Added\",\n detail: \"Template Saved\",\n });\n let newAddedTemplate: TemplateOption = {\n name: selectedTemplate?.name || \"\",\n code: response.data.id,\n fields: customSelectedFields,\n templateFormat: selectedFormat?.code || \"\",\n };\n setTemplateOptions((prev) => [...prev, newAddedTemplate]);\n // ✅ Select the newly added template\n setSelectedTemplate(newAddedTemplate);\n // ✅ Re-assign the selected format from options list\n setSelectedFormat(formatOptions.find((format) => format.code === selectedFormat?.code) || null);\n } catch (err) {\n console.error(ERROR_MESSAGES.TEMPLATE_FAILED, err);\n }\n } else {\n toast?.current?.show({\n severity: \"error\",\n summary: ERROR_MESSAGES.TEMPLATE_FAILED,\n detail: ERROR_MESSAGES.TEMPLATE_FAILED,\n });\n }\n };\n\n const panelFooterTemplate = () => (\n <div className=\"p-1\">\n <Button\n label=\"Add New Template\"\n icon=\"pi pi-plus\"\n className=\"p-button\"\n onClick={() => setIsDialogVisible(true)}\n />\n </div>\n );\n\n const [progress, setProgress] = useState(0);\n const [showProgress, setShowProgress] = useState(false);\n const [message, setMessage] = useState(\"\");\n const [messageDescription, setMessageDescription] = useState(\"\");\n const [status, setStatus] = useState(\"In Progress\");\n const [checkApplyFilter, setCheckedApplyFilter] = useState(false);\n const downloadHandlers = {\n onProgress: (value: number) => {\n setProgress(value);\n },\n onStatusChange: (statusType: \"In Progress\" | \"success\" | \"error\", msg: string, submsg: string) => {\n setStatus(statusType);\n setMessage(msg);\n setMessageDescription(submsg);\n setShowProgress(true);\n },\n };\n const handleDownload = async () => {\n const id = selectedTemplate?.code ? selectedTemplate?.code : null;\n const tname = newTemplateName?.trim() || selectedTemplate?.name || null;\n let customSelectedFields = selectedColumns.map((col) => col.key);\n const fieldsData = JSON.stringify(customSelectedFields)\n const exportData = {\n id: id,\n templateName: tname,\n templateFormat: selectedFormat?.code || \"\",\n notifyOnEmail: true,\n fields: fieldsData,\n modelMetadataId: solidView?.model?.id,\n };\n // setNewTemplateName(\"\");\n setIsDialogVisible(false);\n try {\n await downloadFileWithProgress(`/export-template/startExport/sync`, downloadHandlers, filters, checkApplyFilter, exportData);\n } catch (err) {\n console.error(ERROR_MESSAGES.DOWNLOAD_FAILED, err);\n }\n };\n\n const handleTemplateChange = (e: any) => {\n const selected = templateOptions.find((option) => option.code === e.value.code);\n setSelectedTemplate(selected || null);\n if (selected) {\n let fields: string[] = [];\n if (typeof selected.fields === \"string\") {\n try {\n fields = JSON.parse(selected.fields);\n } catch (error) {\n console.error(ERROR_MESSAGES.PARSED_FIELD, error);\n }\n } else if (Array.isArray(selected.fields)) {\n fields = selected.fields;\n }\n\n const selectedFields = fields.map((field) => ({\n key: field,\n name: solidFieldsMetadata[field]?.displayName || field,\n }));\n\n formik.setFieldValue(\"selectedColumns\", selectedFields);\n setSelectedTemplate(selected);\n const format = formatOptions.find(f => f.code === selected.templateFormat);\n setSelectedFormat(format || null);\n } else {\n setSelectedTemplate(null);\n }\n };\n const renderSourceItem = (item: Question) => (\n <div key={item.key} className=\"flex justify-content-start align-items-center border-top-1 w-full p-1 SolidCustomPicklistItemWrapper SolidCustomPicklistSourceItem\">\n <div className=\"flex items-center gap-2\">\n <svg onClick={() => moveToSelected(item)} width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"3.5\" fill=\"white\" stroke=\"#D9D9D9\" />\n <path d=\"M7.42857 8.57143H4V7.42857H7.42857V4H8.57143V7.42857H12V8.57143H8.57143V12H7.42857V8.57143Z\" fill=\"#4B4D52\" />\n </g>\n </svg>\n <label htmlFor={item.key} className=\"text-sm font-semibold ml-2\">\n {item.name}\n </label>\n </div>\n </div>\n );\n\n const renderTargetItem = (item: Question) => (\n <div key={item.key} className=\"flex justify-content-start align-items-center border-top-1 w-full p-1 pr-2 gap-2 SolidCustomPicklistItemWrapper\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.46672 11.7331C7.46672 12.0997 7.33616 12.4136 7.07505 12.6747C6.81394 12.9359 6.50005 13.0664 6.13338 13.0664C5.76672 13.0664 5.45283 12.9359 5.19172 12.6747C4.9306 12.4136 4.80005 12.0997 4.80005 11.7331C4.80005 11.3664 4.9306 11.0525 5.19172 10.7914C5.45283 10.5303 5.76672 10.3997 6.13338 10.3997C6.50005 10.3997 6.81394 10.5303 7.07505 10.7914C7.33616 11.0525 7.46672 11.3664 7.46672 11.7331ZM7.46672 7.73307C7.46672 8.09974 7.33616 8.41363 7.07505 8.67474C6.81394 8.93585 6.50005 9.06641 6.13338 9.06641C5.76672 9.06641 5.45283 8.93585 5.19172 8.67474C4.9306 8.41363 4.80005 8.09974 4.80005 7.73307C4.80005 7.36641 4.9306 7.05252 5.19172 6.79141C5.45283 6.5303 5.76672 6.39974 6.13338 6.39974C6.50005 6.39974 6.81394 6.5303 7.07505 6.79141C7.33616 7.05252 7.46672 7.36641 7.46672 7.73307ZM7.46672 3.73307C7.46672 4.09974 7.33616 4.41363 7.07505 4.67474C6.81394 4.93585 6.50005 5.06641 6.13338 5.06641C5.76672 5.06641 5.45283 4.93585 5.19172 4.67474C4.9306 4.41363 4.80005 4.09974 4.80005 3.73307C4.80005 3.36641 4.9306 3.05252 5.19172 2.79141C5.45283 2.5303 5.76672 2.39974 6.13338 2.39974C6.50005 2.39974 6.81394 2.5303 7.07505 2.79141C7.33616 3.05252 7.46672 3.36641 7.46672 3.73307Z\" fill=\"black\" fill-opacity=\"0.25\" />\n <path d=\"M11.7333 11.7331C11.7333 12.0997 11.6028 12.4136 11.3417 12.6747C11.0805 12.9359 10.7667 13.0664 10.4 13.0664C10.0333 13.0664 9.71943 12.9359 9.45832 12.6747C9.19721 12.4136 9.06665 12.0997 9.06665 11.7331C9.06665 11.3664 9.19721 11.0525 9.45832 10.7914C9.71943 10.5303 10.0333 10.3997 10.4 10.3997C10.7667 10.3997 11.0805 10.5303 11.3417 10.7914C11.6028 11.0525 11.7333 11.3664 11.7333 11.7331ZM11.7333 7.73307C11.7333 8.09974 11.6028 8.41363 11.3417 8.67474C11.0805 8.93585 10.7667 9.06641 10.4 9.06641C10.0333 9.06641 9.71943 8.93585 9.45832 8.67474C9.19721 8.41363 9.06665 8.09974 9.06665 7.73307C9.06665 7.36641 9.19721 7.05252 9.45832 6.79141C9.71943 6.5303 10.0333 6.39974 10.4 6.39974C10.7667 6.39974 11.0805 6.5303 11.3417 6.79141C11.6028 7.05252 11.7333 7.36641 11.7333 7.73307ZM11.7333 3.73307C11.7333 4.09974 11.6028 4.41363 11.3417 4.67474C11.0805 4.93585 10.7667 5.06641 10.4 5.06641C10.0333 5.06641 9.71943 4.93585 9.45832 4.67474C9.19721 4.41363 9.06665 4.09974 9.06665 3.73307C9.06665 3.36641 9.19721 3.05252 9.45832 2.79141C9.71943 2.5303 10.0333 2.39974 10.4 2.39974C10.7667 2.39974 11.0805 2.5303 11.3417 2.79141C11.6028 3.05252 11.7333 3.36641 11.7333 3.73307Z\" fill=\"black\" fill-opacity=\"0.25\" />\n </svg>\n <span className=\"text-sm font-semibold flex-1 \">{item.name}</span>\n <svg width=\"16\" height=\"16\" onClick={() => moveToAvailable(item)} cursor='pointer' viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#F0F0F0\" />\n <path d=\"M5.6 11L5 10.4L7.4 8L5 5.6L5.6 5L8 7.4L10.4 5L11 5.6L8.6 8L11 10.4L10.4 11L8 8.6L5.6 11Z\" fill=\"#4B4D52\" />\n </svg>\n </div>\n );\n const maxVisibleRows = Math.max(availableColumns.length, selectedColumns.length);\n const renderEmptyRow = (index: number) => (\n <div key={`empty-${index}`} className=\"SolidCustomPicklistItemWrapper\" />\n );\n // Dialog footer (Save and Cancel buttons)\n const dialogFooter = (\n <div>\n <Button\n label=\"Save\"\n className=\"p-button rounded\"\n onClick={() => handleAddTemplate()}\n disabled={!newTemplateName.trim()}\n />\n <Button\n label=\"Cancel\"\n className=\"ExportCancelButton\"\n onClick={() => {\n setNewTemplateName(\"\");\n setIsDialogVisible(false);\n }}\n />\n </div>\n );\n const handleDeleteTemplate = async (id: string) => {\n const response = await deleteExportTemplate(id).unwrap();\n setTemplateOptions((prev) => prev.filter((template) => template.code !== id));\n toast?.current?.show({\n severity: \"success\",\n summary: \"Template Deleted\",\n detail: \"Template Deleted\",\n });\n };\n const itemTemplate = (option: TemplateOption) => {\n return (\n <div className=\"flex align-items-center justify-content-between w-full py-1\">\n <span className=\"ExportDropdownText\">{option.name}</span>\n <svg width=\"16px\" height=\"16px\" viewBox=\"0 0 24 24\" fill=\"none\" style={{ right: 0 }} className=\"ExportDropdownIcon\" onClick={(e) => {\n e.stopPropagation(); // Prevent triggering selection\n handleDeleteTemplate(option.code);\n }}\n xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2h4a1 1 0 1 1 0 2h-1.069l-.867 12.142A2 2 0 0 1 17.069 22H6.93a2 2 0 0 1-1.995-1.858L4.07 8H3a1 1 0 0 1 0-2h4V4zm2 2h6V4H9v2zM6.074 8l.857 12H17.07l.857-12H6.074zM10 10a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1zm4 0a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1z\"\n fill=\"#ff3d32\" /></svg>\n </div>\n );\n };\n\n return (\n <>\n <Toast ref={toast} />\n {/*<div className=\"flex align-items-center justify-content-between m-0 p-0\">\n <SolidExportStepper\n solidFormViewWorkflowData={steps}\n activeValue={currentStepValue}\n setActiveValue={setCurrentStepValue} />\n </div> */}\n <div className=\"p-0\">\n {currentStepValue === 'export' &&\n <>\n <div className=\"SolidExportControls mx-2 gap-2\">\n <div className=\"flex align-items-center\">\n <Checkbox inputId=\"applyFilters\" onChange={e => setCheckedApplyFilter(!!e.checked)} checked={checkApplyFilter} />\n <label htmlFor=\"applyFilters\" className=\"ml-2\"> Apply Filters</label>\n </div>\n <Dropdown\n value={selectedFormat}\n onChange={(e) => setSelectedFormat(e.value)}\n options={formatOptions}\n optionLabel=\"name\"\n placeholder=\"Format .\"\n className=\"p-dropdown p-outlined\"\n\n // 👇 Render icon + text for dropdown list options\n itemTemplate={(option) => {\n const isSelected = selectedFormat?.code === option.code;\n const iconColor = isSelected ? \"#722ED1\" : \"#000000\"; // Blue for selected\n return (\n <div className=\"flex items-center gap-2 \">\n {React.cloneElement(option.icon, { fill: iconColor })}\n <span>{option.name}</span>\n </div>\n );\n }}\n\n // 👇 Render icon + text for selected value display\n valueTemplate={(option) => {\n if (!option) return \"Format .\";\n return (\n <div className=\"flex items-center gap-2 h-1rem\">\n {React.cloneElement(option.icon, { fill: \"#722ED1\" })}\n <span>{option.name}</span>\n </div>\n );\n }}\n />\n <Dropdown\n value={selectedTemplate}\n onChange={(e) => handleTemplateChange(e)}\n options={templateOptions}\n optionLabel=\"name\"\n placeholder=\"Template \"\n className=\"p-dropdown hidden md:flex\"\n itemTemplate={itemTemplate}\n panelFooterTemplate={panelFooterTemplate}\n />\n\n <Button\n className=\"p-button hidden md:flex\"\n label=\"Export\"\n disabled={!selectedFormat}\n onClick={() => handleDownload()}\n />\n <Button\n className=\"p-button md:hidden\"\n label=\"Export\"\n disabled={!selectedFormat}\n onClick={() => handleDownload()}\n size=\"small\"\n />\n </div>\n <div className=\"col-12 sm:col-6 p-0 \">\n <Dropdown\n value={selectedTemplate}\n onChange={(e) => handleTemplateChange(e)}\n options={templateOptions}\n optionLabel=\"name\"\n placeholder=\"Template\"\n className=\"p-dropdown md:hidden w-full mt-2 p-inputtext-sm\"\n itemTemplate={itemTemplate}\n panelFooterTemplate={panelFooterTemplate}\n />\n </div>\n\n\n <Dialog\n header=\"Save Export Template\"\n className=\"solid-confirm-dialog\"\n visible={isDialogVisible}\n style={{ width: \"20rem\", right: \"0\" }}\n footer={dialogFooter}\n onHide={() => {\n setNewTemplateName(\"\");\n setIsDialogVisible(false);\n }}\n >\n <label htmlFor=\"templateName\" className=\"text-color-secondary\">Title</label>\n <InputText\n id=\"templateName\"\n name=\"templateName\"\n value={newTemplateName}\n onChange={(e) => setNewTemplateName(e.target.value)}\n placeholder=\"Enter template name\"\n className=\"w-full\"\n autoFocus\n />\n </Dialog>\n <div className=\"SolidCustomPicklist mt-2\">\n <div className=\"flex\">\n {/* All Questions */}\n <div className=\"w-6\">\n <div className=\"text-sm font-semibold SolidCustomPicklistSourceHeader\" style={{ padding: '12px 16px', background: '#F3FAFF' }}>Available Fields</div>\n <div>\n {availableColumns.map(renderSourceItem)}\n {Array.from({ length: maxVisibleRows - availableColumns.length }).map((_, i) =>\n renderEmptyRow(i)\n )}\n </div>\n </div>\n\n {/* Selected Questions */}\n <div className=\"w-6\">\n <div className=\"text-sm font-semibold\" style={{ padding: '12px 16px', background: '#F3FAFF' }} >Selected Fields</div>\n <div>\n {selectedColumns.map(renderTargetItem)}\n {Array.from({ length: maxVisibleRows - selectedColumns.length }).map((_, i) =>\n renderEmptyRow(i)\n )}\n </div>\n </div>\n </div>\n </div>\n </>\n }\n {/* {currentStepValue === 'summary' && (\n <p className=\"m-0\">\n Relations and Media Fields are not supported for Export.\n </p>\n )} */}\n </div>\n <DownloadProgressToast\n visible={showProgress}\n progress={progress}\n message={message}\n submessage={messageDescription}\n status={status}\n onClose={() => setShowProgress(false)}\n />\n </>\n );\n};"]}
1
+ {"version":3,"file":"SolidExport.js","sourceRoot":"","sources":["../../../src/components/common/SolidExport.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useFormik } from \"formik\";\nimport './solid-export.css';\nimport { Button } from \"primereact/button\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../redux/features/toastSlice';\nimport { createSolidEntityApi } from \"../../redux/api/solidEntityApi\";\nimport { Dropdown } from \"primereact/dropdown\";\nimport { Dialog } from \"primereact/dialog\";\nimport { InputText } from \"primereact/inputtext\";\nimport { useCreateExportTemplateMutation, useDeleteExportTemplateMutation, useGetExportTemplatesQuery } from \"../../redux/api/exportTemplateApi\";\nimport { downloadFileWithProgress } from '../../helpers/downloadFileWithProgress';\nimport { DownloadProgressToast } from \"./DownloadProgressToast\";\nimport { Checkbox } from \"primereact/checkbox\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\ninterface FieldMetadata {\n displayName: string;\n type: string;\n}\ninterface FilterColumns {\n name: string;\n key: string;\n}\n// Define the template option type\ninterface TemplateOption {\n name: string;\n code: string;\n fields: string[];\n templateFormat: string;\n}\ninterface FormatOption {\n name: string;\n code: string;\n icon?: JSX.Element;\n}\ninterface Question {\n key: string;\n name: string;\n}\nexport const SolidExport = ({ listViewMetaData, filters }: any) => {\n const dispatch = useDispatch();\n const entityApi = createSolidEntityApi(\"userViewMetadata\");\n const { useUpsertSolidEntityMutation } = entityApi;\n\n const [upsertUserView] = useUpsertSolidEntityMutation();\n\n if (!listViewMetaData?.data) return null;\n\n const solidView = listViewMetaData.data.solidView;\n const solidFieldsMetadata = listViewMetaData.data.solidFieldsMetadata as Record<\n string,\n FieldMetadata\n >;\n if (!solidView || !solidFieldsMetadata) return null;\n\n const checkedFieldNames = new Set(\n solidView.layout.children.map((col: { attrs: { name: string } }) => col.attrs.name)\n );\n\n // const allColumns: FilterColumns[] = Object.entries(solidFieldsMetadata).map(\n // ([key, field]) => ({\n // name: field.displayName,\n // key,\n // })\n // );\n\n\n const excludedTypes = new Set(['mediaSingle', 'mediaMultiple']);\n const allColumns: FilterColumns[] = Object.entries(solidFieldsMetadata)\n .filter(([, field]) => !excludedTypes.has(field.type))\n .map(([key, field]) => ({\n name: field.displayName,\n key,\n }));\n\n const [createExportTemplate] = useCreateExportTemplateMutation();\n const [deleteExportTemplate] = useDeleteExportTemplateMutation();\n const { data: templatesData } = useGetExportTemplatesQuery({});\n const formik = useFormik({\n initialValues: {\n selectedColumns: allColumns.filter((col) => checkedFieldNames.has(col.key)),\n },\n onSubmit: (values) => {\n // console.log(\"Selected columns:\", values.selectedColumns);\n }\n });\n\n const { selectedColumns } = formik.values;\n\n const availableColumns = allColumns.filter(\n (col) => !selectedColumns.some((selected) => selected.key === col.key)\n );\n const moveToSelected = (col: FilterColumns) => {\n formik.setFieldValue(\"selectedColumns\", [...selectedColumns, col]);\n };\n const moveToAvailable = (col: FilterColumns) => {\n formik.setFieldValue(\"selectedColumns\", selectedColumns.filter((c) => c.key !== col.key));\n };\n\n const [selectedTemplate, setSelectedTemplate] = useState<TemplateOption | null>(null);\n const [selectedFormat, setSelectedFormat] = useState<FormatOption | null>({\n name: \"CSV\",\n code: \"csv\",\n icon: (\n <svg fill=\"#000000\" width=\"16\" height=\"16\" viewBox=\"0 0 318.188 318.188\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\">\n <g>\n <g>\n <g>\n <rect x=\"182.882\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n <rect x=\"101.592\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"88.053\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"110.371\" width=\"33.713\" height=\"15\" />\n <rect x=\"101.592\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n <polygon points=\"112.09,123.663 112.09,123.662 118.286,113.621 124.548,123.662 134.588,123.662 123.647,107.909 133.82,91.54 123.911,91.54 118.33,101.472 112.53,91.54 102.906,91.54 112.925,107.228 102.269,123.663\" />\n <path d=\"M201.02,249.514c-0.339,1.27-0.73,3.015-1.174,5.236c-0.445,2.222-0.741,4.073-0.889,5.555 c-0.127-2.053-0.847-5.691-2.158-10.918l-6.316-23.519h-14.092l15.139,46.401h14.759l15.202-46.401h-14.027L201.02,249.514z\" />\n <rect x=\"142.457\" y=\"110.371\" width=\"33.713\" height=\"15\" />\n <rect x=\"142.457\" y=\"88.053\" width=\"33.713\" height=\"15\" />\n <path d=\"M283.149,52.723L232.624,2.197C231.218,0.79,229.311,0,227.321,0H40.342c-4.142,0-7.5,3.358-7.5,7.5v303.188 c0,4.142,3.358,7.5,7.5,7.5h237.504c4.142,0,7.5-3.358,7.5-7.5V58.025C285.346,56.036,284.556,54.129,283.149,52.723z M234.821,25.606l24.918,24.919h-24.918V25.606z M47.842,15h171.979v10.263H47.842V15z M47.842,303.188V40.263h171.979v17.763 c0,4.143,3.358,7.5,7.5,7.5h43.024v237.662H47.842z\" />\n <rect x=\"142.457\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <path d=\"M122.372,235.484c1.969,0,3.809,0.275,5.523,0.826c1.713,0.55,3.428,1.227,5.141,2.031l3.841-9.871 c-4.57-2.18-9.362-3.27-14.378-3.27c-4.591,0-8.585,0.98-11.98,2.937c-3.396,1.957-5.999,4.755-7.808,8.395 c-1.81,3.64-2.714,7.86-2.714,12.663c0,7.682,1.867,13.553,5.602,17.615c3.734,4.063,9.104,6.094,16.107,6.094 c4.888,0,9.268-0.857,13.14-2.57v-10.602c-1.947,0.805-3.883,1.492-5.808,2.063c-1.926,0.571-3.915,0.857-5.967,0.857 c-6.793,0-10.188-4.464-10.188-13.393c0-4.295,0.836-7.665,2.507-10.109C117.062,236.707,119.39,235.484,122.372,235.484z\" />\n <path d=\"M163.57,244.594c-4.169-1.904-6.724-3.216-7.665-3.936c-0.942-0.719-1.412-1.533-1.412-2.443 c-0.002-0.847,0.368-1.556,1.11-2.127c0.74-0.571,1.925-0.857,3.555-0.857c3.152,0,6.897,0.995,11.234,2.984l3.841-9.681 c-4.994-2.222-9.892-3.333-14.694-3.333c-5.439,0-9.713,1.196-12.822,3.587c-3.111,2.392-4.666,5.724-4.666,9.997 c0,2.285,0.365,4.264,1.095,5.936s1.851,3.152,3.364,4.443s3.782,2.624,6.809,3.999c3.343,1.503,5.4,2.497,6.173,2.983 c0.771,0.486,1.333,0.968,1.682,1.444c0.35,0.476,0.524,1.031,0.524,1.666c0,1.016-0.435,1.847-1.302,2.491 c-0.868,0.647-2.233,0.969-4.095,0.969c-2.158,0-4.527-0.344-7.109-1.032c-2.581-0.687-5.067-1.645-7.458-2.872v11.172 c2.264,1.079,4.443,1.836,6.538,2.27c2.095,0.434,4.687,0.65,7.775,0.65c3.703,0,6.93-0.619,9.681-1.856 c2.75-1.238,4.856-2.973,6.315-5.205c1.461-2.232,2.191-4.787,2.191-7.665c0-3.131-0.777-5.729-2.333-7.792 C170.346,248.323,167.569,246.393,163.57,244.594z\" />\n <rect x=\"142.457\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n </g>\n </g>\n </g>\n </svg>\n ),\n });\n const [templateOptions, setTemplateOptions] = useState<TemplateOption[]>([]);\n //loading hardcode format\n const [formatOptions, setFormatOptions] = useState<FormatOption[]>([\n {\n name: \"CSV\",\n code: \"csv\",\n icon: (\n <svg fill=\"#000000\" width=\"16\" height=\"16\" viewBox=\"0 0 318.188 318.188\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\">\n <g>\n <g>\n <g>\n <rect x=\"182.882\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n <rect x=\"101.592\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"88.053\" width=\"33.713\" height=\"15\" />\n <rect x=\"182.882\" y=\"110.371\" width=\"33.713\" height=\"15\" />\n <rect x=\"101.592\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n <polygon points=\"112.09,123.663 112.09,123.662 118.286,113.621 124.548,123.662 134.588,123.662 123.647,107.909 133.82,91.54 123.911,91.54 118.33,101.472 112.53,91.54 102.906,91.54 112.925,107.228 102.269,123.663\" />\n <path d=\"M201.02,249.514c-0.339,1.27-0.73,3.015-1.174,5.236c-0.445,2.222-0.741,4.073-0.889,5.555 c-0.127-2.053-0.847-5.691-2.158-10.918l-6.316-23.519h-14.092l15.139,46.401h14.759l15.202-46.401h-14.027L201.02,249.514z\" />\n <rect x=\"142.457\" y=\"110.371\" width=\"33.713\" height=\"15\" />\n <rect x=\"142.457\" y=\"88.053\" width=\"33.713\" height=\"15\" />\n <path d=\"M283.149,52.723L232.624,2.197C231.218,0.79,229.311,0,227.321,0H40.342c-4.142,0-7.5,3.358-7.5,7.5v303.188 c0,4.142,3.358,7.5,7.5,7.5h237.504c4.142,0,7.5-3.358,7.5-7.5V58.025C285.346,56.036,284.556,54.129,283.149,52.723z M234.821,25.606l24.918,24.919h-24.918V25.606z M47.842,15h171.979v10.263H47.842V15z M47.842,303.188V40.263h171.979v17.763 c0,4.143,3.358,7.5,7.5,7.5h43.024v237.662H47.842z\" />\n <rect x=\"142.457\" y=\"132.689\" width=\"33.713\" height=\"15\" />\n <path d=\"M122.372,235.484c1.969,0,3.809,0.275,5.523,0.826c1.713,0.55,3.428,1.227,5.141,2.031l3.841-9.871 c-4.57-2.18-9.362-3.27-14.378-3.27c-4.591,0-8.585,0.98-11.98,2.937c-3.396,1.957-5.999,4.755-7.808,8.395 c-1.81,3.64-2.714,7.86-2.714,12.663c0,7.682,1.867,13.553,5.602,17.615c3.734,4.063,9.104,6.094,16.107,6.094 c4.888,0,9.268-0.857,13.14-2.57v-10.602c-1.947,0.805-3.883,1.492-5.808,2.063c-1.926,0.571-3.915,0.857-5.967,0.857 c-6.793,0-10.188-4.464-10.188-13.393c0-4.295,0.836-7.665,2.507-10.109C117.062,236.707,119.39,235.484,122.372,235.484z\" />\n <path d=\"M163.57,244.594c-4.169-1.904-6.724-3.216-7.665-3.936c-0.942-0.719-1.412-1.533-1.412-2.443 c-0.002-0.847,0.368-1.556,1.11-2.127c0.74-0.571,1.925-0.857,3.555-0.857c3.152,0,6.897,0.995,11.234,2.984l3.841-9.681 c-4.994-2.222-9.892-3.333-14.694-3.333c-5.439,0-9.713,1.196-12.822,3.587c-3.111,2.392-4.666,5.724-4.666,9.997 c0,2.285,0.365,4.264,1.095,5.936s1.851,3.152,3.364,4.443s3.782,2.624,6.809,3.999c3.343,1.503,5.4,2.497,6.173,2.983 c0.771,0.486,1.333,0.968,1.682,1.444c0.35,0.476,0.524,1.031,0.524,1.666c0,1.016-0.435,1.847-1.302,2.491 c-0.868,0.647-2.233,0.969-4.095,0.969c-2.158,0-4.527-0.344-7.109-1.032c-2.581-0.687-5.067-1.645-7.458-2.872v11.172 c2.264,1.079,4.443,1.836,6.538,2.27c2.095,0.434,4.687,0.65,7.775,0.65c3.703,0,6.93-0.619,9.681-1.856 c2.75-1.238,4.856-2.973,6.315-5.205c1.461-2.232,2.191-4.787,2.191-7.665c0-3.131-0.777-5.729-2.333-7.792 C170.346,248.323,167.569,246.393,163.57,244.594z\" />\n <rect x=\"142.457\" y=\"155.008\" width=\"33.713\" height=\"15\" />\n </g>\n </g>\n </g>\n </svg>\n ),\n },\n {\n name: \"Excel\",\n code: \"excel\",\n icon: (\n <svg version=\"1.1\" id=\"Layer_1\" x=\"0px\" y=\"0px\"\n fill=\"#000000\" viewBox=\"0 0 512 512\" width=\"16\" height=\"16\">\n <g>\n <g>\n <g>\n <path d=\"M447.168,134.56c-0.535-1.288-1.318-2.459-2.304-3.445l-128-128c-2.003-1.988-4.709-3.107-7.531-3.115H74.667\n C68.776,0,64,4.776,64,10.667v490.667C64,507.224,68.776,512,74.667,512h362.667c5.891,0,10.667-4.776,10.667-10.667V138.667\n C447.997,137.256,447.714,135.86,447.168,134.56z M320,36.416L411.584,128H320V36.416z M426.667,490.667H85.333V21.333h213.333\n v117.333c0,5.891,4.776,10.667,10.667,10.667h117.333V490.667z\"/>\n <path d=\"M128,181.333v256c0,5.891,4.776,10.667,10.667,10.667h234.667c5.891,0,10.667-4.776,10.667-10.667v-256\n c0-5.891-4.776-10.667-10.667-10.667H138.667C132.776,170.667,128,175.442,128,181.333z M320,192h42.667v42.667H320V192z\n M320,256h42.667v42.667H320V256z M320,320h42.667v42.667H320V320z M320,384h42.667v42.667H320V384z M213.333,192h85.333v42.667\n h-85.333V192z M213.333,256h85.333v42.667h-85.333V256z M213.333,320h85.333v42.667h-85.333V320z M213.333,384h85.333v42.667\n h-85.333V384z M149.333,192H192v42.667h-42.667V192z M149.333,256H192v42.667h-42.667V256z M149.333,320H192v42.667h-42.667V320z\n M149.333,384H192v42.667h-42.667V384z\"/>\n </g>\n </g>\n </g>\n </svg>\n ),\n },\n ]);\n\n const [isDialogVisible, setIsDialogVisible] = useState(false);\n const [newTemplateName, setNewTemplateName] = useState(\"\");\n const steps = [\n { label: 'Export', value: 'export' },\n { label: 'Summary', value: 'summary' },\n ];\n const [currentStepValue, setCurrentStepValue] = useState('export');\n\n useEffect(() => {\n if (templatesData?.records && templatesData.records.length > 0) {\n const templates = templatesData.records.map((template: any) => ({\n name: template.templateName,\n code: template.id,\n fields: template.fields,\n templateFormat: template.templateFormat\n }));\n setTemplateOptions([...templates]);\n }\n }, [templatesData]);\n\n const handleAddTemplate = async () => {\n setIsDialogVisible(false);\n const tname = newTemplateName.trim();\n if ((selectedTemplate?.name || tname) && selectedFormat) {\n setNewTemplateName(\"\");\n setIsDialogVisible(false);\n let customSelectedFields = selectedColumns.map((col) => col.key);\n const fieldsData = JSON.stringify(customSelectedFields)\n const exportData = {\n templateName: tname || selectedTemplate?.name || \"\",\n templateFormat: selectedFormat?.code || \"\",\n notifyOnEmail: true,\n fields: fieldsData,\n modelMetadataId: solidView?.model?.id,\n };\n\n try {\n const response = await createExportTemplate(exportData).unwrap();\n dispatch(showToast({ severity: \"success\", summary: \"Template Added\", detail: \"Template Saved\" }));\n let newAddedTemplate: TemplateOption = {\n name: selectedTemplate?.name || \"\",\n code: response.data.id,\n fields: customSelectedFields,\n templateFormat: selectedFormat?.code || \"\",\n };\n setTemplateOptions((prev) => [...prev, newAddedTemplate]);\n // ✅ Select the newly added template\n setSelectedTemplate(newAddedTemplate);\n // ✅ Re-assign the selected format from options list\n setSelectedFormat(formatOptions.find((format) => format.code === selectedFormat?.code) || null);\n } catch (err) {\n console.error(ERROR_MESSAGES.TEMPLATE_FAILED, err);\n }\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.TEMPLATE_FAILED, detail: ERROR_MESSAGES.TEMPLATE_FAILED }));\n }\n };\n\n const panelFooterTemplate = () => (\n <div className=\"p-1\">\n <Button\n label=\"Add New Template\"\n icon=\"pi pi-plus\"\n className=\"p-button\"\n onClick={() => setIsDialogVisible(true)}\n />\n </div>\n );\n\n const [progress, setProgress] = useState(0);\n const [showProgress, setShowProgress] = useState(false);\n const [message, setMessage] = useState(\"\");\n const [messageDescription, setMessageDescription] = useState(\"\");\n const [status, setStatus] = useState(\"In Progress\");\n const [checkApplyFilter, setCheckedApplyFilter] = useState(false);\n const downloadHandlers = {\n onProgress: (value: number) => {\n setProgress(value);\n },\n onStatusChange: (statusType: \"In Progress\" | \"success\" | \"error\", msg: string, submsg: string) => {\n setStatus(statusType);\n setMessage(msg);\n setMessageDescription(submsg);\n setShowProgress(true);\n },\n };\n const handleDownload = async () => {\n const id = selectedTemplate?.code ? selectedTemplate?.code : null;\n const tname = newTemplateName?.trim() || selectedTemplate?.name || null;\n let customSelectedFields = selectedColumns.map((col) => col.key);\n const fieldsData = JSON.stringify(customSelectedFields)\n const exportData = {\n id: id,\n templateName: tname,\n templateFormat: selectedFormat?.code || \"\",\n notifyOnEmail: true,\n fields: fieldsData,\n modelMetadataId: solidView?.model?.id,\n };\n // setNewTemplateName(\"\");\n setIsDialogVisible(false);\n try {\n await downloadFileWithProgress(`/export-template/startExport/sync`, downloadHandlers, filters, checkApplyFilter, exportData);\n } catch (err) {\n console.error(ERROR_MESSAGES.DOWNLOAD_FAILED, err);\n }\n };\n\n const handleTemplateChange = (e: any) => {\n const selected = templateOptions.find((option) => option.code === e.value.code);\n setSelectedTemplate(selected || null);\n if (selected) {\n let fields: string[] = [];\n if (typeof selected.fields === \"string\") {\n try {\n fields = JSON.parse(selected.fields);\n } catch (error) {\n console.error(ERROR_MESSAGES.PARSED_FIELD, error);\n }\n } else if (Array.isArray(selected.fields)) {\n fields = selected.fields;\n }\n\n const selectedFields = fields.map((field) => ({\n key: field,\n name: solidFieldsMetadata[field]?.displayName || field,\n }));\n\n formik.setFieldValue(\"selectedColumns\", selectedFields);\n setSelectedTemplate(selected);\n const format = formatOptions.find(f => f.code === selected.templateFormat);\n setSelectedFormat(format || null);\n } else {\n setSelectedTemplate(null);\n }\n };\n const renderSourceItem = (item: Question) => (\n <div key={item.key} className=\"flex justify-content-start align-items-center border-top-1 w-full p-1 SolidCustomPicklistItemWrapper SolidCustomPicklistSourceItem\">\n <div className=\"flex items-center gap-2\">\n <svg onClick={() => moveToSelected(item)} width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"3.5\" fill=\"white\" stroke=\"#D9D9D9\" />\n <path d=\"M7.42857 8.57143H4V7.42857H7.42857V4H8.57143V7.42857H12V8.57143H8.57143V12H7.42857V8.57143Z\" fill=\"#4B4D52\" />\n </g>\n </svg>\n <label htmlFor={item.key} className=\"text-sm font-semibold ml-2\">\n {item.name}\n </label>\n </div>\n </div>\n );\n\n const renderTargetItem = (item: Question) => (\n <div key={item.key} className=\"flex justify-content-start align-items-center border-top-1 w-full p-1 pr-2 gap-2 SolidCustomPicklistItemWrapper\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.46672 11.7331C7.46672 12.0997 7.33616 12.4136 7.07505 12.6747C6.81394 12.9359 6.50005 13.0664 6.13338 13.0664C5.76672 13.0664 5.45283 12.9359 5.19172 12.6747C4.9306 12.4136 4.80005 12.0997 4.80005 11.7331C4.80005 11.3664 4.9306 11.0525 5.19172 10.7914C5.45283 10.5303 5.76672 10.3997 6.13338 10.3997C6.50005 10.3997 6.81394 10.5303 7.07505 10.7914C7.33616 11.0525 7.46672 11.3664 7.46672 11.7331ZM7.46672 7.73307C7.46672 8.09974 7.33616 8.41363 7.07505 8.67474C6.81394 8.93585 6.50005 9.06641 6.13338 9.06641C5.76672 9.06641 5.45283 8.93585 5.19172 8.67474C4.9306 8.41363 4.80005 8.09974 4.80005 7.73307C4.80005 7.36641 4.9306 7.05252 5.19172 6.79141C5.45283 6.5303 5.76672 6.39974 6.13338 6.39974C6.50005 6.39974 6.81394 6.5303 7.07505 6.79141C7.33616 7.05252 7.46672 7.36641 7.46672 7.73307ZM7.46672 3.73307C7.46672 4.09974 7.33616 4.41363 7.07505 4.67474C6.81394 4.93585 6.50005 5.06641 6.13338 5.06641C5.76672 5.06641 5.45283 4.93585 5.19172 4.67474C4.9306 4.41363 4.80005 4.09974 4.80005 3.73307C4.80005 3.36641 4.9306 3.05252 5.19172 2.79141C5.45283 2.5303 5.76672 2.39974 6.13338 2.39974C6.50005 2.39974 6.81394 2.5303 7.07505 2.79141C7.33616 3.05252 7.46672 3.36641 7.46672 3.73307Z\" fill=\"black\" fill-opacity=\"0.25\" />\n <path d=\"M11.7333 11.7331C11.7333 12.0997 11.6028 12.4136 11.3417 12.6747C11.0805 12.9359 10.7667 13.0664 10.4 13.0664C10.0333 13.0664 9.71943 12.9359 9.45832 12.6747C9.19721 12.4136 9.06665 12.0997 9.06665 11.7331C9.06665 11.3664 9.19721 11.0525 9.45832 10.7914C9.71943 10.5303 10.0333 10.3997 10.4 10.3997C10.7667 10.3997 11.0805 10.5303 11.3417 10.7914C11.6028 11.0525 11.7333 11.3664 11.7333 11.7331ZM11.7333 7.73307C11.7333 8.09974 11.6028 8.41363 11.3417 8.67474C11.0805 8.93585 10.7667 9.06641 10.4 9.06641C10.0333 9.06641 9.71943 8.93585 9.45832 8.67474C9.19721 8.41363 9.06665 8.09974 9.06665 7.73307C9.06665 7.36641 9.19721 7.05252 9.45832 6.79141C9.71943 6.5303 10.0333 6.39974 10.4 6.39974C10.7667 6.39974 11.0805 6.5303 11.3417 6.79141C11.6028 7.05252 11.7333 7.36641 11.7333 7.73307ZM11.7333 3.73307C11.7333 4.09974 11.6028 4.41363 11.3417 4.67474C11.0805 4.93585 10.7667 5.06641 10.4 5.06641C10.0333 5.06641 9.71943 4.93585 9.45832 4.67474C9.19721 4.41363 9.06665 4.09974 9.06665 3.73307C9.06665 3.36641 9.19721 3.05252 9.45832 2.79141C9.71943 2.5303 10.0333 2.39974 10.4 2.39974C10.7667 2.39974 11.0805 2.5303 11.3417 2.79141C11.6028 3.05252 11.7333 3.36641 11.7333 3.73307Z\" fill=\"black\" fill-opacity=\"0.25\" />\n </svg>\n <span className=\"text-sm font-semibold flex-1 \">{item.name}</span>\n <svg width=\"16\" height=\"16\" onClick={() => moveToAvailable(item)} cursor='pointer' viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#F0F0F0\" />\n <path d=\"M5.6 11L5 10.4L7.4 8L5 5.6L5.6 5L8 7.4L10.4 5L11 5.6L8.6 8L11 10.4L10.4 11L8 8.6L5.6 11Z\" fill=\"#4B4D52\" />\n </svg>\n </div>\n );\n const maxVisibleRows = Math.max(availableColumns.length, selectedColumns.length);\n const renderEmptyRow = (index: number) => (\n <div key={`empty-${index}`} className=\"SolidCustomPicklistItemWrapper\" />\n );\n // Dialog footer (Save and Cancel buttons)\n const dialogFooter = (\n <div>\n <Button\n label=\"Save\"\n className=\"p-button rounded\"\n onClick={() => handleAddTemplate()}\n disabled={!newTemplateName.trim()}\n />\n <Button\n label=\"Cancel\"\n className=\"ExportCancelButton\"\n onClick={() => {\n setNewTemplateName(\"\");\n setIsDialogVisible(false);\n }}\n />\n </div>\n );\n const handleDeleteTemplate = async (id: string) => {\n const response = await deleteExportTemplate(id).unwrap();\n setTemplateOptions((prev) => prev.filter((template) => template.code !== id));\n dispatch(showToast({ severity: \"success\", summary: \"Template Deleted\", detail: \"Template Deleted\" }));\n };\n const itemTemplate = (option: TemplateOption) => {\n return (\n <div className=\"flex align-items-center justify-content-between w-full py-1\">\n <span className=\"ExportDropdownText\">{option.name}</span>\n <svg width=\"16px\" height=\"16px\" viewBox=\"0 0 24 24\" fill=\"none\" style={{ right: 0 }} className=\"ExportDropdownIcon\" onClick={(e) => {\n e.stopPropagation(); // Prevent triggering selection\n handleDeleteTemplate(option.code);\n }}\n xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2h4a1 1 0 1 1 0 2h-1.069l-.867 12.142A2 2 0 0 1 17.069 22H6.93a2 2 0 0 1-1.995-1.858L4.07 8H3a1 1 0 0 1 0-2h4V4zm2 2h6V4H9v2zM6.074 8l.857 12H17.07l.857-12H6.074zM10 10a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1zm4 0a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1z\"\n fill=\"#ff3d32\" /></svg>\n </div>\n );\n };\n\n return (\n <>\n {/*<div className=\"flex align-items-center justify-content-between m-0 p-0\">\n <SolidExportStepper\n solidFormViewWorkflowData={steps}\n activeValue={currentStepValue}\n setActiveValue={setCurrentStepValue} />\n </div> */}\n <div className=\"p-0\">\n {currentStepValue === 'export' &&\n <>\n <div className=\"SolidExportControls mx-2 gap-2\">\n <div className=\"flex align-items-center\">\n <Checkbox inputId=\"applyFilters\" onChange={e => setCheckedApplyFilter(!!e.checked)} checked={checkApplyFilter} />\n <label htmlFor=\"applyFilters\" className=\"ml-2\"> Apply Filters</label>\n </div>\n <Dropdown\n value={selectedFormat}\n onChange={(e) => setSelectedFormat(e.value)}\n options={formatOptions}\n optionLabel=\"name\"\n placeholder=\"Format .\"\n className=\"p-dropdown p-outlined\"\n\n // 👇 Render icon + text for dropdown list options\n itemTemplate={(option) => {\n const isSelected = selectedFormat?.code === option.code;\n const iconColor = isSelected ? \"#722ED1\" : \"#000000\"; // Blue for selected\n return (\n <div className=\"flex items-center gap-2 \">\n {React.cloneElement(option.icon, { fill: iconColor })}\n <span>{option.name}</span>\n </div>\n );\n }}\n\n // 👇 Render icon + text for selected value display\n valueTemplate={(option) => {\n if (!option) return \"Format .\";\n return (\n <div className=\"flex items-center gap-2 h-1rem\">\n {React.cloneElement(option.icon, { fill: \"#722ED1\" })}\n <span>{option.name}</span>\n </div>\n );\n }}\n />\n <Dropdown\n value={selectedTemplate}\n onChange={(e) => handleTemplateChange(e)}\n options={templateOptions}\n optionLabel=\"name\"\n placeholder=\"Template \"\n className=\"p-dropdown hidden md:flex\"\n itemTemplate={itemTemplate}\n panelFooterTemplate={panelFooterTemplate}\n />\n\n <Button\n className=\"p-button hidden md:flex\"\n label=\"Export\"\n disabled={!selectedFormat}\n onClick={() => handleDownload()}\n />\n <Button\n className=\"p-button md:hidden\"\n label=\"Export\"\n disabled={!selectedFormat}\n onClick={() => handleDownload()}\n size=\"small\"\n />\n </div>\n <div className=\"col-12 sm:col-6 p-0 \">\n <Dropdown\n value={selectedTemplate}\n onChange={(e) => handleTemplateChange(e)}\n options={templateOptions}\n optionLabel=\"name\"\n placeholder=\"Template\"\n className=\"p-dropdown md:hidden w-full mt-2 p-inputtext-sm\"\n itemTemplate={itemTemplate}\n panelFooterTemplate={panelFooterTemplate}\n />\n </div>\n\n\n <Dialog\n header=\"Save Export Template\"\n className=\"solid-confirm-dialog\"\n visible={isDialogVisible}\n style={{ width: \"20rem\", right: \"0\" }}\n footer={dialogFooter}\n onHide={() => {\n setNewTemplateName(\"\");\n setIsDialogVisible(false);\n }}\n >\n <label htmlFor=\"templateName\" className=\"text-color-secondary\">Title</label>\n <InputText\n id=\"templateName\"\n name=\"templateName\"\n value={newTemplateName}\n onChange={(e) => setNewTemplateName(e.target.value)}\n placeholder=\"Enter template name\"\n className=\"w-full\"\n autoFocus\n />\n </Dialog>\n <div className=\"SolidCustomPicklist mt-2\">\n <div className=\"flex\">\n {/* All Questions */}\n <div className=\"w-6\">\n <div className=\"text-sm font-semibold SolidCustomPicklistSourceHeader\" style={{ padding: '12px 16px', background: '#F3FAFF' }}>Available Fields</div>\n <div>\n {availableColumns.map(renderSourceItem)}\n {Array.from({ length: maxVisibleRows - availableColumns.length }).map((_, i) =>\n renderEmptyRow(i)\n )}\n </div>\n </div>\n\n {/* Selected Questions */}\n <div className=\"w-6\">\n <div className=\"text-sm font-semibold\" style={{ padding: '12px 16px', background: '#F3FAFF' }} >Selected Fields</div>\n <div>\n {selectedColumns.map(renderTargetItem)}\n {Array.from({ length: maxVisibleRows - selectedColumns.length }).map((_, i) =>\n renderEmptyRow(i)\n )}\n </div>\n </div>\n </div>\n </div>\n </>\n }\n {/* {currentStepValue === 'summary' && (\n <p className=\"m-0\">\n Relations and Media Fields are not supported for Export.\n </p>\n )} */}\n </div>\n <DownloadProgressToast\n visible={showProgress}\n progress={progress}\n message={message}\n submessage={messageDescription}\n status={status}\n onClose={() => setShowProgress(false)}\n />\n </>\n );\n};"]}