@argusoft/medplat-core 1.0.29 → 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-v3TmGQee.js → AddFeatures-D1sU8RjY.js} +2 -2
- package/dist/{AddFeatures-v3TmGQee.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-Ce91MhnU.js → AddMenuConfiguration-e5BVXhmw.js} +2 -2
- package/dist/{AddMenuConfiguration-Ce91MhnU.js.map → AddMenuConfiguration-e5BVXhmw.js.map} +1 -1
- 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-DutQAZOx.js → ChangePasswordModalCore-BPsJquTS.js} +1606 -1611
- package/dist/ChangePasswordModalCore-BPsJquTS.js.map +1 -0
- package/dist/{ConditionConfig-B4Ffpgj3.js → ConditionConfig-Ddz9halE.js} +2 -2
- package/dist/{ConditionConfig-B4Ffpgj3.js.map → ConditionConfig-Ddz9halE.js.map} +1 -1
- package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js +435 -0
- package/dist/DashboardPage-C3bKc5na-sBd9Yqbi.js.map +1 -0
- package/dist/EventConfig-BmLemzX3.js +26 -0
- package/dist/EventConfig-BmLemzX3.js.map +1 -0
- package/dist/{EventConfigurations-BJcURufo.js → EventConfigurations-Bzh1qWXU.js} +31 -30
- package/dist/{EventConfigurations-BJcURufo.js.map → EventConfigurations-Bzh1qWXU.js.map} +1 -1
- package/dist/{EventsExceptionModal-BlZtBQoR.js → EventsExceptionModal-B2SRrnB1.js} +2 -2
- package/dist/{EventsExceptionModal-BlZtBQoR.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/{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/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-BpSJszSX.js → ManageEventConfiguration-CoYcpjR9.js} +465 -397
- package/dist/ManageEventConfiguration-CoYcpjR9.js.map +1 -0
- package/dist/{ManageNotification-CfhHlfxA.js → ManageNotification-C5MhV77Q.js} +2 -2
- package/dist/{ManageNotification-CfhHlfxA.js.map → ManageNotification-C5MhV77Q.js.map} +1 -1
- package/dist/{ManageRole-4Y2PP4dQ.js → ManageRole-CNZBRKGU.js} +2 -2
- package/dist/{ManageRole-4Y2PP4dQ.js.map → ManageRole-CNZBRKGU.js.map} +1 -1
- package/dist/ManageTranslation-vRiptUAP.js +833 -0
- package/dist/ManageTranslation-vRiptUAP.js.map +1 -0
- package/dist/ManageTranslation.css +1 -1
- package/dist/{ManageUser-DDzyd9jm.js → ManageUser-DCFkUMV9.js} +131 -131
- package/dist/{ManageUser-DDzyd9jm.js.map → ManageUser-DCFkUMV9.js.map} +1 -1
- 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/{MobileTypeEventConfigModal-DUkUYACe.js → MobileTypeEventConfigModal-BeveaX0C.js} +2 -2
- package/dist/{MobileTypeEventConfigModal-DUkUYACe.js.map → MobileTypeEventConfigModal-BeveaX0C.js.map} +1 -1
- package/dist/NotificationFlywayQuery-BAHVjf6N.js +247 -0
- package/dist/NotificationFlywayQuery-BAHVjf6N.js.map +1 -0
- package/dist/{NotificationList-BMFpNUJG.js → NotificationList-DEyRZEuM.js} +2 -2
- package/dist/{NotificationList-BMFpNUJG.js.map → NotificationList-DEyRZEuM.js.map} +1 -1
- package/dist/{OtherTypeEventConfigModal-CYBfr2XE.js → OtherTypeEventConfigModal-CM6VkdmY.js} +3 -3
- 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-DEiBNfT8.js → RoleManagement-s8iNx2Mu.js} +145 -155
- 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/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/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-C3xoP2Nb.js → TypeConfiguration-3O6ABrK-.js} +2 -2
- package/dist/{TypeConfiguration-C3xoP2Nb.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/constants-ClZJY2x1-MkSWn6TZ.js +434 -0
- package/dist/constants-ClZJY2x1-MkSWn6TZ.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 +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 +4 -3
- package/dist/AccessRights-Zm8Obm4N.js +0 -1284
- package/dist/AccessRights-Zm8Obm4N.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/AppModal-CtG2GjD_.js +0 -428
- package/dist/AppModal-CtG2GjD_.js.map +0 -1
- package/dist/ChangePasswordModalCore-DutQAZOx.js.map +0 -1
- package/dist/EventsSkeleton-DK6JDKAK.js +0 -83
- package/dist/EventsSkeleton-DK6JDKAK.js.map +0 -1
- package/dist/FeatureMenu-C3503UIX.js +0 -265
- package/dist/FeatureMenu-C3503UIX.js.map +0 -1
- package/dist/FlywayQuery-Cx2sly6g.js +0 -169
- package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
- package/dist/ImmunizationConfigurationBase-DLQVSNnt.js +0 -5895
- package/dist/ImmunizationConfigurationBase-DLQVSNnt.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-dt096fyj.js +0 -4189
- package/dist/ManageDynamicFeature-dt096fyj.js.map +0 -1
- package/dist/ManageEventConfiguration-BpSJszSX.js.map +0 -1
- package/dist/ManageTranslation-B4C9-lWD.js +0 -625
- package/dist/ManageTranslation-B4C9-lWD.js.map +0 -1
- package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
- package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-CYBfr2XE.js.map +0 -1
- package/dist/QueryBuilder-z7eqfd7D.js +0 -383
- package/dist/QueryBuilder-z7eqfd7D.js.map +0 -1
- package/dist/RoleManagement-DEiBNfT8.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-B072oEGb.js +0 -191
- package/dist/SubMenu-B072oEGb.js.map +0 -1
- package/dist/Users-CsJ08Kjm.js +0 -40
- package/dist/Users-CsJ08Kjm.js.map +0 -1
- package/dist/index.lib-C3fwoM3y.js +0 -820
- package/dist/index.lib-C3fwoM3y.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AddLabelModal-DFllBVcd.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 Grid from \"@mui/material/Grid2\";\nimport * as Yup from \"yup\";\nimport {\n Button,\n IconButton,\n Modal,\n Box,\n FormControl,\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\";\n// Define the validation schema using Yup\n// import { setTranslationEN, setTranslationGU, setTranslationHI } from '@/store/reducers/TranslationReducer';\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\n// import { useSelector } from 'react-redux';\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport { faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport CustomDropdown from \"@/views/custom-components/CustomDropdown\";\nimport { AddLabelSkeleton } from \"./Skeletons/ManageTranslationSkeleton\";\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\nfunction CustomTabPanel(props) {\n const { children, value, index, selectedTab, ...other } = props;\n return (\n <div\n role=\"tabpanel\"\n hidden={value !== selectedTab}\n id={`simple-tabpanel-${index}`}\n aria-labelledby={`simple-tab-${index}`}\n {...other}\n >\n {value === selectedTab && <Box className=\"p-3\">{children}</Box>}\n </div>\n );\n}\n\nCustomTabPanel.propTypes = {\n selectedTab: PropTypes.any,\n children: PropTypes.node,\n index: PropTypes.number.isRequired,\n value: PropTypes.number.isRequired,\n};\n\n/**\n * Function for accessibility props for tabs.\n * @method a11yProps\n * @param {number} index - The index of the tab.\n * @returns {Object} Accessibility props for the tab.\n */\nfunction a11yProps(index) {\n return {\n id: `simple-tab-${index}`,\n \"aria-controls\": `simple-tabpanel-${index}`,\n };\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 [placeholderList, setPlaceholderList] = useState([]);\n const formRef = useRef(null);\n const submitRef = useRef(false);\n // const dispatch = useDispatch();\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 [selectedNameSpace, setSelectedNameSpace] = useState([]);\n const [namespaceslist, setNameSpaceList] = useState([]);\n const { translate } = useTranslateProvider();\n\n const handleTabChange = (event, newValue) => {\n setSelectedTab(newValue);\n };\n // const { translations } = useSelector((state) => state.Translation);\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 },\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 initialState\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({ message: \"Error in editing label\", type: \"error\" });\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 /**\n * Translates the text to the specified language.\n * @method translateFunc\n * @param {Object} lang - The language to translate to.\n * @returns {Promise<void>}\n */\n // const translateFunc = async (lang) => {\n // try {\n // let tragetLangs = lang.language;\n // const inputdata = getValues();\n\n // let englishValue = inputdata[`${lang?.app}_English`];\n\n // if (englishValue) {\n // await translateText(tragetLangs, englishValue);\n // } else {\n // showToast({ message: \"Enter english text\", type: \"info\" });\n // }\n // } catch (error) {\n // console.error(error);\n // showToast({ message: \"Error in Translation\", type: \"error\" });\n // }\n // };\n\n /**\n * Translates the English text to other languages.\n * @method translateEnglishText\n * @returns {Promise<void>}\n */\n // const translateEnglishTextForEdit = async (app) => {\n // try {\n // let tragetLangs;\n // const inputdata = getValues();\n\n // let englishValue = inputdata[`${app}_English`];\n // tragetLangs = labelData\n // ?.filter((element) => {\n // return (\n // element.appvalue === existingApps[selectedTab] &&\n // element.languagekey != \"en\"\n // );\n // })\n // .map((element) => {\n // return element.language;\n // })\n // .join(\",\");\n\n // if (englishValue) {\n // await translateText(tragetLangs, englishValue);\n // } else {\n // showToast({ message: \"Enter english text\", type: \"info\" });\n // }\n // } catch (error) {\n // console.error(error);\n // showToast({ message: \"Error in Translation\", type: \"error\" });\n // }\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 // setSelectedNameSpace(res?.data?.result);\n setValue(\"namespace\", namespaces || []);\n // setNameSpaceList(res?.data?.result)\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({ message: \"Error in Adding App\", type: \"error\" });\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 // const handleSelectedNameSpaceChange = (e, newValue) => {\n // setSelectedNameSpace(newValue);\n // setValue(\"namespace\", 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 getNamespaceLable = (option) => {\n // return option?.namespace || \"\";\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({ message: \"Error in Translation\", type: \"error\" });\n }\n };\n\n /**\n * This function is checking if the new added label is already exists or not\n * for the selected namespaces if one of the namespaces is not containing the\n * label then it will be added to that particular namespace only.\n * @param {Object} data - The object containing new added label details.\n */\n // const getAllowedNamespacesToAdd = (data) => {\n // const selectedNamespaces = data.namespace.map((e) => e.namespace);\n // const allowedNamespaces = [];\n\n // // If \"en\" itself doesn't exist, all selected namespaces are allowed\n // if (!Object.hasOwn(translations, 'en')) {\n // return selectedNamespaces;\n // }\n\n // const availableNamespacesObj = translations['en'];\n\n // selectedNamespaces.forEach((namespace) => {\n // if (\n // !Object.hasOwn(availableNamespacesObj, namespace) ||\n // !Object.hasOwn(availableNamespacesObj[namespace] || {}, data.englishValue)\n // ) {\n // allowedNamespaces.push({ namespace });\n // }\n // });\n\n // data.namespace = allowedNamespaces;\n\n // return data;\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 // if (!(addAppFlag || editLabelFlag)) {\n // let allowedNamespaces = getAllowedNamespacesToAdd(data);\n // let namespaces = allowedNamespaces?.map((item) => item.namespace) || [];\n // if (namespaces.length === 0) {\n // showToast({ message: 'Label Already Exists for this namespace!', type: 'info' });\n // return;\n // }\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: \"NameSpace 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 \"The Label containing Same App, Language and Key Already Exists.\",\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({ message: \"Error in Adding Label\", type: \"error\" });\n }\n };\n\n return (\n <Modal\n data-testid=\"add-label-modal\"\n open={open}\n onClose={() => {\n close();\n reset();\n }}\n className=\"translation-modal\"\n >\n <AddLabelSkeleton isLoading={isLoading}>\n <Grid\n container\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n position: \"absolute\",\n top: 40,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"95%\",\n maxWidth: { sm: 600, md: 700, lg: 800 },\n bgcolor: \"background.paper\",\n boxShadow: 24,\n border: 1,\n borderColor: \"divider\",\n borderRadius: 0.5,\n }}\n >\n <Grid\n sx={{\n p: 1.25,\n px: 3,\n display: \"flex\",\n justifyContent: \"space-between\",\n borderBottom: 1,\n borderColor: \"divider\",\n }}\n data-testid=\"add-label-header\"\n >\n <Typography\n variant=\"body1\"\n className=\"text-customBlue\"\n sx={{ fontWeight: \"medium\", fontSize: \"1.125rem\" }}\n >\n {!addAppFlag &&\n !addNameSpaceFlag &&\n !editLabelFlag &&\n translate(\"Add Label\")}\n {addNameSpaceFlag && translate(\"Add NameSpace\")}\n {addAppFlag && translate(\"Add App\")}\n {editLabelFlag && translate(\"Edit Label\")}\n </Typography>\n <IconButton\n size=\"small\"\n onClick={() => {\n close();\n }}\n data-testid=\"add-label-close-button\"\n >\n <FontAwesomeIcon icon={faXmark} />\n </IconButton>\n </Grid>\n <Grid item=\"true\" className=\"overflow-y-auto max-h-[60vh]\">\n <Grid\n container\n justifyContent=\"flex-start\"\n className=\"p-3 pl-5 pr-7\"\n >\n {addNameSpaceFlag && (\n <div>Add Namespace for {fieldsData?.key}</div>\n )}\n {addAppFlag && <div>Label already exists in {existingApps}</div>}\n <form\n onSubmit={handleSubmit(onSubmit)}\n className=\"w-full\"\n ref={formRef}\n >\n {!addNameSpaceFlag && !editLabelFlag && (\n <Grid item=\"true\" className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"add-label-base-date-field\"\n >\n <Box className=\"custom-flex-container\">\n {/* App Key Label */}\n <div className=\"w-[30%]\">\n {translate(\"App\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </div>\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 </Box>\n </FormControl>\n </Grid>\n )}\n {!addAppFlag && !editLabelFlag && (\n <Grid item=\"true\" className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"add-label-base-date-field\"\n >\n <Box className=\"custom-flex-container\">\n {/* App Key Label */}\n <div className=\"w-[30%]\">\n {translate(\"Namespace\")}\n <span className=\"text-red-500 ml-1\">*</span>\n <br />\n <div className=\"text-sm text-gray-600 pr-3\">\n (Note: Add to General if no specific namespace)\n </div>\n </div>\n {/* <CustomAutocomplete\n control={control}\n checkEquality={\"namespace\"}\n name={\"namespace\"}\n options={namespaceslist || []}\n errors={errors}\n value={selectedNameSpace}\n onChange={handleSelectedNameSpaceChange}\n getOptionLabel={getNamespaceLable}\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 </Box>\n </FormControl>\n </Grid>\n )}\n {!addAppFlag && !addNameSpaceFlag && !editLabelFlag && (\n <>\n <Grid item=\"true\" className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"add-label-field\"\n >\n <Box\n className=\"custom-flex-container\"\n display={\"flex\"}\n // gap={1}\n >\n {/* App Key Label */}\n <div className=\"w-[30%]\">\n {translate(\"English\")}\n <span className=\"text-red-500 ml-1\">*</span>\n </div>\n\n {/* CustomTextField */}\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\n {/* <Button\n // type=\"submit\"\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-label-manage-languages-button\"\n color=\"primary\"\n className=\"w-[95px] text-[10px]\"\n onClick={() => translateEnglishText({ id: 65 })}\n >\n {translate(\"Translate\")}\n </Button> */}\n </Box>\n </FormControl>\n </Grid>\n {languageList?.map((lang, key) => {\n if (lang?.language_value === \"English\") {\n return;\n }\n return (\n <Grid key={key + 1} item=\"true\" className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"add-label-base-date-field\"\n >\n <Box className=\"custom-flex-container\">\n {/* App Key Label */}\n <div className=\"w-[30%]\">\n {lang?.language_value}\n <span className=\"text-red-500 ml-1\">*</span>\n </div>\n\n {/* CustomTextField */}\n <CustomTextField\n control={control}\n id={lang?.language_value}\n name={lang?.language_value}\n errors={errors}\n onChange={(e) => {\n // const inputValue = e?.target?.value;\n\n // const inputCounts =\n // extractPlaceholderCounts(inputValue);\n // const expectedCounts =\n // extractPlaceholderCounts(englishValue);\n\n // const isValid =\n // Object.keys(expectedCounts).length ===\n // Object.keys(inputCounts).length &&\n // Object.keys(expectedCounts).every(\n // (key) =>\n // inputCounts[key] === expectedCounts[key]\n // );\n\n // if (!isValid) {\n // console.log(getValues());\n // console.log(errors)\n // console.log(lang.language_value);\n // setError(`Hindi`, {\n // type: \"manual\",\n // message:\n // \"Placeholders do not match the original.\",\n // });\n // setError(`englishValue`, {\n // type: \"manual\",\n // message:\n // \"Dont Forget Your Username Should Be Cool!\",\n // });\n // // setError(lang?.language_value, {\n // // type: \"value\",\n // // message:\n // // \"Placeholders do not match the original.\",\n // // });\n // } else {\n // clearErrors(lang?.language_value);\n // }\n languageValueChanged(\n lang?.id,\n e?.target?.value,\n );\n }}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"add-label-language\"\n />\n </Box>\n </FormControl>\n </Grid>\n );\n })}\n </>\n )}\n {addAppFlag && (\n <>\n {/* <Grid item='true' className='pb-[5px]'>\n <FormControl\n variant=\"outlined\"\n className='w-full'\n data-testid=\"add-label-base-date-field\"\n >\n <Box\n className\n >\n \n <div\n className=\"w-[30%]\"\n >\n English\n <span className=\"text-red-500 ml-1\">*</span>\n </div>\n\n \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\"\n />\n </Box>\n </FormControl>\n <Button\n // type=\"submit\"\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-label-manage-languages-button\"\n color=\"primary\"\n onClick={translateEnglishText}\n >\n Translate\n </Button>\n </Grid> */}\n {fieldsData?.map((lang, key) => {\n return (\n <Grid item=\"true\" key={key + 1} className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"add-label-base-date-field\"\n >\n <Box className=\"custom-flex-container\">\n {/* App Key Label */}\n <div className=\"w-[30%]\">\n {lang?.languagevalue}\n <span className=\"text-red-500 ml-1\">*</span>\n </div>\n\n {/* CustomTextField */}\n <CustomTextField\n control={control}\n id={lang?.languagevalue}\n name={lang?.languagevalue}\n errors={errors}\n onChange={(e) => {\n languageValueChanged(\n lang?.language,\n e?.target?.value,\n );\n debouncedSearch({ id: lang?.language });\n }}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"add-label-language\"\n />\n </Box>\n </FormControl>\n </Grid>\n );\n })}\n </>\n )}\n {editLabelFlag && (\n <>\n {\" \"}\n <Grid item className=\"pb-[5px]\">\n <Box className=\"w-full\">\n <Box className=\"label-edit-tabs\">\n <Tabs\n value={selectedTab}\n onChange={handleTabChange}\n aria-label=\"basic tabs example\"\n >\n {existingApps?.map((value, index) => {\n return (\n <Tab\n key={index + 1}\n label={value}\n value={value}\n {...a11yProps(index)}\n />\n );\n })}\n </Tabs>\n </Box>\n </Box>\n </Grid>\n {existingApps?.map((value, index) => (\n <Grid item key={index + 1}>\n <Grid>\n <CustomTabPanel\n key={index + 1}\n value={value}\n selectedTab={selectedTab}\n index={index}\n >\n {labelData?.map((data, key) => {\n if (data?.appvalue === value) {\n return (\n <Grid item className=\"pb-[5px]\" key={key + 1}>\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"label-edit-field\"\n >\n <Box className=\"custom-flex-container\">\n {/* App Key Label */}\n <div className=\"w-[30%]\">\n {data?.languagevalue}\n {/* <span className=\"text-red-500 ml-1\">*</span> */}\n </div>\n\n {/* CustomTextField */}\n <CustomTextField\n control={control}\n // rules={{\n // required: {\n // value: true,\n // message: `Enter the ${data?.languagevalue || \"required value\"}`,\n // },\n // }}\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 {/* {data?.languagevalue === \"English\" && (\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"labeledit-translate-button\"\n color=\"primary\"\n className=\"ml-[10px] w-[150px]\"\n onClick={() =>\n translateEnglishTextForEdit(\n data?.app\n )\n }\n >\n {translate(\"Translate\")}\n </Button>\n )} */}\n {/* {data?.languagevalue !== \"English\" && (\n <Button\n // type=\"submit\"\n size=\"small\"\n variant=\"contained\"\n data-testid=\"labeledit-refresh-button\"\n color=\"primary\"\n className=\"ml-[10px] w-[150px] h-[30px]\"\n onClick={() =>\n translateFunc(data, data?.app)\n }\n >\n <FontAwesomeIcon\n icon={faRotateRight}\n className=\"text-lg\"\n />\n </Button>\n )} */}\n </Box>\n </FormControl>\n </Grid>\n );\n }\n })}\n </CustomTabPanel>\n </Grid>\n </Grid>\n ))}\n </>\n )}\n <Grid item=\"true\" className=\"pb-[5px] flex justify-end\">\n <Box className=\"custom-flex-button\">\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-label-back-button\"\n color=\"secondary\"\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 >\n {translate(\"Save\")}\n </Button>\n </Box>\n </Grid>\n </form>\n </Grid>\n </Grid>\n </Grid>\n </AddLabelSkeleton>\n </Modal>\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":["CustomTabPanel","props","children","value","index","selectedTab","other","jsx","Box","PropTypes","a11yProps","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","setSelectedTab","namespaceslist","setNameSpaceList","translate","useTranslateProvider","handleTabChange","event","newValue","validationSchema","languageValidationSchema","acc","language","Yup","data","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","useForm","yupResolver","str","matches","counts","match","useEffect","getnamespace","newPair","fieldDataQuery","getNameSpacesFromKey","editState","res","executeQuery","_c","_b","item","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","Modal","AddLabelSkeleton","jsxs","Grid","Typography","IconButton","FontAwesomeIcon","faXmark","FormControl","CustomAutocomplete","CustomDropdown","Fragment","CustomTextField","Tabs","Tab","Button"],"mappings":"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"}
|
|
@@ -1,428 +0,0 @@
|
|
|
1
|
-
import { jsx as t, jsxs as i } from "react/jsx-runtime";
|
|
2
|
-
import { useRef as ce, useState as l, useEffect as _ } from "react";
|
|
3
|
-
import n from "prop-types";
|
|
4
|
-
import { useForm as pe } from "react-hook-form";
|
|
5
|
-
import { yupResolver as de } from "@hookform/resolvers/yup";
|
|
6
|
-
import a from "@mui/material/Grid2";
|
|
7
|
-
import * as v from "yup";
|
|
8
|
-
import { Modal as me, Typography as ue, IconButton as fe, Button as x, FormControl as B, Box as r } from "@mui/material";
|
|
9
|
-
import D from "@/views/custom-components/CustomTextField";
|
|
10
|
-
import { showToast as d } from "@/common/toaster/toaster";
|
|
11
|
-
import { g as he, A as ye, u as F, c as ge } from "./ManageTranslation-B4C9-lWD.js";
|
|
12
|
-
import be from "@/views/custom-components/CustomConfirmationModal";
|
|
13
|
-
import ve from "@/hooks/useTrackEvent";
|
|
14
|
-
import { useTranslateProvider as xe } from "@/common/languageTranslator/TranslationContext";
|
|
15
|
-
import { faXmark as Ae, faPen as Ce, faBars as Se } from "@fortawesome/free-solid-svg-icons";
|
|
16
|
-
import { FontAwesomeIcon as A } from "@fortawesome/react-fontawesome";
|
|
17
|
-
import ke from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
|
|
18
|
-
const we = ({
|
|
19
|
-
open: K,
|
|
20
|
-
handleClose: L,
|
|
21
|
-
languages: h,
|
|
22
|
-
refresh: C,
|
|
23
|
-
refetch: S,
|
|
24
|
-
selectedApp: O,
|
|
25
|
-
setSelectedApp: R
|
|
26
|
-
}) => {
|
|
27
|
-
const k = ce(null), y = ve(), [W, P] = l([]), [p, X] = l([]), [w, m] = l(!1), [q, T] = l(!1), { translate: s } = xe(), [H, g] = l(!1), [G, U] = l(""), [Y, J] = l(""), [c, Q] = l({}), [I, N] = l(!1), Z = v.object().shape({
|
|
28
|
-
appValue: v.string().required("Select App Value"),
|
|
29
|
-
appKey: v.string().required("Enter App key")
|
|
30
|
-
}), {
|
|
31
|
-
control: V,
|
|
32
|
-
handleSubmit: $,
|
|
33
|
-
reset: E,
|
|
34
|
-
setValue: u,
|
|
35
|
-
formState: { errors: M }
|
|
36
|
-
} = pe({
|
|
37
|
-
defaultValues: {},
|
|
38
|
-
resolver: de(Z),
|
|
39
|
-
mode: "onChange"
|
|
40
|
-
}), ee = [
|
|
41
|
-
{ field: "Sr. No.", label: "Sr.No", align: "left" },
|
|
42
|
-
{ field: "appValue", label: "App", align: "left" },
|
|
43
|
-
{ field: "stateValue", label: "State", align: "left" },
|
|
44
|
-
{ field: "Actions", label: "Actions" }
|
|
45
|
-
], te = (e) => {
|
|
46
|
-
u("appKey", e == null ? void 0 : e.appKey), u("appValue", e == null ? void 0 : e.appValue), u("id", e == null ? void 0 : e.id), u("isActive", e == null ? void 0 : e.isActive), T(!0), m(!0);
|
|
47
|
-
}, ae = (e) => {
|
|
48
|
-
U(
|
|
49
|
-
(e == null ? void 0 : e.stateValue) === "Active" ? "Mark as Inactive" : "Mark as Active"
|
|
50
|
-
), J(
|
|
51
|
-
(e == null ? void 0 : e.stateValue) === "Active" ? "Are you sure you want to change the state from active to inactive?" : "Are you sure you want to change the state from inactive to active?"
|
|
52
|
-
), Q(e);
|
|
53
|
-
}, oe = () => {
|
|
54
|
-
g((e) => !e);
|
|
55
|
-
}, ie = async () => {
|
|
56
|
-
try {
|
|
57
|
-
c.isActive = !c.isActive, await F(c), b(), O === (c == null ? void 0 : c.id) && R(null), await C(), S(), g((e) => !e);
|
|
58
|
-
} catch (e) {
|
|
59
|
-
console.error(e), d({ message: "Error in Toggle State", type: "error" });
|
|
60
|
-
}
|
|
61
|
-
}, se = [
|
|
62
|
-
{ label: s(G), onClick: oe }
|
|
63
|
-
], le = [
|
|
64
|
-
{
|
|
65
|
-
label: "",
|
|
66
|
-
icon: /* @__PURE__ */ t(A, { icon: Ce }),
|
|
67
|
-
onClick: te,
|
|
68
|
-
dataTestId: "app-modal-edit-icon"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
label: "",
|
|
72
|
-
icon: /* @__PURE__ */ t(A, { icon: Se }),
|
|
73
|
-
menuClick: ae,
|
|
74
|
-
menuItems: se,
|
|
75
|
-
dataTestId: "app-modal-menu-icon"
|
|
76
|
-
}
|
|
77
|
-
], ne = () => {
|
|
78
|
-
E(), T(!1), m(!0);
|
|
79
|
-
};
|
|
80
|
-
_(() => {
|
|
81
|
-
if (p) {
|
|
82
|
-
const e = [];
|
|
83
|
-
p == null || p.forEach((o) => {
|
|
84
|
-
let f = { ...o };
|
|
85
|
-
o != null && o.isActive ? f.stateValue = "Active" : f.stateValue = "Inactive", h == null || h.forEach((z) => {
|
|
86
|
-
o.language === z.id && (f.languagevalue = z.languageValue);
|
|
87
|
-
}), e.push(f);
|
|
88
|
-
}), P(e);
|
|
89
|
-
}
|
|
90
|
-
}, [p]), _(() => {
|
|
91
|
-
b();
|
|
92
|
-
}, []);
|
|
93
|
-
const b = async () => {
|
|
94
|
-
N((e) => !e);
|
|
95
|
-
try {
|
|
96
|
-
const e = await he();
|
|
97
|
-
X(e == null ? void 0 : e.data);
|
|
98
|
-
} catch (e) {
|
|
99
|
-
console.error(e), d({ message: "Error in loading apps", type: "error" });
|
|
100
|
-
} finally {
|
|
101
|
-
N((e) => !e);
|
|
102
|
-
}
|
|
103
|
-
}, j = () => {
|
|
104
|
-
L();
|
|
105
|
-
}, re = async (e) => {
|
|
106
|
-
try {
|
|
107
|
-
y("button_click", {
|
|
108
|
-
button_name: "add-app-add-button",
|
|
109
|
-
button_type: "submit",
|
|
110
|
-
button_id: "add-app-submit-button"
|
|
111
|
-
});
|
|
112
|
-
let o = { ...e };
|
|
113
|
-
q ? (await F(o), d({ message: "App Updated Succesfully", type: "success" })) : (o.isActive = !0, await ge(o), d({ message: "App added Succesfully", type: "success" })), y("conversion_event", {
|
|
114
|
-
form: k.current,
|
|
115
|
-
form_name: "Add app Configuration",
|
|
116
|
-
submit: !0
|
|
117
|
-
}), b(), await C(), S(), m(!1);
|
|
118
|
-
} catch (o) {
|
|
119
|
-
console.error(o), d({ message: "Error in Adding App", type: "error" });
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
return /* @__PURE__ */ t(
|
|
123
|
-
me,
|
|
124
|
-
{
|
|
125
|
-
"data-testid": "appModal-modal",
|
|
126
|
-
open: K,
|
|
127
|
-
onClose: () => {
|
|
128
|
-
j(), E();
|
|
129
|
-
},
|
|
130
|
-
className: "translation-modal",
|
|
131
|
-
children: /* @__PURE__ */ i(
|
|
132
|
-
a,
|
|
133
|
-
{
|
|
134
|
-
container: !0,
|
|
135
|
-
sx: {
|
|
136
|
-
display: "flex",
|
|
137
|
-
flexDirection: "column",
|
|
138
|
-
position: "absolute",
|
|
139
|
-
top: 20,
|
|
140
|
-
left: "50%",
|
|
141
|
-
transform: "translateX(-50%)",
|
|
142
|
-
width: "95%",
|
|
143
|
-
maxW: "100%",
|
|
144
|
-
maxWidth: { sm: 600, md: 700, lg: 800 },
|
|
145
|
-
bgcolor: "background.paper",
|
|
146
|
-
boxShadow: 24,
|
|
147
|
-
border: 1,
|
|
148
|
-
borderColor: "divider",
|
|
149
|
-
borderRadius: 0.5
|
|
150
|
-
},
|
|
151
|
-
children: [
|
|
152
|
-
/* @__PURE__ */ t(
|
|
153
|
-
be,
|
|
154
|
-
{
|
|
155
|
-
description: Y,
|
|
156
|
-
title: "CONFIRM ACTION",
|
|
157
|
-
handleClick: ie,
|
|
158
|
-
open: H,
|
|
159
|
-
handleClose: () => {
|
|
160
|
-
g((e) => !e);
|
|
161
|
-
},
|
|
162
|
-
"data-testid": "app-modal-customconfirmation"
|
|
163
|
-
}
|
|
164
|
-
),
|
|
165
|
-
/* @__PURE__ */ i(
|
|
166
|
-
a,
|
|
167
|
-
{
|
|
168
|
-
sx: {
|
|
169
|
-
p: 1.25,
|
|
170
|
-
px: 3,
|
|
171
|
-
display: "flex",
|
|
172
|
-
justifyContent: "space-between",
|
|
173
|
-
alignItems: "center",
|
|
174
|
-
borderBottom: 1,
|
|
175
|
-
borderColor: "divider",
|
|
176
|
-
flexWrap: "wrap",
|
|
177
|
-
gap: 1
|
|
178
|
-
},
|
|
179
|
-
"data-testid": "appModal-header",
|
|
180
|
-
children: [
|
|
181
|
-
/* @__PURE__ */ t(
|
|
182
|
-
ue,
|
|
183
|
-
{
|
|
184
|
-
variant: "body1",
|
|
185
|
-
className: "text-customBlue",
|
|
186
|
-
sx: { fontWeight: "medium", fontSize: "1.125rem" },
|
|
187
|
-
children: s("Manage Apps")
|
|
188
|
-
}
|
|
189
|
-
),
|
|
190
|
-
/* @__PURE__ */ t(
|
|
191
|
-
fe,
|
|
192
|
-
{
|
|
193
|
-
size: "small",
|
|
194
|
-
onClick: () => {
|
|
195
|
-
j();
|
|
196
|
-
},
|
|
197
|
-
"data-testid": "appModal-close-button",
|
|
198
|
-
children: /* @__PURE__ */ t(A, { icon: Ae })
|
|
199
|
-
}
|
|
200
|
-
)
|
|
201
|
-
]
|
|
202
|
-
}
|
|
203
|
-
),
|
|
204
|
-
/* @__PURE__ */ t(
|
|
205
|
-
a,
|
|
206
|
-
{
|
|
207
|
-
item: !0,
|
|
208
|
-
sx: {
|
|
209
|
-
overflowY: "auto",
|
|
210
|
-
maxHeight: "80vh",
|
|
211
|
-
width: "100%",
|
|
212
|
-
overflowX: "auto"
|
|
213
|
-
},
|
|
214
|
-
children: /* @__PURE__ */ t(
|
|
215
|
-
a,
|
|
216
|
-
{
|
|
217
|
-
sx: {
|
|
218
|
-
p: 1.25,
|
|
219
|
-
px: 3,
|
|
220
|
-
display: "flex",
|
|
221
|
-
justifyContent: "space-between",
|
|
222
|
-
alignItems: "center",
|
|
223
|
-
borderBottom: 1,
|
|
224
|
-
borderColor: "divider",
|
|
225
|
-
flexWrap: "wrap",
|
|
226
|
-
gap: 1
|
|
227
|
-
},
|
|
228
|
-
children: /* @__PURE__ */ i(a, { item: !0, className: "w-full", children: [
|
|
229
|
-
!w && /* @__PURE__ */ t(a, { container: !0, justifyContent: "flex-end", className: "pb-[10px]", children: /* @__PURE__ */ t(ye, { isLoading: I, children: /* @__PURE__ */ t(a, { item: !0, children: /* @__PURE__ */ i(
|
|
230
|
-
x,
|
|
231
|
-
{
|
|
232
|
-
size: "small",
|
|
233
|
-
variant: "contained",
|
|
234
|
-
"data-testid": "add-app-button",
|
|
235
|
-
color: "primary",
|
|
236
|
-
onClick: ne,
|
|
237
|
-
children: [
|
|
238
|
-
s("Add"),
|
|
239
|
-
" ",
|
|
240
|
-
s("App")
|
|
241
|
-
]
|
|
242
|
-
}
|
|
243
|
-
) }) }) }),
|
|
244
|
-
w && /* @__PURE__ */ t(a, { container: !0, justifyContent: "flex-start", sx: { pb: 1.25 }, children: /* @__PURE__ */ i("form", { onSubmit: $(re), className: "w-full", children: [
|
|
245
|
-
/* @__PURE__ */ t(a, { item: !0, className: "pb-[5px]", children: /* @__PURE__ */ t(
|
|
246
|
-
B,
|
|
247
|
-
{
|
|
248
|
-
variant: "outlined",
|
|
249
|
-
className: "w-full",
|
|
250
|
-
"data-testid": "app-value-field",
|
|
251
|
-
children: /* @__PURE__ */ i(
|
|
252
|
-
r,
|
|
253
|
-
{
|
|
254
|
-
sx: {
|
|
255
|
-
display: "flex",
|
|
256
|
-
alignItems: "center",
|
|
257
|
-
gap: 2,
|
|
258
|
-
mb: 1,
|
|
259
|
-
width: "100%"
|
|
260
|
-
},
|
|
261
|
-
children: [
|
|
262
|
-
/* @__PURE__ */ i(r, { sx: { width: "100%" }, children: [
|
|
263
|
-
s("App"),
|
|
264
|
-
/* @__PURE__ */ t(
|
|
265
|
-
r,
|
|
266
|
-
{
|
|
267
|
-
component: "span",
|
|
268
|
-
sx: { color: "error.main", ml: 0.5 },
|
|
269
|
-
children: "*"
|
|
270
|
-
}
|
|
271
|
-
)
|
|
272
|
-
] }),
|
|
273
|
-
/* @__PURE__ */ t(
|
|
274
|
-
D,
|
|
275
|
-
{
|
|
276
|
-
control: V,
|
|
277
|
-
id: "appValue",
|
|
278
|
-
name: "appValue",
|
|
279
|
-
errors: M,
|
|
280
|
-
label: "",
|
|
281
|
-
size: "small",
|
|
282
|
-
className: "w-full",
|
|
283
|
-
"data-testid": "app-value-input"
|
|
284
|
-
}
|
|
285
|
-
)
|
|
286
|
-
]
|
|
287
|
-
}
|
|
288
|
-
)
|
|
289
|
-
}
|
|
290
|
-
) }),
|
|
291
|
-
/* @__PURE__ */ t(a, { item: !0, className: "pb-[5px]", children: /* @__PURE__ */ t(
|
|
292
|
-
B,
|
|
293
|
-
{
|
|
294
|
-
variant: "outlined",
|
|
295
|
-
className: "w-full",
|
|
296
|
-
"data-testid": "app-key-field",
|
|
297
|
-
children: /* @__PURE__ */ i(
|
|
298
|
-
r,
|
|
299
|
-
{
|
|
300
|
-
sx: {
|
|
301
|
-
display: "flex",
|
|
302
|
-
alignItems: "center",
|
|
303
|
-
gap: 2,
|
|
304
|
-
mb: 1,
|
|
305
|
-
width: "100%"
|
|
306
|
-
},
|
|
307
|
-
children: [
|
|
308
|
-
/* @__PURE__ */ i(r, { sx: { width: "100%" }, children: [
|
|
309
|
-
s("App"),
|
|
310
|
-
" ",
|
|
311
|
-
s("Key"),
|
|
312
|
-
/* @__PURE__ */ t(
|
|
313
|
-
r,
|
|
314
|
-
{
|
|
315
|
-
component: "span",
|
|
316
|
-
sx: { color: "error.main", ml: 0.5 },
|
|
317
|
-
children: "*"
|
|
318
|
-
}
|
|
319
|
-
)
|
|
320
|
-
] }),
|
|
321
|
-
/* @__PURE__ */ t(
|
|
322
|
-
D,
|
|
323
|
-
{
|
|
324
|
-
control: V,
|
|
325
|
-
id: "appKey",
|
|
326
|
-
name: "appKey",
|
|
327
|
-
errors: M,
|
|
328
|
-
label: "",
|
|
329
|
-
size: "small",
|
|
330
|
-
className: "w-full",
|
|
331
|
-
"data-testid": "app-key-input"
|
|
332
|
-
}
|
|
333
|
-
)
|
|
334
|
-
]
|
|
335
|
-
}
|
|
336
|
-
)
|
|
337
|
-
}
|
|
338
|
-
) }),
|
|
339
|
-
/* @__PURE__ */ t(
|
|
340
|
-
a,
|
|
341
|
-
{
|
|
342
|
-
item: !0,
|
|
343
|
-
sx: {
|
|
344
|
-
pb: 0.625,
|
|
345
|
-
display: "flex",
|
|
346
|
-
justifyContent: "flex-end",
|
|
347
|
-
width: "100%"
|
|
348
|
-
},
|
|
349
|
-
children: /* @__PURE__ */ i(
|
|
350
|
-
r,
|
|
351
|
-
{
|
|
352
|
-
sx: {
|
|
353
|
-
display: "flex",
|
|
354
|
-
flexDirection: { xs: "column", sm: "row" },
|
|
355
|
-
gap: 1,
|
|
356
|
-
width: { xs: "100%", sm: "auto" },
|
|
357
|
-
justifyContent: "flex-end"
|
|
358
|
-
},
|
|
359
|
-
children: [
|
|
360
|
-
/* @__PURE__ */ t(
|
|
361
|
-
x,
|
|
362
|
-
{
|
|
363
|
-
size: "small",
|
|
364
|
-
variant: "contained",
|
|
365
|
-
"data-testid": "add-app-cancel",
|
|
366
|
-
color: "secondary",
|
|
367
|
-
onClick: () => {
|
|
368
|
-
m(!1), y("conversion_event", {
|
|
369
|
-
form: k.current,
|
|
370
|
-
form_name: "Add App Configuration",
|
|
371
|
-
submit: !1
|
|
372
|
-
});
|
|
373
|
-
},
|
|
374
|
-
children: s("Cancel")
|
|
375
|
-
}
|
|
376
|
-
),
|
|
377
|
-
/* @__PURE__ */ t(
|
|
378
|
-
x,
|
|
379
|
-
{
|
|
380
|
-
type: "submit",
|
|
381
|
-
size: "small",
|
|
382
|
-
variant: "contained",
|
|
383
|
-
"data-testid": "add-app-save",
|
|
384
|
-
color: "primary",
|
|
385
|
-
children: s("Save")
|
|
386
|
-
}
|
|
387
|
-
)
|
|
388
|
-
]
|
|
389
|
-
}
|
|
390
|
-
)
|
|
391
|
-
}
|
|
392
|
-
)
|
|
393
|
-
] }) }),
|
|
394
|
-
/* @__PURE__ */ t(a, { className: "w-full block", children: /* @__PURE__ */ t(
|
|
395
|
-
ke,
|
|
396
|
-
{
|
|
397
|
-
columns: ee,
|
|
398
|
-
tableData: W,
|
|
399
|
-
actions: le,
|
|
400
|
-
paginationConfig: { pagination: !1 },
|
|
401
|
-
styleConfig: { tableStyle: { maxHeight: 120 } },
|
|
402
|
-
isLoading: I
|
|
403
|
-
}
|
|
404
|
-
) })
|
|
405
|
-
] })
|
|
406
|
-
}
|
|
407
|
-
)
|
|
408
|
-
}
|
|
409
|
-
)
|
|
410
|
-
]
|
|
411
|
-
}
|
|
412
|
-
)
|
|
413
|
-
}
|
|
414
|
-
);
|
|
415
|
-
};
|
|
416
|
-
we.propTypes = {
|
|
417
|
-
open: n.any,
|
|
418
|
-
handleClose: n.any,
|
|
419
|
-
languages: n.any,
|
|
420
|
-
refresh: n.any,
|
|
421
|
-
refetch: n.any,
|
|
422
|
-
selectedApp: n.any,
|
|
423
|
-
setSelectedApp: n.any
|
|
424
|
-
};
|
|
425
|
-
export {
|
|
426
|
-
we as default
|
|
427
|
-
};
|
|
428
|
-
//# sourceMappingURL=AppModal-CtG2GjD_.js.map
|