@argusoft/medplat-core 1.0.26 → 1.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/{AccessRights-CupmTG3T.js → AccessRights-CHu27ZOw.js} +220 -217
  2. package/dist/AccessRights-CHu27ZOw.js.map +1 -0
  3. package/dist/{AddEditQueryBuilder-C8ZSkOF0.js → AddEditQueryBuilder-Brdnm6rQ.js} +2 -2
  4. package/dist/{AddEditQueryBuilder-C8ZSkOF0.js.map → AddEditQueryBuilder-Brdnm6rQ.js.map} +1 -1
  5. package/dist/{AddFeatures-CqE3v0BN.js → AddFeatures-C0Z29oSd.js} +2 -2
  6. package/dist/{AddFeatures-CqE3v0BN.js.map → AddFeatures-C0Z29oSd.js.map} +1 -1
  7. package/dist/{AddLabelModal-CB8E8cYG.js → AddLabelModal-DFllBVcd.js} +2 -2
  8. package/dist/{AddLabelModal-CB8E8cYG.js.map → AddLabelModal-DFllBVcd.js.map} +1 -1
  9. package/dist/{AppModal-BKgIwe1h.js → AppModal-CtG2GjD_.js} +2 -2
  10. package/dist/{AppModal-BKgIwe1h.js.map → AppModal-CtG2GjD_.js.map} +1 -1
  11. package/dist/{ChangePasswordModalCore-DTYWRTa-.js → ChangePasswordModalCore-CDxkeIIM.js} +2 -2
  12. package/dist/{ChangePasswordModalCore-DTYWRTa-.js.map → ChangePasswordModalCore-CDxkeIIM.js.map} +1 -1
  13. package/dist/{EventConfigurations-lPcZGpLi.js → EventConfigurations-kNtAj_WM.js} +76 -76
  14. package/dist/EventConfigurations-kNtAj_WM.js.map +1 -0
  15. package/dist/{FeatureMenu-DUZL32RI.js → FeatureMenu-jl7-Tk6y.js} +49 -49
  16. package/dist/FeatureMenu-jl7-Tk6y.js.map +1 -0
  17. package/dist/FileSaver.min-CN9EpL2h.js.map +1 -1
  18. package/dist/{ImmunizationConfigurationsList-K2ddBpPJ.js → ImmunizationConfigurationsList-DdSZicTP.js} +72 -73
  19. package/dist/{ImmunizationConfigurationsList-K2ddBpPJ.js.map → ImmunizationConfigurationsList-DdSZicTP.js.map} +1 -1
  20. package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +1 -1
  21. package/dist/{LanguagesModal-CX3oS8rk.js → LanguagesModal-D6VfaGrl.js} +2 -2
  22. package/dist/{LanguagesModal-CX3oS8rk.js.map → LanguagesModal-D6VfaGrl.js.map} +1 -1
  23. package/dist/{ManageNotification-CSl02Wq7.js → ManageNotification-CaBAOhji.js} +2 -2
  24. package/dist/ManageNotification-CaBAOhji.js.map +1 -0
  25. package/dist/{ManageRole-B9bs_T00.js → ManageRole-CGYfglpo.js} +2 -2
  26. package/dist/{ManageRole-B9bs_T00.js.map → ManageRole-CGYfglpo.js.map} +1 -1
  27. package/dist/{ManageTranslation-D9IScGhk.js → ManageTranslation-B4C9-lWD.js} +74 -74
  28. package/dist/ManageTranslation-B4C9-lWD.js.map +1 -0
  29. package/dist/{ManageUser-AB3_Vfp_.js → ManageUser-AY1EUDLI.js} +600 -601
  30. package/dist/ManageUser-AY1EUDLI.js.map +1 -0
  31. package/dist/{NotificationList-D1U1LYnz.js → NotificationList-C3Vb_jKU.js} +73 -73
  32. package/dist/NotificationList-C3Vb_jKU.js.map +1 -0
  33. package/dist/OtherTypeEventConfigModal-BeG1GrUi.js.map +1 -1
  34. package/dist/{QueryBuilder-DI0wCJbz.js → QueryBuilder-z7eqfd7D.js} +117 -119
  35. package/dist/QueryBuilder-z7eqfd7D.js.map +1 -0
  36. package/dist/{QueryManagement-CRykYGum.js → QueryManagement-BIhEDKuA.js} +114 -114
  37. package/dist/QueryManagement-BIhEDKuA.js.map +1 -0
  38. package/dist/{RoleManagement-BIiW9uTq.js → RoleManagement-BPl2cE27.js} +99 -99
  39. package/dist/RoleManagement-BPl2cE27.js.map +1 -0
  40. package/dist/{SubMenu-CM_4wNCR.js → SubMenu-DYxAPH2Z.js} +34 -34
  41. package/dist/SubMenu-DYxAPH2Z.js.map +1 -0
  42. package/dist/{UserList-2gGuDgNa.js → UserList-Bc8gYxRL.js} +397 -400
  43. package/dist/UserList-Bc8gYxRL.js.map +1 -0
  44. package/dist/{WidgetList-B7X8Awkg.js → WidgetList-Dw_FmbbE.js} +26 -26
  45. package/dist/WidgetList-Dw_FmbbE.js.map +1 -0
  46. package/dist/i18next-CTOWN_jH.js.map +1 -1
  47. package/dist/index.css +1 -1
  48. package/dist/index.js +10 -10
  49. package/dist/xlsx.min-D1LFqt_b.js.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/AccessRights-CupmTG3T.js.map +0 -1
  52. package/dist/EventConfigurations-lPcZGpLi.js.map +0 -1
  53. package/dist/FeatureMenu-DUZL32RI.js.map +0 -1
  54. package/dist/ManageNotification-CSl02Wq7.js.map +0 -1
  55. package/dist/ManageTranslation-D9IScGhk.js.map +0 -1
  56. package/dist/ManageUser-AB3_Vfp_.js.map +0 -1
  57. package/dist/NotificationList-D1U1LYnz.js.map +0 -1
  58. package/dist/QueryBuilder-DI0wCJbz.js.map +0 -1
  59. package/dist/QueryManagement-CRykYGum.js.map +0 -1
  60. package/dist/RoleManagement-BIiW9uTq.js.map +0 -1
  61. package/dist/SubMenu-CM_4wNCR.js.map +0 -1
  62. package/dist/UserList-2gGuDgNa.js.map +0 -1
  63. package/dist/WidgetList-B7X8Awkg.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AddLabelModal-CB8E8cYG.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
+ {"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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"}
@@ -8,7 +8,7 @@ import * as v from "yup";
8
8
  import { Modal as me, Typography as ue, IconButton as fe, Button as x, FormControl as B, Box as r } from "@mui/material";
9
9
  import D from "@/views/custom-components/CustomTextField";
10
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-D9IScGhk.js";
11
+ import { g as he, A as ye, u as F, c as ge } from "./ManageTranslation-B4C9-lWD.js";
12
12
  import be from "@/views/custom-components/CustomConfirmationModal";
13
13
  import ve from "@/hooks/useTrackEvent";
14
14
  import { useTranslateProvider as xe } from "@/common/languageTranslator/TranslationContext";
@@ -425,4 +425,4 @@ we.propTypes = {
425
425
  export {
426
426
  we as default
427
427
  };
428
- //# sourceMappingURL=AppModal-BKgIwe1h.js.map
428
+ //# sourceMappingURL=AppModal-CtG2GjD_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppModal-BKgIwe1h.js","sources":["../src/views/Translation/AppModal.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } 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 {\n createApp,\n getAllApps,\n updateApp,\n} from \"../../services/TranslationService\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { faBars, faPen, faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport { AppModalSkeleton } from \"./Skeletons/ManageTranslationSkeleton\";\n// Define the validation schema using Yup\n\n/**\n * Modal component for configuring mobile type event notifications.\n * @module appModal\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.languages - List of language objects for language-specific data.\n *\n * @returns {JSX.Element} The rendered modal component.\n *\n */\nconst AppModal = ({\n open,\n handleClose,\n languages,\n refresh,\n refetch,\n selectedApp,\n setSelectedApp,\n}) => {\n const formRef = useRef(null);\n const trackEvent = useTrackEvent();\n const [tableData, setTableData] = useState([]);\n const [apps, setApps] = useState([]);\n const [showForm, setShowForm] = useState(false);\n const [isEdit, setIsEdit] = useState(false);\n const { translate } = useTranslateProvider();\n\n const [toggleOpen, setToggleOpen] = useState(false);\n\n const [isActiveLabel, setIsActiveLabel] = useState(\"\");\n const [isActiveDescription, setIsActiveDescription] = useState(\"\");\n const [clickedRow, setClickedRow] = useState({});\n const [loading, setLoading] = useState(false);\n\n const validationSchema = Yup.object().shape({\n appValue: Yup.string().required(\"Select App Value\"),\n appKey: Yup.string().required(\"Enter App key\"),\n });\n\n const {\n control,\n handleSubmit,\n reset,\n setValue,\n formState: { errors },\n } = useForm({\n defaultValues: {},\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const cols = [\n { field: \"Sr. No.\", label: `Sr.No`, align: \"left\" },\n { field: \"appValue\", label: \"App\", align: \"left\" },\n { field: \"stateValue\", label: \"State\", align: \"left\" },\n { field: \"Actions\", label: \"Actions\" },\n ];\n\n /**\n * Handles editing an existing app.\n * @method handleEdit\n * @param {Object} row - The row object containing app data to be edited.\n */\n const handleEdit = (row) => {\n setValue(\"appKey\", row?.appKey);\n setValue(\"appValue\", row?.appValue);\n setValue(\"id\", row?.id);\n setValue(\"isActive\", row?.isActive);\n setIsEdit(true);\n setShowForm(true);\n };\n\n /**\n * Toggles the state option for an app.\n * @method handleToggleOption\n * @param {Object} data - The data related to the app state.\n */\n const handleToggleOption = (data) => {\n setIsActiveLabel(\n data?.stateValue === \"Active\" ? \"Mark as Inactive\" : \"Mark as Active\",\n );\n setIsActiveDescription(\n data?.stateValue === \"Active\"\n ? \"Are you sure you want to change the state from active to inactive?\"\n : \"Are you sure you want to change the state from inactive to active?\",\n );\n setClickedRow(data);\n };\n\n /**\n * Toggles the visibility of the state change confirmation modal.\n * @method handleToggle\n */\n const handleToggle = () => {\n setToggleOpen((curr) => !curr);\n };\n\n /**\n * Handles the toggling of the app state (active/inactive).\n * @method handleToggleState\n */\n const handleToggleState = async () => {\n try {\n clickedRow.isActive = !clickedRow.isActive;\n await updateApp(clickedRow);\n init();\n if (selectedApp === clickedRow?.id) {\n setSelectedApp(null);\n }\n await refresh();\n refetch();\n\n setToggleOpen((cur) => !cur);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in Toggle State\", type: \"error\" });\n }\n };\n\n const menuItems = [\n { label: translate(isActiveLabel), onClick: handleToggle },\n ];\n\n const actions = [\n {\n label: \"\",\n icon: <FontAwesomeIcon icon={faPen} />,\n onClick: handleEdit,\n dataTestId: \"app-modal-edit-icon\",\n },\n {\n label: \"\",\n icon: <FontAwesomeIcon icon={faBars} />,\n menuClick: handleToggleOption,\n menuItems: menuItems,\n dataTestId: \"app-modal-menu-icon\",\n },\n ];\n\n /**\n * Initializes the modal by resetting values and setting up state.\n * @method addApp\n */\n const addApp = () => {\n reset();\n setIsEdit(false);\n setShowForm(true);\n };\n\n useEffect(() => {\n if (apps) {\n const data = [];\n apps?.forEach((element) => {\n let newElement = { ...element };\n if (element?.isActive) {\n newElement.stateValue = \"Active\";\n } else {\n newElement.stateValue = \"Inactive\";\n }\n languages?.forEach((lang) => {\n if (element.language === lang.id) {\n newElement.languagevalue = lang.languageValue;\n }\n });\n\n data.push(newElement);\n });\n setTableData(data);\n }\n }, [apps]);\n\n useEffect(() => {\n init();\n }, []);\n const init = async () => {\n setLoading((cur) => !cur);\n try {\n const res = await getAllApps();\n setApps(res?.data);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in loading apps\", type: \"error\" });\n } finally {\n setLoading((cur) => !cur);\n }\n };\n const close = () => {\n handleClose();\n };\n const onSubmit = async (data) => {\n try {\n trackEvent(\"button_click\", {\n button_name: \"add-app-add-button\",\n button_type: \"submit\",\n button_id: \"add-app-submit-button\",\n });\n let appDto = { ...data };\n if (isEdit) {\n await updateApp(appDto);\n showToast({ message: \"App Updated Succesfully\", type: \"success\" });\n } else {\n appDto.isActive = true;\n await createApp(appDto);\n showToast({ message: \"App added Succesfully\", type: \"success\" });\n }\n\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add app Configuration\",\n submit: true,\n });\n\n init();\n\n await refresh();\n refetch();\n setShowForm(false);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in Adding App\", type: \"error\" });\n }\n };\n\n return (\n <Modal\n data-testid=\"appModal-modal\"\n open={open}\n onClose={() => {\n close();\n reset();\n }}\n className=\"translation-modal\"\n >\n <Grid\n container\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n position: \"absolute\",\n top: 20,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"95%\",\n maxW: \"100%\",\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 <CustomConfirmationModal\n description={isActiveDescription}\n title={\"CONFIRM ACTION\"}\n handleClick={handleToggleState}\n open={toggleOpen}\n handleClose={() => {\n setToggleOpen((cur) => !cur);\n }}\n data-testid=\"app-modal-customconfirmation\"\n />\n\n <Grid\n sx={{\n p: 1.25,\n px: 3,\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n borderBottom: 1,\n borderColor: \"divider\",\n flexWrap: \"wrap\",\n gap: 1,\n }}\n data-testid=\"appModal-header\"\n >\n <Typography\n variant=\"body1\"\n className=\"text-customBlue\"\n sx={{ fontWeight: \"medium\", fontSize: \"1.125rem\" }}\n >\n {translate(\"Manage Apps\")}\n </Typography>\n <IconButton\n size=\"small\"\n onClick={() => {\n close();\n }}\n data-testid=\"appModal-close-button\"\n >\n <FontAwesomeIcon icon={faXmark} />\n </IconButton>\n </Grid>\n\n <Grid\n item\n sx={{\n overflowY: \"auto\",\n maxHeight: \"80vh\",\n width: \"100%\",\n overflowX: \"auto\",\n }}\n >\n <Grid\n sx={{\n p: 1.25,\n px: 3,\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n borderBottom: 1,\n borderColor: \"divider\",\n flexWrap: \"wrap\",\n gap: 1,\n }}\n >\n <Grid item className=\"w-full\">\n {!showForm && (\n <Grid container justifyContent=\"flex-end\" className=\"pb-[10px]\">\n <AppModalSkeleton isLoading={loading}>\n <Grid item>\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-app-button\"\n color=\"primary\"\n onClick={addApp}\n >\n {translate(\"Add\")} {translate(\"App\")}\n </Button>\n </Grid>\n </AppModalSkeleton>\n </Grid>\n )}\n\n {showForm && (\n <Grid container justifyContent=\"flex-start\" sx={{ pb: 1.25 }}>\n <form onSubmit={handleSubmit(onSubmit)} className=\"w-full\">\n <Grid item className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"app-value-field\"\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 2,\n mb: 1,\n width: \"100%\",\n }}\n >\n <Box sx={{ width: \"100%\" }}>\n {translate(\"App\")}\n <Box\n component=\"span\"\n sx={{ color: \"error.main\", ml: 0.5 }}\n >\n *\n </Box>\n </Box>\n <CustomTextField\n control={control}\n id=\"appValue\"\n name=\"appValue\"\n errors={errors}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"app-value-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n\n <Grid item className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"app-key-field\"\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 2,\n mb: 1,\n width: \"100%\",\n }}\n >\n <Box sx={{ width: \"100%\" }}>\n {translate(\"App\")} {translate(\"Key\")}\n <Box\n component=\"span\"\n sx={{ color: \"error.main\", ml: 0.5 }}\n >\n *\n </Box>\n </Box>\n <CustomTextField\n control={control}\n id=\"appKey\"\n name=\"appKey\"\n errors={errors}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"app-key-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n\n <Grid\n item\n sx={{\n pb: 0.625,\n display: \"flex\",\n justifyContent: \"flex-end\",\n width: \"100%\",\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n flexDirection: { xs: \"column\", sm: \"row\" },\n gap: 1,\n width: { xs: \"100%\", sm: \"auto\" },\n justifyContent: \"flex-end\",\n }}\n >\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-app-cancel\"\n color=\"secondary\"\n onClick={() => {\n setShowForm(false);\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add App Configuration\",\n submit: false,\n });\n }}\n >\n {translate(\"Cancel\")}\n </Button>\n <Button\n type=\"submit\"\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-app-save\"\n color=\"primary\"\n >\n {translate(\"Save\")}\n </Button>\n </Box>\n </Grid>\n </form>\n </Grid>\n )}\n <Grid className=\"w-full block\">\n <CustomizedTable\n columns={cols}\n tableData={tableData}\n actions={actions}\n paginationConfig={{ pagination: false }}\n styleConfig={{ tableStyle: { maxHeight: 120 } }}\n isLoading={loading}\n />\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n </Modal>\n );\n};\n\nAppModal.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.any,\n languages: PropTypes.any,\n refresh: PropTypes.any,\n refetch: PropTypes.any,\n selectedApp: PropTypes.any,\n setSelectedApp: PropTypes.any,\n};\n\nexport default AppModal;\n"],"names":["AppModal","open","handleClose","languages","refresh","refetch","selectedApp","setSelectedApp","formRef","useRef","trackEvent","useTrackEvent","tableData","setTableData","useState","apps","setApps","showForm","setShowForm","isEdit","setIsEdit","translate","useTranslateProvider","toggleOpen","setToggleOpen","isActiveLabel","setIsActiveLabel","isActiveDescription","setIsActiveDescription","clickedRow","setClickedRow","loading","setLoading","validationSchema","Yup","control","handleSubmit","reset","setValue","errors","useForm","yupResolver","cols","handleEdit","row","handleToggleOption","data","handleToggle","curr","handleToggleState","updateApp","init","cur","error","showToast","menuItems","actions","jsx","FontAwesomeIcon","faPen","faBars","addApp","useEffect","element","newElement","lang","res","getAllApps","close","onSubmit","appDto","createApp","Modal","jsxs","Grid","CustomConfirmationModal","Typography","IconButton","faXmark","AppModalSkeleton","Button","FormControl","Box","CustomTextField","CustomizedTable","PropTypes"],"mappings":"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"}
1
+ {"version":3,"file":"AppModal-CtG2GjD_.js","sources":["../src/views/Translation/AppModal.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } 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 {\n createApp,\n getAllApps,\n updateApp,\n} from \"../../services/TranslationService\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { faBars, faPen, faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport CustomizedTable from \"@/views/custom-components/CustomizedTable/CustomizedTableV2\";\nimport { AppModalSkeleton } from \"./Skeletons/ManageTranslationSkeleton\";\n// Define the validation schema using Yup\n\n/**\n * Modal component for configuring mobile type event notifications.\n * @module appModal\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.languages - List of language objects for language-specific data.\n *\n * @returns {JSX.Element} The rendered modal component.\n *\n */\nconst AppModal = ({\n open,\n handleClose,\n languages,\n refresh,\n refetch,\n selectedApp,\n setSelectedApp,\n}) => {\n const formRef = useRef(null);\n const trackEvent = useTrackEvent();\n const [tableData, setTableData] = useState([]);\n const [apps, setApps] = useState([]);\n const [showForm, setShowForm] = useState(false);\n const [isEdit, setIsEdit] = useState(false);\n const { translate } = useTranslateProvider();\n\n const [toggleOpen, setToggleOpen] = useState(false);\n\n const [isActiveLabel, setIsActiveLabel] = useState(\"\");\n const [isActiveDescription, setIsActiveDescription] = useState(\"\");\n const [clickedRow, setClickedRow] = useState({});\n const [loading, setLoading] = useState(false);\n\n const validationSchema = Yup.object().shape({\n appValue: Yup.string().required(\"Select App Value\"),\n appKey: Yup.string().required(\"Enter App key\"),\n });\n\n const {\n control,\n handleSubmit,\n reset,\n setValue,\n formState: { errors },\n } = useForm({\n defaultValues: {},\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const cols = [\n { field: \"Sr. No.\", label: `Sr.No`, align: \"left\" },\n { field: \"appValue\", label: \"App\", align: \"left\" },\n { field: \"stateValue\", label: \"State\", align: \"left\" },\n { field: \"Actions\", label: \"Actions\" },\n ];\n\n /**\n * Handles editing an existing app.\n * @method handleEdit\n * @param {Object} row - The row object containing app data to be edited.\n */\n const handleEdit = (row) => {\n setValue(\"appKey\", row?.appKey);\n setValue(\"appValue\", row?.appValue);\n setValue(\"id\", row?.id);\n setValue(\"isActive\", row?.isActive);\n setIsEdit(true);\n setShowForm(true);\n };\n\n /**\n * Toggles the state option for an app.\n * @method handleToggleOption\n * @param {Object} data - The data related to the app state.\n */\n const handleToggleOption = (data) => {\n setIsActiveLabel(\n data?.stateValue === \"Active\" ? \"Mark as Inactive\" : \"Mark as Active\",\n );\n setIsActiveDescription(\n data?.stateValue === \"Active\"\n ? \"Are you sure you want to change the state from active to inactive?\"\n : \"Are you sure you want to change the state from inactive to active?\",\n );\n setClickedRow(data);\n };\n\n /**\n * Toggles the visibility of the state change confirmation modal.\n * @method handleToggle\n */\n const handleToggle = () => {\n setToggleOpen((curr) => !curr);\n };\n\n /**\n * Handles the toggling of the app state (active/inactive).\n * @method handleToggleState\n */\n const handleToggleState = async () => {\n try {\n clickedRow.isActive = !clickedRow.isActive;\n await updateApp(clickedRow);\n init();\n if (selectedApp === clickedRow?.id) {\n setSelectedApp(null);\n }\n await refresh();\n refetch();\n\n setToggleOpen((cur) => !cur);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in Toggle State\", type: \"error\" });\n }\n };\n\n const menuItems = [\n { label: translate(isActiveLabel), onClick: handleToggle },\n ];\n\n const actions = [\n {\n label: \"\",\n icon: <FontAwesomeIcon icon={faPen} />,\n onClick: handleEdit,\n dataTestId: \"app-modal-edit-icon\",\n },\n {\n label: \"\",\n icon: <FontAwesomeIcon icon={faBars} />,\n menuClick: handleToggleOption,\n menuItems: menuItems,\n dataTestId: \"app-modal-menu-icon\",\n },\n ];\n\n /**\n * Initializes the modal by resetting values and setting up state.\n * @method addApp\n */\n const addApp = () => {\n reset();\n setIsEdit(false);\n setShowForm(true);\n };\n\n useEffect(() => {\n if (apps) {\n const data = [];\n apps?.forEach((element) => {\n let newElement = { ...element };\n if (element?.isActive) {\n newElement.stateValue = \"Active\";\n } else {\n newElement.stateValue = \"Inactive\";\n }\n languages?.forEach((lang) => {\n if (element.language === lang.id) {\n newElement.languagevalue = lang.languageValue;\n }\n });\n\n data.push(newElement);\n });\n setTableData(data);\n }\n }, [apps]);\n\n useEffect(() => {\n init();\n }, []);\n const init = async () => {\n setLoading((cur) => !cur);\n try {\n const res = await getAllApps();\n setApps(res?.data);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in loading apps\", type: \"error\" });\n } finally {\n setLoading((cur) => !cur);\n }\n };\n const close = () => {\n handleClose();\n };\n const onSubmit = async (data) => {\n try {\n trackEvent(\"button_click\", {\n button_name: \"add-app-add-button\",\n button_type: \"submit\",\n button_id: \"add-app-submit-button\",\n });\n let appDto = { ...data };\n if (isEdit) {\n await updateApp(appDto);\n showToast({ message: \"App Updated Succesfully\", type: \"success\" });\n } else {\n appDto.isActive = true;\n await createApp(appDto);\n showToast({ message: \"App added Succesfully\", type: \"success\" });\n }\n\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add app Configuration\",\n submit: true,\n });\n\n init();\n\n await refresh();\n refetch();\n setShowForm(false);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in Adding App\", type: \"error\" });\n }\n };\n\n return (\n <Modal\n data-testid=\"appModal-modal\"\n open={open}\n onClose={() => {\n close();\n reset();\n }}\n className=\"translation-modal\"\n >\n <Grid\n container\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n position: \"absolute\",\n top: 20,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"95%\",\n maxW: \"100%\",\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 <CustomConfirmationModal\n description={isActiveDescription}\n title={\"CONFIRM ACTION\"}\n handleClick={handleToggleState}\n open={toggleOpen}\n handleClose={() => {\n setToggleOpen((cur) => !cur);\n }}\n data-testid=\"app-modal-customconfirmation\"\n />\n\n <Grid\n sx={{\n p: 1.25,\n px: 3,\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n borderBottom: 1,\n borderColor: \"divider\",\n flexWrap: \"wrap\",\n gap: 1,\n }}\n data-testid=\"appModal-header\"\n >\n <Typography\n variant=\"body1\"\n className=\"text-customBlue\"\n sx={{ fontWeight: \"medium\", fontSize: \"1.125rem\" }}\n >\n {translate(\"Manage Apps\")}\n </Typography>\n <IconButton\n size=\"small\"\n onClick={() => {\n close();\n }}\n data-testid=\"appModal-close-button\"\n >\n <FontAwesomeIcon icon={faXmark} />\n </IconButton>\n </Grid>\n\n <Grid\n item\n sx={{\n overflowY: \"auto\",\n maxHeight: \"80vh\",\n width: \"100%\",\n overflowX: \"auto\",\n }}\n >\n <Grid\n sx={{\n p: 1.25,\n px: 3,\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n borderBottom: 1,\n borderColor: \"divider\",\n flexWrap: \"wrap\",\n gap: 1,\n }}\n >\n <Grid item className=\"w-full\">\n {!showForm && (\n <Grid container justifyContent=\"flex-end\" className=\"pb-[10px]\">\n <AppModalSkeleton isLoading={loading}>\n <Grid item>\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-app-button\"\n color=\"primary\"\n onClick={addApp}\n >\n {translate(\"Add\")} {translate(\"App\")}\n </Button>\n </Grid>\n </AppModalSkeleton>\n </Grid>\n )}\n\n {showForm && (\n <Grid container justifyContent=\"flex-start\" sx={{ pb: 1.25 }}>\n <form onSubmit={handleSubmit(onSubmit)} className=\"w-full\">\n <Grid item className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"app-value-field\"\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 2,\n mb: 1,\n width: \"100%\",\n }}\n >\n <Box sx={{ width: \"100%\" }}>\n {translate(\"App\")}\n <Box\n component=\"span\"\n sx={{ color: \"error.main\", ml: 0.5 }}\n >\n *\n </Box>\n </Box>\n <CustomTextField\n control={control}\n id=\"appValue\"\n name=\"appValue\"\n errors={errors}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"app-value-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n\n <Grid item className=\"pb-[5px]\">\n <FormControl\n variant=\"outlined\"\n className=\"w-full\"\n data-testid=\"app-key-field\"\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 2,\n mb: 1,\n width: \"100%\",\n }}\n >\n <Box sx={{ width: \"100%\" }}>\n {translate(\"App\")} {translate(\"Key\")}\n <Box\n component=\"span\"\n sx={{ color: \"error.main\", ml: 0.5 }}\n >\n *\n </Box>\n </Box>\n <CustomTextField\n control={control}\n id=\"appKey\"\n name=\"appKey\"\n errors={errors}\n label=\"\"\n size=\"small\"\n className=\"w-full\"\n data-testid=\"app-key-input\"\n />\n </Box>\n </FormControl>\n </Grid>\n\n <Grid\n item\n sx={{\n pb: 0.625,\n display: \"flex\",\n justifyContent: \"flex-end\",\n width: \"100%\",\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n flexDirection: { xs: \"column\", sm: \"row\" },\n gap: 1,\n width: { xs: \"100%\", sm: \"auto\" },\n justifyContent: \"flex-end\",\n }}\n >\n <Button\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-app-cancel\"\n color=\"secondary\"\n onClick={() => {\n setShowForm(false);\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add App Configuration\",\n submit: false,\n });\n }}\n >\n {translate(\"Cancel\")}\n </Button>\n <Button\n type=\"submit\"\n size=\"small\"\n variant=\"contained\"\n data-testid=\"add-app-save\"\n color=\"primary\"\n >\n {translate(\"Save\")}\n </Button>\n </Box>\n </Grid>\n </form>\n </Grid>\n )}\n <Grid className=\"w-full block\">\n <CustomizedTable\n columns={cols}\n tableData={tableData}\n actions={actions}\n paginationConfig={{ pagination: false }}\n styleConfig={{ tableStyle: { maxHeight: 120 } }}\n isLoading={loading}\n />\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n </Modal>\n );\n};\n\nAppModal.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.any,\n languages: PropTypes.any,\n refresh: PropTypes.any,\n refetch: PropTypes.any,\n selectedApp: PropTypes.any,\n setSelectedApp: PropTypes.any,\n};\n\nexport default AppModal;\n"],"names":["AppModal","open","handleClose","languages","refresh","refetch","selectedApp","setSelectedApp","formRef","useRef","trackEvent","useTrackEvent","tableData","setTableData","useState","apps","setApps","showForm","setShowForm","isEdit","setIsEdit","translate","useTranslateProvider","toggleOpen","setToggleOpen","isActiveLabel","setIsActiveLabel","isActiveDescription","setIsActiveDescription","clickedRow","setClickedRow","loading","setLoading","validationSchema","Yup","control","handleSubmit","reset","setValue","errors","useForm","yupResolver","cols","handleEdit","row","handleToggleOption","data","handleToggle","curr","handleToggleState","updateApp","init","cur","error","showToast","menuItems","actions","jsx","FontAwesomeIcon","faPen","faBars","addApp","useEffect","element","newElement","lang","res","getAllApps","close","onSubmit","appDto","createApp","Modal","jsxs","Grid","CustomConfirmationModal","Typography","IconButton","faXmark","AppModalSkeleton","Button","FormControl","Box","CustomTextField","CustomizedTable","PropTypes"],"mappings":"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"}
@@ -14,7 +14,7 @@ import { showToast as vr } from "@/common/toaster/toaster.jsx";
14
14
  import xr from "@/common/services/util/GeneralUtil";
15
15
  import wr from "@/hooks/useTrackEvent";
16
16
  import { useTranslateProvider as Tr } from "@/common/languageTranslator/TranslationContext";
17
- import { P as Zn } from "./ManageUser-AB3_Vfp_.js";
17
+ import { P as Zn } from "./ManageUser-AY1EUDLI.js";
18
18
  import { PasswordStrength as Pr } from "@/views/feature-components/users/PasswordStrength";
19
19
  const xn = Dt({});
20
20
  function wn(t) {
@@ -5496,4 +5496,4 @@ Th.propTypes = {
5496
5496
  export {
5497
5497
  Th as default
5498
5498
  };
5499
- //# sourceMappingURL=ChangePasswordModalCore-DTYWRTa-.js.map
5499
+ //# sourceMappingURL=ChangePasswordModalCore-CDxkeIIM.js.map