@argusoft/medplat-core 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index-D6bNg8bx.js +66 -0
- package/dist/index-D6bNg8bx.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +99455 -445
- package/dist/index.js.map +1 -1
- package/package.json +4 -1
- package/dist/AccessRights-sgIhYR30.js +0 -1238
- package/dist/AccessRights-sgIhYR30.js.map +0 -1
- package/dist/AddEditQueryBuilder-BaZxS2Cm.js +0 -289
- package/dist/AddEditQueryBuilder-BaZxS2Cm.js.map +0 -1
- package/dist/AddEditQueryBuilder.css +0 -1
- package/dist/AddFeatures-DLbjDGei.js +0 -212
- package/dist/AddFeatures-DLbjDGei.js.map +0 -1
- package/dist/AddLabelModal-DE3ploGD.js +0 -734
- package/dist/AddLabelModal-DE3ploGD.js.map +0 -1
- package/dist/AddMenuConfiguration-QWfpcnuP.js +0 -2237
- package/dist/AddMenuConfiguration-QWfpcnuP.js.map +0 -1
- package/dist/AddMenuConfiguration.css +0 -1
- package/dist/AddRoleDrawer-ZK1eejxI.js +0 -453
- package/dist/AddRoleDrawer-ZK1eejxI.js.map +0 -1
- package/dist/AppModal-BgZyfrd-.js +0 -428
- package/dist/AppModal-BgZyfrd-.js.map +0 -1
- package/dist/ChangePasswordModal-MV7g8tkA.js +0 -176
- package/dist/ChangePasswordModal-MV7g8tkA.js.map +0 -1
- package/dist/ConditionConfig-GDCXIg3C.js +0 -395
- package/dist/ConditionConfig-GDCXIg3C.js.map +0 -1
- package/dist/ConditionConfig.css +0 -1
- package/dist/EntityManagement-D-x6Qzal.js +0 -50
- package/dist/EntityManagement-D-x6Qzal.js.map +0 -1
- package/dist/EventConfigurations-jGCJ4LqP.js +0 -384
- package/dist/EventConfigurations-jGCJ4LqP.js.map +0 -1
- package/dist/EventConfigurations.css +0 -1
- package/dist/EventsExceptionModal-BF6E1Np7.js +0 -200
- package/dist/EventsExceptionModal-BF6E1Np7.js.map +0 -1
- package/dist/EventsSkeleton-BN7_0IGs.js +0 -74
- package/dist/EventsSkeleton-BN7_0IGs.js.map +0 -1
- package/dist/FeatureMenu-BYSRoNm0.js +0 -249
- package/dist/FeatureMenu-BYSRoNm0.js.map +0 -1
- package/dist/Features-CKMmuqcs.js +0 -11
- package/dist/Features-CKMmuqcs.js.map +0 -1
- package/dist/FlywayQuery-Cx2sly6g.js +0 -169
- package/dist/FlywayQuery-Cx2sly6g.js.map +0 -1
- package/dist/ImmunizationConfigurationBase-DZ8EqXlF.js +0 -5166
- package/dist/ImmunizationConfigurationBase-DZ8EqXlF.js.map +0 -1
- package/dist/ImmunizationConfigurationBase.css +0 -1
- package/dist/ImmunizationConfigurationsList-CQnxWa09.js +0 -335
- package/dist/ImmunizationConfigurationsList-CQnxWa09.js.map +0 -1
- package/dist/ImmunizationSkeleton-D2tdv5k-.js +0 -186
- package/dist/ImmunizationSkeleton-D2tdv5k-.js.map +0 -1
- package/dist/LanguagesModal-rk6IGQwY.js +0 -394
- package/dist/LanguagesModal-rk6IGQwY.js.map +0 -1
- package/dist/ManageDynamicFeature-BKkCnQvF.js +0 -4189
- package/dist/ManageDynamicFeature-BKkCnQvF.js.map +0 -1
- package/dist/ManageEventConfiguration-BJxS2Su0.js +0 -1017
- package/dist/ManageEventConfiguration-BJxS2Su0.js.map +0 -1
- package/dist/ManageEventConfiguration.css +0 -1
- package/dist/ManageNotification-B4prX-9Z.js +0 -6819
- package/dist/ManageNotification-B4prX-9Z.js.map +0 -1
- package/dist/ManageRole-BjIIXAlK.js +0 -728
- package/dist/ManageRole-BjIIXAlK.js.map +0 -1
- package/dist/ManageTranslation-BTxvSYKb.js +0 -616
- package/dist/ManageTranslation-BTxvSYKb.js.map +0 -1
- package/dist/ManageTranslation.css +0 -1
- package/dist/ManageUser-PHiTNyF8.js +0 -2160
- package/dist/ManageUser-PHiTNyF8.js.map +0 -1
- package/dist/ManageUser.css +0 -1
- package/dist/MobileMenuManagement-DmQU5TTo.js +0 -108
- package/dist/MobileMenuManagement-DmQU5TTo.js.map +0 -1
- package/dist/MobileTypeEventConfigModal-ChhO_A4f.js +0 -783
- package/dist/MobileTypeEventConfigModal-ChhO_A4f.js.map +0 -1
- package/dist/NewServerManagement-5YcAtF-g.js +0 -1002
- package/dist/NewServerManagement-5YcAtF-g.js.map +0 -1
- package/dist/NotificationFlywayQuery-BY8Zzml_.js +0 -244
- package/dist/NotificationFlywayQuery-BY8Zzml_.js.map +0 -1
- package/dist/NotificationList-BkpOrCpM.js +0 -400
- package/dist/NotificationList-BkpOrCpM.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-ZnCGWm9v.js +0 -1953
- package/dist/OtherTypeEventConfigModal-ZnCGWm9v.js.map +0 -1
- package/dist/QueryBuilder-Cus_mRwZ.js +0 -378
- package/dist/QueryBuilder-Cus_mRwZ.js.map +0 -1
- package/dist/QueryBuilder.css +0 -1
- package/dist/QueryManagement-DXA73N2j.js +0 -671
- package/dist/QueryManagement-DXA73N2j.js.map +0 -1
- package/dist/QueryManagement.css +0 -1
- package/dist/RoleManagement-v5Nyp1vr.js +0 -416
- package/dist/RoleManagement-v5Nyp1vr.js.map +0 -1
- package/dist/ServerSyncModal-uNjGCQJz.js +0 -869
- package/dist/ServerSyncModal-uNjGCQJz.js.map +0 -1
- package/dist/ShowFlywayQuery-DMsAbtOW.js +0 -130
- package/dist/ShowFlywayQuery-DMsAbtOW.js.map +0 -1
- package/dist/ShowFlywayQuery-DVRCd384.js +0 -259
- package/dist/ShowFlywayQuery-DVRCd384.js.map +0 -1
- package/dist/ShowQueryHistory-BDN0tzHg.js +0 -190
- package/dist/ShowQueryHistory-BDN0tzHg.js.map +0 -1
- package/dist/SubMenu-BHcSNSUF.js +0 -187
- package/dist/SubMenu-BHcSNSUF.js.map +0 -1
- package/dist/TableDetails-DzREeJkm.js +0 -1508
- package/dist/TableDetails-DzREeJkm.js.map +0 -1
- package/dist/TableList-B9hr05Hs.js +0 -428
- package/dist/TableList-B9hr05Hs.js.map +0 -1
- package/dist/TypeConfiguration-C-lk8Szs.js +0 -117
- package/dist/TypeConfiguration-C-lk8Szs.js.map +0 -1
- package/dist/UserList-BxB1tCwM.js +0 -13042
- package/dist/UserList-BxB1tCwM.js.map +0 -1
- package/dist/UserList.css +0 -1
- package/dist/UserListSkeleton-cglK2SaU.js +0 -184
- package/dist/UserListSkeleton-cglK2SaU.js.map +0 -1
- package/dist/WidgetList-BSApErov.js +0 -188
- package/dist/WidgetList-BSApErov.js.map +0 -1
- package/dist/_commonjsHelpers-BItOPCY9.js +0 -29
- package/dist/_commonjsHelpers-BItOPCY9.js.map +0 -1
- package/dist/i18next-CTOWN_jH.js +0 -1394
- package/dist/i18next-CTOWN_jH.js.map +0 -1
- package/dist/manageImmunization-B4swS745.js +0 -1204
- package/dist/manageImmunization-B4swS745.js.map +0 -1
- package/dist/manageImmunization.css +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NewServerManagement-5YcAtF-g.js","sources":["../src/views/Features/AddServerModal.jsx","../src/views/Features/NewServerManagement.jsx"],"sourcesContent":["/**\n * @author Sanya Srivastava <ssrivastava@argusoft.com>\n * @date 2025-04-23 (Wednesday)\n */\n\nimport {\n addServer,\n addServerMappingList,\n updateServer,\n updateServerMappingList,\n} from \"@/common/services/SyncWithServer\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { useDebounceFn } from \"@/hooks/useDebounceFn\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useTheme } from \"@mui/material/styles\";\nimport \"./Styles/ServerManagement.scss\";\nimport {\n Autocomplete,\n Box,\n Button,\n Chip,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n FormControl,\n FormControlLabel,\n FormHelperText,\n Radio,\n RadioGroup,\n TextField,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport * as Yup from \"yup\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faPen, faPlus } from \"@fortawesome/free-solid-svg-icons\";\n\nexport default function AddServerModal({\n openAddServer,\n openAddServerFunc,\n allServerList,\n reloadPageFunc,\n editServer,\n editServerFunc,\n serverData = {},\n}) {\n const { translate } = useTranslateProvider();\n const [successMessage, setSuccessMessage] = useState(\"\");\n const serverTypes = [\"STAGING\", \"PRODUCTION\"];\n const theme = useTheme();\n const getClassName = (base) =>\n theme.palette.mode === \"light\" ? base : `${base}-dark`;\n\n const validationSchema = Yup.object().shape({\n name: Yup.string().required(\"Name is required\"),\n code: Yup.string().required(\"Code is required\"),\n type: Yup.string().required(\"Type is required\"),\n url: Yup.string()\n .required(\"URL is required\")\n .matches(\n /^https?:\\/\\/(localhost|\\d{1,3}(?:\\.\\d{1,3}){3}|[a-zA-Z0-9.-]+)(:\\d+)?(\\/.*)?$/,\n \"Invalid URL\",\n ),\n isActive: Yup.boolean().required(\"This field is required.\"),\n });\n\n const formCtrl = useForm({\n defaultValues: {\n name: \"\",\n code: \"\",\n type: \"\",\n url: \"\",\n isActive: null,\n canPullServer: [],\n canPushServer: [],\n },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n useEffect(() => {\n if (editServer) {\n formCtrl.reset({\n name: serverData.name,\n code: serverData.code,\n type: serverData.type,\n url: serverData.url,\n isActive: serverData.isActive,\n canPullServer: serverData.canPullServers\n ? serverData.canPullServers\n : [],\n canPushServer: serverData.canPushServers\n ? serverData.canPushServers\n : [],\n });\n }\n }, []);\n\n const handleDialogClose = () => {\n openAddServerFunc(false);\n editServerFunc(false);\n };\n\n const checkAvailability = async (code) => {\n if (allServerList?.find((server) => server.code === code)) {\n formCtrl.setError(\"code\", {\n type: \"manual\",\n message: \"Code already exists\",\n });\n } else {\n setSuccessMessage(`${code} is available`);\n }\n };\n\n const debouncedCheckAvailability = useDebounceFn(checkAvailability, 500);\n\n const onSubmit = async (data) => {\n let serversToAdd = new Map();\n data.canPullServer?.forEach((server) => {\n let obj = {\n canPull: true,\n canPush: false,\n };\n serversToAdd.set(server.code, obj);\n });\n data.canPushServer?.forEach((server) => {\n if (serversToAdd.has(server.code)) {\n serversToAdd.get(server.code).canPush = true;\n } else {\n let obj = {\n canPull: false,\n canPush: true,\n };\n serversToAdd.set(server.code, obj);\n }\n });\n const serverMappingList = [];\n serversToAdd.forEach((value, key) => {\n serverMappingList.push({\n sourceServerCode: data.code,\n destinationServerCode: key,\n canPull: value.canPull,\n canPush: value.canPush,\n });\n serverMappingList.push({\n sourceServerCode: key,\n destinationServerCode: data.code,\n canPull: value.canPush,\n canPush: value.canPull,\n });\n });\n if (!editServer) {\n try {\n const addServerData = {\n name: data.name,\n code: data.code,\n type: data.type,\n url: data.url,\n isActive: data.isActive,\n };\n await addServer(addServerData);\n showToast({\n type: \"success\",\n message: \"Server added successfully\",\n });\n if (serverMappingList.length > 0) {\n try {\n await addServerMappingList(serverMappingList);\n showToast({\n type: \"success\",\n message: \"Server mapping added successfully\",\n });\n } catch (error) {\n showToast({\n type: \"error\",\n message: \"Failed to add server mapping\",\n });\n console.error(\"Error adding server mapping:\", error);\n }\n }\n reloadPageFunc((prev) => !prev);\n openAddServerFunc(false);\n } catch (error) {\n showToast({\n type: \"error\",\n message: \"Failed to add server\",\n });\n console.error(\"Error adding server:\", error);\n }\n } else {\n try {\n if (serversToAdd.size === 0) {\n serverMappingList.push({\n sourceServerCode: data.code,\n destinationServerCode: null,\n canPull: null,\n canPush: null,\n });\n }\n data.uuid = serverData.uuid;\n await updateServer(data);\n showToast({\n type: \"success\",\n message: \"Server updated successfully\",\n });\n if (serverMappingList.length > 0) {\n try {\n await updateServerMappingList(serverMappingList);\n showToast({\n type: \"success\",\n message: \"Server mapping updated successfully\",\n });\n } catch (error) {\n showToast({\n type: \"error\",\n message: \"Failed to update server mapping\",\n });\n console.error(\"Error updating server mapping:\", error);\n }\n }\n reloadPageFunc((prev) => !prev);\n handleDialogClose();\n } catch (error) {\n showToast({\n type: \"error\",\n message: \"Failed to update server\",\n });\n console.error(\"Error updating server:\", error);\n }\n }\n };\n\n // Reusable field row component for consistent layout\n const FieldRow = ({ label, required, children }) => (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.75 }}>\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 600, color: \"text.primary\" }}\n >\n {label}\n {required && (\n <Typography component=\"span\" sx={{ color: \"error.main\", ml: 0.5 }}>\n *\n </Typography>\n )}\n </Typography>\n {children}\n </Box>\n );\n\n FieldRow.propTypes = {\n label: PropTypes.string.isRequired,\n required: PropTypes.bool,\n children: PropTypes.node.isRequired,\n };\n\n return (\n <Dialog\n open={openAddServer}\n fullWidth={true}\n maxWidth={\"sm\"}\n onClose={handleDialogClose}\n className={getClassName(\"add-server-dialog\")}\n PaperProps={{\n sx: {\n borderRadius: 3,\n scrollbarWidth: \"none\",\n msOverflowStyle: \"none\",\n \"&::-webkit-scrollbar\": { display: \"none\" },\n \"& .MuiDialogContent-root\": {\n scrollbarWidth: \"none\",\n msOverflowStyle: \"none\",\n \"&::-webkit-scrollbar\": { display: \"none\" },\n },\n },\n }}\n >\n {/* ── Dialog Header ── */}\n <DialogTitle\n sx={{\n px: 3,\n pt: 2.5,\n pb: 2,\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n backgroundColor: \"background.paper\",\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\n <Box\n sx={{\n width: 36,\n height: 36,\n borderRadius: 2,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"primary.main\",\n color: \"primary.contrastText\",\n flexShrink: 0,\n }}\n >\n <FontAwesomeIcon\n icon={editServer ? faPen : faPlus}\n style={{ fontSize: \"0.85rem\" }}\n />\n </Box>\n <Box>\n <Typography variant=\"h6\" sx={{ fontWeight: 700, lineHeight: 1.3 }}>\n {editServer\n ? translate(\"Update Server\")\n : translate(\"Add Server\")}\n </Typography>\n <Typography variant=\"caption\" color=\"text.secondary\">\n {editServer\n ? \"Modify server configuration and sync permissions.\"\n : \"Configure a new server connection.\"}\n </Typography>\n </Box>\n </Box>\n </DialogTitle>\n\n <form noValidate onSubmit={formCtrl.handleSubmit(onSubmit)}>\n <DialogContent\n sx={{\n px: 3,\n py: 3,\n scrollbarWidth: \"none\",\n \"&::-webkit-scrollbar\": { display: \"none\" },\n }}\n >\n <Grid container spacing={2.5}>\n {/* ── Server Details Section ── */}\n <Grid size={12}>\n <Typography\n variant=\"subtitle2\"\n sx={{\n fontWeight: 700,\n color: \"text.primary\",\n mb: 0.5,\n textTransform: \"uppercase\",\n fontSize: \"0.7rem\",\n letterSpacing: \"0.05em\",\n }}\n >\n Server Details\n </Typography>\n <Divider />\n </Grid>\n\n {/* Name & Code in a 2-column layout */}\n <Grid size={6}>\n <FieldRow label={translate(\"Name\")} required>\n <CustomTextField\n control={formCtrl.control}\n name=\"name\"\n id=\"name\"\n errors={formCtrl.formState.errors}\n placeholder=\"Enter server name\"\n />\n </FieldRow>\n </Grid>\n\n <Grid size={6}>\n <FieldRow label={translate(\"Code\")} required>\n <CustomTextField\n control={formCtrl.control}\n name=\"code\"\n id=\"code\"\n disabled={editServer}\n errors={formCtrl.formState.errors}\n placeholder=\"Enter server code\"\n successMessage={successMessage}\n onChange={(e) => debouncedCheckAvailability(e.target.value)}\n />\n </FieldRow>\n </Grid>\n\n {/* Type & URL */}\n <Grid size={6}>\n <FieldRow label={translate(\"Type\")} required>\n <Controller\n name=\"type\"\n control={formCtrl.control}\n render={({ field: { onChange, value } }) => {\n return (\n <Autocomplete\n size=\"small\"\n options={serverTypes || []}\n getOptionLabel={(option) => option}\n defaultValue={value}\n onChange={(event, newValue) => {\n onChange(newValue);\n }}\n renderInput={(params) => (\n <TextField\n {...params}\n placeholder=\"Select type\"\n variant=\"outlined\"\n error={!!formCtrl.formState.errors?.type}\n />\n )}\n />\n );\n }}\n />\n {formCtrl.formState.errors.type && (\n <FormHelperText error>\n {formCtrl.formState.errors.type?.message}\n </FormHelperText>\n )}\n </FieldRow>\n </Grid>\n\n <Grid size={6}>\n <FieldRow label={translate(\"URL\")} required>\n <CustomTextField\n control={formCtrl.control}\n name=\"url\"\n id=\"url\"\n errors={formCtrl.formState.errors}\n placeholder=\"https://example.com\"\n />\n </FieldRow>\n </Grid>\n\n {/* Active Status */}\n <Grid size={12}>\n <FieldRow label={translate(\"Active\")} required>\n <Controller\n name=\"isActive\"\n control={formCtrl.control}\n rules={{ required: \"This field is required.\" }}\n render={({\n field: { onChange, value },\n fieldState: { error },\n }) => (\n <FormControl component=\"fieldset\" error={!!error}>\n <RadioGroup row value={value} onChange={onChange}>\n <FormControlLabel\n value={true}\n control={<Radio size=\"small\" />}\n label={<Typography variant=\"body2\">Yes</Typography>}\n />\n <FormControlLabel\n value={false}\n control={<Radio size=\"small\" />}\n label={<Typography variant=\"body2\">No</Typography>}\n />\n </RadioGroup>\n {error && (\n <FormHelperText>\n {formCtrl.formState.errors.isActive?.message}\n </FormHelperText>\n )}\n </FormControl>\n )}\n />\n </FieldRow>\n </Grid>\n\n {/* ── Sync Permissions Section ── */}\n <Grid size={12} sx={{ mt: 0.5 }}>\n <Typography\n variant=\"subtitle2\"\n sx={{\n fontWeight: 700,\n color: \"text.primary\",\n mb: 0.5,\n textTransform: \"uppercase\",\n fontSize: \"0.7rem\",\n letterSpacing: \"0.05em\",\n }}\n >\n Sync Permissions\n </Typography>\n <Divider />\n </Grid>\n\n {/* Can Pull From */}\n <Grid size={12}>\n <FieldRow label={translate(\"Can Pull From\")}>\n <Controller\n name=\"canPullServer\"\n control={formCtrl.control}\n render={({ field: { onChange, value } }) => {\n return (\n <Autocomplete\n size=\"small\"\n multiple\n options={allServerList || []}\n getOptionLabel={(option) => option.name || \"\"}\n getOptionKey={(option) => option.code || \"\"}\n getOptionDisabled={(option) =>\n option.code === formCtrl.getValues(\"code\") ||\n formCtrl\n .getValues(\"canPullServer\")\n .some((server) => server.code === option.code)\n }\n value={value}\n onChange={(event, newValue) => {\n onChange(newValue);\n }}\n renderTags={(tagValue, getTagProps) =>\n tagValue.map((option, index) => (\n <Chip\n {...getTagProps({ index })}\n key={option.code}\n label={option.name}\n size=\"small\"\n color=\"primary\"\n variant=\"outlined\"\n sx={{ borderRadius: 2, fontWeight: 500 }}\n />\n ))\n }\n renderInput={(params) => (\n <TextField\n {...params}\n placeholder={\n value?.length > 0\n ? \"\"\n : \"Select servers to pull from...\"\n }\n variant=\"outlined\"\n />\n )}\n />\n );\n }}\n />\n </FieldRow>\n </Grid>\n\n {/* Can Push To */}\n <Grid size={12}>\n <FieldRow label={translate(\"Can Push To\")}>\n <Controller\n name=\"canPushServer\"\n control={formCtrl.control}\n render={({ field: { onChange, value } }) => {\n return (\n <Autocomplete\n size=\"small\"\n multiple\n options={allServerList || []}\n getOptionLabel={(option) => option.name || \"\"}\n getOptionKey={(option) => option.code || \"\"}\n getOptionDisabled={(option) =>\n option.code === formCtrl.getValues(\"code\") ||\n formCtrl\n .getValues(\"canPushServer\")\n .some((server) => server.code === option.code)\n }\n value={value}\n onChange={(event, newValue) => {\n onChange(newValue);\n }}\n renderTags={(tagValue, getTagProps) =>\n tagValue.map((option, index) => (\n <Chip\n {...getTagProps({ index })}\n key={option.code}\n label={option.name}\n size=\"small\"\n color=\"primary\"\n variant=\"outlined\"\n sx={{ borderRadius: 2, fontWeight: 500 }}\n />\n ))\n }\n renderInput={(params) => (\n <TextField\n {...params}\n placeholder={\n value?.length > 0\n ? \"\"\n : \"Select servers to push to...\"\n }\n variant=\"outlined\"\n />\n )}\n />\n );\n }}\n />\n </FieldRow>\n </Grid>\n </Grid>\n </DialogContent>\n\n {/* ── Dialog Actions ── */}\n <DialogActions\n sx={{\n px: 3,\n py: 2,\n borderTop: \"1px solid\",\n borderColor: \"divider\",\n gap: 1,\n }}\n >\n <Button\n onClick={handleDialogClose}\n size=\"small\"\n variant=\"outlined\"\n sx={{\n borderRadius: 2,\n textTransform: \"none\",\n fontWeight: 600,\n px: 2.5,\n borderColor: \"divider\",\n color: \"text.secondary\",\n \"&:hover\": {\n backgroundColor: \"action.hover\",\n borderColor: \"text.disabled\",\n },\n }}\n >\n {translate(\"Cancel\")}\n </Button>\n <Button\n type=\"submit\"\n size=\"small\"\n variant=\"contained\"\n sx={{\n borderRadius: 2,\n textTransform: \"none\",\n fontWeight: 600,\n px: 2.5,\n boxShadow: \"none\",\n }}\n startIcon={\n <FontAwesomeIcon\n icon={editServer ? faPen : faPlus}\n style={{ fontSize: \"0.75rem\" }}\n />\n }\n >\n {editServer ? \"Update Server\" : \"Add Server\"}\n </Button>\n </DialogActions>\n </form>\n </Dialog>\n );\n}\n\nAddServerModal.propTypes = {\n openAddServer: PropTypes.bool,\n openAddServerFunc: PropTypes.func,\n allServerList: PropTypes.array,\n reloadPageFunc: PropTypes.func,\n editServer: PropTypes.bool,\n editServerFunc: PropTypes.func,\n serverData: PropTypes.object,\n};\n","/**\n * @author Sanya Srivastava <ssrivastava@argusoft.com>\n * @date 2025-04-21 (Monday)\n */\n\nimport {\n getAllServer,\n getAllServerDetails,\n} from \"@/common/services/SyncWithServer\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faCircleCheck,\n faCircleXmark,\n faPen,\n faPlus,\n faServer,\n faMagnifyingGlass,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { useTheme } from \"@mui/material/styles\";\nimport \"./Styles/ServerManagement.scss\";\nimport {\n Button,\n Chip,\n Divider,\n IconButton,\n InputAdornment,\n Paper,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n TextField,\n Tooltip,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport { Box } from \"@mui/system\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport AddServerModal from \"./AddServerModal\";\n\nexport default function NewServerManagement() {\n const [allServerList, setAllServerList] = useState([]);\n const [openAddServer, setOpenAddServer] = useState(false);\n const [editServer, setEditServer] = useState(false);\n const [serverData, setServerData] = useState({});\n const [allServerDetails, setAllServerDetails] = useState([]);\n const [reloadPage, setReloadPage] = useState(false);\n const [searchQuery, setSearchQuery] = useState(\"\");\n const theme = useTheme();\n\n useEffect(() => {\n (async () => {\n await fetchServers();\n await fetchAllServerDetails();\n })();\n }, [reloadPage]);\n\n const getClassName = (className) => {\n return theme.palette.mode === \"light\" ? className : `${className}-dark`;\n };\n\n const fetchServers = async () => {\n try {\n const response = (await getAllServer()).data;\n if (response) {\n setAllServerList(\n response.map((item) => {\n let obj = { code: item.code, name: item.name };\n return obj;\n }),\n );\n }\n } catch (error) {\n console.error(\"Error fetching servers:\", error);\n }\n };\n\n const fetchAllServerDetails = async () => {\n try {\n const response = (await getAllServerDetails()).data;\n if (response) {\n response.forEach((item) => {\n let canPull = item.canPullServers\n ? JSON.parse(item.canPullServers)\n : [];\n let canPush = item.canPushServers\n ? JSON.parse(item.canPushServers)\n : [];\n item.canPullServers = JSON.parse(item.canPullServers);\n item.canPushServers = JSON.parse(item.canPushServers);\n item.pullServersName =\n canPull.length > 0 ? canPull.map((server) => server.name) : [];\n item.pushServersName =\n canPush.length > 0 ? canPush.map((server) => server.name) : [];\n });\n setAllServerDetails(response);\n }\n } catch (error) {\n console.error(\"Error fetching servers:\", error);\n }\n };\n\n const handleServerEdit = (item) => {\n setEditServer(true);\n setServerData(item);\n setOpenAddServer(true);\n };\n\n const filteredServers = useMemo(() => {\n if (!searchQuery.trim()) return allServerDetails;\n const q = searchQuery.toLowerCase();\n return allServerDetails.filter(\n (item) =>\n item.name?.toLowerCase().includes(q) ||\n item.code?.toLowerCase().includes(q) ||\n item.url?.toLowerCase().includes(q),\n );\n }, [allServerDetails, searchQuery]);\n\n const activeCount = allServerDetails.filter((s) => s.isActive).length;\n\n const formatDate = (dateString) => {\n if (!dateString) return \"-\";\n const date = new Date(dateString);\n const day = String(date.getDate()).padStart(2, \"0\");\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getMonth()];\n const year = date.getFullYear();\n const hours = String(date.getHours()).padStart(2, \"0\");\n const minutes = String(date.getMinutes()).padStart(2, \"0\");\n return `${day} ${month} ${year}, ${hours}:${minutes}`;\n };\n\n return (\n <Grid pt={2} sx={{ height: \"calc(100vh)\", zoom: \"0.9\" }}>\n <Box sx={{ p: 3 }} className={getClassName(\"server-management-wrapper\")}>\n {/* ── Main Paper Container (ManageAllForms style) ── */}\n <Paper\n elevation={0}\n sx={{\n p: { xs: 2.5, md: 3 },\n border: \"1px solid\",\n borderColor: \"divider\",\n borderRadius: 3,\n backgroundColor: \"background.paper\",\n }}\n >\n {/* ── Header Section ── */}\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 3 }}>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"flex-start\",\n flexWrap: \"wrap\",\n gap: 2,\n }}\n >\n <Box sx={{ minWidth: { xs: \"100%\", lg: \"40%\" } }}>\n <Typography\n variant=\"h5\"\n sx={{ fontWeight: 800, color: \"text.primary\", mb: 0.5 }}\n >\n Server Management\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Configure and manage server connections, sync permissions, and\n server details.\n </Typography>\n </Box>\n\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1.5,\n flexWrap: \"wrap\",\n }}\n >\n <Button\n size=\"small\"\n variant=\"contained\"\n sx={{\n borderRadius: 2,\n fontWeight: 600,\n px: 2,\n boxShadow: \"none\",\n textTransform: \"none\",\n }}\n startIcon={<FontAwesomeIcon icon={faPlus} />}\n onClick={() => {\n setOpenAddServer(true);\n }}\n >\n Add Server\n </Button>\n </Box>\n </Box>\n\n {/* ── Search & Stats Bar ── */}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n gap: 2,\n backgroundColor: \"action.hover\",\n p: 1.5,\n borderRadius: 2.5,\n border: \"1px solid\",\n borderColor: \"divider\",\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\n <Chip\n icon={\n <FontAwesomeIcon\n icon={faServer}\n style={{ fontSize: \"0.7rem\" }}\n />\n }\n label={`${allServerDetails.length} Total`}\n size=\"small\"\n variant=\"outlined\"\n sx={{\n fontWeight: 600,\n borderRadius: 2,\n px: 0.5,\n borderColor: \"divider\",\n }}\n />\n <Chip\n icon={\n <FontAwesomeIcon\n icon={faCircleCheck}\n style={{ fontSize: \"0.7rem\" }}\n />\n }\n label={`${activeCount} Active`}\n size=\"small\"\n color=\"success\"\n variant=\"filled\"\n sx={{ fontWeight: 700, borderRadius: 2, px: 0.5 }}\n />\n {allServerDetails.length - activeCount > 0 && (\n <Chip\n label={`${allServerDetails.length - activeCount} Inactive`}\n size=\"small\"\n color=\"default\"\n variant=\"outlined\"\n sx={{\n fontWeight: 600,\n borderRadius: 2,\n px: 0.5,\n borderColor: \"divider\",\n }}\n />\n )}\n </Box>\n\n <TextField\n value={searchQuery}\n size=\"small\"\n placeholder=\"Search servers...\"\n onChange={(e) => setSearchQuery(e.target.value)}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <FontAwesomeIcon\n icon={faMagnifyingGlass}\n style={{ fontSize: \"0.85rem\", color: \"#999\" }}\n />\n </InputAdornment>\n ),\n sx: {\n backgroundColor: \"background.paper\",\n borderRadius: 2,\n minWidth: 260,\n },\n }}\n />\n </Box>\n </Box>\n\n <Divider sx={{ my: 3 }} />\n\n {/* ── Server Table ── */}\n <TableContainer\n className={getClassName(\"server-table\")}\n component={Paper}\n elevation={0}\n sx={{\n borderRadius: 2.5,\n border: \"1px solid\",\n borderColor: \"divider\",\n overflowY: \"auto\",\n maxHeight: \"calc(100vh - 340px)\",\n }}\n >\n <Table stickyHeader>\n <TableHead>\n <TableRow>\n {[\n \"Sr. No.\",\n \"Name\",\n \"Code\",\n \"Type\",\n \"URL\",\n \"Status\",\n \"Can Pull From\",\n \"Can Push To\",\n \"Modified On\",\n \"Actions\",\n ].map((header, i) => (\n <TableCell\n key={i}\n align={header === \"Actions\" ? \"center\" : \"left\"}\n sx={{\n fontWeight: 700,\n fontSize: \"0.78rem\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.04em\",\n color: \"text.secondary\",\n backgroundColor: \"background.default\",\n borderBottom: \"2px solid\",\n borderColor: \"divider\",\n py: 1.5,\n }}\n >\n {header}\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {filteredServers.map((item, index) => (\n <TableRow\n key={index}\n sx={{\n transition: \"background-color 0.15s ease\",\n \"&:hover\": { backgroundColor: \"action.hover\" },\n \"&:last-child td\": { borderBottom: 0 },\n }}\n >\n <TableCell\n sx={{ color: \"text.secondary\", fontWeight: 500 }}\n >\n {index + 1}\n </TableCell>\n <TableCell sx={{ fontWeight: 600 }}>{item.name}</TableCell>\n <TableCell>\n <Chip\n label={item.code}\n size=\"small\"\n variant=\"outlined\"\n sx={{\n fontFamily: \"monospace\",\n fontSize: \"0.75rem\",\n borderRadius: 1.5,\n borderColor: \"divider\",\n }}\n />\n </TableCell>\n <TableCell>{item.type}</TableCell>\n <TableCell\n sx={{\n maxWidth: 200,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n <Tooltip title={item.url || \"\"} arrow placement=\"top\">\n <span>{item.url}</span>\n </Tooltip>\n </TableCell>\n <TableCell>\n {item.isActive ? (\n <Chip\n icon={\n <FontAwesomeIcon\n icon={faCircleCheck}\n style={{ fontSize: \"0.7rem\" }}\n />\n }\n label=\"Active\"\n size=\"small\"\n color=\"success\"\n variant=\"filled\"\n sx={{ fontWeight: 600, borderRadius: 2 }}\n />\n ) : (\n <Chip\n icon={\n <FontAwesomeIcon\n icon={faCircleXmark}\n style={{ fontSize: \"0.7rem\" }}\n />\n }\n label=\"Inactive\"\n size=\"small\"\n color=\"default\"\n variant=\"outlined\"\n sx={{\n fontWeight: 600,\n borderRadius: 2,\n borderColor: \"divider\",\n }}\n />\n )}\n </TableCell>\n <TableCell>\n {Array.isArray(item.pullServersName) &&\n item.pullServersName.length > 0 ? (\n item.pullServersName.map((server, i) => (\n <Chip\n key={i}\n label={server || \"-\"}\n color=\"primary\"\n size=\"small\"\n variant=\"outlined\"\n sx={{\n mr: 0.5,\n mb: 0.5,\n borderRadius: 2,\n fontWeight: 500,\n }}\n />\n ))\n ) : (\n <Typography variant=\"caption\" color=\"text.disabled\">\n —\n </Typography>\n )}\n </TableCell>\n <TableCell>\n {Array.isArray(item.pushServersName) &&\n item.pushServersName.length > 0 ? (\n item.pushServersName.map((server, i) => (\n <Chip\n key={i}\n label={server || \"-\"}\n color=\"primary\"\n size=\"small\"\n variant=\"outlined\"\n sx={{\n mr: 0.5,\n mb: 0.5,\n borderRadius: 2,\n fontWeight: 500,\n }}\n />\n ))\n ) : (\n <Typography variant=\"caption\" color=\"text.disabled\">\n —\n </Typography>\n )}\n </TableCell>\n <TableCell>\n <Typography\n variant=\"caption\"\n sx={{ color: \"text.secondary\" }}\n >\n {formatDate(item.modifiedOn)}\n </Typography>\n </TableCell>\n <TableCell align=\"center\">\n <Tooltip title=\"Edit server\" arrow placement=\"top\">\n <IconButton\n size=\"small\"\n onClick={() => {\n handleServerEdit(item);\n }}\n sx={{\n color: \"primary.main\",\n \"&:hover\": { backgroundColor: \"primary.50\" },\n }}\n >\n <FontAwesomeIcon\n icon={faPen}\n style={{ fontSize: \"0.8rem\" }}\n />\n </IconButton>\n </Tooltip>\n </TableCell>\n </TableRow>\n ))}\n {filteredServers.length === 0 && (\n <TableRow>\n <TableCell colSpan={10} align=\"center\" sx={{ py: 6 }}>\n <FontAwesomeIcon\n icon={faServer}\n style={{\n fontSize: \"2rem\",\n color: \"#ccc\",\n marginBottom: 8,\n display: \"block\",\n margin: \"0 auto 8px\",\n }}\n />\n <Typography variant=\"body2\" color=\"text.secondary\">\n {searchQuery\n ? \"No servers match your search.\"\n : 'No servers found. Click \"Add Server\" to get started.'}\n </Typography>\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n </Paper>\n </Box>\n {openAddServer && (\n <AddServerModal\n openAddServer={openAddServer}\n openAddServerFunc={setOpenAddServer}\n allServerList={allServerList}\n reloadPageFunc={setReloadPage}\n editServer={editServer}\n editServerFunc={setEditServer}\n serverData={serverData}\n />\n )}\n </Grid>\n );\n}\n"],"names":["AddServerModal","openAddServer","openAddServerFunc","allServerList","reloadPageFunc","editServer","editServerFunc","serverData","translate","useTranslateProvider","successMessage","setSuccessMessage","useState","serverTypes","theme","useTheme","getClassName","base","validationSchema","Yup","formCtrl","useForm","yupResolver","useEffect","handleDialogClose","debouncedCheckAvailability","useDebounceFn","code","server","onSubmit","data","serversToAdd","_a","obj","_b","serverMappingList","value","key","updateServer","showToast","updateServerMappingList","error","prev","addServerData","addServer","addServerMappingList","FieldRow","label","required","children","jsxs","Box","Typography","jsx","PropTypes","Dialog","DialogTitle","FontAwesomeIcon","faPen","faPlus","DialogContent","Grid","Divider","CustomTextField","e","Controller","onChange","Autocomplete","option","event","newValue","params","TextField","FormHelperText","FormControl","RadioGroup","FormControlLabel","Radio","tagValue","getTagProps","index","createElement","Chip","DialogActions","Button","NewServerManagement","setAllServerList","setOpenAddServer","setEditServer","setServerData","allServerDetails","setAllServerDetails","reloadPage","setReloadPage","searchQuery","setSearchQuery","fetchServers","fetchAllServerDetails","className","response","getAllServer","item","getAllServerDetails","canPull","canPush","handleServerEdit","filteredServers","useMemo","q","_c","activeCount","s","formatDate","dateString","date","day","month","year","hours","minutes","Paper","faServer","faCircleCheck","InputAdornment","faMagnifyingGlass","TableContainer","Table","TableHead","TableRow","header","i","TableCell","TableBody","Tooltip","faCircleXmark","IconButton"],"mappings":"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"}
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
import { jsx as l, jsxs as v } from "react/jsx-runtime";
|
|
2
|
-
import { useTranslateProvider as S } from "@/common/languageTranslator/TranslationContext";
|
|
3
|
-
import { showToast as M } from "@/common/toaster/toaster";
|
|
4
|
-
import U from "@/hooks/useTrackEvent";
|
|
5
|
-
import { faXmark as W } from "@fortawesome/free-solid-svg-icons";
|
|
6
|
-
import { FontAwesomeIcon as z } from "@fortawesome/react-fontawesome";
|
|
7
|
-
import { Modal as H, Typography as C, IconButton as Q, TextField as V, Stack as $, Button as h } from "@mui/material";
|
|
8
|
-
import y from "@mui/material/Grid2";
|
|
9
|
-
import E from "prop-types";
|
|
10
|
-
import "react";
|
|
11
|
-
import { useSelector as D } from "react-redux";
|
|
12
|
-
function P({
|
|
13
|
-
open: F,
|
|
14
|
-
handleClose: a,
|
|
15
|
-
data: i,
|
|
16
|
-
roleData: t
|
|
17
|
-
}) {
|
|
18
|
-
var b, g, w, T, A, x;
|
|
19
|
-
const { user: n } = D((r) => r.Authenticate), { translate: m } = S();
|
|
20
|
-
let e = "";
|
|
21
|
-
if (e = "", e += "begin;", e += `
|
|
22
|
-
`, e += "DO $$", e += `
|
|
23
|
-
`, e += "DECLARE", e += `
|
|
24
|
-
`, e += "var_notification_type_id integer;", e += `
|
|
25
|
-
`, e += "var_escalation_level_id integer;", e += `
|
|
26
|
-
`, e += "old_notification_type_id integer;", e += `
|
|
27
|
-
`, e += "old_escalation_level_id integer;", e += `
|
|
28
|
-
`, e += "BEGIN", e += `
|
|
29
|
-
`, i.code !== null || i.code !== void 0) {
|
|
30
|
-
e += "DELETE FROM notification_type_master WHERE code = '" + i.code + "'returning id into old_notification_type_id;", e += `
|
|
31
|
-
`, e += `
|
|
32
|
-
`, e += "INSERT INTO notification_type_master (", e += 'created_by,created_on,modified_by,modified_on,code,"name","type",role_id,state,notification_for,action_on_role_id,data_query,action_query,order_no,color_code,data_for,url_based_action,url,modal_based_action,modal_name,is_location_filter_required,fetch_up_to_level,required_up_to_level,is_fetch_according_aoi,"uuid"', e += ")", e += `
|
|
33
|
-
`, e += "VALUES (", e += (n == null ? void 0 : n.id) + ",", e += "now(),", e += (n == null ? void 0 : n.id) + ",", e += "now(),", e += i.code ? "'" + i.code + "'," : "null,", e += i.notificationName ? "'" + i.notificationName + "'," : "null,", e += i.notificationType ? "'" + i.notificationType + "'," : "null,", i.roleId !== null ? e += i.roleId + "," : e += "null,", e += i.state ? "'" + i.state + "'," : "null,", e += i.notificationFor ? "'" + i.notificationFor + "'," : "null,", e += "null,", i.dataQuery !== null ? e += "'" + ((b = i == null ? void 0 : i.dataQuery) == null ? void 0 : b.replace(/'/g, "''")) + "'," : e += "null,", i.actionQuery !== null ? e += "'" + ((g = i == null ? void 0 : i.actionQuery) == null ? void 0 : g.replace(/'/g, "''")) + "'," : e += "null,", i.orderNo !== null ? e += i.orderNo + "," : e += "null,", i.colorCode !== null ? e += "'" + i.colorCode + "'," : e += "null,", i.dataFor !== null ? e += "'" + i.dataFor + "'," : e += "null,", e += i.urlBasedAction ? i.urlBasedAction + "," : (() => {
|
|
34
|
-
let o;
|
|
35
|
-
return i.urlBasedAction === !1 ? o = "false," : o = "null,", o;
|
|
36
|
-
})(), i.url !== null ? e += "'" + i.url + "'," : e += "null,", e += i.modalBasedAction ? i.modalBasedAction + "," : (() => {
|
|
37
|
-
let o;
|
|
38
|
-
return i.modalBasedAction === !1 ? o = "false," : o = "null,", o;
|
|
39
|
-
})(), i.modalName !== null ? e += "'" + i.modalName + "'," : e += "null,", e += i.isLocationFilterRequired ? i.isLocationFilterRequired + "," : "null,", i.fetchUptoLevel !== null ? e += i.fetchUptoLevel + "," : e += "null,", i.requiredUptoLevel !== null ? e += i.requiredUptoLevel + "," : e += "null,", e += i.isFetchAccordingAOI ? i.isFetchAccordingAOI + "," : "null,", i.uuid !== null ? e += "'" + i.uuid + "'" : e += "null", e += ")", e += "returning id into var_notification_type_id;", e += `
|
|
40
|
-
`, e += `
|
|
41
|
-
`, e += "DELETE FROM notification_type_role_rel WHERE notification_type_id = old_notification_type_id;", e += `
|
|
42
|
-
`, e += `
|
|
43
|
-
`, e += "INSERT INTO notification_type_role_rel (notification_type_id, role_id)", e += `
|
|
44
|
-
`, e += "SELECT var_notification_type_id, id", e += `
|
|
45
|
-
`, e += "FROM um_role_master", e += `
|
|
46
|
-
`, e += "WHERE name IN (";
|
|
47
|
-
let r = (w = i.roles) == null ? void 0 : w.length, _ = 0;
|
|
48
|
-
if (((T = i.roles) == null ? void 0 : T.length) > 0)
|
|
49
|
-
i.roles.forEach((o) => {
|
|
50
|
-
var c;
|
|
51
|
-
_ += 1, ((c = t.find((u) => u.id === o)) == null ? void 0 : c.name) != null && (e += "'" + t.find((u) => u.id === o).name + "' "), _ === r ? e += ");" : e += ",", e += `
|
|
52
|
-
`;
|
|
53
|
-
});
|
|
54
|
-
else {
|
|
55
|
-
_ += 1;
|
|
56
|
-
const o = ((A = t == null ? void 0 : t.find((c) => c.id === (i == null ? void 0 : i.roleId))) == null ? void 0 : A.name) ?? null;
|
|
57
|
-
e += o ? `'${o}'` : "'null'", e += ");", e += `
|
|
58
|
-
`;
|
|
59
|
-
}
|
|
60
|
-
((x = i.escalationLevels) == null ? void 0 : x.length) > 0 && i.escalationLevels.forEach((o) => {
|
|
61
|
-
var u, N, R, L, I, k;
|
|
62
|
-
let c = !1;
|
|
63
|
-
if (e += `
|
|
64
|
-
`, e += "DELETE FROM escalation_level_master WHERE uuid = '" + o.uuid + "' returning id into old_escalation_level_id;", e += `
|
|
65
|
-
`, e += `
|
|
66
|
-
`, e += 'INSERT INTO escalation_level_master ("name", notification_type_id, created_by, created_on, modified_by, modified_on,uuid)', e += "VALUES (", e += "'" + o.name + "',", e += "var_notification_type_id,", e += (n == null ? void 0 : n.id) + ",", e += "now(),", e += (n == null ? void 0 : n.id) + ",", e += "now(),", e += "'" + o.uuid + "'", e += ")", e += "returning id into var_escalation_level_id;", e += `
|
|
67
|
-
`, e += `
|
|
68
|
-
`, e += "DELETE FROM escalation_level_role_rel WHERE escalation_level_id = old_escalation_level_id ;", e += `
|
|
69
|
-
`, e += `
|
|
70
|
-
`, o.performAction != null && ((u = Object.keys(o.performAction)) == null ? void 0 : u.length) > 0) {
|
|
71
|
-
for (const p in o.performAction)
|
|
72
|
-
if (((N = t.find((d) => d.id === p)) == null ? void 0 : N.name) != null) {
|
|
73
|
-
c = !0;
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (c) {
|
|
78
|
-
e += "INSERT INTO escalation_level_role_rel (escalation_level_id, role_id, can_perform_action)", e += `
|
|
79
|
-
`, e += "SELECT var_escalation_level_id, id, ";
|
|
80
|
-
let p = (R = Object.keys(o.performAction)) == null ? void 0 : R.length;
|
|
81
|
-
e += `
|
|
82
|
-
`, e += "CASE", e += `
|
|
83
|
-
`;
|
|
84
|
-
let d = 0;
|
|
85
|
-
for (const f in o.performAction)
|
|
86
|
-
d++, ((L = t.find((s) => s.id === f)) == null ? void 0 : L.name) != null && (e += "WHEN um_role_master.name = '" + ((I = t.find((s) => s.id === f)) == null ? void 0 : I.name) + "' THEN " + o.performAction[f]), d === p && (e += `
|
|
87
|
-
`, e += "ELSE false", e += `
|
|
88
|
-
`, e += "END"), e += `
|
|
89
|
-
`;
|
|
90
|
-
d = 0, e += "FROM um_role_master", e += `
|
|
91
|
-
`, e += "WHERE name IN (";
|
|
92
|
-
for (const f in o.performAction)
|
|
93
|
-
d++, ((k = t.find((s) => s.id === f)) == null ? void 0 : k.name) !== void 0 && (e += "'" + t.find((s) => s.id === f).name + "' "), d === p ? e += ");" : e += ",", e += `
|
|
94
|
-
`;
|
|
95
|
-
}
|
|
96
|
-
}), e += "END $$;", e += `
|
|
97
|
-
`, e += "commit;";
|
|
98
|
-
}
|
|
99
|
-
const O = U(), q = () => {
|
|
100
|
-
const r = new Blob([e], { type: "text/plain" }), _ = (r.size / 1024).toFixed(2), o = document.createElement("a");
|
|
101
|
-
o.href = URL.createObjectURL(r), o.download = "V" + (/* @__PURE__ */ new Date()).getTime() + "__CREATED_OR_UPDATED_feature_.sql", document.body.appendChild(o), o.click(), O("file_download", {
|
|
102
|
-
file_type: "sql",
|
|
103
|
-
file_name: o.download,
|
|
104
|
-
file_size: `${_} KB`,
|
|
105
|
-
download_status: "success"
|
|
106
|
-
}), document.body.removeChild(o), a();
|
|
107
|
-
}, B = () => {
|
|
108
|
-
navigator.clipboard.writeText(e).then(
|
|
109
|
-
() => {
|
|
110
|
-
M({
|
|
111
|
-
message: "Query copied",
|
|
112
|
-
type: "success"
|
|
113
|
-
});
|
|
114
|
-
},
|
|
115
|
-
(r) => {
|
|
116
|
-
console.error("Could not copy text: ", r);
|
|
117
|
-
}
|
|
118
|
-
), a();
|
|
119
|
-
};
|
|
120
|
-
return /* @__PURE__ */ l(
|
|
121
|
-
H,
|
|
122
|
-
{
|
|
123
|
-
"data-testid": "notification-flywayquery-modal",
|
|
124
|
-
open: F,
|
|
125
|
-
onClose: a,
|
|
126
|
-
sx: {
|
|
127
|
-
"& .MuiBackdrop-root": {
|
|
128
|
-
backgroundColor: "rgba(0, 0, 0, 0.1)"
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
children: /* @__PURE__ */ v(
|
|
132
|
-
y,
|
|
133
|
-
{
|
|
134
|
-
container: !0,
|
|
135
|
-
sx: {
|
|
136
|
-
position: "absolute",
|
|
137
|
-
top: "10%",
|
|
138
|
-
left: "50%",
|
|
139
|
-
transform: "translateX(-50%)",
|
|
140
|
-
width: "100%",
|
|
141
|
-
bgcolor: "background.paper",
|
|
142
|
-
boxShadow: 24,
|
|
143
|
-
maxWidth: 900,
|
|
144
|
-
display: "flex",
|
|
145
|
-
flexDirection: "column"
|
|
146
|
-
},
|
|
147
|
-
children: [
|
|
148
|
-
/* @__PURE__ */ v(y, { className: "p-2.5 px-5 flex justify-between border-b", children: [
|
|
149
|
-
/* @__PURE__ */ l(C, { variant: "body1", className: "font-medium text-lg text-customBlue", children: m("Flyway Query") }),
|
|
150
|
-
/* @__PURE__ */ l(
|
|
151
|
-
Q,
|
|
152
|
-
{
|
|
153
|
-
size: "small",
|
|
154
|
-
onClick: a,
|
|
155
|
-
"data-testid": "notification-flywayquery-close-button",
|
|
156
|
-
children: /* @__PURE__ */ l(z, { icon: W })
|
|
157
|
-
}
|
|
158
|
-
)
|
|
159
|
-
] }),
|
|
160
|
-
/* @__PURE__ */ l(y, { className: "border-b border-gray-300 p-[10px]", children: /* @__PURE__ */ l(
|
|
161
|
-
V,
|
|
162
|
-
{
|
|
163
|
-
multiline: !0,
|
|
164
|
-
rows: 10,
|
|
165
|
-
variant: "outlined",
|
|
166
|
-
fullWidth: !0,
|
|
167
|
-
value: e,
|
|
168
|
-
sx: {
|
|
169
|
-
"& .MuiInputBase-input": {
|
|
170
|
-
fontSize: "14px"
|
|
171
|
-
},
|
|
172
|
-
"& .MuiOutlinedInput-root": {
|
|
173
|
-
borderRadius: "5px"
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
slotProps: {
|
|
177
|
-
input: {
|
|
178
|
-
readOnly: !0
|
|
179
|
-
}
|
|
180
|
-
},
|
|
181
|
-
"data-testid": "shownotification-flywayquery-textfield-query-display"
|
|
182
|
-
}
|
|
183
|
-
) }),
|
|
184
|
-
/* @__PURE__ */ l(y, { className: "border-b border-gray-300 pr-[10px] pb-[1px]", children: /* @__PURE__ */ v(
|
|
185
|
-
$,
|
|
186
|
-
{
|
|
187
|
-
direction: "row",
|
|
188
|
-
spacing: 2,
|
|
189
|
-
justifyContent: "flex-end",
|
|
190
|
-
mt: 1,
|
|
191
|
-
mb: 1,
|
|
192
|
-
children: [
|
|
193
|
-
/* @__PURE__ */ l(
|
|
194
|
-
h,
|
|
195
|
-
{
|
|
196
|
-
"data-testid": "notification-flywayquery-download-button",
|
|
197
|
-
variant: "contained",
|
|
198
|
-
color: "primary",
|
|
199
|
-
size: "small",
|
|
200
|
-
onClick: q,
|
|
201
|
-
children: m("Download")
|
|
202
|
-
}
|
|
203
|
-
),
|
|
204
|
-
/* @__PURE__ */ l(
|
|
205
|
-
h,
|
|
206
|
-
{
|
|
207
|
-
"data-testid": "notification-flywayquery-copy-button",
|
|
208
|
-
variant: "contained",
|
|
209
|
-
color: "primary",
|
|
210
|
-
size: "small",
|
|
211
|
-
onClick: B,
|
|
212
|
-
children: m("Copy Query")
|
|
213
|
-
}
|
|
214
|
-
),
|
|
215
|
-
/* @__PURE__ */ l(
|
|
216
|
-
h,
|
|
217
|
-
{
|
|
218
|
-
"data-testid": "notification-flywayquery-close-button-action",
|
|
219
|
-
variant: "contained",
|
|
220
|
-
color: "secondary",
|
|
221
|
-
size: "small",
|
|
222
|
-
onClick: a,
|
|
223
|
-
children: /* @__PURE__ */ l(C, { variant: "body2", children: m("Close") })
|
|
224
|
-
}
|
|
225
|
-
)
|
|
226
|
-
]
|
|
227
|
-
}
|
|
228
|
-
) })
|
|
229
|
-
]
|
|
230
|
-
}
|
|
231
|
-
)
|
|
232
|
-
}
|
|
233
|
-
);
|
|
234
|
-
}
|
|
235
|
-
P.propTypes = {
|
|
236
|
-
open: E.any,
|
|
237
|
-
handleClose: E.any,
|
|
238
|
-
data: E.any,
|
|
239
|
-
roleData: E.any
|
|
240
|
-
};
|
|
241
|
-
export {
|
|
242
|
-
P as default
|
|
243
|
-
};
|
|
244
|
-
//# sourceMappingURL=NotificationFlywayQuery-BY8Zzml_.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationFlywayQuery-BY8Zzml_.js","sources":["../src/views/Notifications/NotificationFlywayQuery.jsx"],"sourcesContent":["import { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n Button,\n IconButton,\n Modal,\n Stack,\n TextField,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\n\n/**\n * NotificationFlywayQuery is a React component that renders a notification flyout with data and role information.\n * @module NotificationFlywayQuery\n * @param {Object} props - The props for the component.\n * @param {boolean} props.open - Boolean flag to determine if the notification flyout is open.\n * @param {Function} props.handleClose - Function to handle the closing of the notification flyout.\n * @param {Object} props.data - Data to display inside the notification flyout.\n * @param {Object} props.roleData - Role data to display in the notification flyout (such as user role or permissions).\n *\n * @returns {JSX.Element} A rendered notification flyout component.\n */\nexport default function NotificationFlywayQuery({\n open,\n handleClose,\n data,\n roleData,\n}) {\n const { user } = useSelector((state) => state.Authenticate);\n const { translate } = useTranslateProvider();\n let queryText = \"\";\n queryText = \"\";\n queryText += `begin;`;\n queryText += `\\n`;\n queryText += `DO $$`;\n queryText += `\\n`;\n queryText += `DECLARE`;\n queryText += `\\n`;\n queryText += `var_notification_type_id integer;`;\n queryText += `\\n`;\n queryText += `var_escalation_level_id integer;`;\n queryText += `\\n`;\n queryText += `old_notification_type_id integer;`;\n queryText += `\\n`;\n queryText += `old_escalation_level_id integer;`;\n queryText += `\\n`;\n queryText += `BEGIN`;\n queryText += `\\n`;\n\n if (data.code !== null || data.code !== undefined) {\n queryText +=\n `DELETE FROM notification_type_master WHERE code = '` +\n data.code +\n `'` +\n `returning id into old_notification_type_id;`;\n queryText += `\\n`;\n queryText += `\\n`;\n queryText += `INSERT INTO notification_type_master (`;\n queryText += `created_by,created_on,modified_by,modified_on,code,\"name\",\"type\",role_id,state,notification_for,action_on_role_id,data_query,action_query,order_no,color_code,data_for,url_based_action,url,modal_based_action,modal_name,is_location_filter_required,fetch_up_to_level,required_up_to_level,is_fetch_according_aoi,\"uuid\"`;\n queryText += `)`;\n queryText += `\\n`;\n queryText += `VALUES (`;\n queryText += user?.id + `,`;\n queryText += `now(),`;\n queryText += user?.id + `,`;\n queryText += `now(),`;\n queryText += data.code ? `'` + data.code + `',` : `null,`;\n queryText += data.notificationName\n ? `'` + data.notificationName + `',`\n : `null,`;\n queryText += data.notificationType\n ? `'` + data.notificationType + `',`\n : `null,`;\n if (data.roleId !== null) {\n queryText += data.roleId + \",\";\n } else {\n queryText += \"null,\";\n }\n queryText += data.state ? \"'\" + data.state + \"',\" : \"null,\";\n queryText += data.notificationFor\n ? \"'\" + data.notificationFor + \"',\"\n : \"null,\";\n queryText += \"null,\";\n if (data.dataQuery !== null) {\n queryText += \"'\" + data?.dataQuery?.replace(/'/g, \"''\") + \"',\";\n } else {\n queryText += \"null,\";\n }\n if (data.actionQuery !== null) {\n queryText += \"'\" + data?.actionQuery?.replace(/'/g, \"''\") + \"',\";\n } else {\n queryText += \"null,\";\n }\n if (data.orderNo !== null) {\n queryText += data.orderNo + \",\";\n } else {\n queryText += \"null,\";\n }\n if (data.colorCode !== null) {\n queryText += \"'\" + data.colorCode + \"',\";\n } else {\n queryText += \"null,\";\n }\n if (data.dataFor !== null) {\n queryText += \"'\" + data.dataFor + \"',\";\n } else {\n queryText += \"null,\";\n }\n queryText += data.urlBasedAction\n ? data.urlBasedAction + \",\"\n : (() => {\n let modalBasedActionValue;\n if (data.urlBasedAction === false) {\n modalBasedActionValue = \"false,\";\n } else {\n modalBasedActionValue = \"null,\";\n }\n return modalBasedActionValue;\n })();\n if (data.url !== null) {\n queryText += \"'\" + data.url + \"',\";\n } else {\n queryText += \"null,\";\n }\n queryText += data.modalBasedAction\n ? data.modalBasedAction + \",\"\n : (() => {\n let modalBasedActionValue;\n if (data.modalBasedAction === false) {\n modalBasedActionValue = \"false,\";\n } else {\n modalBasedActionValue = \"null,\";\n }\n return modalBasedActionValue;\n })();\n if (data.modalName !== null) {\n queryText += \"'\" + data.modalName + \"',\";\n } else {\n queryText += \"null,\";\n }\n queryText += data.isLocationFilterRequired\n ? data.isLocationFilterRequired + \",\"\n : \"null,\";\n if (data.fetchUptoLevel !== null) {\n queryText += data.fetchUptoLevel + \",\";\n } else {\n queryText += \"null,\";\n }\n if (data.requiredUptoLevel !== null) {\n queryText += data.requiredUptoLevel + \",\";\n } else {\n queryText += \"null,\";\n }\n queryText += data.isFetchAccordingAOI\n ? data.isFetchAccordingAOI + \",\"\n : \"null,\";\n if (data.uuid !== null) {\n queryText += \"'\" + data.uuid + \"'\";\n } else {\n queryText += \"null\";\n }\n queryText += \")\";\n queryText += \"returning id into var_notification_type_id;\";\n queryText += \"\\n\";\n queryText += \"\\n\";\n queryText +=\n \"DELETE FROM notification_type_role_rel WHERE notification_type_id = old_notification_type_id;\";\n queryText += \"\\n\";\n queryText += \"\\n\";\n queryText +=\n \"INSERT INTO notification_type_role_rel (notification_type_id, role_id)\";\n queryText += \"\\n\";\n queryText += \"SELECT var_notification_type_id, id\";\n queryText += \"\\n\";\n queryText += \"FROM um_role_master\";\n queryText += \"\\n\";\n queryText += \"WHERE name IN (\";\n let notificationRoleLength = data.roles?.length;\n let notificationCount = 0;\n if (data.roles?.length > 0) {\n data.roles.forEach((val) => {\n notificationCount += 1;\n if (roleData.find((item) => item.id === val)?.name != undefined) {\n queryText +=\n \"'\" + roleData.find((item) => item.id === val).name + \"' \";\n }\n if (notificationCount === notificationRoleLength) {\n queryText += \");\";\n } else {\n queryText += \",\";\n }\n queryText += \"\\n\";\n });\n } else {\n notificationCount += 1;\n const roleName =\n roleData?.find((item) => item.id === data?.roleId)?.name ?? null;\n queryText += roleName ? `'${roleName}'` : \"'null'\";\n queryText += \");\";\n queryText += \"\\n\";\n }\n if (data.escalationLevels?.length > 0) {\n data.escalationLevels.forEach((obj) => {\n let isPerformActionValid = false;\n queryText += \"\\n\";\n queryText +=\n \"DELETE FROM escalation_level_master WHERE uuid = \" +\n \"'\" +\n obj.uuid +\n \"' returning id into old_escalation_level_id;\";\n queryText += \"\\n\";\n queryText += \"\\n\";\n queryText +=\n 'INSERT INTO escalation_level_master (\"name\", notification_type_id, created_by, created_on, modified_by, modified_on,uuid)';\n queryText += \"VALUES (\";\n queryText += \"'\" + obj.name + \"',\";\n queryText += \"var_notification_type_id,\";\n queryText += user?.id + \",\";\n queryText += \"now(),\";\n queryText += user?.id + \",\";\n queryText += \"now(),\";\n queryText += \"'\" + obj.uuid + \"'\";\n queryText += \")\";\n queryText += \"returning id into var_escalation_level_id;\";\n queryText += \"\\n\";\n queryText += \"\\n\";\n queryText +=\n \"DELETE FROM escalation_level_role_rel WHERE escalation_level_id = \" +\n \"old_escalation_level_id ;\";\n queryText += \"\\n\";\n queryText += \"\\n\";\n if (\n obj.performAction != null &&\n Object.keys(obj.performAction)?.length > 0\n ) {\n for (const key in obj.performAction) {\n if (roleData.find((item) => item.id === key)?.name != undefined) {\n isPerformActionValid = true;\n break;\n }\n }\n }\n if (isPerformActionValid) {\n queryText +=\n \"INSERT INTO escalation_level_role_rel (escalation_level_id, role_id, can_perform_action)\";\n queryText += \"\\n\";\n queryText += \"SELECT var_escalation_level_id, id, \";\n let escalationLength = Object.keys(obj.performAction)?.length;\n queryText += \"\\n\";\n queryText += \"CASE\";\n queryText += \"\\n\";\n let escalationCount = 0;\n for (const key in obj.performAction) {\n escalationCount++;\n if (roleData.find((item) => item.id === key)?.name != undefined) {\n queryText +=\n \"WHEN um_role_master.name = \" +\n \"'\" +\n roleData.find((item) => item.id === key)?.name +\n \"' \" +\n \"THEN \" +\n obj.performAction[key];\n }\n if (escalationCount === escalationLength) {\n queryText += \"\\n\";\n queryText += \"ELSE false\";\n queryText += \"\\n\";\n queryText += \"END\";\n queryText += \"\\n\";\n } else {\n queryText += \"\\n\";\n }\n }\n escalationCount = 0;\n queryText += \"FROM um_role_master\";\n queryText += \"\\n\";\n queryText += \"WHERE name IN (\";\n for (const key in obj.performAction) {\n escalationCount++;\n if (roleData.find((item) => item.id === key)?.name !== undefined) {\n queryText +=\n \"'\" + roleData.find((item) => item.id === key).name + \"' \";\n }\n if (escalationCount === escalationLength) {\n queryText += \");\";\n } else {\n queryText += \",\";\n }\n queryText += \"\\n\";\n }\n }\n });\n }\n queryText += \"END $$;\";\n queryText += \"\\n\";\n queryText += \"commit;\";\n }\n const trackEvent = useTrackEvent();\n\n /**\n * Handles the download of a SQL file with the query text.\n * @function handleDownload\n * @returns {void}\n */\n\n const handleDownload = () => {\n const blob = new Blob([queryText], { type: \"text/plain\" });\n const blobSizeInKB = (blob.size / 1024).toFixed(2);\n const link = document.createElement(\"a\");\n link.href = URL.createObjectURL(blob);\n link.download =\n \"V\" + new Date().getTime() + \"__CREATED_OR_UPDATED_feature_\" + \".sql\";\n document.body.appendChild(link);\n link.click();\n\n trackEvent(\"file_download\", {\n file_type: \"sql\",\n file_name: link.download,\n file_size: `${blobSizeInKB} KB`,\n download_status: \"success\",\n });\n\n document.body.removeChild(link);\n\n handleClose();\n };\n\n /**\n * Copies the query text to the clipboard and displays a success message.\n * @function handleCopy\n * @returns {void}\n */\n\n const handleCopy = () => {\n navigator.clipboard.writeText(queryText).then(\n () => {\n showToast({\n message: \"Query copied\",\n type: \"success\",\n });\n },\n (err) => {\n console.error(\"Could not copy text: \", err);\n },\n );\n handleClose();\n };\n\n return (\n <Modal\n data-testid=\"notification-flywayquery-modal\"\n open={open}\n onClose={handleClose}\n sx={{\n \"& .MuiBackdrop-root\": {\n backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n },\n }}\n >\n <Grid\n container\n sx={{\n position: \"absolute\",\n top: \"10%\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"100%\",\n bgcolor: \"background.paper\",\n boxShadow: 24,\n maxWidth: 900,\n display: \"flex\",\n flexDirection: \"column\",\n }}\n >\n <Grid className=\"p-2.5 px-5 flex justify-between border-b\">\n <Typography variant=\"body1\" className=\"font-medium text-lg text-customBlue\">\n {translate(\"Flyway Query\")}\n </Typography>\n <IconButton\n size=\"small\"\n onClick={handleClose}\n data-testid=\"notification-flywayquery-close-button\"\n >\n <FontAwesomeIcon icon={faXmark} />\n </IconButton>\n </Grid>\n <Grid className=\"border-b border-gray-300 p-[10px]\">\n <TextField\n multiline\n rows={10}\n variant=\"outlined\"\n fullWidth\n value={queryText}\n sx={{\n \"& .MuiInputBase-input\": {\n fontSize: \"14px\",\n },\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"5px\",\n },\n }}\n slotProps={{\n input: {\n readOnly: true,\n },\n }}\n data-testid=\"shownotification-flywayquery-textfield-query-display\"\n />\n </Grid>\n <Grid className=\"border-b border-gray-300 pr-[10px] pb-[1px]\">\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={1}\n mb={1}\n >\n <Button\n data-testid=\"notification-flywayquery-download-button\"\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n onClick={handleDownload}\n >\n {translate(\"Download\")}\n </Button>\n <Button\n data-testid=\"notification-flywayquery-copy-button\"\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n onClick={handleCopy}\n >\n {translate(\"Copy Query\")}\n </Button>\n <Button\n data-testid=\"notification-flywayquery-close-button-action\"\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n onClick={handleClose}\n >\n <Typography variant=\"body2\">{translate(\"Close\")}</Typography>\n </Button>\n </Stack>\n </Grid>\n </Grid>\n </Modal>\n );\n}\n\nNotificationFlywayQuery.propTypes = {\n open: PropTypes.any,\n handleClose: PropTypes.any,\n data: PropTypes.any,\n roleData: PropTypes.any,\n};\n"],"names":["NotificationFlywayQuery","open","handleClose","data","roleData","user","useSelector","state","translate","useTranslateProvider","queryText","_a","_b","modalBasedActionValue","notificationRoleLength","_c","notificationCount","_d","val","item","roleName","_e","_f","obj","isPerformActionValid","key","escalationLength","escalationCount","trackEvent","useTrackEvent","handleDownload","blob","blobSizeInKB","link","handleCopy","showToast","err","jsx","Modal","jsxs","Grid","Typography","IconButton","FontAwesomeIcon","faXmark","TextField","Stack","Button","PropTypes"],"mappings":"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"}
|