@argusoft/medplat-core 1.0.30 → 1.0.32
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-DBjTQA1-.js} +395 -390
- package/dist/AccessRights-DBjTQA1-.js.map +1 -0
- package/dist/{AddFeatures-D1sU8RjY.js → AddFeatures-COj4ZTIM.js} +2 -2
- package/dist/{AddFeatures-D1sU8RjY.js.map → AddFeatures-COj4ZTIM.js.map} +1 -1
- package/dist/AddMenuConfiguration-Creeib5X.js +11223 -0
- package/dist/AddMenuConfiguration-Creeib5X.js.map +1 -0
- package/dist/AddMenuConfiguration.css +1 -1
- package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js → BrandsPage-CdcAvaml-ZtVTX6vX.js} +43 -43
- package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js.map → BrandsPage-CdcAvaml-ZtVTX6vX.js.map} +1 -1
- package/dist/{CategoriesPage-BsS5IQh3-B03lWRY5.js → CategoriesPage-BprQEYJw-CclreTv1.js} +109 -102
- package/dist/CategoriesPage-BprQEYJw-CclreTv1.js.map +1 -0
- package/dist/{ChangePasswordModalCore-BPsJquTS.js → ChangePasswordModalCore-DZGOkbRY.js} +3 -3
- package/dist/{ChangePasswordModalCore-BPsJquTS.js.map → ChangePasswordModalCore-DZGOkbRY.js.map} +1 -1
- package/dist/ConditionConfig-Bpm6OoV5.js +408 -0
- package/dist/ConditionConfig-Bpm6OoV5.js.map +1 -0
- package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js → DashboardPage-CTiGSx71-CsYohJ5e.js} +32 -32
- package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js.map → DashboardPage-CTiGSx71-CsYohJ5e.js.map} +1 -1
- package/dist/EntityManagement-BGwJGl9k.js +62 -0
- package/dist/EntityManagement-BGwJGl9k.js.map +1 -0
- package/dist/EventConfig-BY2cgGyx.js +27 -0
- package/dist/{EventConfig-BmLemzX3.js.map → EventConfig-BY2cgGyx.js.map} +1 -1
- package/dist/EventConfigurations-B-z7xHh_.js +544 -0
- package/dist/EventConfigurations-B-z7xHh_.js.map +1 -0
- package/dist/EventConfigurations.css +1 -1
- package/dist/EventsExceptionModal-DafomIv6.js +188 -0
- package/dist/EventsExceptionModal-DafomIv6.js.map +1 -0
- package/dist/EventsUi-Dl_yckSA.js +263 -0
- package/dist/EventsUi-Dl_yckSA.js.map +1 -0
- package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js +112 -0
- package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js.map +1 -0
- package/dist/{FeatureMenu-DYJmDt7q.js → FeatureMenu-Kc73yPHH.js} +9 -5
- package/dist/FeatureMenu-Kc73yPHH.js.map +1 -0
- package/dist/{FhirServerList-DuTwnngN.js → FhirServerList-CrIHMAxz.js} +16 -16
- package/dist/{FhirServerList-DuTwnngN.js.map → FhirServerList-CrIHMAxz.js.map} +1 -1
- package/dist/{FhirServerProfile-CUOwC6Wb.js → FhirServerProfile-D3aYcpwY.js} +8 -8
- package/dist/{FhirServerProfile-CUOwC6Wb.js.map → FhirServerProfile-D3aYcpwY.js.map} +1 -1
- package/dist/{FhirServerWizard-DZI8Olku.js → FhirServerWizard-Db6Hm4bQ.js} +15 -15
- package/dist/{FhirServerWizard-DZI8Olku.js.map → FhirServerWizard-Db6Hm4bQ.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-lKsJZMak.js +8060 -0
- package/dist/ImmunizationConfigurationBase-lKsJZMak.js.map +1 -0
- package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js +1017 -0
- package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js.map +1 -0
- package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js +1344 -0
- package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js.map +1 -0
- package/dist/{ManageDynamicFeature-BU0I45dd.js → ManageDynamicFeature-CuyYfx_P.js} +104 -97
- package/dist/ManageDynamicFeature-CuyYfx_P.js.map +1 -0
- package/dist/ManageEventConfiguration-DqPbn3Oi.js +1216 -0
- package/dist/ManageEventConfiguration-DqPbn3Oi.js.map +1 -0
- package/dist/ManageEventConfiguration.css +1 -1
- package/dist/ManageRole-CyfpySt9.js +981 -0
- package/dist/ManageRole-CyfpySt9.js.map +1 -0
- package/dist/{ManageUser-DCFkUMV9.js → ManageUser-Dm0l833u.js} +286 -286
- package/dist/{ManageUser-DCFkUMV9.js.map → ManageUser-Dm0l833u.js.map} +1 -1
- package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js → MemberProfileCard-01d_jz3w-DYHtbgMX.js} +46 -46
- package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js.map → MemberProfileCard-01d_jz3w-DYHtbgMX.js.map} +1 -1
- package/dist/MobileAnalytics-C9oc2yAo.js +18399 -0
- package/dist/MobileAnalytics-C9oc2yAo.js.map +1 -0
- package/dist/MobileMenuManagement-BmzTPXy7.js +231 -0
- package/dist/MobileMenuManagement-BmzTPXy7.js.map +1 -0
- package/dist/MobileTypeEventConfigModal-DodU3beR.js +752 -0
- package/dist/MobileTypeEventConfigModal-DodU3beR.js.map +1 -0
- package/dist/{NewServerManagement-Cxe0dV0O.js → NewServerManagement-BdayO78D.js} +368 -352
- package/dist/NewServerManagement-BdayO78D.js.map +1 -0
- package/dist/OtherTypeEventConfigModal-D_9S50aI.js +1414 -0
- package/dist/OtherTypeEventConfigModal-D_9S50aI.js.map +1 -0
- package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js} +58 -58
- package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js.map} +1 -1
- package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js → PaymentsPage-CHieGNrn-BnYCtqHd.js} +37 -37
- package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js.map → PaymentsPage-CHieGNrn-BnYCtqHd.js.map} +1 -1
- package/dist/{PermissionsModal-CCYkcKlC.js → PermissionsModal-Dxbkkrqe.js} +18 -18
- package/dist/PermissionsModal-Dxbkkrqe.js.map +1 -0
- package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js} +2 -2
- package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js.map} +1 -1
- package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js +801 -0
- package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js.map +1 -0
- package/dist/{PickupsPage-Ctpghavs-CUp4uIZq.js → PickupsPage-BWblMlic-CWkgeBw0.js} +132 -132
- package/dist/PickupsPage-BWblMlic-CWkgeBw0.js.map +1 -0
- package/dist/PmGuard-BvUUbU80-BpYNaDzl.js +641 -0
- package/dist/PmGuard-BvUUbU80-BpYNaDzl.js.map +1 -0
- package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js +1523 -0
- package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js.map +1 -0
- package/dist/{ProductsPage-CupVmOD4-D45a_hf-.js → ProductsPage-BI22nPb4-CQBjnc-n.js} +44 -43
- package/dist/ProductsPage-BI22nPb4-CQBjnc-n.js.map +1 -0
- package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js +724 -0
- package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js.map +1 -0
- package/dist/{PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js → PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js} +428 -418
- package/dist/PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js.map +1 -0
- package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js} +65 -65
- package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js.map} +1 -1
- package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js → PurchasesPage-Djl1AqD_-DXeYFMrX.js} +55 -55
- package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js.map → PurchasesPage-Djl1AqD_-DXeYFMrX.js.map} +1 -1
- package/dist/{RoleManagement-s8iNx2Mu.js → RoleManagement-DVYufwy-.js} +3 -3
- package/dist/{RoleManagement-s8iNx2Mu.js.map → RoleManagement-DVYufwy-.js.map} +1 -1
- package/dist/Roles-BoNGJhtR.js +19 -0
- package/dist/Roles-BoNGJhtR.js.map +1 -0
- package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js → SaleCreatePage-DHBLmlBr-BlgjVsq6.js} +39 -39
- package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map → SaleCreatePage-DHBLmlBr-BlgjVsq6.js.map} +1 -1
- package/dist/{SalesPage-D18DCseD-BxktGDRQ.js → SalesPage-eF9Yr42z-BQ9FlXC3.js} +61 -61
- package/dist/{SalesPage-D18DCseD-BxktGDRQ.js.map → SalesPage-eF9Yr42z-BQ9FlXC3.js.map} +1 -1
- package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js +741 -0
- package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.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-CTEVuemZ-B4osG74N.js} +253 -223
- package/dist/StorageUnitsPage-CTEVuemZ-B4osG74N.js.map +1 -0
- package/dist/{SubMenu-eEDhZUvh.js → SubMenu-OO2zhKiu.js} +5 -3
- package/dist/SubMenu-OO2zhKiu.js.map +1 -0
- package/dist/{TableDetails-BtafRxXb.js → TableDetails-Cc40dEUs.js} +272 -267
- package/dist/TableDetails-Cc40dEUs.js.map +1 -0
- package/dist/{TableList-Dpo6dO7S.js → TableList-B5tX4wII.js} +316 -312
- package/dist/TableList-B5tX4wII.js.map +1 -0
- package/dist/{TransactionsPage-DrH53pVS-BkhIGB6C.js → TransactionsPage-Zuu7sjID-B-ACzvd1.js} +195 -180
- package/dist/TransactionsPage-Zuu7sjID-B-ACzvd1.js.map +1 -0
- package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js +635 -0
- package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js.map +1 -0
- package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js +600 -0
- package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js.map +1 -0
- package/dist/TypeConfiguration-EaFiOzRE.js +114 -0
- package/dist/TypeConfiguration-EaFiOzRE.js.map +1 -0
- package/dist/UserList-Cf5B-o_1.js +1904 -0
- package/dist/UserList-Cf5B-o_1.js.map +1 -0
- package/dist/Users-MC7txo1V.js +43 -0
- package/dist/{Users-Bpc4Sazd.js.map → Users-MC7txo1V.js.map} +1 -1
- package/dist/VaccineEducation-T_UE57Ef.js +231 -0
- package/dist/VaccineEducation-T_UE57Ef.js.map +1 -0
- package/dist/VaccineEducation.css +1 -0
- package/dist/VaccineEducationConfigurator-CWc20_rv.js +50948 -0
- package/dist/VaccineEducationConfigurator-CWc20_rv.js.map +1 -0
- package/dist/VaccineEducationConfigurator.css +4 -0
- package/dist/VaccineEducationList-Ok7_5EFb.js +334 -0
- package/dist/VaccineEducationList-Ok7_5EFb.js.map +1 -0
- package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js +457 -0
- package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js.map +1 -0
- package/dist/{constants-ClZJY2x1-MkSWn6TZ.js → constants-BTpJFQe_-CYPZIqQF.js} +166 -56
- package/dist/constants-BTpJFQe_-CYPZIqQF.js.map +1 -0
- package/dist/dashboardLayoutUtils--xUnoKPa.js +615 -0
- package/dist/dashboardLayoutUtils--xUnoKPa.js.map +1 -0
- package/dist/index-mfoqII2U.js +524 -0
- package/dist/index-mfoqII2U.js.map +1 -0
- package/dist/{index-D9YNFPn9.js → index-o8Pyt1Bt.js} +445 -439
- package/dist/index-o8Pyt1Bt.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1 -1
- package/dist/index.lib-BySa9-Z-.js +936 -0
- package/dist/index.lib-BySa9-Z-.js.map +1 -0
- package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js +43 -0
- package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js.map +1 -0
- package/package.json +5 -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/EntityManagement-CPQL6qBj.js +0 -50
- package/dist/EntityManagement-CPQL6qBj.js.map +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/FacilityPicker-BiZeupmP-CyPHmj6b.js +0 -79
- package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.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 +0 -7639
- package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +0 -1
- package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js +0 -665
- package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js.map +0 -1
- package/dist/ManageDynamicFeature-BU0I45dd.js.map +0 -1
- package/dist/ManageEventConfiguration-CoYcpjR9.js +0 -1085
- package/dist/ManageEventConfiguration-CoYcpjR9.js.map +0 -1
- package/dist/ManageRole-CNZBRKGU.js +0 -776
- package/dist/ManageRole-CNZBRKGU.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/NewServerManagement-Cxe0dV0O.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-CM6VkdmY.js +0 -2046
- package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +0 -1
- package/dist/PermissionsModal-CCYkcKlC.js.map +0 -1
- package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js +0 -783
- package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map +0 -1
- package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +0 -1
- package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js +0 -599
- package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js.map +0 -1
- package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js +0 -1302
- 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 +0 -648
- package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +0 -1
- package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +0 -1
- package/dist/Roles-BIyiic67.js +0 -14
- package/dist/Roles-BIyiic67.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/TableDetails-BtafRxXb.js.map +0 -1
- package/dist/TableList-Dpo6dO7S.js.map +0 -1
- package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js.map +0 -1
- package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js +0 -315
- package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map +0 -1
- package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js +0 -476
- 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/UserList-DgPxsnj2.js +0 -1129
- package/dist/UserList-DgPxsnj2.js.map +0 -1
- package/dist/Users-Bpc4Sazd.js +0 -41
- package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js +0 -321
- package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js.map +0 -1
- package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +0 -1
- package/dist/dashboardLayoutUtils-D1xCAxp3.js +0 -405
- package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
- package/dist/index-D9YNFPn9.js.map +0 -1
- package/dist/index.lib-Dn8PMkeD.js +0 -862
- package/dist/index.lib-Dn8PMkeD.js.map +0 -1
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { jsx as e, jsxs as f } from "react/jsx-runtime";
|
|
2
|
+
import { api as B } from "@/common/interceptors/AxiosInterceptor";
|
|
3
|
+
import { showToast as J } from "@/common/toaster/toaster";
|
|
4
|
+
import { Box as o, Card as q, Typography as g, Paper as E, InputAdornment as S, IconButton as G, Button as w } from "@mui/material";
|
|
5
|
+
import $ from "@mui/material/Grid2";
|
|
6
|
+
import u from "prop-types";
|
|
7
|
+
import { useState as h, useEffect as L, useMemo as U } from "react";
|
|
8
|
+
import { useNavigate as H } from "react-router";
|
|
9
|
+
import p from "@/common/fontAwesomeIcons/FontAwesomeIcons";
|
|
10
|
+
import { useTranslateProvider as O } from "@/common/languageTranslator/TranslationContext";
|
|
11
|
+
import X from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
|
|
12
|
+
import Y from "@/views/custom-components/DebouncedSearchInput";
|
|
13
|
+
import { c as K } from "./dashboardLayoutUtils--xUnoKPa.js";
|
|
14
|
+
import { getAssignedFeatures as Q } from "@/utils/feature";
|
|
15
|
+
import T from "@/common/services/util/GeneralUtil";
|
|
16
|
+
const V = "/mobilemenu/v2", Z = {
|
|
17
|
+
getMobileMenuList: () => B.get(V + "/list")
|
|
18
|
+
}, y = ({ icon: s, title: x, body: a, action: c, dataTestId: m }) => /* @__PURE__ */ f(
|
|
19
|
+
o,
|
|
20
|
+
{
|
|
21
|
+
"data-testid": m,
|
|
22
|
+
sx: {
|
|
23
|
+
display: "flex",
|
|
24
|
+
flexDirection: "column",
|
|
25
|
+
alignItems: "center",
|
|
26
|
+
justifyContent: "center",
|
|
27
|
+
textAlign: "center",
|
|
28
|
+
gap: 1,
|
|
29
|
+
px: 3,
|
|
30
|
+
py: 8
|
|
31
|
+
},
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ e(o, { sx: { color: "text.disabled" }, children: /* @__PURE__ */ e(p, { iconName: s, size: "2x" }) }),
|
|
34
|
+
/* @__PURE__ */ e(g, { variant: "subtitle1", sx: { fontWeight: 700 }, children: x }),
|
|
35
|
+
a && /* @__PURE__ */ e(g, { variant: "body2", color: "text.secondary", sx: { maxWidth: 440 }, children: a }),
|
|
36
|
+
c
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
y.propTypes = {
|
|
41
|
+
icon: u.string,
|
|
42
|
+
title: u.node,
|
|
43
|
+
body: u.node,
|
|
44
|
+
action: u.node,
|
|
45
|
+
dataTestId: u.string
|
|
46
|
+
};
|
|
47
|
+
function pe() {
|
|
48
|
+
const [s, x] = h([]), [a, c] = h(""), [m, M] = h(!0), [i, k] = h(null), [P, C] = h(!0), I = H(), A = T.hasCheckRights(i == null ? void 0 : i["update.admin.mobileMenuManagement"]), { translate: n } = O(), R = [
|
|
49
|
+
{ field: "Sr. No.", label: "#", align: "left" },
|
|
50
|
+
{ field: "name", label: n("Role Name"), align: "left", minWidth: 220, isBold: !0 },
|
|
51
|
+
{ field: "features", label: n("Features"), align: "left", minWidth: 340 },
|
|
52
|
+
{ field: "Actions", label: n("Actions"), align: "left", minWidth: 110 }
|
|
53
|
+
], z = (t) => {
|
|
54
|
+
const r = `addMenuConfiguration?${new URLSearchParams({ id: t.id }).toString()}`;
|
|
55
|
+
I(r, { state: { mobileMenuList: t, roleId: t.roleId } });
|
|
56
|
+
}, W = (t) => [
|
|
57
|
+
{
|
|
58
|
+
icon: /* @__PURE__ */ e(p, { iconName: "faPen" }),
|
|
59
|
+
ariaLabel: `${n("Edit menu configuration for")} ${(t == null ? void 0 : t.name) ?? ""}`,
|
|
60
|
+
onClick: z,
|
|
61
|
+
dataTestId: "mobilemenumanagement-edit-action"
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
L(() => {
|
|
65
|
+
(async () => (C(!0), await D(), C(!1)))();
|
|
66
|
+
}, []), L(() => {
|
|
67
|
+
(async () => {
|
|
68
|
+
try {
|
|
69
|
+
const { data: t } = await Q("techo.admin.mobileMenuManagement");
|
|
70
|
+
k(JSON.parse(t));
|
|
71
|
+
} catch (t) {
|
|
72
|
+
console.error(t);
|
|
73
|
+
}
|
|
74
|
+
})();
|
|
75
|
+
}, []);
|
|
76
|
+
const D = async () => {
|
|
77
|
+
try {
|
|
78
|
+
M(!0);
|
|
79
|
+
const r = ((await Z.getMobileMenuList()).data || []).map((l) => {
|
|
80
|
+
let b = {};
|
|
81
|
+
try {
|
|
82
|
+
b = typeof l.configJson == "string" ? JSON.parse(l.configJson) : l.configJson || {};
|
|
83
|
+
} catch {
|
|
84
|
+
b = {};
|
|
85
|
+
}
|
|
86
|
+
const F = K(b), j = [...new Set(F)].join(", ");
|
|
87
|
+
return {
|
|
88
|
+
id: l.id,
|
|
89
|
+
roleId: l.roleId,
|
|
90
|
+
name: l.roleName,
|
|
91
|
+
features: j,
|
|
92
|
+
configJson: b
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
x(r);
|
|
96
|
+
} catch (t) {
|
|
97
|
+
J({
|
|
98
|
+
message: n("Could not load the mobile menu configurations. Try again in a moment."),
|
|
99
|
+
type: "error"
|
|
100
|
+
}), console.error(t);
|
|
101
|
+
} finally {
|
|
102
|
+
M(!1);
|
|
103
|
+
}
|
|
104
|
+
}, v = U(() => {
|
|
105
|
+
const t = a.trim().toLowerCase();
|
|
106
|
+
return t ? s.filter((d) => {
|
|
107
|
+
var r;
|
|
108
|
+
return (r = d.name) == null ? void 0 : r.toLowerCase().includes(t);
|
|
109
|
+
}) : s;
|
|
110
|
+
}, [s, a]), N = (t, d = "contained") => /* @__PURE__ */ e(
|
|
111
|
+
w,
|
|
112
|
+
{
|
|
113
|
+
size: "small",
|
|
114
|
+
variant: d,
|
|
115
|
+
onClick: () => I("addMenuConfiguration"),
|
|
116
|
+
startIcon: /* @__PURE__ */ e(p, { iconName: "faPlus" }),
|
|
117
|
+
"data-testid": t,
|
|
118
|
+
children: n("Add configuration")
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
return !P && i !== null && !T.hasCheckRights(i == null ? void 0 : i["view.admin.mobileMenuManagement"]) ? /* @__PURE__ */ e(o, { sx: { display: "flex", justifyContent: "center", alignItems: "center", width: "100%", height: "80vh" }, children: /* @__PURE__ */ e(q, { sx: { height: 320, width: 600, display: "flex", justifyContent: "center", alignItems: "center" }, children: /* @__PURE__ */ e(g, { variant: "h5", className: "text-customBlue", children: "You dont have permission to view Mobile Menu Management" }) }) }) : /* @__PURE__ */ e($, { "data-testid": "mobilemenumanagement-container", children: /* @__PURE__ */ e(
|
|
122
|
+
E,
|
|
123
|
+
{
|
|
124
|
+
elevation: 0,
|
|
125
|
+
sx: {
|
|
126
|
+
p: { xs: 2.5, md: 3 },
|
|
127
|
+
mt: 2,
|
|
128
|
+
mb: 3,
|
|
129
|
+
border: "1px solid",
|
|
130
|
+
borderColor: "divider",
|
|
131
|
+
borderRadius: (t) => `${t.shape.cardRadius}px`,
|
|
132
|
+
backgroundColor: "background.paper"
|
|
133
|
+
},
|
|
134
|
+
children: /* @__PURE__ */ f(o, { sx: { display: "flex", flexDirection: "column", gap: 3 }, children: [
|
|
135
|
+
/* @__PURE__ */ f(
|
|
136
|
+
o,
|
|
137
|
+
{
|
|
138
|
+
sx: {
|
|
139
|
+
display: "flex",
|
|
140
|
+
justifyContent: "space-between",
|
|
141
|
+
alignItems: "flex-start",
|
|
142
|
+
flexWrap: "wrap",
|
|
143
|
+
gap: 2
|
|
144
|
+
},
|
|
145
|
+
children: [
|
|
146
|
+
/* @__PURE__ */ f(o, { sx: { minWidth: { xs: "100%", lg: "40%" } }, children: [
|
|
147
|
+
/* @__PURE__ */ e(
|
|
148
|
+
g,
|
|
149
|
+
{
|
|
150
|
+
variant: "h5",
|
|
151
|
+
component: "h1",
|
|
152
|
+
sx: { fontWeight: 800, color: "text.primary", mb: 0.5 },
|
|
153
|
+
children: n("Mobile Menu Management")
|
|
154
|
+
}
|
|
155
|
+
),
|
|
156
|
+
/* @__PURE__ */ e(g, { variant: "body2", color: "text.secondary", children: n(
|
|
157
|
+
"Decide what each role sees on the mobile home screen: menu blocks, dashboards and shortcuts."
|
|
158
|
+
) })
|
|
159
|
+
] }),
|
|
160
|
+
/* @__PURE__ */ f(o, { sx: { display: "flex", alignItems: "center", gap: 1.5, flexWrap: "wrap" }, children: [
|
|
161
|
+
/* @__PURE__ */ e(
|
|
162
|
+
Y,
|
|
163
|
+
{
|
|
164
|
+
value: a,
|
|
165
|
+
onChange: c,
|
|
166
|
+
placeholder: n("Search Role"),
|
|
167
|
+
autoFocus: !1,
|
|
168
|
+
size: "small",
|
|
169
|
+
"data-testid": "mobilemenumanagement-search-textfield",
|
|
170
|
+
sx: { width: { xs: "100%", sm: 240 } },
|
|
171
|
+
slotProps: { htmlInput: { "aria-label": n("Search Role") } },
|
|
172
|
+
inputProps: {
|
|
173
|
+
startAdornment: /* @__PURE__ */ e(S, { position: "start", children: /* @__PURE__ */ e(o, { sx: { color: "text.disabled", display: "flex" }, children: /* @__PURE__ */ e(p, { iconName: "faMagnifyingGlass", size: "sm" }) }) }),
|
|
174
|
+
endAdornment: a ? /* @__PURE__ */ e(S, { position: "end", children: /* @__PURE__ */ e(
|
|
175
|
+
G,
|
|
176
|
+
{
|
|
177
|
+
size: "small",
|
|
178
|
+
"aria-label": n("Clear search"),
|
|
179
|
+
onClick: () => c(""),
|
|
180
|
+
children: /* @__PURE__ */ e(p, { iconName: "faXmark", size: "sm" })
|
|
181
|
+
}
|
|
182
|
+
) }) : null
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
),
|
|
186
|
+
A && N("mobilemenumanagement-add-button")
|
|
187
|
+
] })
|
|
188
|
+
]
|
|
189
|
+
}
|
|
190
|
+
),
|
|
191
|
+
!m && v.length === 0 && a ? /* @__PURE__ */ e(
|
|
192
|
+
y,
|
|
193
|
+
{
|
|
194
|
+
icon: "faMagnifyingGlass",
|
|
195
|
+
title: n("No roles match your search"),
|
|
196
|
+
body: n("Search matches the role name. Check the spelling, or try a shorter term."),
|
|
197
|
+
action: /* @__PURE__ */ e(w, { variant: "text", size: "small", onClick: () => c(""), children: n("Clear search") }),
|
|
198
|
+
dataTestId: "mobilemenumanagement-no-results"
|
|
199
|
+
}
|
|
200
|
+
) : !m && s.length === 0 ? /* @__PURE__ */ e(
|
|
201
|
+
y,
|
|
202
|
+
{
|
|
203
|
+
icon: "faMobileScreenButton",
|
|
204
|
+
title: n("No mobile menus configured yet"),
|
|
205
|
+
body: n(
|
|
206
|
+
"Add a configuration to choose which blocks a role sees when it opens the mobile app."
|
|
207
|
+
),
|
|
208
|
+
action: N("mobilemenumanagement-empty-add-button", "text"),
|
|
209
|
+
dataTestId: "mobilemenumanagement-empty"
|
|
210
|
+
}
|
|
211
|
+
) : /* @__PURE__ */ e(
|
|
212
|
+
X,
|
|
213
|
+
{
|
|
214
|
+
columns: R,
|
|
215
|
+
tableData: v,
|
|
216
|
+
actions: W,
|
|
217
|
+
isLoading: m,
|
|
218
|
+
disableHtml: !0,
|
|
219
|
+
showFullContent: !1,
|
|
220
|
+
styleConfig: { tableStyle: { maxHeight: 65 }, cellStyle: { maxLines: 2 } },
|
|
221
|
+
dataTestId: "mobilemenumanagement-customizedtable"
|
|
222
|
+
}
|
|
223
|
+
)
|
|
224
|
+
] })
|
|
225
|
+
}
|
|
226
|
+
) });
|
|
227
|
+
}
|
|
228
|
+
export {
|
|
229
|
+
pe as default
|
|
230
|
+
};
|
|
231
|
+
//# sourceMappingURL=MobileMenuManagement-BmzTPXy7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileMenuManagement-BmzTPXy7.js","sources":["../src/services/MobileMenuService.js","../src/views/MobileMenuManagement/MobileMenuManagement.jsx"],"sourcesContent":["import { api } from '@/common/interceptors/AxiosInterceptor';\n\nconst basePath = '/mobilemenu/v2';\n\nexport const MobileMenuService = {\n getMobileMenuList: () => api.get(basePath + '/list'),\n};\n","/**\n * @author Sanya Srivastava <ssrivastava@argusoft.com>\n * @date 2025-03-24 (Monday)\n */\n\nimport { MobileMenuService } from '../../services/MobileMenuService';\nimport { showToast } from '@/common/toaster/toaster';\nimport {\n Box,\n Button,\n Card,\n IconButton,\n InputAdornment,\n Paper,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n TextField,\n Typography,\n} from '@mui/material';\nimport Grid from '@mui/material/Grid2';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { useNavigate } from 'react-router';\nimport FontAwesomeIcons from '@/common/fontAwesomeIcons/FontAwesomeIcons';\nimport { useTranslateProvider } from '@/common/languageTranslator/TranslationContext';\nimport CustomizedTable from '@/views/custom-components/CustomizedTable/CustomizedTableV2';\nimport DebouncedSearchInput from '@/views/custom-components/DebouncedSearchInput';\nimport { collectFeatureNamesFromLayout } from './dashboardLayoutUtils';\nimport { getAssignedFeatures } from '@/utils/feature';\nimport GeneralUtil from '@/common/services/util/GeneralUtil';\n\n/**\n * Centred message block used for every zero-content state on this screen, so\n * \"nothing configured yet\" and \"no matches\" read as one family rather than two\n * unrelated layouts.\n *\n * @param {Object} props\n * @param {string} props.icon - FontAwesome export name.\n * @returns {JSX.Element}\n */\nconst EmptyState = ({ icon, title, body, action, dataTestId }) => (\n <Box\n data-testid={dataTestId}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n gap: 1,\n px: 3,\n py: 8,\n }}\n >\n <Box sx={{ color: 'text.disabled' }}>\n <FontAwesomeIcons iconName={icon} size=\"2x\" />\n </Box>\n <Typography variant=\"subtitle1\" sx={{ fontWeight: 700 }}>\n {title}\n </Typography>\n {body && (\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ maxWidth: 440 }}>\n {body}\n </Typography>\n )}\n {action}\n </Box>\n);\n\nEmptyState.propTypes = {\n icon: PropTypes.string,\n title: PropTypes.node,\n body: PropTypes.node,\n action: PropTypes.node,\n dataTestId: PropTypes.string,\n};\n\nexport default function MobileMenuManagement() {\n const [mobileMenuList, setMobileMenuList] = useState([]);\n const [searchText, setSearchText] = useState('');\n const [isLoading, setIsLoading] = useState(true);\n const [rights, setRights] = useState(null);\n const [loading, setLoading] = useState(true);\n\n const navigate = useNavigate();\n const canUpdate = GeneralUtil.hasCheckRights(rights?.['update.admin.mobileMenuManagement']);\n const { translate } = useTranslateProvider();\n\n const columns = [\n { field: 'Sr. No.', label: '#', align: 'left' },\n { field: 'name', label: translate('Role Name'), align: 'left', minWidth: 220, isBold: true },\n { field: 'features', label: translate('Features'), align: 'left', minWidth: 340 },\n { field: 'Actions', label: translate('Actions'), align: 'left', minWidth: 110 },\n ];\n\n /** Row comes from the action's own argument, never from parent state. */\n const handleEdit = (row) => {\n const queryParams = new URLSearchParams({ id: row.id }).toString();\n const url = `addMenuConfiguration?${queryParams}`;\n navigate(url, { state: { mobileMenuList: row, roleId: row.roleId } });\n };\n\n const actions = (row) => [\n {\n icon: <FontAwesomeIcons iconName=\"faPen\" />,\n ariaLabel: `${translate('Edit menu configuration for')} ${row?.name ?? ''}`,\n onClick: handleEdit,\n dataTestId: 'mobilemenumanagement-edit-action',\n },\n ];\n\n useEffect(() => {\n (async () => {\n setLoading(true);\n await fetchMenuRelations();\n setLoading(false);\n })();\n }, []);\n\n useEffect(() => {\n (async () => {\n try {\n const { data } = await getAssignedFeatures('techo.admin.mobileMenuManagement');\n setRights(JSON.parse(data));\n } catch (error) {\n console.error(error);\n }\n })();\n }, []);\n\n const fetchMenuRelations = async () => {\n try {\n setIsLoading(true);\n const response = await MobileMenuService.getMobileMenuList();\n const menuData = response.data || [];\n const formattedData = menuData.map((item) => {\n let config = {};\n try {\n config = typeof item.configJson === 'string' ? JSON.parse(item.configJson) : item.configJson || {};\n } catch {\n config = {};\n }\n\n const allFeatureNames = collectFeatureNamesFromLayout(config);\n const uniqueNames = [...new Set(allFeatureNames)];\n const featureSummary = uniqueNames.join(', ');\n\n return {\n id: item.id,\n roleId: item.roleId,\n name: item.roleName,\n features: featureSummary,\n configJson: config,\n };\n });\n setMobileMenuList(formattedData);\n } catch (error) {\n showToast({\n message: translate('Could not load the mobile menu configurations. Try again in a moment.'),\n type: 'error',\n });\n console.error(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const filteredList = useMemo(() => {\n const term = searchText.trim().toLowerCase();\n if (!term) return mobileMenuList;\n return mobileMenuList.filter((item) => item.name?.toLowerCase().includes(term));\n }, [mobileMenuList, searchText]);\n\n const addConfigurationButton = (dataTestId, variant = 'contained') => (\n <Button\n size=\"small\"\n variant={variant}\n onClick={() => navigate('addMenuConfiguration')}\n startIcon={<FontAwesomeIcons iconName=\"faPlus\" />}\n data-testid={dataTestId}\n >\n {translate('Add configuration')}\n </Button>\n );\n\n if (!loading && rights !== null && !GeneralUtil.hasCheckRights(rights?.['view.admin.mobileMenuManagement'])) {\n return (\n <Box sx={{ display: 'flex', justifyContent: 'center', alignItems: 'center', width: '100%', height: '80vh' }}>\n <Card sx={{ height: 320, width: 600, display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\n <Typography variant=\"h5\" className=\"text-customBlue\">\n You dont have permission to view Mobile Menu Management\n </Typography>\n </Card>\n </Box>\n );\n }\n\n return (\n <Grid data-testid=\"mobilemenumanagement-container\">\n <Paper\n elevation={0}\n sx={{\n p: { xs: 2.5, md: 3 },\n mt: 2,\n mb: 3,\n border: '1px solid',\n borderColor: 'divider',\n borderRadius: (t) => `${t.shape.cardRadius}px`,\n backgroundColor: 'background.paper',\n }}\n >\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>\n {/* ── Header: title block (left) + actions (right) ── */}\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n flexWrap: 'wrap',\n gap: 2,\n }}\n >\n <Box sx={{ minWidth: { xs: '100%', lg: '40%' } }}>\n <Typography\n variant=\"h5\"\n component=\"h1\"\n sx={{ fontWeight: 800, color: 'text.primary', mb: 0.5 }}\n >\n {translate('Mobile Menu Management')}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {translate(\n 'Decide what each role sees on the mobile home screen: menu blocks, dashboards and shortcuts.',\n )}\n </Typography>\n </Box>\n\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1.5, flexWrap: 'wrap' }}>\n <DebouncedSearchInput\n value={searchText}\n onChange={setSearchText}\n placeholder={translate('Search Role')}\n autoFocus={false}\n size=\"small\"\n data-testid=\"mobilemenumanagement-search-textfield\"\n sx={{ width: { xs: '100%', sm: 240 } }}\n slotProps={{ htmlInput: { 'aria-label': translate('Search Role') } }}\n inputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Box sx={{ color: 'text.disabled', display: 'flex' }}>\n <FontAwesomeIcons iconName=\"faMagnifyingGlass\" size=\"sm\" />\n </Box>\n </InputAdornment>\n ),\n endAdornment: searchText ? (\n <InputAdornment position=\"end\">\n <IconButton\n size=\"small\"\n aria-label={translate('Clear search')}\n onClick={() => setSearchText('')}\n >\n <FontAwesomeIcons iconName=\"faXmark\" size=\"sm\" />\n </IconButton>\n </InputAdornment>\n ) : null,\n }}\n />\n {canUpdate && (addConfigurationButton('mobilemenumanagement-add-button'))}\n </Box>\n </Box>\n\n {!isLoading && filteredList.length === 0 && searchText ? (\n <EmptyState\n icon=\"faMagnifyingGlass\"\n title={translate('No roles match your search')}\n body={translate('Search matches the role name. Check the spelling, or try a shorter term.')}\n action={\n <Button variant=\"text\" size=\"small\" onClick={() => setSearchText('')}>\n {translate('Clear search')}\n </Button>\n }\n dataTestId=\"mobilemenumanagement-no-results\"\n />\n ) : !isLoading && mobileMenuList.length === 0 ? (\n <EmptyState\n icon=\"faMobileScreenButton\"\n title={translate('No mobile menus configured yet')}\n body={translate(\n 'Add a configuration to choose which blocks a role sees when it opens the mobile app.',\n )}\n action={addConfigurationButton('mobilemenumanagement-empty-add-button', 'text')}\n dataTestId=\"mobilemenumanagement-empty\"\n />\n ) : (\n <CustomizedTable\n columns={columns}\n tableData={filteredList}\n actions={actions}\n isLoading={isLoading}\n disableHtml\n showFullContent={false}\n styleConfig={{ tableStyle: { maxHeight: 65 }, cellStyle: { maxLines: 2 } }}\n dataTestId=\"mobilemenumanagement-customizedtable\"\n />\n )}\n </Box>\n </Paper>\n </Grid>\n );\n}\n"],"names":["basePath","MobileMenuService","api","EmptyState","icon","title","body","action","dataTestId","jsxs","Box","jsx","FontAwesomeIcons","Typography","PropTypes","MobileMenuManagement","mobileMenuList","setMobileMenuList","useState","searchText","setSearchText","isLoading","setIsLoading","rights","setRights","loading","setLoading","navigate","useNavigate","canUpdate","GeneralUtil","translate","useTranslateProvider","columns","handleEdit","row","url","actions","useEffect","fetchMenuRelations","data","getAssignedFeatures","error","formattedData","item","config","allFeatureNames","collectFeatureNamesFromLayout","featureSummary","showToast","filteredList","useMemo","term","_a","addConfigurationButton","variant","Button","Card","Grid","Paper","DebouncedSearchInput","InputAdornment","IconButton","CustomizedTable"],"mappings":"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"}
|