@argusoft/medplat-core 1.0.9 → 1.0.11
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":"ShowFlywayQuery-DVRCd384.js","sources":["../src/views/Events/ShowFlywayQuery.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Button,\n TextField,\n} from \"@mui/material\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport CustomConfirmationModal from \"@/views/custom-components/CustomConfirmationModal\";\nimport moment from \"moment/moment\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\n\n/**\n * A React functional component that displays a configured Flyway query.\n * @module ShowFlywayQuery\n * @param {Object} props - Component properties.\n * @param {Object} props.configuredQuery - The query configuration object to display.\n * @param {boolean} props.open - Boolean flag indicating if the component should be visible.\n * @param {function} props.onClose - Callback function to close the component.\n */\n\nconst ShowFlywayQuery = ({ configuredQuery, open, onClose, dataTestId }) => {\n const [text, setText] = useState(\"\");\n const [isPublicKeyword, setIsPublicKeyword] = useState(false);\n const { translate } = useTranslateProvider();\n\n const [openConfirm, setOpenConfirm] = useState(false);\n\n /**\n *\n * Generates a SQL query string based on the `configuredQuery` object.\n * @function generateQueryText\n * @param {Object} configuredQuery - The query configuration object used to generate the SQL query.\n * @param {string} configuredQuery.code - The unique code for the query.\n * @param {string} configuredQuery.uuid - The unique identifier for the query.\n * @param {number} configuredQuery.createdBy - The ID of the user who created the query.\n * @param {string} [configuredQuery.params] - The parameters for the query.\n * @param {string} configuredQuery.query - The actual SQL query text.\n * @param {string} [configuredQuery.description] - A description of the query.\n * @param {boolean} [configuredQuery.returnsResultSet] - Flag indicating if the query returns a result set.\n * @param {string} [configuredQuery.state] - The state of the query (e.g., 'ACTIVE').\n * @returns {void}\n */\n\n const generateQueryText = useCallback(() => {\n const publicKeyword = configuredQuery?.configJson?.includes(\"public\");\n setIsPublicKeyword(publicKeyword);\n // Delete existing event configuration\n let queryText = `DELETE FROM EVENT_CONFIGURATION WHERE uuid = '${configuredQuery.uuid}';\\n\\n`;\n\n // Insert new event configuration\n queryText += `INSERT INTO EVENT_CONFIGURATION (created_by, created_on, modified_by, modified_on, day, description, event_type, event_type_detail_id, form_type_id, hour, minute, name, config_json, state, trigger_when, event_type_detail_code, uuid)\\nVALUES (\\n`;\n queryText += `${configuredQuery.createdBy}, current_date, ${configuredQuery.createdBy}, current_date, `;\n\n queryText +=\n configuredQuery.day !== undefined && configuredQuery.day !== null\n ? `${configuredQuery.day}, `\n : \"null, \";\n queryText += configuredQuery.description\n ? `'${configuredQuery.description.replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText += `'${configuredQuery.eventType}', `;\n queryText +=\n configuredQuery.eventTypeDetailId !== undefined &&\n configuredQuery.eventTypeDetailId !== null\n ? `${configuredQuery.eventTypeDetailId}, `\n : \"null, \";\n queryText +=\n configuredQuery.formTypeId !== undefined &&\n configuredQuery.formTypeId !== null\n ? `${configuredQuery.formTypeId}, `\n : \"null, \";\n queryText +=\n configuredQuery.hour !== undefined && configuredQuery.hour !== null\n ? `${configuredQuery.hour}, `\n : \"null, \";\n queryText +=\n configuredQuery.minute !== undefined && configuredQuery.minute !== null\n ? `${configuredQuery.minute}, `\n : \"null, \";\n queryText += `'${configuredQuery.name.replace(/'/g, \"''\")}', `;\n queryText += `'${configuredQuery.configJson.replace(/'/g, \"''\")}', `;\n queryText += `'${configuredQuery.state}', `;\n queryText +=\n configuredQuery.trigerWhen !== undefined &&\n configuredQuery.trigerWhen !== null\n ? `'${configuredQuery.trigerWhen}', `\n : \"null, \";\n queryText +=\n configuredQuery.eventTypeDetailCode !== undefined &&\n configuredQuery.eventTypeDetailCode !== null\n ? `${configuredQuery.eventTypeDetailCode}, `\n : \"null, \";\n queryText += `'${configuredQuery.uuid}');\\n`;\n\n if (\n configuredQuery.eventType === \"TIMMER_BASED\" &&\n configuredQuery.state !== \"INACTIVE\"\n ) {\n let nextDate = moment();\n switch (configuredQuery.trigerWhen) {\n case \"MONTHLY\":\n nextDate.add(1, \"months\").set({\n date: configuredQuery.day,\n hour: configuredQuery.hour || 0,\n minute: configuredQuery.minute || 0,\n second: 0,\n });\n break;\n case \"DAILY\":\n nextDate.add(getNextDate(configuredQuery), \"days\").set({\n hour: configuredQuery.hour || 0,\n minute: configuredQuery.minute || 0,\n second: 0,\n });\n break;\n case \"HOURLY\":\n nextDate\n .add(1, \"hours\")\n .set({ minute: getNextDate(configuredQuery), second: 0 });\n break;\n case \"MINUTE\":\n nextDate.add(configuredQuery.minute, \"minutes\").set({ second: 0 });\n break;\n default:\n }\n\n queryText += `\\nDELETE FROM TIMER_EVENT WHERE event_config_uuid = '${configuredQuery.uuid}' AND status = 'NEW';\\n\\n`;\n queryText += `INSERT INTO timer_event (event_config_uuid, processed, status, type, system_trigger_on)\\nVALUES (\\n`;\n queryText += `'${configuredQuery.uuid}', false, 'NEW', 'TIMER_EVENT', '${nextDate.format(\"MM-DD-yyyy HH:mm:ss\")}');\\n`;\n }\n\n // Handle notification configurations\n if (configuredQuery.configJson !== null) {\n const notificationConfigs = JSON.parse(configuredQuery.configJson);\n let firstDelete = true;\n\n notificationConfigs.forEach((config) => {\n if (config.conditions !== null && config.conditions.length > 0) {\n config.conditions.forEach((condition) => {\n if (\n condition.notificaitonConfigsType !== null &&\n condition.notificaitonConfigsType.length > 0\n ) {\n if (firstDelete) {\n queryText += `\\nDELETE FROM EVENT_CONFIGURATION_TYPE WHERE event_config_uuid = '${configuredQuery.uuid}';\\n`;\n firstDelete = false;\n }\n condition.notificaitonConfigsType.forEach((configType) => {\n queryText += `\\nINSERT INTO EVENT_CONFIGURATION_TYPE (id, base_date_field_name, event_config_uuid, day, email_subject, email_subject_parameter, hour, minute, mobile_notification_type, template, template_parameter, triger_when, type, user_field_name, family_field_name, member_field_name, query_master_id, query_master_param_json, query_code, sms_config_json, push_notification_config_json)\\nVALUES (\\n`;\n queryText += `'${configType.id}', `;\n queryText += configType.baseDateFieldName\n ? `'${configType.baseDateFieldName}', `\n : \"null, \";\n queryText += `'${configuredQuery.uuid}', `;\n queryText +=\n configType.day !== undefined && configType.day !== null\n ? `${configType.day}, `\n : \"null, \";\n queryText += configType.emailSubject\n ? `'${configType.emailSubject.replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText += configType.emailSubjectParameter\n ? `'${configType.emailSubjectParameter}', `\n : \"null, \";\n queryText +=\n configType.hour !== undefined && configType.hour !== null\n ? `${configType.hour}, `\n : \"null, \";\n queryText +=\n configType.miniute !== undefined &&\n configType.miniute !== null\n ? `${configType.miniute}, `\n : \"null, \";\n queryText +=\n configType.mobileNotificationType !== undefined &&\n configType.mobileNotificationType !== null\n ? `${configType.mobileNotificationType}, `\n : \"null, \";\n queryText += configType.template\n ? `'${configType.template.replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText += configType.templateParameter\n ? `'${configType.templateParameter.replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText += configType.trigerWhen\n ? `'${configType.trigerWhen}', `\n : \"null, \";\n queryText += configType.type\n ? `'${configType.type}', `\n : \"null, \";\n queryText += configType.userFieldName\n ? `'${configType.userFieldName}', `\n : \"null, \";\n queryText += configType.familyFieldName\n ? `'${configType.familyFieldName}', `\n : \"null, \";\n queryText += configType.memberFieldName\n ? `'${configType.memberFieldName}', `\n : \"null, \";\n queryText +=\n configType.queryMasterId !== undefined &&\n configType.queryMasterId !== null\n ? `${configType.queryMasterId}, `\n : \"null, \";\n queryText +=\n configType.queryMasterParamJson !== undefined &&\n configType.queryMasterParamJson !== null\n ? `'${JSON.stringify(configType.queryMasterParamJson).replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText += configType.queryCode\n ? `'${configType.queryCode}', `\n : \"null, \";\n queryText +=\n configType.smsConfigJson !== undefined &&\n configType.smsConfigJson !== null\n ? `'${JSON.stringify(configType.smsConfigJson).replace(/'/g, \"''\")}', `\n : \"null, \";\n queryText +=\n configType.pushNotificationConfigJson !== undefined &&\n configType.pushNotificationConfigJson !== null\n ? `'${JSON.stringify(configType.pushNotificationConfigJson).replace(/'/g, \"''\")}'`\n : \"null\";\n queryText += \");\\n\";\n\n // Handle mobile notification configs\n if (\n configType.mobileNotificationConfigs &&\n configType.mobileNotificationConfigs.length > 0\n ) {\n queryText += `\\nDELETE FROM EVENT_MOBILE_CONFIGURATION WHERE notification_type_config_id = '${configType.id}';\\n`;\n configType.mobileNotificationConfigs.forEach(\n (mobileConfig) => {\n queryText += `\\nINSERT INTO EVENT_MOBILE_CONFIGURATION (id, notification_code, notification_type_config_id, number_of_days_added_for_due_date, number_of_days_added_for_expiry_date, number_of_days_added_for_on_date)\\nVALUES (\\n`;\n queryText += `'${mobileConfig.id}', '${mobileConfig.notificationCode}', '${mobileConfig.notificationTypeConfigId}', ${mobileConfig.numberOfDaysAddedForDueDate}, ${mobileConfig.numberOfDaysAddedForExpiryDate}, ${mobileConfig.numberOfDaysAddedForOnDate});\\n`;\n }\n );\n }\n });\n }\n });\n }\n });\n }\n\n // Insert sync system configuration master\n let eventConfigObj = {\n id: configuredQuery.id,\n name: configuredQuery.name,\n description: configuredQuery.description,\n eventType: configuredQuery.eventType,\n eventTypeDetailId: configuredQuery.eventTypeDetailId,\n formTypeId: configuredQuery.formTypeId,\n eventTypeDetailCode: configuredQuery.eventTypeDetailCode,\n trigerWhen: configuredQuery.trigerWhen,\n day: configuredQuery.day,\n hour: configuredQuery.hour,\n minute: configuredQuery.minute,\n state: configuredQuery.state,\n createdBy: configuredQuery.createdBy,\n createdOn: moment().valueOf(),\n notificationConfigDetails: JSON.parse(configuredQuery.configJson),\n status: null,\n completionTime: null,\n configJson: null,\n uuid: configuredQuery.uuid,\n };\n\n queryText += `\\nINSERT INTO SYNC_SYSTEM_CONFIGURATION_MASTER (feature_type, config_json, created_on, created_by, feature_uuid, feature_name)\\nVALUES (\\n`;\n queryText += `'EVENT_BUILDER', '${JSON.stringify(eventConfigObj).replace(/'/g, \"''\")}', current_date, ${configuredQuery.createdBy}, '${configuredQuery.uuid}', '${configuredQuery.name}');\\n`;\n setText(queryText);\n }, [configuredQuery]);\n\n /**\n *\n * Copies the generated query text to the clipboard and displays a success message.\n * @function copyQuery\n * @returns {void}\n */\n\n const getNextDate = function (eventObj) {\n const now = new Date();\n const eventDate = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n eventObj.hour,\n eventObj.minute\n );\n\n if (eventDate > now) {\n return 0;\n } else {\n return 1;\n }\n };\n\n const copyQuery = () => {\n navigator?.clipboard?.writeText(text).then(() => {\n showToast({ message: \"Query Copied\", type: \"success\" });\n onClose();\n });\n };\n\n /**\n * Triggers a download operation and toggles the confirmation dialog visibility.\n * The function assumes that `download` and `setOpenConfirm` are available in the current scope.\n * @function askForConfirmation\n * @returns {void}\n */\n\n const askForConfirmation = () => {\n download();\n setOpenConfirm((cur) => !cur);\n };\n\n const trackEvent = useTrackEvent();\n\n /**\n * Creates and triggers a download of a text file containing the query text.\n *\n * @function download\n * @returns {void}\n */\n\n const download = async () => {\n if (window.showSaveFilePicker) {\n try {\n const options = {\n suggestedName: `V${new Date().getTime()}__CHANGE_IN_${configuredQuery.code}.sql`,\n types: [\n {\n description: \"SQL Files\",\n accept: { \"text/plain\": [\".sql\"] },\n },\n ],\n };\n const handle = await window.showSaveFilePicker(options);\n const writable = await handle.createWritable();\n await writable.write(text);\n await writable.close();\n const blobSizeInKB = (\n new Blob([text], { type: \"text/plain\" }).size / 1024\n ).toFixed(2);\n trackEvent(\"file_download\", {\n file_type: \"sql\",\n file_name: handle.name,\n file_size: `${blobSizeInKB} KB`,\n download_status: \"success\",\n });\n showToast({\n message: \"Query Downloaded SuccessFully\",\n type: \"success\",\n });\n onClose();\n } catch (err) {\n console.error(\"Something went wrong while downloading: \", err);\n }\n } else {\n // fallback for browsers that do not support showSaveFilePicker\n const blob = new Blob([text], { type: \"text/plain\" });\n const blobSizeInKB = (blob.size / 1024).toFixed(2);\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = `V${new Date().getTime()}__CHANGE_IN_${configuredQuery.code}.sql`;\n document.body.appendChild(a);\n a.click();\n trackEvent(\"file_download\", {\n file_type: \"sql\",\n file_name: a.download,\n file_size: `${blobSizeInKB} KB`,\n download_status: \"success\",\n });\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n showToast({ message: \"Query Downloaded SuccessFully\", type: \"success\" });\n onClose();\n }\n };\n\n /**\n *\n * Handles the download process based on the presence of a public keyword in the query text.\n * @function handleDownload\n * @returns {void}\n */\n\n const handleDownload = () => {\n if (isPublicKeyword) {\n setOpenConfirm((cur) => !cur);\n } else {\n download();\n }\n };\n\n /**\n * `useEffect` Hook to Generate Query Text\n *\n * This effect hook is used to generate the SQL query text whenever the `configuredQuery` dependency changes.\n *\n * @function useEffect\n * @param {Object} configuredQuery - The query configuration object used to generate the SQL query text.\n * @param {function} generateQueryText - A function that generates the query text based on `configuredQuery`.\n */\n\n useEffect(() => {\n if (configuredQuery) {\n generateQueryText();\n }\n }, [configuredQuery]);\n return (\n <>\n <CustomConfirmationModal\n description={\n \"This Flyway contains keyword 'public'. Are you sure you want to download?\"\n }\n title={\"CONFIRM ACTION\"}\n handleClick={askForConfirmation}\n open={openConfirm}\n handleClose={() => setOpenConfirm((cur) => !cur)}\n dataTestId=\"showflywayquery-customconfirmationmodal-confirmation-modal\"\n />\n <Dialog\n open={open}\n onClose={onClose}\n fullWidth\n maxWidth=\"md\"\n data-testid={dataTestId}\n >\n <DialogTitle className=\"font-medium text-lg border-b p-2.5 px-5\">\n {translate(\"Flyway Query\")}\n </DialogTitle>\n <DialogContent>\n <TextField\n multiline\n rows={10}\n variant=\"outlined\"\n fullWidth\n value={text}\n sx={{\n \"& .MuiInputBase-input\": {\n fontSize: \"14px\",\n },\n \"& .MuiOutlinedInput-root\": {\n // fontSize: '14px'\n borderRadius: \"5px\",\n },\n }}\n slotProps={{\n input: {\n readOnly: true,\n },\n }}\n data-testid=\"showflywayquery-textfield-query-display\"\n />\n </DialogContent>\n <DialogActions>\n <Button\n onClick={handleDownload}\n variant=\"contained\"\n size=\"small\"\n color=\"primary\"\n data-testid=\"showflywayquery-button-download-action\"\n >\n {translate(\"Download\")}\n </Button>\n <Button\n onClick={copyQuery}\n variant=\"contained\"\n size=\"small\"\n color=\"primary\"\n data-testid=\"showflywayquery-button-copyquery-action\"\n >\n {translate(\"Copy Query\")}\n </Button>\n <Button\n onClick={onClose}\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n data-testid=\"showflywayquery-button-cancel-action\"\n >\n {translate(\"Cancel\")}\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n};\n\nShowFlywayQuery.propTypes = {\n configuredQuery: PropTypes.any,\n open: PropTypes.any,\n onClose: PropTypes.any,\n dataTestId: PropTypes.any,\n};\n\nexport default ShowFlywayQuery;\n"],"names":["ShowFlywayQuery","configuredQuery","open","onClose","dataTestId","text","setText","useState","isPublicKeyword","setIsPublicKeyword","translate","useTranslateProvider","openConfirm","setOpenConfirm","generateQueryText","useCallback","publicKeyword","_a","queryText","nextDate","moment","getNextDate","notificationConfigs","firstDelete","config","condition","configType","mobileConfig","eventConfigObj","eventObj","now","copyQuery","showToast","askForConfirmation","download","cur","trackEvent","useTrackEvent","options","handle","writable","blobSizeInKB","err","blob","url","a","handleDownload","useEffect","jsxs","Fragment","jsx","CustomConfirmationModal","Dialog","DialogTitle","DialogContent","TextField","DialogActions","Button","PropTypes"],"mappings":"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"}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { jsx as r, jsxs as e } from "react/jsx-runtime";
|
|
2
|
-
import "react";
|
|
3
|
-
import c from "prop-types";
|
|
4
|
-
import { Modal as w, Box as s, TableContainer as f, Paper as N, Table as v, TableHead as q, TableRow as d, TableCell as l, TableBody as T, Typography as n, Button as y, Stack as C } from "@mui/material";
|
|
5
|
-
import { showToast as u } from "@/common/toaster/toaster";
|
|
6
|
-
import { useTranslateProvider as x } from "@/common/languageTranslator/TranslationContext";
|
|
7
|
-
const D = ({ historyList: i, open: m, handleClose: h }) => {
|
|
8
|
-
const p = (t) => t ? "Yes" : "No", g = (t) => {
|
|
9
|
-
try {
|
|
10
|
-
navigator.clipboard.writeText(t), u({
|
|
11
|
-
message: "Query Copied",
|
|
12
|
-
type: "success"
|
|
13
|
-
});
|
|
14
|
-
} catch (o) {
|
|
15
|
-
console.error(o), u({
|
|
16
|
-
message: "Error in copying query",
|
|
17
|
-
type: "error"
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}, b = (t) => {
|
|
21
|
-
const o = {
|
|
22
|
-
year: "numeric",
|
|
23
|
-
month: "2-digit",
|
|
24
|
-
day: "2-digit",
|
|
25
|
-
hour: "2-digit",
|
|
26
|
-
minute: "2-digit",
|
|
27
|
-
second: "2-digit",
|
|
28
|
-
hour12: !0
|
|
29
|
-
};
|
|
30
|
-
return new Date(t).toLocaleDateString("en-GB", o);
|
|
31
|
-
}, { translate: a } = x();
|
|
32
|
-
return /* @__PURE__ */ r(w, { open: m, onClose: h, "data-testid": "showqueryhistory-modal", className: "z-[1301]", children: /* @__PURE__ */ e(s, { className: "absolute top-[10%] left-1/2 transform -translate-x-1/2 w-3/5 bg-white container-fluid", children: [
|
|
33
|
-
/* @__PURE__ */ e(s, { className: "max-h-[360px] w-full overflow-y-auto overflow-x-hidden row", children: [
|
|
34
|
-
/* @__PURE__ */ r(s, { className: "col-12 padding-left-right-0", children: /* @__PURE__ */ r(f, { component: N, children: /* @__PURE__ */ e(v, { "aria-label": "query history table", children: [
|
|
35
|
-
/* @__PURE__ */ r(q, { children: /* @__PURE__ */ e(d, { children: [
|
|
36
|
-
/* @__PURE__ */ r(l, { className: "w-[5%] text-left align-top", children: a("Version") }),
|
|
37
|
-
/* @__PURE__ */ r(l, { className: "w-[30%] text-left align-top", children: a("Description") }),
|
|
38
|
-
/* @__PURE__ */ r(l, { className: "w-[65%] text-left align-top", children: a("Query") })
|
|
39
|
-
] }) }),
|
|
40
|
-
/* @__PURE__ */ r(T, { children: i && i.length > 0 ? i.map((t, o) => /* @__PURE__ */ e(d, { "data-testid": `showqueryhistory-tablerow-${o}`, children: [
|
|
41
|
-
/* @__PURE__ */ r(
|
|
42
|
-
l,
|
|
43
|
-
{
|
|
44
|
-
className: " text-left align-top",
|
|
45
|
-
"data-testid": `showqueryhistory-tablecell-version-${o}`,
|
|
46
|
-
children: i.length - o
|
|
47
|
-
}
|
|
48
|
-
),
|
|
49
|
-
/* @__PURE__ */ e(
|
|
50
|
-
l,
|
|
51
|
-
{
|
|
52
|
-
className: " text-left align-top",
|
|
53
|
-
"data-testid": `showqueryhistory-tablecell-description-${o}`,
|
|
54
|
-
children: [
|
|
55
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
56
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
57
|
-
a("Code"),
|
|
58
|
-
":"
|
|
59
|
-
] }),
|
|
60
|
-
" ",
|
|
61
|
-
t.oldCode || "N/A"
|
|
62
|
-
] }),
|
|
63
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
64
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
65
|
-
a("Date Time"),
|
|
66
|
-
":"
|
|
67
|
-
] }),
|
|
68
|
-
" ",
|
|
69
|
-
b(t.action_tstamp_tx)
|
|
70
|
-
] }),
|
|
71
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
72
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
73
|
-
a("description"),
|
|
74
|
-
":"
|
|
75
|
-
] }),
|
|
76
|
-
" ",
|
|
77
|
-
t.oldDescription || "N/A"
|
|
78
|
-
] }),
|
|
79
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
80
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
81
|
-
a("Status"),
|
|
82
|
-
":"
|
|
83
|
-
] }),
|
|
84
|
-
" ",
|
|
85
|
-
t.oldState || "N/A"
|
|
86
|
-
] }),
|
|
87
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
88
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
89
|
-
a("Parameters"),
|
|
90
|
-
":"
|
|
91
|
-
] }),
|
|
92
|
-
" ",
|
|
93
|
-
t.oldParams || "N/A"
|
|
94
|
-
] }),
|
|
95
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
96
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
97
|
-
a("Returns Result Set"),
|
|
98
|
-
":"
|
|
99
|
-
] }),
|
|
100
|
-
" ",
|
|
101
|
-
p(t.oldReturnsResultSet)
|
|
102
|
-
] }),
|
|
103
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
104
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
105
|
-
a("Is Public"),
|
|
106
|
-
":"
|
|
107
|
-
] }),
|
|
108
|
-
" ",
|
|
109
|
-
p(t.oldIsPublic)
|
|
110
|
-
] }),
|
|
111
|
-
/* @__PURE__ */ e(n, { variant: "body2", children: [
|
|
112
|
-
/* @__PURE__ */ e("strong", { children: [
|
|
113
|
-
a("CRUD Op"),
|
|
114
|
-
":"
|
|
115
|
-
] }),
|
|
116
|
-
t.action === "I" && "Insert",
|
|
117
|
-
t.action === "U" && "Update",
|
|
118
|
-
t.action === "D" && "Delete",
|
|
119
|
-
t.action === "T" && "Truncate",
|
|
120
|
-
!t.action && "N/A"
|
|
121
|
-
] })
|
|
122
|
-
]
|
|
123
|
-
}
|
|
124
|
-
),
|
|
125
|
-
/* @__PURE__ */ e(
|
|
126
|
-
l,
|
|
127
|
-
{
|
|
128
|
-
className: " text-left align-top",
|
|
129
|
-
"data-testid": `showqueryhistory-tablecell-query-${o}`,
|
|
130
|
-
children: [
|
|
131
|
-
/* @__PURE__ */ r(
|
|
132
|
-
y,
|
|
133
|
-
{
|
|
134
|
-
variant: "contained",
|
|
135
|
-
color: "primary",
|
|
136
|
-
size: "small",
|
|
137
|
-
onClick: () => g(t.oldQuery),
|
|
138
|
-
"data-testid": `showqueryhistory-button-copyquery-${o}`,
|
|
139
|
-
children: a("Copy Query")
|
|
140
|
-
}
|
|
141
|
-
),
|
|
142
|
-
/* @__PURE__ */ r(
|
|
143
|
-
n,
|
|
144
|
-
{
|
|
145
|
-
variant: "body2",
|
|
146
|
-
className: "whitespace-pre-wrap",
|
|
147
|
-
"data-testid": `showqueryhistory-typography-query-${o}`,
|
|
148
|
-
children: t.oldQuery
|
|
149
|
-
}
|
|
150
|
-
)
|
|
151
|
-
]
|
|
152
|
-
}
|
|
153
|
-
)
|
|
154
|
-
] }, o + 1)) : /* @__PURE__ */ r(d, { children: /* @__PURE__ */ r(l, { colSpan: 3, align: "center", children: a("No queries History") }) }) })
|
|
155
|
-
] }) }) }),
|
|
156
|
-
/* @__PURE__ */ r(s, { className: "col-12 padding-left-right-0 flex justify-end p-2" })
|
|
157
|
-
] }),
|
|
158
|
-
/* @__PURE__ */ r(
|
|
159
|
-
C,
|
|
160
|
-
{
|
|
161
|
-
direction: "row",
|
|
162
|
-
spacing: 2,
|
|
163
|
-
justifyContent: "flex-end",
|
|
164
|
-
mt: 1,
|
|
165
|
-
mr: 2,
|
|
166
|
-
mb: 1,
|
|
167
|
-
"data-testid": "showqueryhistory-stack",
|
|
168
|
-
children: /* @__PURE__ */ r(
|
|
169
|
-
y,
|
|
170
|
-
{
|
|
171
|
-
variant: "contained",
|
|
172
|
-
color: "secondary",
|
|
173
|
-
onClick: h,
|
|
174
|
-
"data-testid": "showqueryhistory-button-close",
|
|
175
|
-
children: /* @__PURE__ */ r(n, { variant: "body2", children: a("Close") })
|
|
176
|
-
}
|
|
177
|
-
)
|
|
178
|
-
}
|
|
179
|
-
)
|
|
180
|
-
] }) });
|
|
181
|
-
};
|
|
182
|
-
D.propTypes = {
|
|
183
|
-
historyList: c.any,
|
|
184
|
-
open: c.any,
|
|
185
|
-
handleClose: c.any
|
|
186
|
-
};
|
|
187
|
-
export {
|
|
188
|
-
D as default
|
|
189
|
-
};
|
|
190
|
-
//# sourceMappingURL=ShowQueryHistory-BDN0tzHg.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShowQueryHistory-BDN0tzHg.js","sources":["../src/views/QueryBuilder/ShowQueryHistory.jsx"],"sourcesContent":["import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport {\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n Button,\n Typography,\n Box,\n Stack,\n Modal,\n} from '@mui/material';\nimport { showToast } from '@/common/toaster/toaster';\nimport { useTranslateProvider } from '@/common/languageTranslator/TranslationContext';\n\n/**\n * This component displays the query history in a modal or dialog format. It is designed to show a list of historical queries\n * that have been executed, providing users with the ability to view past queries.\n * @module ShowQueryHistory\n * @param {Object[]} historyList - An array of objects representing the history of queries. Each object should include details\n * about individual queries, such as query text, execution time, or any other relevant metadata.\n * @param {boolean} open - A boolean that determines whether the component/modal is currently open or closed.\n * @param {function} handleClose - A callback function to close the modal or dialog. It is triggered when the user performs\n * an action that requires closing the component.\n * @returns {JSX.Element}\n *\n */\n\nconst ShowQueryHistory = ({ historyList, open, handleClose }) => {\n /**\n * Converts a boolean value to a 'Yes' or 'No' string.\n *@function yesOrNo\n * @param {boolean} value - The boolean value to be converted.\n * @returns {string} Returns 'Yes' if the input value is true, and 'No' if the\n */\n\n const yesOrNo = (value) => (value ? 'Yes' : 'No');\n\n /**\n * Copies a given text value to the clipboard and shows a toast notification.\n * @function onCopyQuery\n * @param {string} value - The text value to be copied to the clipboard.\n * It should be a valid string that you want to copy.\n * @returns {void} This function does not return any value.\n */\n\n const onCopyQuery = (value) => {\n try {\n navigator.clipboard.writeText(value);\n showToast({\n message: 'Query Copied',\n type: 'success',\n });\n } catch (error) {\n console.error(error);\n showToast({\n message: 'Error in copying query',\n type: 'error',\n });\n }\n };\n\n /**\n * Formats a date string into a human-readable format.\n * @function formatDate\n * @param {string | Date} dateString - The date string or Date object to format.\n * It should be a valid date string or a Date object that can be parsed by JavaScript's Date constructor.\n * @returns {string} The formatted date string in the format \"dd/mm/yyyy, hh:mm:ss AM/PM\".\n */\n\n const formatDate = (dateString) => {\n const options = {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: true,\n };\n return new Date(dateString).toLocaleDateString('en-GB', options);\n };\n const { translate } = useTranslateProvider();\n\n return (\n <Modal open={open} onClose={handleClose} data-testid=\"showqueryhistory-modal\" className=\"z-[1301]\">\n <Box className=\"absolute top-[10%] left-1/2 transform -translate-x-1/2 w-3/5 bg-white container-fluid\">\n <Box className=\"max-h-[360px] w-full overflow-y-auto overflow-x-hidden row\">\n <Box className=\"col-12 padding-left-right-0\">\n <TableContainer component={Paper}>\n <Table aria-label=\"query history table\">\n <TableHead>\n <TableRow>\n <TableCell className=\"w-[5%] text-left align-top\">{translate('Version')}</TableCell>\n <TableCell className=\"w-[30%] text-left align-top\">{translate('Description')}</TableCell>\n <TableCell className=\"w-[65%] text-left align-top\">{translate('Query')}</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {historyList && historyList.length > 0 ? (\n historyList.map((history, index) => (\n <TableRow key={index + 1} data-testid={`showqueryhistory-tablerow-${index}`}>\n <TableCell\n className=\" text-left align-top\"\n data-testid={`showqueryhistory-tablecell-version-${index}`}\n >\n {historyList.length - index}\n </TableCell>\n <TableCell\n className=\" text-left align-top\"\n data-testid={`showqueryhistory-tablecell-description-${index}`}\n >\n <Typography variant=\"body2\">\n <strong>{translate('Code')}:</strong> {history.oldCode || 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('Date Time')}:</strong> {formatDate(history.action_tstamp_tx)}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('description')}:</strong> {history.oldDescription || 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('Status')}:</strong> {history.oldState || 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('Parameters')}:</strong> {history.oldParams || 'N/A'}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('Returns Result Set')}:</strong> {yesOrNo(history.oldReturnsResultSet)}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('Is Public')}:</strong> {yesOrNo(history.oldIsPublic)}\n </Typography>\n <Typography variant=\"body2\">\n <strong>{translate('CRUD Op')}:</strong>\n {history.action === 'I' && 'Insert'}\n {history.action === 'U' && 'Update'}\n {history.action === 'D' && 'Delete'}\n {history.action === 'T' && 'Truncate'}\n {!history.action && 'N/A'}\n </Typography>\n </TableCell>\n <TableCell\n className=\" text-left align-top\"\n data-testid={`showqueryhistory-tablecell-query-${index}`}\n >\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n onClick={() => onCopyQuery(history.oldQuery)}\n data-testid={`showqueryhistory-button-copyquery-${index}`}\n >\n {translate('Copy Query')}\n </Button>\n <Typography\n variant=\"body2\"\n className=\"whitespace-pre-wrap\"\n data-testid={`showqueryhistory-typography-query-${index}`}\n >\n {history.oldQuery}\n </Typography>\n </TableCell>\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={3} align=\"center\">\n {translate('No queries History')}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n <Box className=\"col-12 padding-left-right-0 flex justify-end p-2\"></Box>\n </Box>\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={1}\n mr={2}\n mb={1}\n data-testid=\"showqueryhistory-stack\"\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={handleClose}\n data-testid=\"showqueryhistory-button-close\"\n >\n <Typography variant=\"body2\">{translate('Close')}</Typography>\n </Button>\n </Stack>\n </Box>\n </Modal>\n );\n};\n\nShowQueryHistory.propTypes = {\n historyList: PropTypes.any,\n open: PropTypes.any,\n handleClose: PropTypes.any,\n};\nexport default ShowQueryHistory;\n"],"names":["ShowQueryHistory","historyList","open","handleClose","yesOrNo","value","onCopyQuery","showToast","error","formatDate","dateString","options","translate","useTranslateProvider","jsx","Modal","jsxs","Box","TableContainer","Paper","Table","TableHead","TableRow","TableCell","TableBody","history","index","Typography","Button","Stack","PropTypes"],"mappings":"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"}
|
package/dist/SubMenu-BHcSNSUF.js
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import { jsxs as i, Fragment as Y, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import { useState as o, Suspense as F, lazy as I } from "react";
|
|
3
|
-
import "@/assets/scss/scrollBar.scss";
|
|
4
|
-
import { useTranslateProvider as J } from "@/common/languageTranslator/TranslationContext";
|
|
5
|
-
import { useTheme as K, Typography as p, TextField as W, TableContainer as X, Table as Z, TableBody as _, TableRow as ee, TableCell as ae, List as T, ListItem as k, darken as re } from "@mui/material";
|
|
6
|
-
import n from "@mui/material/Grid2";
|
|
7
|
-
import r from "prop-types";
|
|
8
|
-
import { useNavigate as te } from "react-router-dom";
|
|
9
|
-
import { FontAwesomeIcon as m } from "@fortawesome/react-fontawesome";
|
|
10
|
-
import { faArrowsRotate as oe, faPen as ne, faFloppyDisk as se } from "@fortawesome/free-solid-svg-icons";
|
|
11
|
-
import { S as le } from "./FeatureMenu-BYSRoNm0.js";
|
|
12
|
-
const ce = I(() => import("./FlywayQuery-Cx2sly6g.js")), ie = I(() => import("./ServerSyncModal-uNjGCQJz.js"));
|
|
13
|
-
function de({
|
|
14
|
-
data: y,
|
|
15
|
-
subMenuId: l,
|
|
16
|
-
setSubMenuId: M,
|
|
17
|
-
setSubMenuGroupName: $,
|
|
18
|
-
setSubMenuFeatureVal: L,
|
|
19
|
-
type: h,
|
|
20
|
-
isLoading: D,
|
|
21
|
-
isNewAPI: P,
|
|
22
|
-
subMenuGroupName: z
|
|
23
|
-
}) {
|
|
24
|
-
const [f, A] = o(""), [b, S] = o(!1), [x, g] = o(null), [N, q] = o(""), [v, w] = o(!1), [B, R] = o(), [j, G] = o({}), [O, Q] = o(""), d = K().palette.divider, c = y.filter(
|
|
25
|
-
(e) => e.name.toLowerCase().includes(f.toLowerCase())
|
|
26
|
-
), { translate: C } = J(), E = te(), H = (e, t, s) => {
|
|
27
|
-
const u = t ? "DYNAMIC" : "STATIC", V = `addDynamicFeature?${new URLSearchParams({
|
|
28
|
-
featureId: e,
|
|
29
|
-
featureType: s,
|
|
30
|
-
subMenuGroupName: z,
|
|
31
|
-
staticOrDynamic: u
|
|
32
|
-
}).toString()}`;
|
|
33
|
-
E(V, { state: { isNew: P } });
|
|
34
|
-
}, U = (e, t, s) => {
|
|
35
|
-
R(e), Q(t), G(s), w(!0);
|
|
36
|
-
};
|
|
37
|
-
return /* @__PURE__ */ i(Y, { children: [
|
|
38
|
-
/* @__PURE__ */ a(le, { isLoading: D, children: /* @__PURE__ */ i(n, { container: !0, className: "flex flex-col w-full", children: [
|
|
39
|
-
/* @__PURE__ */ a(n, { className: "p-2.5 flex-0", sx: { borderBottom: `1px solid ${d}` }, children: /* @__PURE__ */ a(p, { variant: "body2", className: "pl-1.5 font-bold pt-0.5", children: C("List of Sub Menus") }) }),
|
|
40
|
-
/* @__PURE__ */ a(n, { className: "px-2 py-1 flex-0", sx: { borderBottom: `1px solid ${d}` }, children: /* @__PURE__ */ a(
|
|
41
|
-
W,
|
|
42
|
-
{
|
|
43
|
-
placeholder: "Search Features",
|
|
44
|
-
variant: "outlined",
|
|
45
|
-
size: "small",
|
|
46
|
-
value: f,
|
|
47
|
-
onChange: (e) => A(e.target.value),
|
|
48
|
-
sx: {
|
|
49
|
-
width: "100%",
|
|
50
|
-
backgroundColor: (e) => e.palette.background.paper
|
|
51
|
-
},
|
|
52
|
-
"data-testid": "submenu-search-input"
|
|
53
|
-
}
|
|
54
|
-
) }),
|
|
55
|
-
/* @__PURE__ */ a(n, { width: "100%", className: "flex-1 ", children: /* @__PURE__ */ a(
|
|
56
|
-
X,
|
|
57
|
-
{
|
|
58
|
-
className: "",
|
|
59
|
-
style: { maxHeight: "calc(100vh - 300px)" },
|
|
60
|
-
children: /* @__PURE__ */ a(Z, { children: /* @__PURE__ */ a(_, { children: /* @__PURE__ */ a(
|
|
61
|
-
ee,
|
|
62
|
-
{
|
|
63
|
-
sx: {
|
|
64
|
-
backgroundColor: (e) => e.palette.background.main
|
|
65
|
-
},
|
|
66
|
-
children: /* @__PURE__ */ a(ae, { className: "p-0 h-full align-top", children: /* @__PURE__ */ a(n, { children: c.length ? /* @__PURE__ */ a(T, { className: "p-0 m-0", children: c == null ? void 0 : c.map(
|
|
67
|
-
(e, t, s) => /* @__PURE__ */ i(
|
|
68
|
-
k,
|
|
69
|
-
{
|
|
70
|
-
className: "flex justify-between px-4 py-2 transition-colors duration-300",
|
|
71
|
-
onMouseEnter: () => g(t),
|
|
72
|
-
onMouseLeave: () => g(null),
|
|
73
|
-
onClick: () => {
|
|
74
|
-
M(e.id), $(e.groupName), L(e.isNewFeature);
|
|
75
|
-
},
|
|
76
|
-
"data-testid": `submenu-list-item-${e.id}`,
|
|
77
|
-
sx: {
|
|
78
|
-
borderBottom: t === s.length - 1 ? "none" : `1px solid ${d}`,
|
|
79
|
-
backgroundColor: (u) => l === e.id ? re(
|
|
80
|
-
u.palette.background.default,
|
|
81
|
-
0.1
|
|
82
|
-
) : "inherit"
|
|
83
|
-
},
|
|
84
|
-
children: [
|
|
85
|
-
/* @__PURE__ */ a(
|
|
86
|
-
p,
|
|
87
|
-
{
|
|
88
|
-
variant: "body2",
|
|
89
|
-
className: `m-0 ${l === e.id || x === t ? "font-bold" : "font-normal"} ${x === t ? "cursor-pointer" : "cursor-default"}`,
|
|
90
|
-
children: e.name
|
|
91
|
-
}
|
|
92
|
-
),
|
|
93
|
-
e.isDynamicReport !== !0 && /* @__PURE__ */ i(n, { className: "flex flex-row", children: [
|
|
94
|
-
e.isDynamicFeature && /* @__PURE__ */ a(
|
|
95
|
-
m,
|
|
96
|
-
{
|
|
97
|
-
size: "lg",
|
|
98
|
-
icon: oe,
|
|
99
|
-
rotation: 90,
|
|
100
|
-
onClick: () => U(
|
|
101
|
-
e.id,
|
|
102
|
-
e.navigationState,
|
|
103
|
-
e
|
|
104
|
-
),
|
|
105
|
-
className: "mr-2 text-[var(--color-primary)]"
|
|
106
|
-
}
|
|
107
|
-
),
|
|
108
|
-
/* @__PURE__ */ a(
|
|
109
|
-
"button",
|
|
110
|
-
{
|
|
111
|
-
onClick: () => H(
|
|
112
|
-
e.id,
|
|
113
|
-
e.isDynamicFeature,
|
|
114
|
-
h
|
|
115
|
-
),
|
|
116
|
-
disabled: e.id !== l,
|
|
117
|
-
className: `mr-2 ${e.id !== l ? "text-gray-400 cursor-not-allowed" : "text-[var(--color-primary)]"}`,
|
|
118
|
-
children: /* @__PURE__ */ a(
|
|
119
|
-
m,
|
|
120
|
-
{
|
|
121
|
-
size: "lg",
|
|
122
|
-
icon: ne,
|
|
123
|
-
"data-testid": `submenu-edit-button-${e.id}`
|
|
124
|
-
}
|
|
125
|
-
)
|
|
126
|
-
}
|
|
127
|
-
),
|
|
128
|
-
/* @__PURE__ */ a(
|
|
129
|
-
m,
|
|
130
|
-
{
|
|
131
|
-
icon: se,
|
|
132
|
-
size: "lg",
|
|
133
|
-
onClick: () => {
|
|
134
|
-
S(!0), q(e.id);
|
|
135
|
-
},
|
|
136
|
-
"data-testid": `submenu-save-button-${e.id}`,
|
|
137
|
-
className: "mr-1 text-[var(--color-primary)] cursor-pointer"
|
|
138
|
-
}
|
|
139
|
-
)
|
|
140
|
-
] })
|
|
141
|
-
]
|
|
142
|
-
},
|
|
143
|
-
e == null ? void 0 : e.id
|
|
144
|
-
)
|
|
145
|
-
) }) : /* @__PURE__ */ a(T, { className: "p-0 m-0", children: /* @__PURE__ */ a(k, { children: /* @__PURE__ */ a(p, { variant: "body2", className: " m-0", children: C("No features for search query") }) }) }) }) })
|
|
146
|
-
}
|
|
147
|
-
) }) })
|
|
148
|
-
}
|
|
149
|
-
) })
|
|
150
|
-
] }) }),
|
|
151
|
-
b === !0 && /* @__PURE__ */ a(F, { children: /* @__PURE__ */ a(
|
|
152
|
-
ce,
|
|
153
|
-
{
|
|
154
|
-
"data-testid": "submenu-flywayquery",
|
|
155
|
-
open: b,
|
|
156
|
-
data: N ? y.find((e) => e.id === N) : {},
|
|
157
|
-
type: h,
|
|
158
|
-
handleClose: () => S(!1)
|
|
159
|
-
}
|
|
160
|
-
) }),
|
|
161
|
-
/* @__PURE__ */ a(F, { children: v && /* @__PURE__ */ a(
|
|
162
|
-
ie,
|
|
163
|
-
{
|
|
164
|
-
id: B,
|
|
165
|
-
selectedFeature: j,
|
|
166
|
-
navigationState: O,
|
|
167
|
-
openServerSyncModal: v,
|
|
168
|
-
openModalFunc: w
|
|
169
|
-
}
|
|
170
|
-
) })
|
|
171
|
-
] });
|
|
172
|
-
}
|
|
173
|
-
de.propTypes = {
|
|
174
|
-
data: r.any,
|
|
175
|
-
subMenuId: r.any,
|
|
176
|
-
setSubMenuId: r.any,
|
|
177
|
-
setSubMenuGroupName: r.any,
|
|
178
|
-
setSubMenuFeatureVal: r.any,
|
|
179
|
-
type: r.any,
|
|
180
|
-
isLoading: r.any,
|
|
181
|
-
isNewAPI: r.any,
|
|
182
|
-
subMenuGroupName: r.any
|
|
183
|
-
};
|
|
184
|
-
export {
|
|
185
|
-
de as default
|
|
186
|
-
};
|
|
187
|
-
//# sourceMappingURL=SubMenu-BHcSNSUF.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SubMenu-BHcSNSUF.js","sources":["../src/views/Features/SubMenu.jsx"],"sourcesContent":["import React, { lazy, Suspense, useState } from \"react\";\nimport \"@/assets/scss/scrollBar.scss\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nconst FlywayQuery = lazy(() => import(\"./FlywayQuery\"));\nimport {\n darken,\n List,\n ListItem,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableRow,\n TextField,\n Typography,\n useTheme,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport PropTypes from \"prop-types\";\nimport { useNavigate } from \"react-router-dom\";\nconst ServerSyncModal = lazy(() => import(\"./ServerSyncModal\"));\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faArrowsRotate,\n faFloppyDisk,\n faPen,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { SubMenuSkeleton } from \"./Skeletons/FeatureSkeletons\";\n\n/**\n * A component that renders a submenu interface.\n * @module SubMenu\n * @param {Object} props - The props object.\n * @param {Object} props.data - The data to be used or displayed within the submenu.\n * @param {string} props.subMenuId - The ID of the current submenu to display.\n * @param {Function} props.setSubMenuId - Function to update the submenu ID.\n * @param {Function} props.setSubMenuGroupName - Function to update the submenu Group name.\n * @param {Function} props.setSubMenuFeatureVal - Function to update the submenu state.\n * @param {string} props.type - The type of submenu or functionality to render.\n * @returns {JSX.Element} The rendered submenu component.\n */\nexport default function SubMenu({\n data,\n subMenuId,\n setSubMenuId,\n setSubMenuGroupName,\n setSubMenuFeatureVal,\n type,\n isLoading,\n isNewAPI,\n subMenuGroupName,\n}) {\n const [searchQuery, setSearchQuery] = useState(\"\");\n const [open, setOpen] = useState(false);\n const [hoveredIndex, setHoveredIndex] = useState(null);\n const [itemId, setItemId] = useState(\"\");\n const [openServerSyncModal, setOpenServerSyncModal] = useState(false);\n const [selectedFeatureId, setSelectedFeatureId] = useState();\n const [selectedFeature, setSelectedFeature] = useState({});\n const [navigationState, setNavigationState] = useState(\"\");\n const theme = useTheme();\n const borderColor = theme.palette.divider;\n const sortedFilteredFeatures = data.filter((feature) =>\n feature.name.toLowerCase().includes(searchQuery.toLowerCase()),\n );\n const { translate } = useTranslateProvider();\n\n const navigate = useNavigate();\n\n /**\n * Navigates to the edit feature page with the specified feature ID and type.\n * @function handleEdit\n * @param {string|number} id - The ID of the feature to be edited.\n * @param {string} type - The type of the feature to be edited.\n * @returns {void}\n */\n\n const handleEdit = (id, isDynamicFeature, type) => {\n const staticOrDynamic = isDynamicFeature ? \"DYNAMIC\" : \"STATIC\";\n const queryParams = new URLSearchParams({\n featureId: id,\n featureType: type,\n subMenuGroupName: subMenuGroupName,\n staticOrDynamic,\n }).toString();\n\n const url = `addDynamicFeature?${queryParams}`;\n\n navigate(url, { state: { isNew: isNewAPI } });\n };\n\n const handleServerSync = (id, navigationState, feature) => {\n setSelectedFeatureId(id);\n setNavigationState(navigationState);\n setSelectedFeature(feature);\n setOpenServerSyncModal(true);\n };\n\n return (\n <>\n <SubMenuSkeleton isLoading={isLoading}>\n <Grid container className=\"flex flex-col w-full\">\n <Grid className=\"p-2.5 flex-0\" sx={{ borderBottom: `1px solid ${borderColor}` }}>\n <Typography variant=\"body2\" className=\"pl-1.5 font-bold pt-0.5\">\n {translate(\"List of Sub Menus\")}\n </Typography>\n </Grid>\n\n <Grid className=\"px-2 py-1 flex-0\" sx={{ borderBottom: `1px solid ${borderColor}` }}>\n <TextField\n placeholder=\"Search Features\"\n variant=\"outlined\"\n size=\"small\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n sx={{\n width: \"100%\",\n backgroundColor: (theme) => theme.palette.background.paper,\n }}\n data-testid=\"submenu-search-input\"\n />\n </Grid>\n\n <Grid width={\"100%\"} className=\"flex-1 \">\n <TableContainer\n className=\"\"\n style={{ maxHeight: \"calc(100vh - 300px)\" }}\n >\n <Table>\n <TableBody>\n <TableRow\n sx={{\n backgroundColor: (theme) => theme.palette.background.main,\n }}\n >\n <TableCell className=\"p-0 h-full align-top\">\n <Grid>\n {sortedFilteredFeatures.length ? (\n <List className=\"p-0 m-0\">\n {sortedFilteredFeatures?.map(\n (item, index, array) => {\n return (\n <ListItem\n key={item?.id}\n className=\"flex justify-between px-4 py-2 transition-colors duration-300\"\n onMouseEnter={() => setHoveredIndex(index)}\n onMouseLeave={() => setHoveredIndex(null)}\n onClick={() => {\n setSubMenuId(item.id);\n setSubMenuGroupName(item.groupName);\n setSubMenuFeatureVal(item.isNewFeature);\n }}\n data-testid={`submenu-list-item-${item.id}`}\n sx={{\n borderBottom:\n index === array.length - 1 ? \"none\" : `1px solid ${borderColor}`,\n backgroundColor: (theme) =>\n subMenuId === item.id\n ? darken(\n theme.palette.background.default,\n 0.1,\n )\n : \"inherit\",\n }}\n >\n <Typography\n variant=\"body2\"\n className={`m-0 ${\n subMenuId === item.id ||\n hoveredIndex === index\n ? \"font-bold\"\n : \"font-normal\"\n } ${hoveredIndex === index ? \"cursor-pointer\" : \"cursor-default\"}`}\n >\n {item.name}\n </Typography>\n {item.isDynamicReport !== true && (\n <Grid className=\"flex flex-row\">\n {item.isDynamicFeature && (\n <FontAwesomeIcon\n size=\"lg\"\n icon={faArrowsRotate}\n rotation={90}\n onClick={() =>\n handleServerSync(\n item.id,\n item.navigationState,\n item,\n )\n }\n className=\"mr-2 text-[var(--color-primary)]\"\n />\n )}\n <button\n onClick={() =>\n handleEdit(\n item.id,\n item.isDynamicFeature,\n type,\n )\n }\n disabled={item.id !== subMenuId}\n className={`mr-2 ${\n item.id !== subMenuId\n ? \"text-gray-400 cursor-not-allowed\"\n : \"text-[var(--color-primary)]\"\n }`}\n >\n <FontAwesomeIcon\n size=\"lg\"\n icon={faPen}\n data-testid={`submenu-edit-button-${item.id}`}\n />\n </button>\n <FontAwesomeIcon\n icon={faFloppyDisk}\n size=\"lg\"\n onClick={() => {\n setOpen(true);\n setItemId(item.id);\n }}\n data-testid={`submenu-save-button-${item.id}`}\n className=\"mr-1 text-[var(--color-primary)] cursor-pointer\"\n />\n </Grid>\n )}\n </ListItem>\n );\n },\n )}\n </List>\n ) : (\n <List className=\"p-0 m-0\">\n <ListItem>\n <Typography variant=\"body2\" className=\" m-0\">\n {translate(\"No features for search query\")}\n </Typography>\n </ListItem>\n </List>\n )}\n </Grid>\n </TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </TableContainer>\n </Grid>\n </Grid>\n </SubMenuSkeleton>\n\n {open === true && (\n <Suspense>\n <FlywayQuery\n data-testid=\"submenu-flywayquery\"\n open={open}\n data={itemId ? data.find((data) => data.id === itemId) : {}}\n type={type}\n handleClose={() => setOpen(false)}\n />\n </Suspense>\n )}\n <Suspense>\n {openServerSyncModal && (\n <ServerSyncModal\n id={selectedFeatureId}\n selectedFeature={selectedFeature}\n navigationState={navigationState}\n openServerSyncModal={openServerSyncModal}\n openModalFunc={setOpenServerSyncModal}\n />\n )}\n </Suspense>\n </>\n );\n}\n\nSubMenu.propTypes = {\n data: PropTypes.any,\n subMenuId: PropTypes.any,\n setSubMenuId: PropTypes.any,\n setSubMenuGroupName: PropTypes.any,\n setSubMenuFeatureVal: PropTypes.any,\n type: PropTypes.any,\n isLoading: PropTypes.any,\n isNewAPI: PropTypes.any,\n subMenuGroupName: PropTypes.any,\n};\n"],"names":["FlywayQuery","lazy","ServerSyncModal","SubMenu","data","subMenuId","setSubMenuId","setSubMenuGroupName","setSubMenuFeatureVal","type","isLoading","isNewAPI","subMenuGroupName","searchQuery","setSearchQuery","useState","open","setOpen","hoveredIndex","setHoveredIndex","itemId","setItemId","openServerSyncModal","setOpenServerSyncModal","selectedFeatureId","setSelectedFeatureId","selectedFeature","setSelectedFeature","navigationState","setNavigationState","borderColor","useTheme","sortedFilteredFeatures","feature","translate","useTranslateProvider","navigate","useNavigate","handleEdit","id","isDynamicFeature","staticOrDynamic","url","handleServerSync","jsxs","Fragment","jsx","SubMenuSkeleton","Grid","Typography","TextField","theme","TableContainer","Table","TableBody","TableRow","TableCell","List","item","index","array","ListItem","darken","FontAwesomeIcon","faArrowsRotate","faPen","faFloppyDisk","Suspense","PropTypes"],"mappings":"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"}
|