@argusoft/medplat-core 1.0.29 → 1.0.31

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 (217) hide show
  1. package/dist/AccessRights-DUgY6ewy.js +1031 -0
  2. package/dist/AccessRights-DUgY6ewy.js.map +1 -0
  3. package/dist/AddEditQueryBuilder-D-iQiVIe.js +365 -0
  4. package/dist/AddEditQueryBuilder-D-iQiVIe.js.map +1 -0
  5. package/dist/{AddFeatures-v3TmGQee.js → AddFeatures-D1sU8RjY.js} +2 -2
  6. package/dist/{AddFeatures-v3TmGQee.js.map → AddFeatures-D1sU8RjY.js.map} +1 -1
  7. package/dist/AddLabelModal-Bq-wRqv9.js +631 -0
  8. package/dist/AddLabelModal-Bq-wRqv9.js.map +1 -0
  9. package/dist/AddMenuConfiguration-c6ZKiN0i.js +8898 -0
  10. package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +1 -0
  11. package/dist/AppModal-CCtrQ5Tr.js +394 -0
  12. package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
  13. package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js +387 -0
  14. package/dist/BrandsPage-DMw2vT0u-BVhvhc6J.js.map +1 -0
  15. package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js +398 -0
  16. package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js.map +1 -0
  17. package/dist/{ChangePasswordModalCore-DutQAZOx.js → ChangePasswordModalCore-lQ9GamH1.js} +1605 -1610
  18. package/dist/ChangePasswordModalCore-lQ9GamH1.js.map +1 -0
  19. package/dist/ConditionConfig-BQBmBHaM.js +408 -0
  20. package/dist/ConditionConfig-BQBmBHaM.js.map +1 -0
  21. package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js +435 -0
  22. package/dist/DashboardPage-asr2XDRu-uOOlX9Vq.js.map +1 -0
  23. package/dist/EventConfig-BY2cgGyx.js +27 -0
  24. package/dist/EventConfig-BY2cgGyx.js.map +1 -0
  25. package/dist/EventConfigurations-CUPEN5BV.js +544 -0
  26. package/dist/EventConfigurations-CUPEN5BV.js.map +1 -0
  27. package/dist/EventConfigurations.css +1 -1
  28. package/dist/EventsExceptionModal-BX-ArkBE.js +188 -0
  29. package/dist/EventsExceptionModal-BX-ArkBE.js.map +1 -0
  30. package/dist/EventsUi-D6O9S7BK.js +258 -0
  31. package/dist/EventsUi-D6O9S7BK.js.map +1 -0
  32. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js +79 -0
  33. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map +1 -0
  34. package/dist/FeatureMenu-CHsBbw3W.js +525 -0
  35. package/dist/FeatureMenu-CHsBbw3W.js.map +1 -0
  36. package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-iXBPkRVF.js} +22 -22
  37. package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-iXBPkRVF.js.map} +1 -1
  38. package/dist/{FhirServerWizard-Db6Hm4bQ.js → FhirServerWizard-DZI8Olku.js} +15 -15
  39. package/dist/{FhirServerWizard-Db6Hm4bQ.js.map → FhirServerWizard-DZI8Olku.js.map} +1 -1
  40. package/dist/FlywayQuery-CQygj51V.js +179 -0
  41. package/dist/FlywayQuery-CQygj51V.js.map +1 -0
  42. package/dist/GrantPermissionModal-D7iNZd0M.js +239 -0
  43. package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
  44. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js +8019 -0
  45. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +1 -0
  46. package/dist/ImmunizationConfigurationBase.css +1 -1
  47. package/dist/ImmunizationConfigurationsList-TZcLDEci.js +369 -0
  48. package/dist/ImmunizationConfigurationsList-TZcLDEci.js.map +1 -0
  49. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js +665 -0
  50. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js.map +1 -0
  51. package/dist/LanguagesModal-B3NTebYT.js +352 -0
  52. package/dist/LanguagesModal-B3NTebYT.js.map +1 -0
  53. package/dist/ManageDynamicFeature-BU0I45dd.js +4475 -0
  54. package/dist/ManageDynamicFeature-BU0I45dd.js.map +1 -0
  55. package/dist/ManageEventConfiguration-DqW3krT6.js +1216 -0
  56. package/dist/ManageEventConfiguration-DqW3krT6.js.map +1 -0
  57. package/dist/ManageEventConfiguration.css +1 -1
  58. package/dist/{ManageNotification-CfhHlfxA.js → ManageNotification-C5MhV77Q.js} +2 -2
  59. package/dist/{ManageNotification-CfhHlfxA.js.map → ManageNotification-C5MhV77Q.js.map} +1 -1
  60. package/dist/{ManageRole-4Y2PP4dQ.js → ManageRole-CNZBRKGU.js} +2 -2
  61. package/dist/{ManageRole-4Y2PP4dQ.js.map → ManageRole-CNZBRKGU.js.map} +1 -1
  62. package/dist/ManageTranslation-vRiptUAP.js +833 -0
  63. package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
  64. package/dist/ManageTranslation.css +1 -1
  65. package/dist/{ManageUser-DDzyd9jm.js → ManageUser-DZltBina.js} +224 -224
  66. package/dist/{ManageUser-DDzyd9jm.js.map → ManageUser-DZltBina.js.map} +1 -1
  67. package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js +272 -0
  68. package/dist/MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map +1 -0
  69. package/dist/MobileAnalytics-BLOionG_.js +17301 -0
  70. package/dist/MobileAnalytics-BLOionG_.js.map +1 -0
  71. package/dist/MobileMenuManagement-68Wijb0X.js +220 -0
  72. package/dist/MobileMenuManagement-68Wijb0X.js.map +1 -0
  73. package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js +752 -0
  74. package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js.map +1 -0
  75. package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
  76. package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
  77. package/dist/{NotificationList-BMFpNUJG.js → NotificationList-DEyRZEuM.js} +2 -2
  78. package/dist/{NotificationList-BMFpNUJG.js.map → NotificationList-DEyRZEuM.js.map} +1 -1
  79. package/dist/OtherTypeEventConfigModal-stNmuSv_.js +1812 -0
  80. package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +1 -0
  81. package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js +482 -0
  82. package/dist/PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map +1 -0
  83. package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js +157 -0
  84. package/dist/PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map +1 -0
  85. package/dist/PermissionsModal-CCYkcKlC.js +151 -0
  86. package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
  87. package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js +119 -0
  88. package/dist/PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map +1 -0
  89. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js +783 -0
  90. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map +1 -0
  91. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js +818 -0
  92. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +1 -0
  93. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js +599 -0
  94. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js.map +1 -0
  95. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js +1305 -0
  96. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +1 -0
  97. package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js +253 -0
  98. package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js.map +1 -0
  99. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js +675 -0
  100. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +1 -0
  101. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js +1577 -0
  102. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +1 -0
  103. package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js +279 -0
  104. package/dist/PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map +1 -0
  105. package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js +293 -0
  106. package/dist/PurchasesPage-DgL5T6BY-DePUuE9l.js.map +1 -0
  107. package/dist/QueryBuilder-CXaBe6sr.js +478 -0
  108. package/dist/QueryBuilder-CXaBe6sr.js.map +1 -0
  109. package/dist/{RoleManagement-DEiBNfT8.js → RoleManagement-s8iNx2Mu.js} +145 -155
  110. package/dist/RoleManagement-s8iNx2Mu.js.map +1 -0
  111. package/dist/Roles-BIyiic67.js +14 -0
  112. package/dist/Roles-BIyiic67.js.map +1 -0
  113. package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js +544 -0
  114. package/dist/SaleCreatePage-CZnIOydv-DKBw-qp7.js.map +1 -0
  115. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js +315 -0
  116. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +1 -0
  117. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +676 -0
  118. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +1 -0
  119. package/dist/ShowFlywayQuery-D10Olk5Z.js +154 -0
  120. package/dist/ShowFlywayQuery-D10Olk5Z.js.map +1 -0
  121. package/dist/{ShowFlywayQuery-DVRCd384.js → ShowFlywayQuery-DIOUdYfG.js} +170 -123
  122. package/dist/ShowFlywayQuery-DIOUdYfG.js.map +1 -0
  123. package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
  124. package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
  125. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js +728 -0
  126. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +1 -0
  127. package/dist/SubMenu-BdMTYtC1.js +319 -0
  128. package/dist/SubMenu-BdMTYtC1.js.map +1 -0
  129. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js +746 -0
  130. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js.map +1 -0
  131. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js +315 -0
  132. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map +1 -0
  133. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js +476 -0
  134. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +1 -0
  135. package/dist/TypeConfiguration-JbRCN6GR.js +114 -0
  136. package/dist/TypeConfiguration-JbRCN6GR.js.map +1 -0
  137. package/dist/{UserList-Bc8gYxRL.js → UserList-L41Xw0Q6.js} +253 -236
  138. package/dist/{UserList-Bc8gYxRL.js.map → UserList-L41Xw0Q6.js.map} +1 -1
  139. package/dist/Users-CsJ08Kjm.js.map +1 -1
  140. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js +321 -0
  141. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js.map +1 -0
  142. package/dist/constants-DpXnLsAB-D6lN5cjK.js +445 -0
  143. package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +1 -0
  144. package/dist/{dashboardLayoutUtils-D1xCAxp3.js → dashboardLayoutUtils-CJivzaU1.js} +95 -92
  145. package/dist/dashboardLayoutUtils-CJivzaU1.js.map +1 -0
  146. package/dist/format-UOyOu75i-D0GyylyQ.js +63 -0
  147. package/dist/format-UOyOu75i-D0GyylyQ.js.map +1 -0
  148. package/dist/index.css +1 -1
  149. package/dist/index.js +1 -1
  150. package/dist/index.lib-ETRQOzvE.js +894 -0
  151. package/dist/index.lib-ETRQOzvE.js.map +1 -0
  152. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +36 -0
  153. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +1 -0
  154. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js +28 -0
  155. package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js.map +1 -0
  156. package/dist/validation-BzlHnL-r-CCJm2utQ.js +125 -0
  157. package/dist/validation-BzlHnL-r-CCJm2utQ.js.map +1 -0
  158. package/package.json +4 -3
  159. package/dist/AccessRights-Zm8Obm4N.js +0 -1284
  160. package/dist/AccessRights-Zm8Obm4N.js.map +0 -1
  161. package/dist/AddEditQueryBuilder-Brdnm6rQ.js +0 -313
  162. package/dist/AddEditQueryBuilder-Brdnm6rQ.js.map +0 -1
  163. package/dist/AddLabelModal-DFllBVcd.js +0 -734
  164. package/dist/AddLabelModal-DFllBVcd.js.map +0 -1
  165. package/dist/AddMenuConfiguration-Ce91MhnU.js +0 -8547
  166. package/dist/AddMenuConfiguration-Ce91MhnU.js.map +0 -1
  167. package/dist/AppModal-CtG2GjD_.js +0 -428
  168. package/dist/AppModal-CtG2GjD_.js.map +0 -1
  169. package/dist/ChangePasswordModalCore-DutQAZOx.js.map +0 -1
  170. package/dist/ConditionConfig-B4Ffpgj3.js +0 -395
  171. package/dist/ConditionConfig-B4Ffpgj3.js.map +0 -1
  172. package/dist/ConditionConfig.css +0 -1
  173. package/dist/EventConfigurations-BJcURufo.js +0 -449
  174. package/dist/EventConfigurations-BJcURufo.js.map +0 -1
  175. package/dist/EventsExceptionModal-BlZtBQoR.js +0 -200
  176. package/dist/EventsExceptionModal-BlZtBQoR.js.map +0 -1
  177. package/dist/EventsSkeleton-DK6JDKAK.js +0 -83
  178. package/dist/EventsSkeleton-DK6JDKAK.js.map +0 -1
  179. package/dist/FeatureMenu-C3503UIX.js +0 -265
  180. package/dist/FeatureMenu-C3503UIX.js.map +0 -1
  181. package/dist/FlywayQuery-Cx2sly6g.js +0 -169
  182. package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
  183. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js +0 -5895
  184. package/dist/ImmunizationConfigurationBase-DLQVSNnt.js.map +0 -1
  185. package/dist/ImmunizationConfigurationsList-DdSZicTP.js +0 -344
  186. package/dist/ImmunizationConfigurationsList-DdSZicTP.js.map +0 -1
  187. package/dist/LanguagesModal-D6VfaGrl.js +0 -394
  188. package/dist/LanguagesModal-D6VfaGrl.js.map +0 -1
  189. package/dist/ManageDynamicFeature-dt096fyj.js +0 -4189
  190. package/dist/ManageDynamicFeature-dt096fyj.js.map +0 -1
  191. package/dist/ManageEventConfiguration-BpSJszSX.js +0 -1017
  192. package/dist/ManageEventConfiguration-BpSJszSX.js.map +0 -1
  193. package/dist/ManageTranslation-B4C9-lWD.js +0 -625
  194. package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
  195. package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
  196. package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
  197. package/dist/MobileTypeEventConfigModal-DUkUYACe.js +0 -783
  198. package/dist/MobileTypeEventConfigModal-DUkUYACe.js.map +0 -1
  199. package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
  200. package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
  201. package/dist/OtherTypeEventConfigModal-CYBfr2XE.js +0 -2046
  202. package/dist/OtherTypeEventConfigModal-CYBfr2XE.js.map +0 -1
  203. package/dist/QueryBuilder-z7eqfd7D.js +0 -383
  204. package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
  205. package/dist/RoleManagement-DEiBNfT8.js.map +0 -1
  206. package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
  207. package/dist/ShowFlywayQuery-tj42YQAS.js +0 -130
  208. package/dist/ShowFlywayQuery-tj42YQAS.js.map +0 -1
  209. package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
  210. package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
  211. package/dist/SubMenu-B072oEGb.js +0 -191
  212. package/dist/SubMenu-B072oEGb.js.map +0 -1
  213. package/dist/TypeConfiguration-C3xoP2Nb.js +0 -117
  214. package/dist/TypeConfiguration-C3xoP2Nb.js.map +0 -1
  215. package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
  216. package/dist/index.lib-C3fwoM3y.js +0 -820
  217. package/dist/index.lib-C3fwoM3y.js.map +0 -1
@@ -1,17 +1,19 @@
1
- import { jsxs as N, Fragment as J, jsx as o } from "react/jsx-runtime";
2
- import { useState as c, useCallback as L, useEffect as U } from "react";
3
- import u from "prop-types";
4
- import { Dialog as W, DialogTitle as k, DialogContent as B, TextField as V, DialogActions as P, Button as w } from "@mui/material";
1
+ import { jsxs as p, Fragment as k, jsx as o } from "react/jsx-runtime";
2
+ import { useState as N, useCallback as B, useEffect as U } from "react";
3
+ import h from "prop-types";
4
+ import { Dialog as V, DialogTitle as W, Box as y, Typography as O, IconButton as j, DialogContent as P, DialogActions as z, Button as w } from "@mui/material";
5
+ import b from "@/common/fontAwesomeIcons/FontAwesomeIcons";
6
+ import H from "@/views/custom-components/PostgresEditor";
5
7
  import { showToast as I } from "@/common/toaster/toaster";
6
- import j from "@/views/custom-components/CustomConfirmationModal";
7
- import C from "moment/moment";
8
- import f from "@/hooks/useTrackEvent";
9
- import { useTranslateProvider as z } from "@/common/languageTranslator/TranslationContext";
10
- const H = ({ configuredQuery: t, open: O, onClose: m, dataTestId: F }) => {
11
- const [r, S] = c(""), [T, R] = c(!1), { translate: _ } = z(), [y, p] = c(!1), M = L(() => {
12
- var n;
13
- const l = (n = t == null ? void 0 : t.configJson) == null ? void 0 : n.includes("public");
14
- R(l);
8
+ import G from "@/views/custom-components/CustomConfirmationModal";
9
+ import F from "moment/moment";
10
+ import Y from "@/hooks/useTrackEvent";
11
+ import { useTranslateProvider as K } from "@/common/languageTranslator/TranslationContext";
12
+ const X = ({ configuredQuery: t, open: S, onClose: r, dataTestId: T }) => {
13
+ const [_, R] = N(""), [x, A] = N(!1), { translate: s } = K(), [M, c] = N(!1), q = B(() => {
14
+ var i;
15
+ const l = (i = t == null ? void 0 : t.configJson) == null ? void 0 : i.includes("public");
16
+ A(l);
15
17
  let e = `DELETE FROM EVENT_CONFIGURATION WHERE uuid = '${t.uuid}';
16
18
 
17
19
  `;
@@ -19,10 +21,10 @@ const H = ({ configuredQuery: t, open: O, onClose: m, dataTestId: F }) => {
19
21
  VALUES (
20
22
  `, e += `${t.createdBy}, current_date, ${t.createdBy}, current_date, `, e += t.day !== void 0 && t.day !== null ? `${t.day}, ` : "null, ", e += t.description ? `'${t.description.replace(/'/g, "''")}', ` : "null, ", e += `'${t.eventType}', `, e += t.eventTypeDetailId !== void 0 && t.eventTypeDetailId !== null ? `${t.eventTypeDetailId}, ` : "null, ", e += t.formTypeId !== void 0 && t.formTypeId !== null ? `${t.formTypeId}, ` : "null, ", e += t.hour !== void 0 && t.hour !== null ? `${t.hour}, ` : "null, ", e += t.minute !== void 0 && t.minute !== null ? `${t.minute}, ` : "null, ", e += `'${t.name.replace(/'/g, "''")}', `, e += `'${t.configJson.replace(/'/g, "''")}', `, e += `'${t.state}', `, e += t.trigerWhen !== void 0 && t.trigerWhen !== null ? `'${t.trigerWhen}', ` : "null, ", e += t.eventTypeDetailCode !== void 0 && t.eventTypeDetailCode !== null ? `${t.eventTypeDetailCode}, ` : "null, ", e += `'${t.uuid}');
21
23
  `, t.eventType === "TIMMER_BASED" && t.state !== "INACTIVE") {
22
- let s = C();
24
+ let d = F();
23
25
  switch (t.trigerWhen) {
24
26
  case "MONTHLY":
25
- s.add(1, "months").set({
27
+ d.add(1, "months").set({
26
28
  date: t.day,
27
29
  hour: t.hour || 0,
28
30
  minute: t.minute || 0,
@@ -30,17 +32,17 @@ VALUES (
30
32
  });
31
33
  break;
32
34
  case "DAILY":
33
- s.add($(t), "days").set({
35
+ d.add(v(t), "days").set({
34
36
  hour: t.hour || 0,
35
37
  minute: t.minute || 0,
36
38
  second: 0
37
39
  });
38
40
  break;
39
41
  case "HOURLY":
40
- s.add(1, "hours").set({ minute: $(t), second: 0 });
42
+ d.add(1, "hours").set({ minute: v(t), second: 0 });
41
43
  break;
42
44
  case "MINUTE":
43
- s.add(t.minute, "minutes").set({ second: 0 });
45
+ d.add(t.minute, "minutes").set({ second: 0 });
44
46
  break;
45
47
  }
46
48
  e += `
@@ -48,17 +50,17 @@ DELETE FROM TIMER_EVENT WHERE event_config_uuid = '${t.uuid}' AND status = 'NEW'
48
50
 
49
51
  `, e += `INSERT INTO timer_event (event_config_uuid, processed, status, type, system_trigger_on)
50
52
  VALUES (
51
- `, e += `'${t.uuid}', false, 'NEW', 'TIMER_EVENT', '${s.format("MM-DD-yyyy HH:mm:ss")}');
53
+ `, e += `'${t.uuid}', false, 'NEW', 'TIMER_EVENT', '${d.format("MM-DD-yyyy HH:mm:ss")}');
52
54
  `;
53
55
  }
54
56
  if (t.configJson !== null) {
55
- const s = JSON.parse(t.configJson);
57
+ const d = JSON.parse(t.configJson);
56
58
  let D = !0;
57
- s.forEach((E) => {
58
- E.conditions !== null && E.conditions.length > 0 && E.conditions.forEach((h) => {
59
- h.notificaitonConfigsType !== null && h.notificaitonConfigsType.length > 0 && (D && (e += `
59
+ d.forEach((u) => {
60
+ u.conditions !== null && u.conditions.length > 0 && u.conditions.forEach((E) => {
61
+ E.notificaitonConfigsType !== null && E.notificaitonConfigsType.length > 0 && (D && (e += `
60
62
  DELETE FROM EVENT_CONFIGURATION_TYPE WHERE event_config_uuid = '${t.uuid}';
61
- `, D = !1), h.notificaitonConfigsType.forEach((a) => {
63
+ `, D = !1), E.notificaitonConfigsType.forEach((a) => {
62
64
  e += `
63
65
  INSERT INTO EVENT_CONFIGURATION_TYPE (id, base_date_field_name, event_config_uuid, day, email_subject, email_subject_parameter, hour, minute, mobile_notification_type, template, template_parameter, triger_when, type, user_field_name, family_field_name, member_field_name, query_master_id, query_master_param_json, query_code, sms_config_json, push_notification_config_json)
64
66
  VALUES (
@@ -66,11 +68,11 @@ VALUES (
66
68
  `, a.mobileNotificationConfigs && a.mobileNotificationConfigs.length > 0 && (e += `
67
69
  DELETE FROM EVENT_MOBILE_CONFIGURATION WHERE notification_type_config_id = '${a.id}';
68
70
  `, a.mobileNotificationConfigs.forEach(
69
- (d) => {
71
+ (m) => {
70
72
  e += `
71
73
  INSERT INTO EVENT_MOBILE_CONFIGURATION (id, notification_code, notification_type_config_id, number_of_days_added_for_due_date, number_of_days_added_for_expiry_date, number_of_days_added_for_on_date)
72
74
  VALUES (
73
- `, e += `'${d.id}', '${d.notificationCode}', '${d.notificationTypeConfigId}', ${d.numberOfDaysAddedForDueDate}, ${d.numberOfDaysAddedForExpiryDate}, ${d.numberOfDaysAddedForOnDate});
75
+ `, e += `'${m.id}', '${m.notificationCode}', '${m.notificationTypeConfigId}', ${m.numberOfDaysAddedForDueDate}, ${m.numberOfDaysAddedForExpiryDate}, ${m.numberOfDaysAddedForOnDate});
74
76
  `;
75
77
  }
76
78
  ));
@@ -78,7 +80,7 @@ VALUES (
78
80
  });
79
81
  });
80
82
  }
81
- let i = {
83
+ let n = {
82
84
  id: t.id,
83
85
  name: t.name,
84
86
  description: t.description,
@@ -92,7 +94,7 @@ VALUES (
92
94
  minute: t.minute,
93
95
  state: t.state,
94
96
  createdBy: t.createdBy,
95
- createdOn: C().valueOf(),
97
+ createdOn: F().valueOf(),
96
98
  notificationConfigDetails: JSON.parse(t.configJson),
97
99
  status: null,
98
100
  completionTime: null,
@@ -102,9 +104,9 @@ VALUES (
102
104
  e += `
103
105
  INSERT INTO SYNC_SYSTEM_CONFIGURATION_MASTER (feature_type, config_json, created_on, created_by, feature_uuid, feature_name)
104
106
  VALUES (
105
- `, e += `'EVENT_BUILDER', '${JSON.stringify(i).replace(/'/g, "''")}', current_date, ${t.createdBy}, '${t.uuid}', '${t.name}');
106
- `, S(e);
107
- }, [t]), $ = function(l) {
107
+ `, e += `'EVENT_BUILDER', '${JSON.stringify(n).replace(/'/g, "''")}', current_date, ${t.createdBy}, '${t.uuid}', '${t.name}');
108
+ `, R(e);
109
+ }, [t]), v = function(l) {
108
110
  const e = /* @__PURE__ */ new Date();
109
111
  return new Date(
110
112
  e.getFullYear(),
@@ -113,14 +115,14 @@ VALUES (
113
115
  l.hour,
114
116
  l.minute
115
117
  ) > e ? 0 : 1;
116
- }, x = () => {
118
+ }, f = () => {
117
119
  var l;
118
- (l = navigator == null ? void 0 : navigator.clipboard) == null || l.writeText(r).then(() => {
119
- I({ message: "Query Copied", type: "success" }), m();
120
+ (l = navigator == null ? void 0 : navigator.clipboard) == null || l.writeText(_).then(() => {
121
+ I({ message: "Query Copied", type: "success" }), r();
120
122
  });
121
- }, A = () => {
122
- v(), p((l) => !l);
123
- }, b = f(), v = async () => {
123
+ }, J = () => {
124
+ C(), c((l) => !l);
125
+ }, $ = Y(), C = async () => {
124
126
  if (window.showSaveFilePicker)
125
127
  try {
126
128
  const l = {
@@ -131,129 +133,174 @@ VALUES (
131
133
  accept: { "text/plain": [".sql"] }
132
134
  }
133
135
  ]
134
- }, e = await window.showSaveFilePicker(l), i = await e.createWritable();
135
- await i.write(r), await i.close();
136
- const n = (new Blob([r], { type: "text/plain" }).size / 1024).toFixed(2);
137
- b("file_download", {
136
+ }, e = await window.showSaveFilePicker(l), n = await e.createWritable();
137
+ await n.write(_), await n.close();
138
+ const i = (new Blob([_], { type: "text/plain" }).size / 1024).toFixed(2);
139
+ $("file_download", {
138
140
  file_type: "sql",
139
141
  file_name: e.name,
140
- file_size: `${n} KB`,
142
+ file_size: `${i} KB`,
141
143
  download_status: "success"
142
144
  }), I({
143
145
  message: "Query Downloaded SuccessFully",
144
146
  type: "success"
145
- }), m();
147
+ }), r();
146
148
  } catch (l) {
147
149
  console.error("Something went wrong while downloading: ", l);
148
150
  }
149
151
  else {
150
- const l = new Blob([r], { type: "text/plain" }), e = (l.size / 1024).toFixed(2), i = URL.createObjectURL(l), n = document.createElement("a");
151
- n.href = i, n.download = `V${(/* @__PURE__ */ new Date()).getTime()}__CHANGE_IN_${t.code}.sql`, document.body.appendChild(n), n.click(), b("file_download", {
152
+ const l = new Blob([_], { type: "text/plain" }), e = (l.size / 1024).toFixed(2), n = URL.createObjectURL(l), i = document.createElement("a");
153
+ i.href = n, i.download = `V${(/* @__PURE__ */ new Date()).getTime()}__CHANGE_IN_${t.code}.sql`, document.body.appendChild(i), i.click(), $("file_download", {
152
154
  file_type: "sql",
153
- file_name: n.download,
155
+ file_name: i.download,
154
156
  file_size: `${e} KB`,
155
157
  download_status: "success"
156
- }), document.body.removeChild(n), URL.revokeObjectURL(i), I({ message: "Query Downloaded SuccessFully", type: "success" }), m();
158
+ }), document.body.removeChild(i), URL.revokeObjectURL(n), I({ message: "Query Downloaded SuccessFully", type: "success" }), r();
157
159
  }
158
- }, q = () => {
159
- T ? p((l) => !l) : v();
160
+ }, L = () => {
161
+ x ? c((l) => !l) : C();
160
162
  };
161
163
  return U(() => {
162
- t && M();
163
- }, [t]), /* @__PURE__ */ N(J, { children: [
164
+ t && q();
165
+ }, [t]), /* @__PURE__ */ p(k, { children: [
164
166
  /* @__PURE__ */ o(
165
- j,
167
+ G,
166
168
  {
167
169
  description: "This Flyway contains keyword 'public'. Are you sure you want to download?",
168
170
  title: "CONFIRM ACTION",
169
- handleClick: A,
170
- open: y,
171
- handleClose: () => p((l) => !l),
171
+ handleClick: J,
172
+ open: M,
173
+ handleClose: () => c((l) => !l),
172
174
  dataTestId: "showflywayquery-customconfirmationmodal-confirmation-modal"
173
175
  }
174
176
  ),
175
- /* @__PURE__ */ N(
176
- W,
177
+ /* @__PURE__ */ p(
178
+ V,
177
179
  {
178
- open: O,
179
- onClose: m,
180
+ open: S,
181
+ onClose: r,
180
182
  fullWidth: !0,
181
183
  maxWidth: "md",
182
- "data-testid": F,
184
+ "data-testid": T,
183
185
  children: [
184
- /* @__PURE__ */ o(k, { className: "font-medium text-lg border-b p-2.5 px-5", children: _("Flyway Query") }),
185
- /* @__PURE__ */ o(B, { children: /* @__PURE__ */ o(
186
- V,
186
+ /* @__PURE__ */ p(
187
+ W,
187
188
  {
188
- multiline: !0,
189
- rows: 10,
190
- variant: "outlined",
191
- fullWidth: !0,
192
- value: r,
193
189
  sx: {
194
- "& .MuiInputBase-input": {
195
- fontSize: "14px"
196
- },
197
- "& .MuiOutlinedInput-root": {
198
- // fontSize: '14px'
199
- borderRadius: "5px"
200
- }
190
+ display: "flex",
191
+ alignItems: "flex-start",
192
+ justifyContent: "space-between",
193
+ gap: 2,
194
+ pt: 2,
195
+ pb: 3,
196
+ borderBottom: "1px solid",
197
+ borderColor: "divider"
201
198
  },
202
- slotProps: {
203
- input: {
204
- readOnly: !0
199
+ children: [
200
+ /* @__PURE__ */ p(y, { children: [
201
+ /* @__PURE__ */ o(
202
+ O,
203
+ {
204
+ variant: "subtitle1",
205
+ component: "span",
206
+ sx: { fontWeight: 700, display: "block" },
207
+ children: s("Flyway Query")
208
+ }
209
+ ),
210
+ /* @__PURE__ */ o(O, { variant: "body2", color: "text.secondary", children: s(
211
+ "Copy or download this migration to recreate this event on another environment."
212
+ ) })
213
+ ] }),
214
+ /* @__PURE__ */ o(
215
+ j,
216
+ {
217
+ size: "small",
218
+ onClick: r,
219
+ "aria-label": s("Close"),
220
+ "data-testid": "showflywayquery-close-icon",
221
+ children: /* @__PURE__ */ o(b, { iconName: "faXmark" })
222
+ }
223
+ )
224
+ ]
225
+ }
226
+ ),
227
+ /* @__PURE__ */ o(
228
+ P,
229
+ {
230
+ sx: { "&.MuiDialogContent-root": { pt: 3 } },
231
+ children: /* @__PURE__ */ o(
232
+ y,
233
+ {
234
+ "data-testid": "showflywayquery-textfield-query-display",
235
+ role: "region",
236
+ "aria-label": s("Flyway Query"),
237
+ sx: {
238
+ mt: 2,
239
+ overflow: "hidden",
240
+ borderRadius: (l) => `${l.shape.borderRadius}px`,
241
+ border: "1px solid",
242
+ borderColor: "divider"
243
+ },
244
+ children: /* @__PURE__ */ o(H, { mode: "READ_ONLY", height: "45vh", defaultValue: _ })
205
245
  }
206
- },
207
- "data-testid": "showflywayquery-textfield-query-display"
246
+ )
208
247
  }
209
- ) }),
210
- /* @__PURE__ */ N(P, { children: [
211
- /* @__PURE__ */ o(
212
- w,
213
- {
214
- onClick: q,
215
- variant: "contained",
216
- size: "small",
217
- color: "primary",
218
- "data-testid": "showflywayquery-button-download-action",
219
- children: _("Download")
220
- }
221
- ),
222
- /* @__PURE__ */ o(
223
- w,
224
- {
225
- onClick: x,
226
- variant: "contained",
227
- size: "small",
228
- color: "primary",
229
- "data-testid": "showflywayquery-button-copyquery-action",
230
- children: _("Copy Query")
231
- }
232
- ),
233
- /* @__PURE__ */ o(
234
- w,
235
- {
236
- onClick: m,
237
- variant: "contained",
238
- color: "secondary",
239
- size: "small",
240
- "data-testid": "showflywayquery-button-cancel-action",
241
- children: _("Cancel")
242
- }
243
- )
244
- ] })
248
+ ),
249
+ /* @__PURE__ */ p(
250
+ z,
251
+ {
252
+ sx: { px: 3, py: 2, borderTop: "1px solid", borderColor: "divider" },
253
+ children: [
254
+ /* @__PURE__ */ o(
255
+ w,
256
+ {
257
+ onClick: r,
258
+ variant: "outlined",
259
+ color: "inherit",
260
+ size: "small",
261
+ "data-testid": "showflywayquery-button-cancel-action",
262
+ children: s("Close")
263
+ }
264
+ ),
265
+ /* @__PURE__ */ o(
266
+ w,
267
+ {
268
+ onClick: f,
269
+ variant: "outlined",
270
+ color: "primary",
271
+ size: "small",
272
+ startIcon: /* @__PURE__ */ o(b, { iconName: "faCopy" }),
273
+ "data-testid": "showflywayquery-button-copyquery-action",
274
+ children: s("Copy Query")
275
+ }
276
+ ),
277
+ /* @__PURE__ */ o(
278
+ w,
279
+ {
280
+ onClick: L,
281
+ variant: "contained",
282
+ color: "primary",
283
+ size: "small",
284
+ startIcon: /* @__PURE__ */ o(b, { iconName: "faDownload" }),
285
+ "data-testid": "showflywayquery-button-download-action",
286
+ children: s("Download")
287
+ }
288
+ )
289
+ ]
290
+ }
291
+ )
245
292
  ]
246
293
  }
247
294
  )
248
295
  ] });
249
296
  };
250
- H.propTypes = {
251
- configuredQuery: u.any,
252
- open: u.any,
253
- onClose: u.any,
254
- dataTestId: u.any
297
+ X.propTypes = {
298
+ configuredQuery: h.any,
299
+ open: h.any,
300
+ onClose: h.any,
301
+ dataTestId: h.any
255
302
  };
256
303
  export {
257
- H as default
304
+ X as default
258
305
  };
259
- //# sourceMappingURL=ShowFlywayQuery-DVRCd384.js.map
306
+ //# sourceMappingURL=ShowFlywayQuery-DIOUdYfG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowFlywayQuery-DIOUdYfG.js","sources":["../src/views/Events/ShowFlywayQuery.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Box,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Button,\n IconButton,\n Typography,\n} from \"@mui/material\";\nimport FontAwesomeIcons from \"@/common/fontAwesomeIcons/FontAwesomeIcons\";\nimport PostgresEditor from \"@/views/custom-components/PostgresEditor\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport moment from \"moment/moment\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\n\n/**\n * A React functional component that displays a configured Flyway query.\n * @module ShowFlywayQuery\n * @param {Object} props - Component properties.\n * @param {Object} props.configuredQuery - The query configuration object to display.\n * @param {boolean} props.open - Boolean flag indicating if the component should be visible.\n * @param {function} props.onClose - Callback function to close the component.\n */\n\nconst ShowFlywayQuery = ({ configuredQuery, open, onClose, dataTestId }) => {\n const [text, setText] = useState(\"\");\n const [isPublicKeyword, setIsPublicKeyword] = useState(false);\n const { translate } = useTranslateProvider();\n\n const [openConfirm, setOpenConfirm] = useState(false);\n\n /**\n *\n * Generates a SQL query string based on the `configuredQuery` object.\n * @function generateQueryText\n * @param {Object} configuredQuery - The query configuration object used to generate the SQL query.\n * @param {string} configuredQuery.code - The unique code for the query.\n * @param {string} configuredQuery.uuid - The unique identifier for the query.\n * @param {number} configuredQuery.createdBy - The ID of the user who created the query.\n * @param {string} [configuredQuery.params] - The parameters for the query.\n * @param {string} configuredQuery.query - The actual SQL query text.\n * @param {string} [configuredQuery.description] - A description of the query.\n * @param {boolean} [configuredQuery.returnsResultSet] - Flag indicating if the query returns a result set.\n * @param {string} [configuredQuery.state] - The state of the query (e.g., 'ACTIVE').\n * @returns {void}\n */\n\n const generateQueryText = useCallback(() => {\n const publicKeyword = configuredQuery?.configJson?.includes(\"public\");\n setIsPublicKeyword(publicKeyword);\n // Delete existing event configuration\n let queryText = `DELETE FROM EVENT_CONFIGURATION WHERE uuid = '${configuredQuery.uuid}';\\n\\n`;\n\n // Insert new event configuration\n queryText += `INSERT INTO EVENT_CONFIGURATION (created_by, created_on, modified_by, modified_on, day, description, event_type, event_type_detail_id, form_type_id, hour, minute, name, config_json, state, trigger_when, event_type_detail_code, uuid)\\nVALUES (\\n`;\n queryText += `${configuredQuery.createdBy}, current_date, ${configuredQuery.createdBy}, current_date, `;\n\n queryText +=\n configuredQuery.day !== undefined && configuredQuery.day !== null\n ? `${configuredQuery.day}, `\n : \"null, \";\n queryText += configuredQuery.description\n ? `'${configuredQuery.description.replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText += `'${configuredQuery.eventType}', `;\n queryText +=\n configuredQuery.eventTypeDetailId !== undefined &&\n configuredQuery.eventTypeDetailId !== null\n ? `${configuredQuery.eventTypeDetailId}, `\n : \"null, \";\n queryText +=\n configuredQuery.formTypeId !== undefined &&\n configuredQuery.formTypeId !== null\n ? `${configuredQuery.formTypeId}, `\n : \"null, \";\n queryText +=\n configuredQuery.hour !== undefined && configuredQuery.hour !== null\n ? `${configuredQuery.hour}, `\n : \"null, \";\n queryText +=\n configuredQuery.minute !== undefined && configuredQuery.minute !== null\n ? `${configuredQuery.minute}, `\n : \"null, \";\n queryText += `'${configuredQuery.name.replace(/'/g, \"''\")}', `;\n queryText += `'${configuredQuery.configJson.replace(/'/g, \"''\")}', `;\n queryText += `'${configuredQuery.state}', `;\n queryText +=\n configuredQuery.trigerWhen !== undefined &&\n configuredQuery.trigerWhen !== null\n ? `'${configuredQuery.trigerWhen}', `\n : \"null, \";\n queryText +=\n configuredQuery.eventTypeDetailCode !== undefined &&\n configuredQuery.eventTypeDetailCode !== null\n ? `${configuredQuery.eventTypeDetailCode}, `\n : \"null, \";\n queryText += `'${configuredQuery.uuid}');\\n`;\n\n if (\n configuredQuery.eventType === \"TIMMER_BASED\" &&\n configuredQuery.state !== \"INACTIVE\"\n ) {\n let nextDate = moment();\n switch (configuredQuery.trigerWhen) {\n case \"MONTHLY\":\n nextDate.add(1, \"months\").set({\n date: configuredQuery.day,\n hour: configuredQuery.hour || 0,\n minute: configuredQuery.minute || 0,\n second: 0,\n });\n break;\n case \"DAILY\":\n nextDate.add(getNextDate(configuredQuery), \"days\").set({\n hour: configuredQuery.hour || 0,\n minute: configuredQuery.minute || 0,\n second: 0,\n });\n break;\n case \"HOURLY\":\n nextDate\n .add(1, \"hours\")\n .set({ minute: getNextDate(configuredQuery), second: 0 });\n break;\n case \"MINUTE\":\n nextDate.add(configuredQuery.minute, \"minutes\").set({ second: 0 });\n break;\n default:\n }\n\n queryText += `\\nDELETE FROM TIMER_EVENT WHERE event_config_uuid = '${configuredQuery.uuid}' AND status = 'NEW';\\n\\n`;\n queryText += `INSERT INTO timer_event (event_config_uuid, processed, status, type, system_trigger_on)\\nVALUES (\\n`;\n queryText += `'${configuredQuery.uuid}', false, 'NEW', 'TIMER_EVENT', '${nextDate.format(\"MM-DD-yyyy HH:mm:ss\")}');\\n`;\n }\n\n // Handle notification configurations\n if (configuredQuery.configJson !== null) {\n const notificationConfigs = JSON.parse(configuredQuery.configJson);\n let firstDelete = true;\n\n notificationConfigs.forEach((config) => {\n if (config.conditions !== null && config.conditions.length > 0) {\n config.conditions.forEach((condition) => {\n if (\n condition.notificaitonConfigsType !== null &&\n condition.notificaitonConfigsType.length > 0\n ) {\n if (firstDelete) {\n queryText += `\\nDELETE FROM EVENT_CONFIGURATION_TYPE WHERE event_config_uuid = '${configuredQuery.uuid}';\\n`;\n firstDelete = false;\n }\n condition.notificaitonConfigsType.forEach((configType) => {\n queryText += `\\nINSERT INTO EVENT_CONFIGURATION_TYPE (id, base_date_field_name, event_config_uuid, day, email_subject, email_subject_parameter, hour, minute, mobile_notification_type, template, template_parameter, triger_when, type, user_field_name, family_field_name, member_field_name, query_master_id, query_master_param_json, query_code, sms_config_json, push_notification_config_json)\\nVALUES (\\n`;\n queryText += `'${configType.id}', `;\n queryText += configType.baseDateFieldName\n ? `'${configType.baseDateFieldName}', `\n : \"null, \";\n queryText += `'${configuredQuery.uuid}', `;\n queryText +=\n configType.day !== undefined && configType.day !== null\n ? `${configType.day}, `\n : \"null, \";\n queryText += configType.emailSubject\n ? `'${configType.emailSubject.replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText += configType.emailSubjectParameter\n ? `'${configType.emailSubjectParameter}', `\n : \"null, \";\n queryText +=\n configType.hour !== undefined && configType.hour !== null\n ? `${configType.hour}, `\n : \"null, \";\n queryText +=\n configType.miniute !== undefined &&\n configType.miniute !== null\n ? `${configType.miniute}, `\n : \"null, \";\n queryText +=\n configType.mobileNotificationType !== undefined &&\n configType.mobileNotificationType !== null\n ? `${configType.mobileNotificationType}, `\n : \"null, \";\n queryText += configType.template\n ? `'${configType.template.replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText += configType.templateParameter\n ? `'${configType.templateParameter.replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText += configType.trigerWhen\n ? `'${configType.trigerWhen}', `\n : \"null, \";\n queryText += configType.type\n ? `'${configType.type}', `\n : \"null, \";\n queryText += configType.userFieldName\n ? `'${configType.userFieldName}', `\n : \"null, \";\n queryText += configType.familyFieldName\n ? `'${configType.familyFieldName}', `\n : \"null, \";\n queryText += configType.memberFieldName\n ? `'${configType.memberFieldName}', `\n : \"null, \";\n queryText +=\n configType.queryMasterId !== undefined &&\n configType.queryMasterId !== null\n ? `${configType.queryMasterId}, `\n : \"null, \";\n queryText +=\n configType.queryMasterParamJson !== undefined &&\n configType.queryMasterParamJson !== null\n ? `'${JSON.stringify(configType.queryMasterParamJson).replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText += configType.queryCode\n ? `'${configType.queryCode}', `\n : \"null, \";\n queryText +=\n configType.smsConfigJson !== undefined &&\n configType.smsConfigJson !== null\n ? `'${JSON.stringify(configType.smsConfigJson).replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText +=\n configType.pushNotificationConfigJson !== undefined &&\n configType.pushNotificationConfigJson !== null\n ? `'${JSON.stringify(configType.pushNotificationConfigJson).replace(/'/g, \"''\")}'`\n : \"null\";\n queryText += \");\\n\";\n\n // Handle mobile notification configs\n if (\n configType.mobileNotificationConfigs &&\n configType.mobileNotificationConfigs.length > 0\n ) {\n queryText += `\\nDELETE FROM EVENT_MOBILE_CONFIGURATION WHERE notification_type_config_id = '${configType.id}';\\n`;\n configType.mobileNotificationConfigs.forEach(\n (mobileConfig) => {\n queryText += `\\nINSERT INTO EVENT_MOBILE_CONFIGURATION (id, notification_code, notification_type_config_id, number_of_days_added_for_due_date, number_of_days_added_for_expiry_date, number_of_days_added_for_on_date)\\nVALUES (\\n`;\n queryText += `'${mobileConfig.id}', '${mobileConfig.notificationCode}', '${mobileConfig.notificationTypeConfigId}', ${mobileConfig.numberOfDaysAddedForDueDate}, ${mobileConfig.numberOfDaysAddedForExpiryDate}, ${mobileConfig.numberOfDaysAddedForOnDate});\\n`;\n }\n );\n }\n });\n }\n });\n }\n });\n }\n\n // Insert sync system configuration master\n let eventConfigObj = {\n id: configuredQuery.id,\n name: configuredQuery.name,\n description: configuredQuery.description,\n eventType: configuredQuery.eventType,\n eventTypeDetailId: configuredQuery.eventTypeDetailId,\n formTypeId: configuredQuery.formTypeId,\n eventTypeDetailCode: configuredQuery.eventTypeDetailCode,\n trigerWhen: configuredQuery.trigerWhen,\n day: configuredQuery.day,\n hour: configuredQuery.hour,\n minute: configuredQuery.minute,\n state: configuredQuery.state,\n createdBy: configuredQuery.createdBy,\n createdOn: moment().valueOf(),\n notificationConfigDetails: JSON.parse(configuredQuery.configJson),\n status: null,\n completionTime: null,\n configJson: null,\n uuid: configuredQuery.uuid,\n };\n\n queryText += `\\nINSERT INTO SYNC_SYSTEM_CONFIGURATION_MASTER (feature_type, config_json, created_on, created_by, feature_uuid, feature_name)\\nVALUES (\\n`;\n queryText += `'EVENT_BUILDER', '${JSON.stringify(eventConfigObj).replace(/'/g, \"''\")}', current_date, ${configuredQuery.createdBy}, '${configuredQuery.uuid}', '${configuredQuery.name}');\\n`;\n setText(queryText);\n }, [configuredQuery]);\n\n /**\n *\n * Copies the generated query text to the clipboard and displays a success message.\n * @function copyQuery\n * @returns {void}\n */\n\n const getNextDate = function (eventObj) {\n const now = new Date();\n const eventDate = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n eventObj.hour,\n eventObj.minute\n );\n\n if (eventDate > now) {\n return 0;\n } else {\n return 1;\n }\n };\n\n const copyQuery = () => {\n navigator?.clipboard?.writeText(text).then(() => {\n showToast({ message: \"Query Copied\", type: \"success\" });\n onClose();\n });\n };\n\n /**\n * Triggers a download operation and toggles the confirmation dialog visibility.\n * The function assumes that `download` and `setOpenConfirm` are available in the current scope.\n * @function askForConfirmation\n * @returns {void}\n */\n\n const askForConfirmation = () => {\n download();\n setOpenConfirm((cur) => !cur);\n };\n\n const trackEvent = useTrackEvent();\n\n /**\n * Creates and triggers a download of a text file containing the query text.\n *\n * @function download\n * @returns {void}\n */\n\n const download = async () => {\n if (window.showSaveFilePicker) {\n try {\n const options = {\n suggestedName: `V${new Date().getTime()}__CHANGE_IN_${configuredQuery.code}.sql`,\n types: [\n {\n description: \"SQL Files\",\n accept: { \"text/plain\": [\".sql\"] },\n },\n ],\n };\n const handle = await window.showSaveFilePicker(options);\n const writable = await handle.createWritable();\n await writable.write(text);\n await writable.close();\n const blobSizeInKB = (\n new Blob([text], { type: \"text/plain\" }).size / 1024\n ).toFixed(2);\n trackEvent(\"file_download\", {\n file_type: \"sql\",\n file_name: handle.name,\n file_size: `${blobSizeInKB} KB`,\n download_status: \"success\",\n });\n showToast({\n message: \"Query Downloaded SuccessFully\",\n type: \"success\",\n });\n onClose();\n } catch (err) {\n console.error(\"Something went wrong while downloading: \", err);\n }\n } else {\n // fallback for browsers that do not support showSaveFilePicker\n const blob = new Blob([text], { type: \"text/plain\" });\n const blobSizeInKB = (blob.size / 1024).toFixed(2);\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = `V${new Date().getTime()}__CHANGE_IN_${configuredQuery.code}.sql`;\n document.body.appendChild(a);\n a.click();\n trackEvent(\"file_download\", {\n file_type: \"sql\",\n file_name: a.download,\n file_size: `${blobSizeInKB} KB`,\n download_status: \"success\",\n });\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n showToast({ message: \"Query Downloaded SuccessFully\", type: \"success\" });\n onClose();\n }\n };\n\n /**\n *\n * Handles the download process based on the presence of a public keyword in the query text.\n * @function handleDownload\n * @returns {void}\n */\n\n const handleDownload = () => {\n if (isPublicKeyword) {\n setOpenConfirm((cur) => !cur);\n } else {\n download();\n }\n };\n\n /**\n * `useEffect` Hook to Generate Query Text\n *\n * This effect hook is used to generate the SQL query text whenever the `configuredQuery` dependency changes.\n *\n * @function useEffect\n * @param {Object} configuredQuery - The query configuration object used to generate the SQL query text.\n * @param {function} generateQueryText - A function that generates the query text based on `configuredQuery`.\n */\n\n useEffect(() => {\n if (configuredQuery) {\n generateQueryText();\n }\n }, [configuredQuery]);\n return (\n <>\n <CustomConfirmationModal\n description={\n \"This Flyway contains keyword 'public'. Are you sure you want to download?\"\n }\n title={\"CONFIRM ACTION\"}\n handleClick={askForConfirmation}\n open={openConfirm}\n handleClose={() => setOpenConfirm((cur) => !cur)}\n dataTestId=\"showflywayquery-customconfirmationmodal-confirmation-modal\"\n />\n <Dialog\n open={open}\n onClose={onClose}\n fullWidth\n maxWidth=\"md\"\n data-testid={dataTestId}\n >\n <DialogTitle\n sx={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: 2,\n pt: 2,\n pb: 3,\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n }}\n >\n <Box>\n <Typography\n variant=\"subtitle1\"\n component=\"span\"\n sx={{ fontWeight: 700, display: \"block\" }}\n >\n {translate(\"Flyway Query\")}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {translate(\n \"Copy or download this migration to recreate this event on another environment.\",\n )}\n </Typography>\n </Box>\n <IconButton\n size=\"small\"\n onClick={onClose}\n aria-label={translate(\"Close\")}\n data-testid=\"showflywayquery-close-icon\"\n >\n <FontAwesomeIcons iconName=\"faXmark\" />\n </IconButton>\n </DialogTitle>\n <DialogContent\n // MUI zeroes a DialogContent's top padding when it directly follows\n // a DialogTitle; this selector has the specificity to put it back.\n sx={{ \"&.MuiDialogContent-root\": { pt: 3 } }}\n >\n <Box\n data-testid=\"showflywayquery-textfield-query-display\"\n role=\"region\"\n aria-label={translate(\"Flyway Query\")}\n sx={{\n mt: 2,\n overflow: \"hidden\",\n borderRadius: (t) => `${t.shape.borderRadius}px`,\n border: \"1px solid\",\n borderColor: \"divider\",\n }}\n >\n <PostgresEditor mode=\"READ_ONLY\" height=\"45vh\" defaultValue={text} />\n </Box>\n </DialogContent>\n <DialogActions\n sx={{ px: 3, py: 2, borderTop: \"1px solid\", borderColor: \"divider\" }}\n >\n <Button\n onClick={onClose}\n variant=\"outlined\"\n color=\"inherit\"\n size=\"small\"\n data-testid=\"showflywayquery-button-cancel-action\"\n >\n {translate(\"Close\")}\n </Button>\n <Button\n onClick={copyQuery}\n variant=\"outlined\"\n color=\"primary\"\n size=\"small\"\n startIcon={<FontAwesomeIcons iconName=\"faCopy\" />}\n data-testid=\"showflywayquery-button-copyquery-action\"\n >\n {translate(\"Copy Query\")}\n </Button>\n <Button\n onClick={handleDownload}\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n startIcon={<FontAwesomeIcons iconName=\"faDownload\" />}\n data-testid=\"showflywayquery-button-download-action\"\n >\n {translate(\"Download\")}\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n};\n\nShowFlywayQuery.propTypes = {\n configuredQuery: PropTypes.any,\n open: PropTypes.any,\n onClose: PropTypes.any,\n dataTestId: PropTypes.any,\n};\n\nexport default ShowFlywayQuery;\n"],"names":["ShowFlywayQuery","configuredQuery","open","onClose","dataTestId","text","setText","useState","isPublicKeyword","setIsPublicKeyword","translate","useTranslateProvider","openConfirm","setOpenConfirm","generateQueryText","useCallback","publicKeyword","_a","queryText","nextDate","moment","getNextDate","notificationConfigs","firstDelete","config","condition","configType","mobileConfig","eventConfigObj","eventObj","now","copyQuery","showToast","askForConfirmation","download","cur","trackEvent","useTrackEvent","options","handle","writable","blobSizeInKB","err","blob","url","a","handleDownload","useEffect","jsxs","Fragment","jsx","CustomConfirmationModal","Dialog","DialogTitle","Box","Typography","IconButton","FontAwesomeIcons","DialogContent","t","PostgresEditor","DialogActions","Button","PropTypes"],"mappings":"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"}