@argusoft/medplat-core 1.0.28 → 1.0.30
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 +1023 -0
- package/dist/AccessRights-xrday-L1.js.map +1 -0
- package/dist/AddEditQueryBuilder-D-iQiVIe.js +365 -0
- package/dist/AddEditQueryBuilder-D-iQiVIe.js.map +1 -0
- package/dist/{AddFeatures-C0Z29oSd.js → AddFeatures-D1sU8RjY.js} +2 -2
- package/dist/{AddFeatures-C0Z29oSd.js.map → AddFeatures-D1sU8RjY.js.map} +1 -1
- package/dist/AddLabelModal-Bq-wRqv9.js +631 -0
- package/dist/AddLabelModal-Bq-wRqv9.js.map +1 -0
- package/dist/AddMenuConfiguration-e5BVXhmw.js +8547 -0
- package/dist/AddMenuConfiguration-e5BVXhmw.js.map +1 -0
- package/dist/{AddRoleDrawer-CQdzQZLb.js → AddRoleDrawer-0gqAK8N0.js} +62 -63
- package/dist/AddRoleDrawer-0gqAK8N0.js.map +1 -0
- package/dist/AppModal-CCtrQ5Tr.js +394 -0
- package/dist/AppModal-CCtrQ5Tr.js.map +1 -0
- package/dist/BrandsPage-DmRW5bhm-Bk1szrjI.js +387 -0
- package/dist/BrandsPage-DmRW5bhm-Bk1szrjI.js.map +1 -0
- package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js +391 -0
- package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +1 -0
- package/dist/{ChangePasswordModalCore-CDxkeIIM.js → ChangePasswordModalCore-BPsJquTS.js} +1606 -1611
- package/dist/ChangePasswordModalCore-BPsJquTS.js.map +1 -0
- package/dist/{ConditionConfig-DSsgGEXS.js → ConditionConfig-Ddz9halE.js} +2 -2
- package/dist/ConditionConfig-Ddz9halE.js.map +1 -0
- package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js +435 -0
- package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js.map +1 -0
- package/dist/{EntityManagement-GaYsBTvf.js → EntityManagement-CPQL6qBj.js} +2 -2
- package/dist/{EntityManagement-GaYsBTvf.js.map → EntityManagement-CPQL6qBj.js.map} +1 -1
- package/dist/EventConfig-BmLemzX3.js +26 -0
- package/dist/EventConfig-BmLemzX3.js.map +1 -0
- package/dist/{EventConfigurations-kNtAj_WM.js → EventConfigurations-Bzh1qWXU.js} +31 -30
- package/dist/{EventConfigurations-kNtAj_WM.js.map → EventConfigurations-Bzh1qWXU.js.map} +1 -1
- package/dist/{EventsExceptionModal-D4Bf1ilS.js → EventsExceptionModal-B2SRrnB1.js} +2 -2
- package/dist/{EventsExceptionModal-D4Bf1ilS.js.map → EventsExceptionModal-B2SRrnB1.js.map} +1 -1
- package/dist/EventsSkeleton-BIcPks4T.js +61 -0
- package/dist/EventsSkeleton-BIcPks4T.js.map +1 -0
- package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js +79 -0
- package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js.map +1 -0
- package/dist/FeatureMenu-DYJmDt7q.js +521 -0
- package/dist/FeatureMenu-DYJmDt7q.js.map +1 -0
- package/dist/Features-Dne21RWu.js +14 -0
- package/dist/Features-Dne21RWu.js.map +1 -0
- package/dist/{FhirServerList-Dkq7Kbes.js → FhirServerList-DuTwnngN.js} +19 -19
- package/dist/{FhirServerList-Dkq7Kbes.js.map → FhirServerList-DuTwnngN.js.map} +1 -1
- package/dist/{FhirServerWizard-Db6Hm4bQ.js → FhirServerWizard-DZI8Olku.js} +15 -15
- package/dist/{FhirServerWizard-Db6Hm4bQ.js.map → FhirServerWizard-DZI8Olku.js.map} +1 -1
- package/dist/FlywayQuery-CQygj51V.js +179 -0
- package/dist/FlywayQuery-CQygj51V.js.map +1 -0
- package/dist/{ManageNotification-CaBAOhji.js → Google-DQxMfbaL.js} +1725 -2652
- package/dist/{ManageNotification-CaBAOhji.js.map → Google-DQxMfbaL.js.map} +1 -1
- package/dist/GrantPermissionModal-BDN66Atn.js +236 -0
- package/dist/GrantPermissionModal-BDN66Atn.js.map +1 -0
- package/dist/ImmunizationConfigurationBase-Di1KO3oW.js +7639 -0
- package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +1 -0
- package/dist/ImmunizationConfigurationBase.css +1 -1
- package/dist/ImmunizationConfigurationsList-TZcLDEci.js +369 -0
- package/dist/ImmunizationConfigurationsList-TZcLDEci.js.map +1 -0
- package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js +665 -0
- package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js.map +1 -0
- package/dist/LanguagesModal-B3NTebYT.js +352 -0
- package/dist/LanguagesModal-B3NTebYT.js.map +1 -0
- package/dist/ManageDynamicFeature-BU0I45dd.js +4475 -0
- package/dist/ManageDynamicFeature-BU0I45dd.js.map +1 -0
- package/dist/{ManageEventConfiguration-DV3I5POA.js → ManageEventConfiguration-CoYcpjR9.js} +465 -397
- package/dist/ManageEventConfiguration-CoYcpjR9.js.map +1 -0
- package/dist/ManageNotification-C5MhV77Q.js +934 -0
- package/dist/ManageNotification-C5MhV77Q.js.map +1 -0
- package/dist/{ManageRole-CGYfglpo.js → ManageRole-CNZBRKGU.js} +32 -30
- package/dist/ManageRole-CNZBRKGU.js.map +1 -0
- package/dist/ManageTranslation-vRiptUAP.js +833 -0
- package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
- package/dist/ManageTranslation.css +1 -1
- package/dist/{ManageUser-AY1EUDLI.js → ManageUser-DCFkUMV9.js} +1722 -1586
- package/dist/ManageUser-DCFkUMV9.js.map +1 -0
- package/dist/MemberProfileCard-BdUNgHRB-VywqQdFF.js +272 -0
- package/dist/MemberProfileCard-BdUNgHRB-VywqQdFF.js.map +1 -0
- package/dist/MobileAnalytics-pQoE8cG1.js +16888 -0
- package/dist/MobileAnalytics-pQoE8cG1.js.map +1 -0
- package/dist/MobileMenuManagement-Cf8IZlla.js +108 -0
- package/dist/MobileMenuManagement-Cf8IZlla.js.map +1 -0
- package/dist/{MobileTypeEventConfigModal-BxLympIO.js → MobileTypeEventConfigModal-BeveaX0C.js} +2 -2
- package/dist/MobileTypeEventConfigModal-BeveaX0C.js.map +1 -0
- package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
- package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
- package/dist/{NotificationList-C3Vb_jKU.js → NotificationList-DEyRZEuM.js} +109 -110
- package/dist/NotificationList-DEyRZEuM.js.map +1 -0
- package/dist/{OtherTypeEventConfigModal-BeG1GrUi.js → OtherTypeEventConfigModal-CM6VkdmY.js} +570 -478
- package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +1 -0
- package/dist/PaymentCreatePage-CIVe0P0p-25BQVpOX.js +482 -0
- package/dist/PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map +1 -0
- package/dist/PaymentsPage-BvPe5Q9F-D2gfziwW.js +157 -0
- package/dist/PaymentsPage-BvPe5Q9F-D2gfziwW.js.map +1 -0
- package/dist/PermissionsModal-CCYkcKlC.js +151 -0
- package/dist/PermissionsModal-CCYkcKlC.js.map +1 -0
- package/dist/PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js +119 -0
- package/dist/PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map +1 -0
- package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js +783 -0
- package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map +1 -0
- package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js +818 -0
- package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +1 -0
- package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js +599 -0
- package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js.map +1 -0
- package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js +1302 -0
- package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +1 -0
- package/dist/ProductsPage-CupVmOD4-D45a_hf-.js +252 -0
- package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +1 -0
- package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js +648 -0
- package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +1 -0
- package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js +1577 -0
- package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +1 -0
- package/dist/PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js +279 -0
- package/dist/PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map +1 -0
- package/dist/PurchasesPage-It1GHiXl-eH4IsF_U.js +293 -0
- package/dist/PurchasesPage-It1GHiXl-eH4IsF_U.js.map +1 -0
- package/dist/QueryBuilder-CXaBe6sr.js +478 -0
- package/dist/QueryBuilder-CXaBe6sr.js.map +1 -0
- package/dist/{RoleManagement-BPl2cE27.js → RoleManagement-s8iNx2Mu.js} +131 -142
- package/dist/RoleManagement-s8iNx2Mu.js.map +1 -0
- package/dist/Roles-BIyiic67.js +14 -0
- package/dist/Roles-BIyiic67.js.map +1 -0
- package/dist/SaleCreatePage-C9kFmTvm-B3Y0o4CX.js +544 -0
- package/dist/SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map +1 -0
- package/dist/SalesPage-D18DCseD-BxktGDRQ.js +315 -0
- package/dist/SalesPage-D18DCseD-BxktGDRQ.js.map +1 -0
- package/dist/{ServerSyncModal-D_oFpv3C.js → ServerSyncModal-92U3xtqI.js} +84 -85
- package/dist/ServerSyncModal-92U3xtqI.js.map +1 -0
- package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +747 -0
- package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js.map +1 -0
- package/dist/ShowFlywayQuery-D10Olk5Z.js +154 -0
- package/dist/ShowFlywayQuery-D10Olk5Z.js.map +1 -0
- package/dist/{ShowFlywayQuery-DVRCd384.js → ShowFlywayQuery-D1y_4A1u.js} +161 -121
- package/dist/ShowFlywayQuery-D1y_4A1u.js.map +1 -0
- package/dist/ShowQueryHistory-DRBKYDKk.js +313 -0
- package/dist/ShowQueryHistory-DRBKYDKk.js.map +1 -0
- package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js +721 -0
- package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +1 -0
- package/dist/SubMenu-eEDhZUvh.js +317 -0
- package/dist/SubMenu-eEDhZUvh.js.map +1 -0
- package/dist/{TableDetails-Cf_YfnY2.js → TableDetails-BtafRxXb.js} +1069 -831
- package/dist/TableDetails-BtafRxXb.js.map +1 -0
- package/dist/{TableList-D6jnIbnz.js → TableList-Dpo6dO7S.js} +2 -2
- package/dist/{TableList-D6jnIbnz.js.map → TableList-Dpo6dO7S.js.map} +1 -1
- package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js +746 -0
- package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js.map +1 -0
- package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js +315 -0
- package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map +1 -0
- package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js +476 -0
- package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +1 -0
- package/dist/{TypeConfiguration-37wp-gsl.js → TypeConfiguration-3O6ABrK-.js} +2 -2
- package/dist/{TypeConfiguration-37wp-gsl.js.map → TypeConfiguration-3O6ABrK-.js.map} +1 -1
- package/dist/{UserList-Bc8gYxRL.js → UserList-DgPxsnj2.js} +253 -236
- package/dist/{UserList-Bc8gYxRL.js.map → UserList-DgPxsnj2.js.map} +1 -1
- package/dist/Users-Bpc4Sazd.js +41 -0
- package/dist/Users-Bpc4Sazd.js.map +1 -0
- package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js +321 -0
- package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js.map +1 -0
- package/dist/{WidgetList-Dw_FmbbE.js → WidgetList-D7YuWfDD.js} +2 -2
- package/dist/{WidgetList-Dw_FmbbE.js.map → WidgetList-D7YuWfDD.js.map} +1 -1
- package/dist/constants-ClZJY2x1-MkSWn6TZ.js +434 -0
- package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +1 -0
- package/dist/dashboardLayoutUtils-D1xCAxp3.js +405 -0
- package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +1 -0
- package/dist/format-UOyOu75i-D0GyylyQ.js +63 -0
- package/dist/format-UOyOu75i-D0GyylyQ.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +4 -752
- package/dist/index.js.map +1 -1
- package/dist/index.lib-Dn8PMkeD.js +862 -0
- package/dist/index.lib-Dn8PMkeD.js.map +1 -0
- package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js +28 -0
- package/dist/useFieldErrors-hDG8ox_x-DbSAzrGo.js.map +1 -0
- package/dist/validation-BzlHnL-r-CCJm2utQ.js +125 -0
- package/dist/validation-BzlHnL-r-CCJm2utQ.js.map +1 -0
- package/package.json +5 -4
- package/dist/AccessRights-CHu27ZOw.js +0 -1262
- package/dist/AccessRights-CHu27ZOw.js.map +0 -1
- package/dist/AddEditQueryBuilder-Brdnm6rQ.js +0 -313
- package/dist/AddEditQueryBuilder-Brdnm6rQ.js.map +0 -1
- package/dist/AddLabelModal-DFllBVcd.js +0 -734
- package/dist/AddLabelModal-DFllBVcd.js.map +0 -1
- package/dist/AddMenuConfiguration-BSQLl88V.js +0 -6570
- package/dist/AddMenuConfiguration-BSQLl88V.js.map +0 -1
- package/dist/AddRoleDrawer-CQdzQZLb.js.map +0 -1
- package/dist/AppModal-CtG2GjD_.js +0 -428
- package/dist/AppModal-CtG2GjD_.js.map +0 -1
- package/dist/ChangePasswordModalCore-CDxkeIIM.js.map +0 -1
- package/dist/ConditionConfig-DSsgGEXS.js.map +0 -1
- package/dist/EventsSkeleton-8iiETGcf.js +0 -76
- package/dist/EventsSkeleton-8iiETGcf.js.map +0 -1
- package/dist/FeatureMenu-jl7-Tk6y.js +0 -265
- package/dist/FeatureMenu-jl7-Tk6y.js.map +0 -1
- package/dist/Features-CObdzJp_.js +0 -13
- package/dist/Features-CObdzJp_.js.map +0 -1
- package/dist/FlywayQuery-Cx2sly6g.js +0 -169
- package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
- package/dist/ImmunizationConfigurationBase-DZGqwda2.js +0 -5910
- package/dist/ImmunizationConfigurationBase-DZGqwda2.js.map +0 -1
- package/dist/ImmunizationConfigurationsList-DdSZicTP.js +0 -344
- package/dist/ImmunizationConfigurationsList-DdSZicTP.js.map +0 -1
- package/dist/LanguagesModal-D6VfaGrl.js +0 -394
- package/dist/LanguagesModal-D6VfaGrl.js.map +0 -1
- package/dist/ManageDynamicFeature-BhONvfC_.js +0 -4189
- package/dist/ManageDynamicFeature-BhONvfC_.js.map +0 -1
- package/dist/ManageEventConfiguration-DV3I5POA.js.map +0 -1
- package/dist/ManageRole-CGYfglpo.js.map +0 -1
- package/dist/ManageTranslation-B4C9-lWD.js +0 -625
- package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
- package/dist/ManageUser-AY1EUDLI.js.map +0 -1
- package/dist/MobileMenuManagement-CVAKyKDa.js +0 -112
- package/dist/MobileMenuManagement-CVAKyKDa.js.map +0 -1
- package/dist/MobileTypeEventConfigModal-BxLympIO.js.map +0 -1
- package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
- package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
- package/dist/NotificationList-C3Vb_jKU.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-BeG1GrUi.js.map +0 -1
- package/dist/QueryBuilder-z7eqfd7D.js +0 -383
- package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
- package/dist/RoleManagement-BPl2cE27.js.map +0 -1
- package/dist/ServerSyncModal-D_oFpv3C.js.map +0 -1
- package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
- package/dist/ShowFlywayQuery-tj42YQAS.js +0 -130
- package/dist/ShowFlywayQuery-tj42YQAS.js.map +0 -1
- package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
- package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
- package/dist/SubMenu-DYxAPH2Z.js +0 -191
- package/dist/SubMenu-DYxAPH2Z.js.map +0 -1
- package/dist/TableDetails-Cf_YfnY2.js.map +0 -1
- package/dist/Users-CsJ08Kjm.js +0 -40
- package/dist/Users-CsJ08Kjm.js.map +0 -1
- package/dist/dashboardLayoutUtils-Bt5HA96J.js +0 -265
- package/dist/dashboardLayoutUtils-Bt5HA96J.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddLabelModal-Bq-wRqv9.js","sources":["../src/views/Translation/AddLabelModal.jsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useMemo,\n useCallback,\n useRef,\n} from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as Yup from \"yup\";\nimport {\n Button,\n IconButton,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n Box,\n Typography,\n} from \"@mui/material\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport \"./Styles/ManageTranslation.scss\";\nimport {\n addtranslationMap,\n creatingLabel,\n translateText,\n translationMap,\n} from \"../../services/TranslationService\";\nimport { execute, executeQuery } from \"@/common/services/GlobalApis\";\nimport CustomAutocomplete from \"@/views/custom-components/CustomAutoComplete\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport SegmentedTabs from \"@/views/custom-components/SegmentedTabs\";\nimport FontAwesomeIcons from \"@/common/fontAwesomeIcons/FontAwesomeIcons\";\nimport CustomDropdown from \"@/views/custom-components/CustomDropdown\";\nimport { AddLabelSkeleton } from \"./Skeletons/ManageTranslationSkeleton\";\nimport { ModalFieldRow } from \"./components/TranslationUi\";\n\n/**\n * Modal component for adding or editing label translations.\n * @module AddLabelModal\n * @param {Object} props - The props for the component.\n * @param {boolean} props.open - Whether the modal is open or not.\n * @param {Function} props.handleClose - Function to close the modal.\n * @param {Array} props.apps - List of available apps.\n * @param {Array} props.languageList - List of available languages.\n * @param {boolean} props.addAppFlag - Flag indicating whether the modal is for adding an app.\n * @param {Array} props.fieldsData - Data for pre-existing labels and fields.\n * @returns {JSX.Element} The rendered modal component.\n */\n\nconst EDIT_PANEL_ID = \"add-label-tabpanel\";\n\nconst AddLabelModal = ({\n open,\n handleClose,\n apps,\n languageList = [],\n addAppFlag = false,\n fieldsData,\n refetch,\n addNameSpaceFlag = false,\n editLabelFlag = false,\n labelKey = null,\n isLoading = false,\n}) => {\n const englishId = languageList?.find(\n (lang) => lang.languageValue === \"English\",\n )?.id;\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const trackEvent = useTrackEvent();\n const [existingApps, setExistingApps] = useState([]);\n const [languagePair, setLanguagePair] = useState([]);\n const [selectedApps, setSelectedApps] = useState([]);\n const [labelData, setLabelData] = useState([]);\n const [selectedTab, setSelectedTab] = useState(null);\n const [namespaceslist, setNameSpaceList] = useState([]);\n const { translate } = useTranslateProvider();\n\n const handleTabChange = (event, newValue) => {\n setSelectedTab(newValue);\n };\n\n let validationSchema;\n if (addAppFlag) {\n const languageValidationSchema = fieldsData?.reduce((acc, language) => {\n acc[`${language.languagevalue}`] = Yup.string().required(\n `Enter value for ${language.languagevalue}`,\n );\n return acc; // Ensure `acc` is returned in every iteration\n }, {});\n\n // Main validation schema\n validationSchema = Yup.object().shape({\n apps: Yup.array()\n .min(1, \"Select at least one App\")\n .required(\"Select App\"),\n\n ...languageValidationSchema, // Spread the dynamically created validations\n });\n } else if (addNameSpaceFlag) {\n validationSchema = Yup.object().shape({\n namespace: Yup.array()\n .min(1, \"Select at least one Namespace\")\n .required(\"Select Namespace\"),\n });\n } else if (editLabelFlag) {\n let languageValidationSchema = labelData.reduce((acc, data) => {\n if (data?.languagevalue !== \"English\" && data?.appvalue === selectedTab) {\n acc[`${data.app}_${data.languagevalue}`] = Yup.string()\n .required(`Enter value for ${data.languagevalue}`)\n .test(\n \"placeholders-match\",\n \"Placeholders do not match the original English text.\",\n function (value) {\n const { path, createError, parent } = this;\n\n // Access English text from the form's parent object\n // Make sure your form values include 'English' field\n const englishText = parent?.[`${data.app}_${\"English\"}`] || \"\";\n\n const expectedCounts = extractPlaceholderCounts(englishText);\n const inputCounts = extractPlaceholderCounts(value);\n const isValid =\n Object.keys(expectedCounts).length ===\n Object.keys(inputCounts).length &&\n Object.keys(expectedCounts).every(\n (key) => inputCounts[key] === expectedCounts[key],\n );\n return (\n isValid ||\n createError({\n path,\n message:\n \"Placeholders do not match the original English text.\",\n })\n );\n },\n );\n }\n return acc;\n }, {});\n\n validationSchema = Yup.object().shape({\n ...languageValidationSchema,\n });\n } else {\n const languageValidationSchema = languageList.reduce((acc, language) => {\n if (language?.language_value !== \"English\") {\n acc[language.language_value] = Yup.string()\n .required(`Enter value for ${language.language_value}`)\n .test(\n \"placeholders-match\",\n \"Placeholders do not match the original English text.\",\n function (value) {\n const { path, createError, parent } = this;\n\n // Access English text from the form's parent object\n // Make sure your form values include 'English' field\n const englishText = parent?.englishValue || \"\";\n\n const expectedCounts = extractPlaceholderCounts(englishText);\n const inputCounts = extractPlaceholderCounts(value);\n\n const isValid =\n Object.keys(expectedCounts).length ===\n Object.keys(inputCounts).length &&\n Object.keys(expectedCounts).every(\n (key) => inputCounts[key] === expectedCounts[key],\n );\n return (\n isValid ||\n createError({\n path,\n message:\n \"Placeholders do not match the original English text.\",\n })\n );\n },\n );\n }\n return acc;\n }, {});\n\n // Main validation schema\n validationSchema = Yup.object().shape({\n apps: Yup.array()\n .min(1, \"Select at least one App\")\n .required(\"Select App\"),\n\n namespace: Yup.array()\n .min(1, \"Select at least one Namespace\")\n .required(\"Select Namespace\"),\n englishValue: Yup.string().required(\"Enter Value for English\"),\n\n ...languageValidationSchema, // Spread the dynamically created validations\n });\n }\n\n /**\n * Handles debounced search operation for translating English text.\n * @method performSearch\n * @param {string} search - The search string to translate.\n */\n const performSearch = useCallback(async (search) => {\n try {\n await translateEnglishText(search);\n } catch (error) {\n console.error(error);\n }\n }, []);\n\n const debounce = (func, delay) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n func(...args);\n }, delay);\n };\n };\n\n const debouncedSearch = useMemo(\n () => debounce(performSearch, 300),\n [performSearch],\n );\n\n const {\n control,\n handleSubmit,\n reset,\n setValue,\n getValues,\n formState: { errors, isSubmitting },\n } = useForm({\n defaultValues: {},\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const extractPlaceholderCounts = (str) => {\n if (!str) return {};\n\n const matches = [...str.matchAll(/{(.*?)}/g)];\n const counts = {};\n\n matches.forEach((match) => {\n const key = match[1];\n counts[key] = (counts[key] || 0) + 1;\n });\n\n return counts;\n };\n\n useEffect(() => {\n getnamespace();\n if (fieldsData && addAppFlag) {\n let newPair = [];\n fieldsData?.forEach((lang) => {\n setValue(lang?.languagevalue, lang?.value);\n newPair.push({ id: lang?.language, value: lang?.value });\n });\n setLanguagePair(newPair);\n fieldDataQuery();\n }\n if (fieldsData && addNameSpaceFlag) {\n getNameSpacesFromKey(fieldsData.key);\n }\n }, [fieldsData]);\n\n useEffect(() => {\n if (editLabelFlag) {\n editState();\n }\n }, [editLabelFlag]);\n\n /**\n * Initializes the label data and existing applications.\n * @method editState\n * @returns {Promise<void>}\n */\n const editState = async () => {\n try {\n let queryDto = {\n code: \"labels_selected_apps_for_editing\",\n parameters: { key: labelKey },\n };\n\n const res = await executeQuery(queryDto);\n setLabelData(res?.data?.result);\n let existingApps = res?.data?.result\n ?.map((item) => {\n return item.appvalue;\n })\n .filter((item, index, self) => {\n return index === self.findIndex((t) => t === item);\n });\n\n res?.data?.result.forEach((data) => {\n const fieldName = `${data.app}_${data.languagevalue}`;\n setValue(fieldName, data.value || \"\"); // Set the default value or empty string\n });\n setExistingApps(existingApps);\n setSelectedTab(existingApps[0]);\n } catch (error) {\n console.error(error);\n showToast({\n message: \"Could not open this label for editing. Please try again.\",\n type: \"error\",\n });\n }\n };\n\n const languageValueChanged = (id, value, labelid = null) => {\n let newPair = [...languagePair];\n let found = false;\n newPair?.forEach((pair) => {\n if (pair?.id === id) {\n pair.value = value;\n found = true;\n }\n });\n if (!found) {\n labelid\n ? newPair.push({ id, value, labelid })\n : newPair.push({ id, value });\n }\n setLanguagePair(newPair);\n };\n\n const getNameSpacesFromKey = async (key) => {\n try {\n const res = await execute({\n code: \"get_namespaces_from_key\",\n parameters: { key: key },\n });\n\n let namespaces = res?.data?.result?.map((item) => item.value);\n\n setValue(\"namespace\", namespaces || []);\n } catch (e) {\n console.error(e);\n }\n };\n\n const getnamespace = async () => {\n try {\n const res = await execute({\n code: \"get_distinct_namespce\",\n parameters: {},\n });\n setNameSpaceList(res?.data?.result);\n } catch (e) {\n console.error(e);\n }\n };\n\n /**\n * @method fieldDataQuery\n * Fetches data for existing apps associated with the given fields.\n */\n\n const fieldDataQuery = async () => {\n try {\n const key = fieldsData[0]?.key.replace(/'/g, \"''\");\n let queryDto = {\n code: \"labels_selected_apps_for_editing\",\n parameters: { key },\n };\n\n const res = await executeQuery(queryDto);\n let existingApps = res?.data?.result\n ?.map((item) => {\n return item.appvalue;\n })\n .filter((item, index, self) => {\n return index === self.findIndex((t) => t === item);\n })\n .join(\", \");\n setExistingApps(existingApps);\n } catch (error) {\n console.error(error);\n showToast({\n message: \"Could not load the apps for this label. Please try again.\",\n type: \"error\",\n });\n }\n };\n\n /**\n * Handles changes to the selected apps.\n * @method handleSelectedAppChange\n * @param {Object} e - Event object.\n * @param {Array} newValue - New selected apps.\n */\n const handleSelectedAppChange = (e, newValue) => {\n setSelectedApps(newValue);\n setValue(\"apps\", newValue);\n };\n\n /**\n * Generates the display label for an app option.\n * @method getOptionLabel\n * @param {Object} option - The app option.\n * @returns {string} Display label for the option.\n */\n const getOptionLabel = (option) => {\n return option?.appValue || \"\";\n };\n\n const close = () => {\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add Label Configuration\",\n submit: submitRef.current,\n }); // Use the current ref value\n\n handleClose();\n };\n\n /**\n * Translates the English text to other selected languages.\n * @param {Object} obj - The object containing translation details.\n */\n const translateEnglishText = async (obj) => {\n try {\n let tragetLangs;\n if (obj?.id === englishId) {\n let englishValue;\n if (addAppFlag) {\n tragetLangs = languagePair\n .filter((element) => element.id !== englishId)\n .map((element) => element.id)\n .join(\",\");\n languagePair?.forEach((pair) => {\n if (pair?.id === englishId) {\n englishValue = pair?.value;\n }\n });\n } else {\n tragetLangs = languageList\n .filter((element) => element.languageKey !== \"en\")\n .map((element) => element.id)\n .join(\",\");\n englishValue = getValues()?.englishValue;\n }\n\n if (englishValue) {\n await translateText(tragetLangs, englishValue);\n } else {\n showToast({ message: \"Enter english text\", type: \"info\" });\n }\n }\n } catch (error) {\n console.error(error);\n showToast({\n message: \"Could not translate this text. Please try again.\",\n type: \"error\",\n });\n }\n };\n\n /**\n * Submits the form data and creates or updates labels.\n * @param {Object} data - The form data.\n */\n\n const onSubmit = async (data) => {\n try {\n trackEvent(\"button_click\", {\n button_name: \"add-label-add-button\",\n button_type: \"submit\",\n button_id: \"add-label-submit-button\",\n });\n\n let dtoList = [];\n if (addAppFlag) {\n data?.apps?.forEach((app) => {\n languagePair?.forEach((pair) => {\n dtoList.push({\n language: pair?.id,\n value: pair?.value,\n app: app?.id,\n isActive: true,\n key: fieldsData[0].key,\n });\n });\n });\n\n await creatingLabel(dtoList);\n submitRef.current = true;\n refetch();\n showToast({ message: \"App added successfully\", type: \"success\" });\n close();\n } else if (addNameSpaceFlag) {\n let namespaces = data?.namespace || [];\n\n await translationMap({\n key: fieldsData.key,\n namespace: namespaces,\n });\n submitRef.current = true;\n refetch();\n showToast({\n message: \"Namespaces updated successfully\",\n type: \"success\",\n });\n close();\n } else if (editLabelFlag) {\n const updatedData = getValues();\n\n const changes = Object.entries(updatedData).reduce(\n (acc, [key, value]) => {\n const [app, language] = key.split(\"_\");\n\n // Skip empty string values\n if (value === \"\") return acc;\n\n const originalItem = labelData.find(\n (item) =>\n item.app === parseInt(app) && item.languagevalue === language,\n );\n\n // Track changes if values differ\n if (originalItem && originalItem.value !== value) {\n acc.push({\n id: originalItem.id || null,\n language: originalItem.language || language,\n value,\n app: parseInt(app),\n isActive: true,\n key: labelKey,\n });\n }\n return acc;\n },\n [],\n );\n\n await creatingLabel(changes);\n submitRef.current = true;\n\n refetch();\n showToast({ message: \"Label updated successfully\", type: \"success\" });\n close();\n } else {\n const key = data.englishValue.replace(/ /g, \"\");\n data?.apps?.forEach((app) => {\n dtoList.push({\n language: englishId,\n value: data?.englishValue,\n app: app?.id,\n isActive: true,\n key,\n });\n languagePair?.forEach((pair) => {\n dtoList.push({\n language: pair?.id,\n value: pair?.value,\n app: app?.id,\n isActive: true,\n key,\n });\n });\n });\n let namespaces = data?.namespace || [];\n\n let finalNameSpaces = [];\n for (const namespace of namespaces) {\n try {\n const res = await execute({\n code: \"check_key_namespace_exist\",\n parameters: {\n key: key,\n namespace: namespace,\n },\n });\n\n if (res?.data?.result?.length === 0) {\n finalNameSpaces.push(namespace); // Add to finalNameSpaces if not found\n }\n } catch (error) {\n console.error(\"Error while checking namespace:\", namespace, error);\n }\n }\n await addtranslationMap({\n key: key,\n namespace: finalNameSpaces,\n });\n let alreadyExistsLabel = false;\n\n for (const label of dtoList) {\n let labelCheckDto = {\n code: \"translation_label_app_language_key_check\",\n parameters: {\n key: label?.key,\n language: label?.language,\n app: label?.app,\n },\n };\n\n const res = await execute(labelCheckDto);\n\n if (res?.data?.result?.length > 0) {\n showToast({\n message:\n \"This label already exists with the same app, language and key.\",\n type: \"error\",\n });\n\n alreadyExistsLabel = true;\n\n // 2. Break instantly stops the loop so no more API calls or toasts fire\n break;\n }\n }\n\n // 3. Handle the success logic completely OUTSIDE the loop\n if (!alreadyExistsLabel && dtoList.length > 0) {\n await creatingLabel(dtoList);\n\n submitRef.current = true;\n refetch();\n showToast({\n message: \"Label added successfully\",\n type: \"success\",\n });\n close();\n }\n }\n } catch (error) {\n console.error(error);\n showToast({\n message: \"Could not save this label. Please try again.\",\n type: \"error\",\n });\n }\n };\n\n const isAddLabelMode = !addAppFlag && !addNameSpaceFlag && !editLabelFlag;\n\n // One tab per app that already uses this label. App names are data, so\n // there is no honest icon for them - the labels stay visible instead.\n // `existingApps` is an array only in edit mode; the add-app flow stores the\n // same information as a joined string for its subtitle.\n const appTabs = useMemo(\n () =>\n (Array.isArray(existingApps) ? existingApps : []).map((appValue, index) => ({\n value: appValue,\n label: appValue,\n id: `add-label-tab-${index}`,\n dataTestId: `add-label-tab-${appValue}`,\n })),\n [existingApps],\n );\n\n /**\n * @method modalTitle\n * @description Title and one-line explanation for whichever of the four\n * modes this modal was opened in.\n */\n const modalCopy = () => {\n if (addNameSpaceFlag) {\n return {\n title: translate(\"Add NameSpace\"),\n subtitle: `${translate(\"Choose which namespaces load this label.\")} ${fieldsData?.key ? `(${fieldsData.key})` : \"\"}`,\n };\n }\n if (addAppFlag) {\n return {\n title: translate(\"Add App\"),\n subtitle: existingApps\n ? `${translate(\"This label already exists in\")} ${existingApps}. ${translate(\"Pick the apps that should also use it.\")}`\n : translate(\"Pick the apps that should also use this label.\"),\n };\n }\n if (editLabelFlag) {\n return {\n title: translate(\"Edit Label\"),\n subtitle: translate(\n \"Update this label's translations. Each tab is one app that uses it.\",\n ),\n };\n }\n return {\n title: translate(\"Add Label\"),\n subtitle: translate(\n \"Enter the English text, then its translation in each active language. The label is created for every app and namespace you pick.\",\n ),\n };\n };\n\n const { title, subtitle } = modalCopy();\n\n return (\n <Dialog\n data-testid=\"add-label-modal\"\n open={open}\n onClose={() => {\n close();\n reset();\n }}\n fullWidth\n maxWidth=\"md\"\n className=\"translation-modal\"\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 data-testid=\"add-label-header\"\n >\n <Box>\n <Typography\n variant=\"subtitle1\"\n component=\"span\"\n sx={{ fontWeight: 700, display: \"block\" }}\n >\n {title}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {subtitle}\n </Typography>\n </Box>\n <IconButton\n size=\"small\"\n onClick={() => {\n close();\n }}\n aria-label={translate(\"Close\")}\n data-testid=\"add-label-close-button\"\n >\n <FontAwesomeIcons iconName=\"faXmark\" />\n </IconButton>\n </DialogTitle>\n\n <Box\n component=\"form\"\n onSubmit={handleSubmit(onSubmit)}\n ref={formRef}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n minHeight: 0,\n overflow: \"hidden\",\n }}\n >\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 <AddLabelSkeleton isLoading={isLoading}>\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n {!addNameSpaceFlag && !editLabelFlag && (\n <Box data-testid=\"add-label-app-field\">\n <ModalFieldRow label={translate(\"App\")} required>\n <CustomAutocomplete\n control={control}\n name={\"apps\"}\n size={\"small\"}\n options={apps || []}\n errors={errors}\n value={selectedApps}\n onChange={handleSelectedAppChange}\n getOptionLabel={getOptionLabel}\n />\n </ModalFieldRow>\n </Box>\n )}\n\n {!addAppFlag && !editLabelFlag && (\n <Box data-testid=\"add-label-namespace-field\">\n <ModalFieldRow\n label={translate(\"Namespace\")}\n required\n hint={translate(\"Add to General if no specific namespace\")}\n >\n <CustomDropdown\n control={control}\n name={\"namespace\"}\n options={namespaceslist || []}\n errors={errors}\n displayName={\"label\"}\n optionValue={\"value\"}\n multiple\n />\n </ModalFieldRow>\n </Box>\n )}\n\n {isAddLabelMode && (\n <>\n <Box data-testid=\"add-label-field\">\n <ModalFieldRow label={translate(\"English\")} required>\n <CustomTextField\n control={control}\n id=\"englishValue\"\n name=\"englishValue\"\n errors={errors}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"add-label-language-english\"\n />\n </ModalFieldRow>\n </Box>\n\n {languageList?.map((lang, key) => {\n if (lang?.language_value === \"English\") {\n return null;\n }\n return (\n <Box key={key + 1} data-testid=\"add-label-base-date-field\">\n <ModalFieldRow label={lang?.language_value} required>\n <CustomTextField\n control={control}\n id={lang?.language_value}\n name={lang?.language_value}\n errors={errors}\n onChange={(e) => {\n languageValueChanged(lang?.id, e?.target?.value);\n }}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"add-label-language\"\n />\n </ModalFieldRow>\n </Box>\n );\n })}\n </>\n )}\n\n {addAppFlag &&\n fieldsData?.map((lang, key) => (\n <Box key={key + 1} data-testid=\"add-label-base-date-field\">\n <ModalFieldRow label={lang?.languagevalue} required>\n <CustomTextField\n control={control}\n id={lang?.languagevalue}\n name={lang?.languagevalue}\n errors={errors}\n onChange={(e) => {\n languageValueChanged(lang?.language, e?.target?.value);\n debouncedSearch({ id: lang?.language });\n }}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"add-label-language\"\n />\n </ModalFieldRow>\n </Box>\n ))}\n\n {editLabelFlag && (\n <Box\n sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}\n >\n <SegmentedTabs\n tabs={appTabs}\n value={selectedTab}\n onChange={handleTabChange}\n ariaLabel={translate(\"Apps using this label\")}\n panelId={EDIT_PANEL_ID}\n dataTestId=\"add-label-app-tabs\"\n />\n\n <Box\n role=\"tabpanel\"\n id={EDIT_PANEL_ID}\n aria-labelledby={\n appTabs.find((tab) => tab.value === selectedTab)?.id\n }\n sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}\n >\n {labelData\n ?.filter((data) => data?.appvalue === selectedTab)\n .map((data, key) => (\n <Box key={key + 1} data-testid=\"label-edit-field\">\n <ModalFieldRow label={data?.languagevalue}>\n <CustomTextField\n control={control}\n id={`${data?.app}-${data.languagevalue}`}\n name={`${data?.app}_${data.languagevalue}`}\n errors={errors}\n onChange={(e) =>\n languageValueChanged(\n data?.language,\n e?.target?.value,\n data?.id,\n )\n }\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"label-edit-input\"\n />\n </ModalFieldRow>\n </Box>\n ))}\n </Box>\n </Box>\n )}\n </Box>\n </AddLabelSkeleton>\n </DialogContent>\n\n <DialogActions\n sx={{ px: 3, py: 2, borderTop: \"1px solid\", borderColor: \"divider\" }}\n >\n <Button\n size=\"small\"\n variant=\"outlined\"\n color=\"inherit\"\n data-testid=\"add-label-back-button\"\n onClick={() => {\n close();\n trackEvent(\"button_click\", {\n button_name: \"add-label-back-button\",\n button_type: \"cancel\",\n button_id: \"add-label-back-button\",\n });\n }}\n >\n {translate(\"Cancel\")}\n </Button>\n <Button\n type=\"submit\"\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-label-save-button\"\n color=\"primary\"\n disabled={isSubmitting}\n >\n {translate(\"Save\")}\n </Button>\n </DialogActions>\n </Box>\n </Dialog>\n );\n};\n\nAddLabelModal.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.any,\n languageList: PropTypes.any,\n apps: PropTypes.any,\n addAppFlag: PropTypes.any,\n fieldsData: PropTypes.any,\n refetch: PropTypes.any,\n addNameSpaceFlag: PropTypes.any,\n editLabelFlag: PropTypes.any,\n labelKey: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport default AddLabelModal;\n"],"names":["EDIT_PANEL_ID","AddLabelModal","open","handleClose","apps","languageList","addAppFlag","fieldsData","refetch","addNameSpaceFlag","editLabelFlag","labelKey","isLoading","englishId","_a","lang","formRef","useRef","submitRef","trackEvent","useTrackEvent","existingApps","setExistingApps","useState","languagePair","setLanguagePair","selectedApps","setSelectedApps","labelData","setLabelData","selectedTab","setSelectedTab","namespaceslist","setNameSpaceList","translate","useTranslateProvider","handleTabChange","event","newValue","validationSchema","languageValidationSchema","acc","language","Yup","data","value","path","createError","parent","englishText","expectedCounts","extractPlaceholderCounts","inputCounts","key","performSearch","useCallback","search","translateEnglishText","error","debounce","func","delay","timeoutId","args","debouncedSearch","useMemo","control","handleSubmit","reset","setValue","getValues","errors","isSubmitting","useForm","yupResolver","str","matches","counts","match","useEffect","getnamespace","newPair","fieldDataQuery","getNameSpacesFromKey","editState","res","executeQuery","_c","_b","item","index","self","t","_d","fieldName","showToast","languageValueChanged","id","labelid","found","pair","execute","namespaces","e","queryDto","handleSelectedAppChange","getOptionLabel","option","close","obj","tragetLangs","englishValue","element","translateText","onSubmit","dtoList","app","creatingLabel","translationMap","updatedData","changes","originalItem","finalNameSpaces","namespace","addtranslationMap","alreadyExistsLabel","label","labelCheckDto","_f","_e","isAddLabelMode","appTabs","appValue","modalCopy","title","subtitle","jsxs","Dialog","DialogTitle","Box","jsx","Typography","IconButton","FontAwesomeIcons","DialogContent","AddLabelSkeleton","ModalFieldRow","CustomAutocomplete","CustomDropdown","Fragment","CustomTextField","SegmentedTabs","tab","DialogActions","Button","PropTypes"],"mappings":"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"}
|