@argusoft/medplat-core 1.0.30 → 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.
- package/dist/{AccessRights-xrday-L1.js → AccessRights-DUgY6ewy.js} +151 -143
- package/dist/AccessRights-DUgY6ewy.js.map +1 -0
- package/dist/AddMenuConfiguration-c6ZKiN0i.js +8898 -0
- package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +1 -0
- package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js → BrandsPage-DMw2vT0u-BVhvhc6J.js} +14 -14
- package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js.map → BrandsPage-DMw2vT0u-BVhvhc6J.js.map} +1 -1
- package/dist/{CategoriesPage-BsS5IQh3-B03lWRY5.js → CategoriesPage-D3ihx9Gi-CT58g0ry.js} +112 -105
- package/dist/CategoriesPage-D3ihx9Gi-CT58g0ry.js.map +1 -0
- package/dist/{ChangePasswordModalCore-BPsJquTS.js → ChangePasswordModalCore-lQ9GamH1.js} +3 -3
- package/dist/{ChangePasswordModalCore-BPsJquTS.js.map → ChangePasswordModalCore-lQ9GamH1.js.map} +1 -1
- package/dist/ConditionConfig-BQBmBHaM.js +408 -0
- package/dist/ConditionConfig-BQBmBHaM.js.map +1 -0
- package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js → DashboardPage-asr2XDRu-uOOlX9Vq.js} +29 -29
- package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js.map → DashboardPage-asr2XDRu-uOOlX9Vq.js.map} +1 -1
- package/dist/EventConfig-BY2cgGyx.js +27 -0
- package/dist/{EventConfig-BmLemzX3.js.map → EventConfig-BY2cgGyx.js.map} +1 -1
- package/dist/EventConfigurations-CUPEN5BV.js +544 -0
- package/dist/EventConfigurations-CUPEN5BV.js.map +1 -0
- package/dist/EventConfigurations.css +1 -1
- package/dist/EventsExceptionModal-BX-ArkBE.js +188 -0
- package/dist/EventsExceptionModal-BX-ArkBE.js.map +1 -0
- package/dist/EventsUi-D6O9S7BK.js +258 -0
- package/dist/EventsUi-D6O9S7BK.js.map +1 -0
- package/dist/{FacilityPicker-BiZeupmP-CyPHmj6b.js → FacilityPicker-DYl_PDyt-Cbwo2tAY.js} +10 -10
- package/dist/{FacilityPicker-BiZeupmP-CyPHmj6b.js.map → FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map} +1 -1
- package/dist/{FeatureMenu-DYJmDt7q.js → FeatureMenu-CHsBbw3W.js} +9 -5
- package/dist/FeatureMenu-CHsBbw3W.js.map +1 -0
- package/dist/{FhirServerList-DuTwnngN.js → FhirServerList-iXBPkRVF.js} +11 -11
- package/dist/{FhirServerList-DuTwnngN.js.map → FhirServerList-iXBPkRVF.js.map} +1 -1
- package/dist/{GrantPermissionModal-BDN66Atn.js → GrantPermissionModal-D7iNZd0M.js} +54 -51
- package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
- package/dist/{ImmunizationConfigurationBase-Di1KO3oW.js → ImmunizationConfigurationBase-aUtx0JEe.js} +3440 -3060
- package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +1 -0
- package/dist/{InventoryPage-C_AxSy7A-QLvlL4rE.js → InventoryPage-DOotGZrj-CoPjOJEI.js} +10 -10
- package/dist/{InventoryPage-C_AxSy7A-QLvlL4rE.js.map → InventoryPage-DOotGZrj-CoPjOJEI.js.map} +1 -1
- package/dist/ManageEventConfiguration-DqW3krT6.js +1216 -0
- package/dist/ManageEventConfiguration-DqW3krT6.js.map +1 -0
- package/dist/ManageEventConfiguration.css +1 -1
- package/dist/{ManageUser-DCFkUMV9.js → ManageUser-DZltBina.js} +134 -134
- package/dist/{ManageUser-DCFkUMV9.js.map → ManageUser-DZltBina.js.map} +1 -1
- package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js → MemberProfileCard-D5CgkTdJ-D2NgDJl3.js} +25 -25
- package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js.map → MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map} +1 -1
- package/dist/MobileAnalytics-BLOionG_.js +17301 -0
- package/dist/MobileAnalytics-BLOionG_.js.map +1 -0
- package/dist/MobileMenuManagement-68Wijb0X.js +220 -0
- package/dist/MobileMenuManagement-68Wijb0X.js.map +1 -0
- package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js +752 -0
- package/dist/MobileTypeEventConfigModal-CMcj7Ozp.js.map +1 -0
- package/dist/OtherTypeEventConfigModal-stNmuSv_.js +1812 -0
- package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +1 -0
- package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js → PaymentCreatePage-DfvSZ-kB-CckogYoe.js} +14 -14
- package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map → PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map} +1 -1
- package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js → PaymentsPage-DMNjYWAJ-ChO9IXmk.js} +24 -24
- package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js.map → PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map} +1 -1
- package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js → PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js} +2 -2
- package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map → PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map} +1 -1
- package/dist/{PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js → PickupCreatePage-B4O_-vE5-DoOo9nJO.js} +64 -64
- package/dist/{PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map → PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map} +1 -1
- package/dist/{PickupsPage-Ctpghavs-CUp4uIZq.js → PickupsPage-D7zyioJB-bHKnARYw.js} +29 -29
- package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +1 -0
- package/dist/{PmGuard-b10TGXEi-G3N0G_Wg.js → PmGuard-BZE-y4In-D_pUm5MP.js} +25 -25
- package/dist/{PmGuard-b10TGXEi-G3N0G_Wg.js.map → PmGuard-BZE-y4In-D_pUm5MP.js.map} +1 -1
- package/dist/{ProductEditPage-C1thoKHu-URQaZ6st.js → ProductEditPage-BVlVUCtD-BR-tJ5Wb.js} +475 -472
- package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +1 -0
- package/dist/{ProductsPage-CupVmOD4-D45a_hf-.js → ProductsPage-DvNHIeZt-BoOOJJtk.js} +36 -35
- package/dist/ProductsPage-DvNHIeZt-BoOOJJtk.js.map +1 -0
- package/dist/{PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js → PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js} +214 -187
- package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +1 -0
- package/dist/{PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js → PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js} +80 -80
- package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +1 -0
- package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js → PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js} +29 -29
- package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map → PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map} +1 -1
- package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js → PurchasesPage-DgL5T6BY-DePUuE9l.js} +31 -31
- package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js.map → PurchasesPage-DgL5T6BY-DePUuE9l.js.map} +1 -1
- package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js → SaleCreatePage-CZnIOydv-DKBw-qp7.js} +15 -15
- package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map → SaleCreatePage-CZnIOydv-DKBw-qp7.js.map} +1 -1
- package/dist/{SalesPage-D18DCseD-BxktGDRQ.js → SalesPage-DPIRrC_O-M8rqnK7z.js} +62 -62
- package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +1 -0
- package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +676 -0
- package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +1 -0
- package/dist/{ShowFlywayQuery-D1y_4A1u.js → ShowFlywayQuery-DIOUdYfG.js} +26 -19
- package/dist/{ShowFlywayQuery-D1y_4A1u.js.map → ShowFlywayQuery-DIOUdYfG.js.map} +1 -1
- package/dist/{StorageUnitsPage-7EqwuMOI-BwUso1Th.js → StorageUnitsPage-BDRkdCjW-UF64rf7q.js} +195 -188
- package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +1 -0
- package/dist/{SubMenu-eEDhZUvh.js → SubMenu-BdMTYtC1.js} +5 -3
- package/dist/SubMenu-BdMTYtC1.js.map +1 -0
- package/dist/{TransactionsPage-DrH53pVS-BkhIGB6C.js → TransactionsPage-CqWTMNU8-Df6eGFDW.js} +48 -48
- package/dist/{TransactionsPage-DrH53pVS-BkhIGB6C.js.map → TransactionsPage-CqWTMNU8-Df6eGFDW.js.map} +1 -1
- package/dist/{TransferCreatePage-CuvoMrYH-DTTfHjz-.js → TransferCreatePage-DF7FZaTJ-CL79V3aR.js} +8 -8
- package/dist/{TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map → TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map} +1 -1
- package/dist/{TransfersPage-Cf701t8s-BBbN7cBf.js → TransfersPage-CGrRFaBF-cTwBUv0o.js} +69 -69
- package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +1 -0
- package/dist/TypeConfiguration-JbRCN6GR.js +114 -0
- package/dist/TypeConfiguration-JbRCN6GR.js.map +1 -0
- package/dist/{UserList-DgPxsnj2.js → UserList-L41Xw0Q6.js} +2 -2
- package/dist/{UserList-DgPxsnj2.js.map → UserList-L41Xw0Q6.js.map} +1 -1
- package/dist/Users-CsJ08Kjm.js +40 -0
- package/dist/{Users-Bpc4Sazd.js.map → Users-CsJ08Kjm.js.map} +1 -1
- package/dist/{VialsPage-8oAc1yFv-Cl3FUXBJ.js → VialsPage-rvvXjgZG-Oqo1v6kQ.js} +35 -35
- package/dist/{VialsPage-8oAc1yFv-Cl3FUXBJ.js.map → VialsPage-rvvXjgZG-Oqo1v6kQ.js.map} +1 -1
- package/dist/{constants-ClZJY2x1-MkSWn6TZ.js → constants-DpXnLsAB-D6lN5cjK.js} +58 -47
- package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +1 -0
- package/dist/{dashboardLayoutUtils-D1xCAxp3.js → dashboardLayoutUtils-CJivzaU1.js} +95 -92
- package/dist/dashboardLayoutUtils-CJivzaU1.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1 -1
- package/dist/index.lib-ETRQOzvE.js +894 -0
- package/dist/index.lib-ETRQOzvE.js.map +1 -0
- package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +36 -0
- package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +1 -0
- package/package.json +1 -1
- package/dist/AccessRights-xrday-L1.js.map +0 -1
- package/dist/AddMenuConfiguration-e5BVXhmw.js +0 -8547
- package/dist/AddMenuConfiguration-e5BVXhmw.js.map +0 -1
- package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +0 -1
- package/dist/ConditionConfig-Ddz9halE.js +0 -395
- package/dist/ConditionConfig-Ddz9halE.js.map +0 -1
- package/dist/ConditionConfig.css +0 -1
- package/dist/EventConfig-BmLemzX3.js +0 -26
- package/dist/EventConfigurations-Bzh1qWXU.js +0 -450
- package/dist/EventConfigurations-Bzh1qWXU.js.map +0 -1
- package/dist/EventsExceptionModal-B2SRrnB1.js +0 -200
- package/dist/EventsExceptionModal-B2SRrnB1.js.map +0 -1
- package/dist/EventsSkeleton-BIcPks4T.js +0 -61
- package/dist/EventsSkeleton-BIcPks4T.js.map +0 -1
- package/dist/FeatureMenu-DYJmDt7q.js.map +0 -1
- package/dist/GrantPermissionModal-BDN66Atn.js.map +0 -1
- package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +0 -1
- package/dist/ManageEventConfiguration-CoYcpjR9.js +0 -1085
- package/dist/ManageEventConfiguration-CoYcpjR9.js.map +0 -1
- package/dist/MobileAnalytics-pQoE8cG1.js +0 -16888
- package/dist/MobileAnalytics-pQoE8cG1.js.map +0 -1
- package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
- package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
- package/dist/MobileTypeEventConfigModal-BeveaX0C.js +0 -783
- package/dist/MobileTypeEventConfigModal-BeveaX0C.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-CM6VkdmY.js +0 -2046
- package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +0 -1
- package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +0 -1
- package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +0 -1
- package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +0 -1
- package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +0 -1
- package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +0 -1
- package/dist/SalesPage-D18DCseD-BxktGDRQ.js.map +0 -1
- package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +0 -747
- package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js.map +0 -1
- package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +0 -1
- package/dist/SubMenu-eEDhZUvh.js.map +0 -1
- package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +0 -1
- package/dist/TypeConfiguration-3O6ABrK-.js +0 -117
- package/dist/TypeConfiguration-3O6ABrK-.js.map +0 -1
- package/dist/Users-Bpc4Sazd.js +0 -41
- package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +0 -1
- package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
- package/dist/index.lib-Dn8PMkeD.js +0 -862
- package/dist/index.lib-Dn8PMkeD.js.map +0 -1
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
import { jsx as i, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as E, useEffect as p, useState as N, Suspense as $, lazy as ii } from "react";
|
|
3
|
+
import { Drawer as ti, Box as n, Typography as x, IconButton as ei, FormControlLabel as oi, Divider as ni, Button as q } from "@mui/material";
|
|
4
|
+
import { useForm as ai, Controller as ri } from "react-hook-form";
|
|
5
|
+
import * as b from "yup";
|
|
6
|
+
import { yupResolver as si } from "@hookform/resolvers/yup";
|
|
7
|
+
import ci from "@/views/custom-components/CustomTextField";
|
|
8
|
+
import li from "@/views/custom-components/CustomTextArea";
|
|
9
|
+
import di from "@/views/custom-components/CustomSwitch";
|
|
10
|
+
import a from "prop-types";
|
|
11
|
+
import { showToast as fi } from "@/common/toaster/toaster";
|
|
12
|
+
import mi from "@/hooks/useTrackEvent";
|
|
13
|
+
import { useTranslateProvider as pi } from "@/common/languageTranslator/TranslationContext";
|
|
14
|
+
import C from "@/common/fontAwesomeIcons/FontAwesomeIcons";
|
|
15
|
+
import hi from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
|
|
16
|
+
import { l as ui, A as yi, e as I, F as k, I as gi, b as xi } from "./EventsUi-D6O9S7BK.js";
|
|
17
|
+
const bi = ii(() => import("./TypeConfiguration-JbRCN6GR.js"));
|
|
18
|
+
function Ci({
|
|
19
|
+
selectedConfig: h,
|
|
20
|
+
newCondition: c,
|
|
21
|
+
setNewConditionData: O,
|
|
22
|
+
overlayOpen: P,
|
|
23
|
+
handleOverlayState: R,
|
|
24
|
+
addTypeConfig: A,
|
|
25
|
+
setNewTypeData: z,
|
|
26
|
+
typeConfigurationData: d,
|
|
27
|
+
handleTypeConfigurationDelete: B,
|
|
28
|
+
handleTypeConfigurationEdit: W,
|
|
29
|
+
notificationtypeMap: T
|
|
30
|
+
}) {
|
|
31
|
+
const v = E(null), { translate: t } = pi(), S = E(!1), j = mi();
|
|
32
|
+
p(() => {
|
|
33
|
+
var e;
|
|
34
|
+
c && ((e = Object.keys(c)) == null || e.forEach((r) => {
|
|
35
|
+
c[r] && g(r, c[r]);
|
|
36
|
+
}));
|
|
37
|
+
}, [c]);
|
|
38
|
+
const [D, L] = N([]), M = [
|
|
39
|
+
{
|
|
40
|
+
field: "type",
|
|
41
|
+
label: t("Type"),
|
|
42
|
+
minWidth: 140,
|
|
43
|
+
render: (e) => t(ui(yi, e == null ? void 0 : e.type))
|
|
44
|
+
},
|
|
45
|
+
{ field: "template", label: t("Template"), minWidth: 180 },
|
|
46
|
+
{ field: "Actions", label: t("Actions"), minWidth: 90 }
|
|
47
|
+
], _ = (e, r) => {
|
|
48
|
+
W(r);
|
|
49
|
+
}, F = (e, r) => {
|
|
50
|
+
B(r);
|
|
51
|
+
}, H = [
|
|
52
|
+
{
|
|
53
|
+
label: "",
|
|
54
|
+
icon: /* @__PURE__ */ i(C, { iconName: "faPen" }),
|
|
55
|
+
onClick: _,
|
|
56
|
+
ariaLabel: t("Edit action"),
|
|
57
|
+
dataTestId: "conditionconfig-action-edit"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
label: "",
|
|
61
|
+
icon: /* @__PURE__ */ i(C, { iconName: "faTrash" }),
|
|
62
|
+
onClick: F,
|
|
63
|
+
ariaLabel: t("Delete action"),
|
|
64
|
+
dataTestId: "conditionconfig-action-delete"
|
|
65
|
+
}
|
|
66
|
+
];
|
|
67
|
+
p(() => {
|
|
68
|
+
const e = JSON.parse(JSON.stringify(d));
|
|
69
|
+
let r = e == null ? void 0 : e.map((Z) => {
|
|
70
|
+
const o = { ...Z };
|
|
71
|
+
return (o == null ? void 0 : o.type) === "EXCEPTION" && o.exceptionMessage && (o.template = o.exceptionMessage), (o == null ? void 0 : o.type) === "QUERY" && o.queryCode && (o.template = o.queryCode), (o == null ? void 0 : o.type) === "MOBILE" && T[o.mobileNotificationType] && (o.template = T[o.mobileNotificationType]), o;
|
|
72
|
+
});
|
|
73
|
+
L(r || []);
|
|
74
|
+
}, [d]);
|
|
75
|
+
const [u, V] = N(null), Y = b.object().shape({
|
|
76
|
+
condition: b.string().test("is-required", "Condition is required", function(e) {
|
|
77
|
+
return l ? !!e : !0;
|
|
78
|
+
}).test("max-length", "Character limit exceeds", function(e) {
|
|
79
|
+
return l ? (e == null ? void 0 : e.length) <= 500 : !0;
|
|
80
|
+
}),
|
|
81
|
+
description: b.string().max(500, "Max 500 characters allowed")
|
|
82
|
+
}), {
|
|
83
|
+
control: y,
|
|
84
|
+
handleSubmit: J,
|
|
85
|
+
watch: U,
|
|
86
|
+
reset: f,
|
|
87
|
+
setValue: g,
|
|
88
|
+
resetField: X,
|
|
89
|
+
formState: { errors: w, isSubmitting: Q }
|
|
90
|
+
} = ai({
|
|
91
|
+
defaultValues: { newCondition: c, isConditionReq: !1 },
|
|
92
|
+
resolver: si(Y),
|
|
93
|
+
mode: "onChange"
|
|
94
|
+
}), l = U("isConditionReq");
|
|
95
|
+
p(() => {
|
|
96
|
+
l || X("condition");
|
|
97
|
+
}, [l]);
|
|
98
|
+
const m = () => {
|
|
99
|
+
j("conversion_event", {
|
|
100
|
+
form: v.current,
|
|
101
|
+
form_name: "Condition Config Events",
|
|
102
|
+
submit: S.current
|
|
103
|
+
}), R();
|
|
104
|
+
}, G = (e) => {
|
|
105
|
+
e.condition || d.length > 0 ? (O({
|
|
106
|
+
...e,
|
|
107
|
+
notificaitonConfigsType: d
|
|
108
|
+
}), m(), S.current = !0, f()) : fi({
|
|
109
|
+
message: "Add a condition or at least one action before saving.",
|
|
110
|
+
type: "error"
|
|
111
|
+
});
|
|
112
|
+
}, K = () => {
|
|
113
|
+
A();
|
|
114
|
+
};
|
|
115
|
+
return p(() => {
|
|
116
|
+
u && z({ type: u });
|
|
117
|
+
}, [u]), /* @__PURE__ */ i(
|
|
118
|
+
ti,
|
|
119
|
+
{
|
|
120
|
+
PaperProps: {
|
|
121
|
+
sx: {
|
|
122
|
+
width: { xs: "100%", sm: 650, lg: 820, xl: 900 },
|
|
123
|
+
maxWidth: "100%"
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
anchor: "right",
|
|
127
|
+
open: P,
|
|
128
|
+
className: "z-[1300]",
|
|
129
|
+
onClose: () => {
|
|
130
|
+
m(), f();
|
|
131
|
+
},
|
|
132
|
+
"data-testid": "conditionconfig-drawer-overlay",
|
|
133
|
+
children: /* @__PURE__ */ s(
|
|
134
|
+
n,
|
|
135
|
+
{
|
|
136
|
+
component: "form",
|
|
137
|
+
ref: v,
|
|
138
|
+
onSubmit: J(G),
|
|
139
|
+
"data-testid": "conditionconfig-form",
|
|
140
|
+
sx: {
|
|
141
|
+
display: "flex",
|
|
142
|
+
flexDirection: "column",
|
|
143
|
+
height: "100%",
|
|
144
|
+
minHeight: 0
|
|
145
|
+
},
|
|
146
|
+
children: [
|
|
147
|
+
/* @__PURE__ */ s(
|
|
148
|
+
n,
|
|
149
|
+
{
|
|
150
|
+
sx: {
|
|
151
|
+
display: "flex",
|
|
152
|
+
alignItems: "flex-start",
|
|
153
|
+
justifyContent: "space-between",
|
|
154
|
+
gap: 2,
|
|
155
|
+
px: 3,
|
|
156
|
+
pt: 2,
|
|
157
|
+
pb: 2.5,
|
|
158
|
+
borderBottom: "1px solid",
|
|
159
|
+
borderColor: "divider",
|
|
160
|
+
flexShrink: 0
|
|
161
|
+
},
|
|
162
|
+
"data-testid": "conditionconfig-overlay-header",
|
|
163
|
+
children: [
|
|
164
|
+
/* @__PURE__ */ s(n, { children: [
|
|
165
|
+
/* @__PURE__ */ i(x, { variant: "subtitle1", component: "h2", sx: { fontWeight: 700 }, children: t("Condition") }),
|
|
166
|
+
/* @__PURE__ */ i(x, { variant: "body2", color: "text.secondary", children: t(
|
|
167
|
+
"Decide when this configuration acts, and what it does when it matches."
|
|
168
|
+
) })
|
|
169
|
+
] }),
|
|
170
|
+
/* @__PURE__ */ i(
|
|
171
|
+
ei,
|
|
172
|
+
{
|
|
173
|
+
size: "small",
|
|
174
|
+
onClick: () => {
|
|
175
|
+
m(), f();
|
|
176
|
+
},
|
|
177
|
+
"aria-label": t("Close"),
|
|
178
|
+
"data-testid": "conditionconfig-close-icon",
|
|
179
|
+
children: /* @__PURE__ */ i(C, { iconName: "faXmark" })
|
|
180
|
+
}
|
|
181
|
+
)
|
|
182
|
+
]
|
|
183
|
+
}
|
|
184
|
+
),
|
|
185
|
+
/* @__PURE__ */ s(
|
|
186
|
+
n,
|
|
187
|
+
{
|
|
188
|
+
sx: {
|
|
189
|
+
flex: "1 1 auto",
|
|
190
|
+
overflowY: "auto",
|
|
191
|
+
px: 3,
|
|
192
|
+
py: 2.5,
|
|
193
|
+
display: "flex",
|
|
194
|
+
flexDirection: "column",
|
|
195
|
+
gap: 3
|
|
196
|
+
},
|
|
197
|
+
children: [
|
|
198
|
+
/* @__PURE__ */ s(n, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
|
|
199
|
+
/* @__PURE__ */ i(
|
|
200
|
+
I,
|
|
201
|
+
{
|
|
202
|
+
hint: t(
|
|
203
|
+
"Leave this off to run the actions for every row the query returns."
|
|
204
|
+
),
|
|
205
|
+
children: t("When to act")
|
|
206
|
+
}
|
|
207
|
+
),
|
|
208
|
+
/* @__PURE__ */ i(
|
|
209
|
+
ri,
|
|
210
|
+
{
|
|
211
|
+
name: "isConditionReq",
|
|
212
|
+
control: y,
|
|
213
|
+
defaultValue: !1,
|
|
214
|
+
render: ({ field: e }) => /* @__PURE__ */ i(
|
|
215
|
+
oi,
|
|
216
|
+
{
|
|
217
|
+
control: /* @__PURE__ */ i(
|
|
218
|
+
di,
|
|
219
|
+
{
|
|
220
|
+
checked: !!e.value,
|
|
221
|
+
onChange: () => {
|
|
222
|
+
g("condition", ""), g("isConditionReq", !l);
|
|
223
|
+
},
|
|
224
|
+
inputProps: {
|
|
225
|
+
"aria-label": t("Only act when a condition matches")
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
),
|
|
229
|
+
label: /* @__PURE__ */ i(x, { variant: "body2", children: t("Only act when a condition matches") }),
|
|
230
|
+
"data-testid": "conditionconfig-checkbox-is-condition-required",
|
|
231
|
+
sx: { ml: 0 }
|
|
232
|
+
}
|
|
233
|
+
)
|
|
234
|
+
}
|
|
235
|
+
),
|
|
236
|
+
l && /* @__PURE__ */ s(
|
|
237
|
+
n,
|
|
238
|
+
{
|
|
239
|
+
sx: { display: "flex", flexDirection: "column", gap: 1 },
|
|
240
|
+
"data-testid": "conditionconfig-condition-grid",
|
|
241
|
+
children: [
|
|
242
|
+
/* @__PURE__ */ i(
|
|
243
|
+
k,
|
|
244
|
+
{
|
|
245
|
+
required: !0,
|
|
246
|
+
hint: t(
|
|
247
|
+
"An expression over the placeholders below, for example #status# == 'DUE'"
|
|
248
|
+
),
|
|
249
|
+
children: t("Condition")
|
|
250
|
+
}
|
|
251
|
+
),
|
|
252
|
+
/* @__PURE__ */ i(n, { "data-testid": "conditionconfig-form-control-condition", children: /* @__PURE__ */ i(
|
|
253
|
+
ci,
|
|
254
|
+
{
|
|
255
|
+
control: y,
|
|
256
|
+
id: "condition",
|
|
257
|
+
name: "condition",
|
|
258
|
+
errors: w,
|
|
259
|
+
label: "",
|
|
260
|
+
size: "small",
|
|
261
|
+
dataTestId: "conditionconfig-custom-text-field-condition"
|
|
262
|
+
}
|
|
263
|
+
) }),
|
|
264
|
+
/* @__PURE__ */ i(n, { "data-testid": "conditionconfig-implicit-param", children: /* @__PURE__ */ i(
|
|
265
|
+
gi,
|
|
266
|
+
{
|
|
267
|
+
params: h == null ? void 0 : h.implicitParam,
|
|
268
|
+
translate: t
|
|
269
|
+
}
|
|
270
|
+
) })
|
|
271
|
+
]
|
|
272
|
+
}
|
|
273
|
+
),
|
|
274
|
+
/* @__PURE__ */ s(n, { "data-testid": "conditionconfig-description-grid", children: [
|
|
275
|
+
/* @__PURE__ */ i(k, { children: t("Description") }),
|
|
276
|
+
/* @__PURE__ */ i(n, { "data-testid": "conditionconfig-description-box", children: /* @__PURE__ */ i(
|
|
277
|
+
li,
|
|
278
|
+
{
|
|
279
|
+
control: y,
|
|
280
|
+
id: "description",
|
|
281
|
+
name: "description",
|
|
282
|
+
errors: w,
|
|
283
|
+
label: "",
|
|
284
|
+
minRows: 3,
|
|
285
|
+
"data-testid": "conditionconfig-custom-text-area-description"
|
|
286
|
+
}
|
|
287
|
+
) })
|
|
288
|
+
] })
|
|
289
|
+
] }),
|
|
290
|
+
/* @__PURE__ */ i(ni, {}),
|
|
291
|
+
/* @__PURE__ */ s(
|
|
292
|
+
n,
|
|
293
|
+
{
|
|
294
|
+
sx: { display: "flex", flexDirection: "column", gap: 2 },
|
|
295
|
+
"data-testid": "conditionconfig-type-configuration-grid",
|
|
296
|
+
children: [
|
|
297
|
+
/* @__PURE__ */ i(
|
|
298
|
+
I,
|
|
299
|
+
{
|
|
300
|
+
hint: t(
|
|
301
|
+
"What happens when the condition matches. Add as many as you need."
|
|
302
|
+
),
|
|
303
|
+
children: t("Actions")
|
|
304
|
+
}
|
|
305
|
+
),
|
|
306
|
+
/* @__PURE__ */ i($, { children: /* @__PURE__ */ i(
|
|
307
|
+
bi,
|
|
308
|
+
{
|
|
309
|
+
setType: V,
|
|
310
|
+
onSubmit: K,
|
|
311
|
+
"data-testid": "conditionconfig-type-configuration-form"
|
|
312
|
+
}
|
|
313
|
+
) }),
|
|
314
|
+
/* @__PURE__ */ i(n, { "data-testid": "conditionconfig-table-grid", children: D.length === 0 ? /* @__PURE__ */ i(
|
|
315
|
+
xi,
|
|
316
|
+
{
|
|
317
|
+
icon: "faBolt",
|
|
318
|
+
title: t("No actions yet"),
|
|
319
|
+
body: t(
|
|
320
|
+
"Pick an action type above to send a notification, run a query or raise an exception."
|
|
321
|
+
),
|
|
322
|
+
dataTestId: "conditionconfig-no-actions"
|
|
323
|
+
}
|
|
324
|
+
) : /* @__PURE__ */ i(
|
|
325
|
+
hi,
|
|
326
|
+
{
|
|
327
|
+
columns: M,
|
|
328
|
+
tableData: D,
|
|
329
|
+
disableHtml: !0,
|
|
330
|
+
showFullContent: !1,
|
|
331
|
+
actions: H,
|
|
332
|
+
paginationConfig: { pagination: !1 },
|
|
333
|
+
emptyMessage: "No Configuration added",
|
|
334
|
+
dataTestId: "conditionconfig-customized-table",
|
|
335
|
+
styleConfig: { tableStyle: { maxHeight: 420 } }
|
|
336
|
+
}
|
|
337
|
+
) })
|
|
338
|
+
]
|
|
339
|
+
}
|
|
340
|
+
)
|
|
341
|
+
]
|
|
342
|
+
}
|
|
343
|
+
),
|
|
344
|
+
/* @__PURE__ */ s(
|
|
345
|
+
n,
|
|
346
|
+
{
|
|
347
|
+
sx: {
|
|
348
|
+
flexShrink: 0,
|
|
349
|
+
display: "flex",
|
|
350
|
+
justifyContent: "flex-end",
|
|
351
|
+
gap: 1.5,
|
|
352
|
+
px: 3,
|
|
353
|
+
py: 2,
|
|
354
|
+
borderTop: "1px solid",
|
|
355
|
+
borderColor: "divider"
|
|
356
|
+
},
|
|
357
|
+
children: [
|
|
358
|
+
/* @__PURE__ */ i(
|
|
359
|
+
q,
|
|
360
|
+
{
|
|
361
|
+
variant: "outlined",
|
|
362
|
+
color: "inherit",
|
|
363
|
+
size: "small",
|
|
364
|
+
onClick: () => {
|
|
365
|
+
m(), f();
|
|
366
|
+
},
|
|
367
|
+
"data-testid": "conditionconfig-button-close",
|
|
368
|
+
children: t("Cancel")
|
|
369
|
+
}
|
|
370
|
+
),
|
|
371
|
+
/* @__PURE__ */ i(
|
|
372
|
+
q,
|
|
373
|
+
{
|
|
374
|
+
size: "small",
|
|
375
|
+
type: "submit",
|
|
376
|
+
variant: "contained",
|
|
377
|
+
color: "primary",
|
|
378
|
+
disabled: Q,
|
|
379
|
+
"data-testid": "conditionconfig-button-save",
|
|
380
|
+
children: t("Save")
|
|
381
|
+
}
|
|
382
|
+
)
|
|
383
|
+
]
|
|
384
|
+
}
|
|
385
|
+
)
|
|
386
|
+
]
|
|
387
|
+
}
|
|
388
|
+
)
|
|
389
|
+
}
|
|
390
|
+
);
|
|
391
|
+
}
|
|
392
|
+
Ci.propTypes = {
|
|
393
|
+
selectedConfig: a.any,
|
|
394
|
+
newCondition: a.any,
|
|
395
|
+
setNewConditionData: a.any,
|
|
396
|
+
overlayOpen: a.any,
|
|
397
|
+
handleOverlayState: a.any,
|
|
398
|
+
addTypeConfig: a.any,
|
|
399
|
+
setNewTypeData: a.any,
|
|
400
|
+
typeConfigurationData: a.any,
|
|
401
|
+
handleTypeConfigurationDelete: a.any,
|
|
402
|
+
handleTypeConfigurationEdit: a.any,
|
|
403
|
+
notificationtypeMap: a.any
|
|
404
|
+
};
|
|
405
|
+
export {
|
|
406
|
+
Ci as default
|
|
407
|
+
};
|
|
408
|
+
//# sourceMappingURL=ConditionConfig-BQBmBHaM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConditionConfig-BQBmBHaM.js","sources":["../src/views/Events/ConditionConfig.jsx"],"sourcesContent":["import React, { useEffect, useState, useRef, lazy, Suspense } from \"react\";\nimport \"./Styles/ConditionConfig.scss\";\nimport {\n Button,\n Drawer,\n FormControlLabel,\n Box,\n Divider,\n IconButton,\n Typography,\n} from \"@mui/material\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport * as Yup from \"yup\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport CustomTextArea from \"@/views/custom-components/CustomTextArea\";\nimport CustomSwitch from \"@/views/custom-components/CustomSwitch\";\nconst TypeConfigurationForm = lazy(() => import(\"./TypeConfiguration\"));\nimport PropTypes from \"prop-types\";\nimport { showToast } from \"@/common/toaster/toaster\";\n\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport FontAwesomeIcons from \"@/common/fontAwesomeIcons/FontAwesomeIcons\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport {\n ACTION_TYPES,\n EmptyState,\n FieldLabel,\n ImplicitParams,\n labelOf,\n SectionHeading,\n} from \"./components/EventsUi\";\n\n/**\n * A component for configuring conditions and types, managing their state and validation.\n * @module ConditionConfig\n *\n *\n * @param {Object} props - Component properties.\n * @param {Object} props.selectedConfig - The currently selected configuration.\n * @param {Object} props.newCondition - New condition data to be set.\n * @param {Function} props.setNewConditionData - Function to update new condition data.\n * @param {boolean} props.overlayOpen - Indicates if the overlay is open.\n * @param {Function} props.handleOverlayState - Function to handle overlay state.\n * @param {Function} props.addTypeConfig - Function to add a new type configuration.\n * @param {Function} props.setNewTypeData - Function to update new type data.\n * @param {Array} props.typeConfigurationData - Array of type configuration data.\n * @param {Function} props.handleTypeConfigurationDelete - Function to delete a type configuration.\n * @param {Function} props.handleTypeConfigurationEdit - Function to edit a type configuration.\n * @param {Object} props.notificationtypeMap - Mapping of notification types.\n */\nfunction ConditionConfig({\n selectedConfig,\n newCondition,\n setNewConditionData,\n overlayOpen,\n handleOverlayState,\n addTypeConfig,\n setNewTypeData,\n typeConfigurationData,\n handleTypeConfigurationDelete,\n handleTypeConfigurationEdit,\n notificationtypeMap,\n}) {\n const formRef = useRef(null);\n const { translate } = useTranslateProvider();\n\n const submitRef = useRef(false);\n const trackEvent = useTrackEvent();\n /**\n * @function useEffect\n * Effect to reset the form and populate values from newCondition when it changes.\n */\n useEffect(() => {\n if (newCondition) {\n Object.keys(newCondition)?.forEach((key) => {\n if (newCondition[key]) {\n setValue(key, newCondition[key]);\n }\n });\n }\n }, [newCondition]);\n\n const [tableData, setTableData] = useState([]);\n const headers = [\n {\n field: \"type\",\n label: translate(\"Type\"),\n minWidth: 140,\n render: (row) => translate(labelOf(ACTION_TYPES, row?.type)),\n },\n { field: \"template\", label: translate(\"Template\"), minWidth: 180 },\n { field: \"Actions\", label: translate(\"Actions\"), minWidth: 90 },\n ];\n\n /**\n * @function handleEdit\n * Handles the editing of a type configuration.\n *\n * @param {Object} row - The row being edited.\n * @param {number} index - The index of the item being edited.\n */\n const handleEdit = (_, index) => {\n handleTypeConfigurationEdit(index);\n };\n\n /**\n * @function handleDelete\n * Handles the deletion of a type configuration.\n *\n * @param {Object} row - The row being deleted.\n * @param {number} index - The index of the item being deleted.\n */\n const handleDelete = (_, index) => {\n handleTypeConfigurationDelete(index);\n };\n const actions = [\n {\n label: \"\",\n icon: <FontAwesomeIcons iconName=\"faPen\" />,\n onClick: handleEdit,\n ariaLabel: translate(\"Edit action\"),\n dataTestId: \"conditionconfig-action-edit\",\n },\n {\n label: \"\",\n icon: <FontAwesomeIcons iconName=\"faTrash\" />,\n onClick: handleDelete,\n ariaLabel: translate(\"Delete action\"),\n dataTestId: \"conditionconfig-action-delete\",\n },\n ];\n\n /**\n * @function useEffect\n * Effect to transform type configuration data for display in the table.\n */\n useEffect(() => {\n const data = JSON.parse(JSON.stringify(typeConfigurationData));\n let newData = data?.map((field) => {\n const updatedField = { ...field };\n\n if (updatedField?.type === \"EXCEPTION\") {\n if (updatedField.exceptionMessage) {\n updatedField.template = updatedField.exceptionMessage;\n }\n }\n if (updatedField?.type === \"QUERY\") {\n if (updatedField.queryCode) {\n updatedField.template = updatedField.queryCode;\n }\n }\n if (updatedField?.type === \"MOBILE\") {\n if (notificationtypeMap[updatedField.mobileNotificationType]) {\n updatedField.template =\n notificationtypeMap[updatedField.mobileNotificationType];\n }\n }\n\n return updatedField;\n });\n setTableData(newData || []);\n }, [typeConfigurationData]);\n const [type, setType] = useState(null);\n const validationSchema = Yup.object().shape({\n condition: Yup.string()\n .test(\"is-required\", \"Condition is required\", function (value) {\n if (isConditionReq) {\n return !!value;\n }\n return true;\n })\n .test(\"max-length\", \"Character limit exceeds\", function (value) {\n if (isConditionReq) {\n return value?.length <= 500;\n }\n return true;\n }),\n description: Yup.string().max(500, \"Max 500 characters allowed\"),\n });\n\n const {\n control,\n handleSubmit,\n watch,\n reset,\n setValue,\n resetField,\n formState: { errors, isSubmitting },\n } = useForm({\n defaultValues: { newCondition, isConditionReq: false },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const isConditionReq = watch(\"isConditionReq\");\n useEffect(() => {\n if (!isConditionReq) {\n resetField(\"condition\");\n }\n }, [isConditionReq]);\n\n /**\n * @function handleClose\n * Closes the drawer and records the conversion event.\n */\n\n const handleClose = () => {\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Condition Config Events\",\n submit: submitRef.current,\n }); // Use the current ref value\n\n handleOverlayState();\n };\n const onSubmit = (data) => {\n if (data.condition || typeConfigurationData.length > 0) {\n setNewConditionData({\n ...data,\n notificaitonConfigsType: typeConfigurationData,\n });\n\n handleClose();\n submitRef.current = true;\n reset();\n } else {\n showToast({\n message: \"Add a condition or at least one action before saving.\",\n type: \"error\",\n });\n }\n };\n\n /**\n * @function submitTypeConfig\n * Submits the type configuration.\n */\n const submitTypeConfig = () => {\n addTypeConfig();\n };\n\n /**\n * @function useEffect\n * Effect to update new type data when type changes.\n */\n useEffect(() => {\n if (type) {\n setNewTypeData({ type });\n }\n }, [type]);\n\n return (\n <Drawer\n // Widths live in `sx` rather than Tailwind arbitrary classes: this module\n // ships prebuilt CSS, so a brand-new arbitrary class only reaches the host\n // app after the package dist is rebuilt and the class-name sync runs.\n PaperProps={{\n sx: {\n width: { xs: \"100%\", sm: 650, lg: 820, xl: 900 },\n maxWidth: \"100%\",\n },\n }}\n anchor=\"right\"\n open={overlayOpen}\n className=\"z-[1300]\"\n onClose={() => {\n handleClose();\n reset();\n }}\n data-testid=\"conditionconfig-drawer-overlay\"\n >\n <Box\n component=\"form\"\n ref={formRef}\n onSubmit={handleSubmit(onSubmit)}\n data-testid=\"conditionconfig-form\"\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\",\n minHeight: 0,\n }}\n >\n {/* ── Header ── */}\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: 2,\n px: 3,\n pt: 2,\n pb: 2.5,\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n flexShrink: 0,\n }}\n data-testid=\"conditionconfig-overlay-header\"\n >\n <Box>\n <Typography variant=\"subtitle1\" component=\"h2\" sx={{ fontWeight: 700 }}>\n {translate(\"Condition\")}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {translate(\n \"Decide when this configuration acts, and what it does when it matches.\",\n )}\n </Typography>\n </Box>\n <IconButton\n size=\"small\"\n onClick={() => {\n handleClose();\n reset();\n }}\n aria-label={translate(\"Close\")}\n data-testid=\"conditionconfig-close-icon\"\n >\n <FontAwesomeIcons iconName=\"faXmark\" />\n </IconButton>\n </Box>\n\n {/* ── Body ── */}\n <Box\n sx={{\n flex: \"1 1 auto\",\n overflowY: \"auto\",\n px: 3,\n py: 2.5,\n display: \"flex\",\n flexDirection: \"column\",\n gap: 3,\n }}\n >\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n <SectionHeading\n hint={translate(\n \"Leave this off to run the actions for every row the query returns.\",\n )}\n >\n {translate(\"When to act\")}\n </SectionHeading>\n\n <Controller\n name=\"isConditionReq\"\n control={control}\n defaultValue={false}\n render={({ field }) => (\n <FormControlLabel\n control={\n <CustomSwitch\n checked={Boolean(field.value)}\n onChange={() => {\n setValue(\"condition\", \"\");\n setValue(\"isConditionReq\", !isConditionReq);\n }}\n inputProps={{\n \"aria-label\": translate(\"Only act when a condition matches\"),\n }}\n />\n }\n label={\n <Typography variant=\"body2\">\n {translate(\"Only act when a condition matches\")}\n </Typography>\n }\n data-testid=\"conditionconfig-checkbox-is-condition-required\"\n sx={{ ml: 0 }}\n />\n )}\n />\n\n {isConditionReq && (\n <Box\n sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}\n data-testid=\"conditionconfig-condition-grid\"\n >\n <FieldLabel\n required\n hint={translate(\n \"An expression over the placeholders below, for example #status# == 'DUE'\",\n )}\n >\n {translate(\"Condition\")}\n </FieldLabel>\n <Box data-testid=\"conditionconfig-form-control-condition\">\n <CustomTextField\n control={control}\n id=\"condition\"\n name=\"condition\"\n errors={errors}\n label=\"\"\n size=\"small\"\n dataTestId=\"conditionconfig-custom-text-field-condition\"\n />\n </Box>\n <Box data-testid=\"conditionconfig-implicit-param\">\n <ImplicitParams\n params={selectedConfig?.implicitParam}\n translate={translate}\n />\n </Box>\n </Box>\n )}\n\n <Box data-testid=\"conditionconfig-description-grid\">\n <FieldLabel>{translate(\"Description\")}</FieldLabel>\n <Box data-testid=\"conditionconfig-description-box\">\n <CustomTextArea\n control={control}\n id=\"description\"\n name=\"description\"\n errors={errors}\n label=\"\"\n minRows={3}\n data-testid=\"conditionconfig-custom-text-area-description\"\n />\n </Box>\n </Box>\n </Box>\n\n <Divider />\n\n <Box\n sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}\n data-testid=\"conditionconfig-type-configuration-grid\"\n >\n <SectionHeading\n hint={translate(\n \"What happens when the condition matches. Add as many as you need.\",\n )}\n >\n {translate(\"Actions\")}\n </SectionHeading>\n\n <Suspense>\n <TypeConfigurationForm\n setType={setType}\n onSubmit={submitTypeConfig}\n data-testid=\"conditionconfig-type-configuration-form\"\n />\n </Suspense>\n\n <Box data-testid=\"conditionconfig-table-grid\">\n {tableData.length === 0 ? (\n <EmptyState\n icon=\"faBolt\"\n title={translate(\"No actions yet\")}\n body={translate(\n \"Pick an action type above to send a notification, run a query or raise an exception.\",\n )}\n dataTestId=\"conditionconfig-no-actions\"\n />\n ) : (\n <CustomizedTable\n columns={headers}\n tableData={tableData}\n disableHtml={true}\n showFullContent={false}\n actions={actions}\n paginationConfig={{ pagination: false }}\n emptyMessage=\"No Configuration added\"\n dataTestId=\"conditionconfig-customized-table\"\n styleConfig={{ tableStyle: { maxHeight: 420 } }}\n />\n )}\n </Box>\n </Box>\n </Box>\n\n {/* ── Sticky footer ── */}\n <Box\n sx={{\n flexShrink: 0,\n display: \"flex\",\n justifyContent: \"flex-end\",\n gap: 1.5,\n px: 3,\n py: 2,\n borderTop: \"1px solid\",\n borderColor: \"divider\",\n }}\n >\n <Button\n variant=\"outlined\"\n color=\"inherit\"\n size=\"small\"\n onClick={() => {\n handleClose();\n reset();\n }}\n data-testid=\"conditionconfig-button-close\"\n >\n {translate(\"Cancel\")}\n </Button>\n <Button\n size=\"small\"\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n disabled={isSubmitting}\n data-testid=\"conditionconfig-button-save\"\n >\n {translate(\"Save\")}\n </Button>\n </Box>\n </Box>\n </Drawer>\n );\n}\n\nexport default ConditionConfig;\n\nConditionConfig.propTypes = {\n selectedConfig: PropTypes.any,\n newCondition: PropTypes.any,\n setNewConditionData: PropTypes.any,\n overlayOpen: PropTypes.any,\n handleOverlayState: PropTypes.any,\n addTypeConfig: PropTypes.any,\n setNewTypeData: PropTypes.any,\n typeConfigurationData: PropTypes.any,\n handleTypeConfigurationDelete: PropTypes.any,\n handleTypeConfigurationEdit: PropTypes.any,\n notificationtypeMap: PropTypes.any,\n};\n"],"names":["TypeConfigurationForm","lazy","ConditionConfig","selectedConfig","newCondition","setNewConditionData","overlayOpen","handleOverlayState","addTypeConfig","setNewTypeData","typeConfigurationData","handleTypeConfigurationDelete","handleTypeConfigurationEdit","notificationtypeMap","formRef","useRef","translate","useTranslateProvider","submitRef","trackEvent","useTrackEvent","useEffect","_a","key","setValue","tableData","setTableData","useState","headers","row","labelOf","ACTION_TYPES","handleEdit","_","index","handleDelete","actions","jsx","FontAwesomeIcons","data","newData","field","updatedField","type","setType","validationSchema","Yup","value","isConditionReq","control","handleSubmit","watch","reset","resetField","errors","isSubmitting","useForm","yupResolver","handleClose","onSubmit","showToast","submitTypeConfig","Drawer","jsxs","Box","Typography","IconButton","SectionHeading","Controller","FormControlLabel","CustomSwitch","FieldLabel","CustomTextField","ImplicitParams","CustomTextArea","Divider","Suspense","EmptyState","CustomizedTable","Button","PropTypes"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S as j, y as H, s as Y, l as z, d as F, E as O, D as B, A as Q, j as _, M as X } from "./ImmunizationConfigurationBase-aUtx0JEe.js";
|
|
2
2
|
import { n as J, o as k } from "./format-UOyOu75i-D0GyylyQ.js";
|
|
3
|
-
import { X as K, W as Z, Y as ee, Z as te, Q as ae, q as ne } from "./PmGuard-
|
|
3
|
+
import { X as K, W as Z, Y as ee, Z as te, Q as ae, q as ne } from "./PmGuard-BZE-y4In-D_pUm5MP.js";
|
|
4
4
|
import { useState as $ } from "react";
|
|
5
5
|
import { jsxs as n, jsx as e } from "react/jsx-runtime";
|
|
6
6
|
import p from "prop-types";
|
|
7
|
-
import { Box as c, LinearProgress as re, Grid as
|
|
8
|
-
import { useTheme as
|
|
7
|
+
import { Box as c, LinearProgress as re, Grid as S, Grow as ie, Card as R, CardContent as C, Stack as m, Typography as i, Chip as y, Skeleton as x } from "@mui/material";
|
|
8
|
+
import { useTheme as W, alpha as r } from "@mui/material/styles";
|
|
9
9
|
import { useNavigate as oe } from "react-router-dom";
|
|
10
10
|
import le from "@mui/icons-material/ArrowForwardRounded";
|
|
11
11
|
var ce = {
|
|
@@ -22,7 +22,7 @@ var ce = {
|
|
|
22
22
|
TRANSFER_OUT: "default",
|
|
23
23
|
TRANSFER_IN: "default"
|
|
24
24
|
};
|
|
25
|
-
function
|
|
25
|
+
function A({ label: a, value: o, loading: h }) {
|
|
26
26
|
return /* @__PURE__ */ n(c, { children: [/* @__PURE__ */ e(i, {
|
|
27
27
|
variant: "caption",
|
|
28
28
|
color: "text.secondary",
|
|
@@ -31,7 +31,7 @@ function W({ label: a, value: o, loading: h }) {
|
|
|
31
31
|
letterSpacing: 0.5
|
|
32
32
|
},
|
|
33
33
|
children: a.toUpperCase()
|
|
34
|
-
}), h ? /* @__PURE__ */ e(
|
|
34
|
+
}), h ? /* @__PURE__ */ e(x, {
|
|
35
35
|
width: 48,
|
|
36
36
|
height: 32
|
|
37
37
|
}) : /* @__PURE__ */ e(i, {
|
|
@@ -45,13 +45,13 @@ function W({ label: a, value: o, loading: h }) {
|
|
|
45
45
|
children: o
|
|
46
46
|
})] });
|
|
47
47
|
}
|
|
48
|
-
|
|
48
|
+
A.propTypes = {
|
|
49
49
|
label: p.string,
|
|
50
50
|
value: p.node,
|
|
51
51
|
loading: p.bool
|
|
52
52
|
};
|
|
53
|
-
function
|
|
54
|
-
let
|
|
53
|
+
function N({ workspace: a, metrics: o, loading: h, onItemClick: g }) {
|
|
54
|
+
let b = W(), f = a.icon;
|
|
55
55
|
return /* @__PURE__ */ e(R, {
|
|
56
56
|
sx: {
|
|
57
57
|
borderRadius: 1.5,
|
|
@@ -59,7 +59,7 @@ function T({ workspace: a, metrics: o, loading: h, onItemClick: g }) {
|
|
|
59
59
|
position: "relative",
|
|
60
60
|
overflow: "hidden",
|
|
61
61
|
border: `1px solid ${r(a.accent, 0.18)}`,
|
|
62
|
-
background: `linear-gradient(180deg, ${r(a.accent, 0.06)} 0%, ${r(
|
|
62
|
+
background: `linear-gradient(180deg, ${r(a.accent, 0.06)} 0%, ${r(b.palette.background.paper, 1)} 35%)`,
|
|
63
63
|
boxShadow: `0 16px 36px ${r(a.accent, 0.08)}`,
|
|
64
64
|
transition: "transform 240ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 240ms",
|
|
65
65
|
"&:hover": {
|
|
@@ -76,7 +76,7 @@ function T({ workspace: a, metrics: o, loading: h, onItemClick: g }) {
|
|
|
76
76
|
background: `linear-gradient(90deg, ${a.accent} 0%, ${a.accentDark} 100%)`
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
|
-
children: /* @__PURE__ */ n(
|
|
79
|
+
children: /* @__PURE__ */ n(C, {
|
|
80
80
|
sx: {
|
|
81
81
|
pt: 3,
|
|
82
82
|
display: "flex",
|
|
@@ -137,7 +137,7 @@ function T({ workspace: a, metrics: o, loading: h, onItemClick: g }) {
|
|
|
137
137
|
direction: "row",
|
|
138
138
|
spacing: 3,
|
|
139
139
|
sx: { mb: 2.5 },
|
|
140
|
-
children: o.map((s) => /* @__PURE__ */ e(
|
|
140
|
+
children: o.map((s) => /* @__PURE__ */ e(A, {
|
|
141
141
|
label: s.label,
|
|
142
142
|
value: s.value,
|
|
143
143
|
loading: h
|
|
@@ -179,14 +179,14 @@ function T({ workspace: a, metrics: o, loading: h, onItemClick: g }) {
|
|
|
179
179
|
})
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
|
-
|
|
182
|
+
N.propTypes = {
|
|
183
183
|
workspace: p.object.isRequired,
|
|
184
184
|
metrics: p.array,
|
|
185
185
|
loading: p.bool,
|
|
186
186
|
onItemClick: p.func.isRequired
|
|
187
187
|
};
|
|
188
188
|
function ve() {
|
|
189
|
-
let a = oe(), o =
|
|
189
|
+
let a = oe(), o = W(), h = j(), g = K(), b = H(h == null ? void 0 : h.currencyCode), f = Z(g, h), s = g.has("view.manage.productManagement.ledger"), [l, w] = $(!0), [d, T] = $({
|
|
190
190
|
categories: 0,
|
|
191
191
|
brands: 0,
|
|
192
192
|
products: 0,
|
|
@@ -200,16 +200,16 @@ function ve() {
|
|
|
200
200
|
w(!0);
|
|
201
201
|
try {
|
|
202
202
|
let t = (G, U) => g.has(G) ? U().catch(() => []) : Promise.resolve([]), [u, v, E, D, L, P, q, V] = await Promise.all([
|
|
203
|
-
t("view.manage.productManagement.category", () =>
|
|
204
|
-
t("view.manage.productManagement.brand", () =>
|
|
205
|
-
t("view.manage.productManagement.product", () =>
|
|
206
|
-
t("view.manage.productManagement.inventory", () =>
|
|
203
|
+
t("view.manage.productManagement.category", () => Y()),
|
|
204
|
+
t("view.manage.productManagement.brand", () => z()),
|
|
205
|
+
t("view.manage.productManagement.product", () => F()),
|
|
206
|
+
t("view.manage.productManagement.inventory", () => O()),
|
|
207
207
|
t("view.manage.productManagement.vial", () => B()),
|
|
208
208
|
t("view.manage.productManagement.sale", () => Q(0, 100)),
|
|
209
209
|
t("view.manage.productManagement.payment", () => _(0, 100)),
|
|
210
210
|
t("view.manage.productManagement.ledger", () => X(0, 8))
|
|
211
211
|
]);
|
|
212
|
-
|
|
212
|
+
T({
|
|
213
213
|
categories: u.length,
|
|
214
214
|
brands: v.length,
|
|
215
215
|
products: E.length,
|
|
@@ -275,10 +275,10 @@ function ve() {
|
|
|
275
275
|
mb: 2,
|
|
276
276
|
borderRadius: 1
|
|
277
277
|
} }) : null,
|
|
278
|
-
/* @__PURE__ */ e(
|
|
278
|
+
/* @__PURE__ */ e(S, {
|
|
279
279
|
container: !0,
|
|
280
280
|
spacing: 2.5,
|
|
281
|
-
children: f.map((t, u) => /* @__PURE__ */ e(
|
|
281
|
+
children: f.map((t, u) => /* @__PURE__ */ e(S, {
|
|
282
282
|
item: !0,
|
|
283
283
|
xs: 12,
|
|
284
284
|
md: 4,
|
|
@@ -288,7 +288,7 @@ function ve() {
|
|
|
288
288
|
style: { transitionDelay: `${u * 80}ms` },
|
|
289
289
|
children: /* @__PURE__ */ e(c, {
|
|
290
290
|
sx: { height: "100%" },
|
|
291
|
-
children: /* @__PURE__ */ e(
|
|
291
|
+
children: /* @__PURE__ */ e(N, {
|
|
292
292
|
workspace: t,
|
|
293
293
|
metrics: M[t.id],
|
|
294
294
|
loading: l,
|
|
@@ -304,7 +304,7 @@ function ve() {
|
|
|
304
304
|
mt: 3,
|
|
305
305
|
boxShadow: `0 12px 32px ${r(o.palette.common.black, 0.05)}`
|
|
306
306
|
},
|
|
307
|
-
children: /* @__PURE__ */ n(
|
|
307
|
+
children: /* @__PURE__ */ n(C, { children: [/* @__PURE__ */ n(m, {
|
|
308
308
|
direction: "row",
|
|
309
309
|
justifyContent: "space-between",
|
|
310
310
|
alignItems: "center",
|
|
@@ -357,7 +357,7 @@ function ve() {
|
|
|
357
357
|
alignItems: "center",
|
|
358
358
|
spacing: 1.5,
|
|
359
359
|
sx: { minWidth: 0 },
|
|
360
|
-
children: [l ? /* @__PURE__ */ e(
|
|
360
|
+
children: [l ? /* @__PURE__ */ e(x, {
|
|
361
361
|
variant: "rounded",
|
|
362
362
|
width: 92,
|
|
363
363
|
height: 22
|
|
@@ -372,7 +372,7 @@ function ve() {
|
|
|
372
372
|
}
|
|
373
373
|
}), /* @__PURE__ */ n(c, {
|
|
374
374
|
sx: { minWidth: 0 },
|
|
375
|
-
children: [l ? /* @__PURE__ */ e(
|
|
375
|
+
children: [l ? /* @__PURE__ */ e(x, {
|
|
376
376
|
width: 220,
|
|
377
377
|
height: 20
|
|
378
378
|
}) : /* @__PURE__ */ n(i, {
|
|
@@ -392,7 +392,7 @@ function ve() {
|
|
|
392
392
|
},
|
|
393
393
|
children: ["lot ", t.lotNumber]
|
|
394
394
|
}) : null]
|
|
395
|
-
}), l ? /* @__PURE__ */ e(
|
|
395
|
+
}), l ? /* @__PURE__ */ e(x, {
|
|
396
396
|
width: 120,
|
|
397
397
|
height: 16
|
|
398
398
|
}) : /* @__PURE__ */ e(i, {
|
|
@@ -406,7 +406,7 @@ function ve() {
|
|
|
406
406
|
textAlign: "right",
|
|
407
407
|
whiteSpace: "nowrap"
|
|
408
408
|
},
|
|
409
|
-
children: l ? /* @__PURE__ */ e(
|
|
409
|
+
children: l ? /* @__PURE__ */ e(x, {
|
|
410
410
|
width: 70,
|
|
411
411
|
height: 20
|
|
412
412
|
}) : /* @__PURE__ */ n(i, {
|
|
@@ -418,7 +418,7 @@ function ve() {
|
|
|
418
418
|
children: [
|
|
419
419
|
t.quantity == null ? "" : `qty ${t.quantity}`,
|
|
420
420
|
t.volumeMl == null ? "" : `${t.quantity == null ? "" : " · "}${k(t.volumeMl)} ml`,
|
|
421
|
-
t.monetaryAmount == null ? "" : `${t.quantity != null || t.volumeMl != null ? " · " : ""}${
|
|
421
|
+
t.monetaryAmount == null ? "" : `${t.quantity != null || t.volumeMl != null ? " · " : ""}${b}${k(t.monetaryAmount)}`
|
|
422
422
|
]
|
|
423
423
|
})
|
|
424
424
|
})]
|
|
@@ -432,4 +432,4 @@ function ve() {
|
|
|
432
432
|
export {
|
|
433
433
|
ve as default
|
|
434
434
|
};
|
|
435
|
-
//# sourceMappingURL=DashboardPage-
|
|
435
|
+
//# sourceMappingURL=DashboardPage-asr2XDRu-uOOlX9Vq.js.map
|