{"version":3,"file":"ReportView.min.js","sources":["EncompassWebServices/Reporting_ECP/ReportView.js"],"sourcesContent":["\"use strict\";\r\n\r\nEWS.Ready((EWS) => {\r\n if (!IsImpersonateUser) {\r\n EWS.Command.AddMenu(\"ReportEditMenu\", (control, name, menu, callback) => {\r\n menu.innerHTML = \"\";\r\n callback(control, menu);\r\n }, (control, name, menu, menuArgs) => {\r\n menu.style.display = \"none\";\r\n menu.innerHTML = \"\";\r\n\r\n const ReportEditMenu = new ECP.EC_Request(\"SavedReport_ReportEditMenu\");\r\n ReportEditMenu.AddRequestVariable(\"ReportID\", menuArgs.report);\r\n ReportEditMenu.Submit().then((result) => {\r\n if (result.report.length > 1) {\r\n let html = \"\";\r\n\r\n for (let i = 0; i < result.report.length; i++) {\r\n html += `
\";\r\n }\r\n menu.innerHTML = html;\r\n menu.style.display = \"block\";\r\n menu = EC_Fmt.RemoveAllEventListeners(menu);\r\n menu.addEventListener(\"click\", () => {\r\n const item = event.target.closest(\".ews-menu-item\");\r\n\r\n if (item && menu.contains(item)) {\r\n window.location.href = item.getAttribute(\"url\");\r\n }\r\n });\r\n } else if (result.report.length === 1) {\r\n EWS.ShowLoading();\r\n window.location.href = result.report[0].url;\r\n } else if (result.type === \"Spreadsheet\") {\r\n ECP.Dialog.Alert(\"This Spreadsheet contains no linked reports.\");\r\n } else {\r\n EWS.ShowLoading();\r\n window.location.href = `Home?DashboardID=${ECP.CommonDashboards.ReportEdit}&ParseFromReportURL=True&ReportID=${menuArgs.report}`;\r\n }\r\n });\r\n });\r\n }\r\n\r\n EWS.Command.AddMenu(\"SwitchGraphMenu\", (control, name, menu, callback) => {\r\n menu.innerHTML = ` `\r\n\r\n + ` `\r\n\r\n + ` `\r\n\r\n + ` `\r\n\r\n + ` `\r\n\r\n + ` `;\r\n\r\n callback(control, menu);\r\n }, (control, name, menu, arg) => {\r\n menu = EC_Fmt.RemoveAllEventListeners(menu);\r\n\r\n menu.addEventListener(\"click\", (event) => {\r\n const item = event.target.closest(\".ews-menu-item\");\r\n\r\n if (item && menu.contains(item)) {\r\n EWS.Command.HideAllMenus();\r\n\r\n arg.switchGraph(item.getAttribute(\"command\"));\r\n }\r\n });\r\n });\r\n\r\n const ChartDataIcon = document.querySelector(\".ChartData .ews-icon-graph\");\r\n if (ChartDataIcon) {\r\n ChartDataIcon.addEventListener(\"click\", (event) => {\r\n const target = event.target;\r\n\r\n EWS.Command.ShowMenu(\"SwitchGraphMenu\", target, {\r\n switchGraph(graph) {\r\n const reportUrl = document.getElementById(\"ReportUrl\").value;\r\n const queries = reportUrl.split(\"&\").map((query) => {\r\n if (query.split(\"=\")[0] === \"Parameters\") {\r\n const parameters = query;\r\n const parametersValue = parameters.split(\"=\")[1];\r\n let parameterArray = parametersValue.split(\"%7c\");\r\n // Task 760106: Comparison Sales Report: Change the Report type with report icon in upper right cornerdoes not change Report Type\r\n if (parameterArray.indexOf(\"E|F\")) {\r\n parameterArray = parametersValue.split(\"|\");\r\n }\r\n parameterArray = parameterArray.map((parameter) => {\r\n if (parameter.split(\"%7e\")[0] === \"F%3aDisplay\") {\r\n return `F%3aDisplay%7eV%3a${encodeURIComponent(graph)}`;\r\n } if (parameter.split(\"~\")[0] === \"F:Display\") {\r\n return `F:Display~V:${encodeURIComponent(graph)}`;\r\n }\r\n return parameter;\r\n });\r\n\r\n return `Parameters=${parameterArray.join(\"%7c\")}`;\r\n }\r\n return query;\r\n });\r\n\r\n ECP.Dialog.ShowLoading();\r\n\r\n window.location.href = `Home?DashboardID=${ECP.CommonDashboards.ReportView}&${queries.join(\"&\")}`;\r\n }\r\n });\r\n });\r\n }\r\n\r\n const updateTime = document.getElementById(\"NextUpdateTime\");\r\n if (updateTime) {\r\n DataConnection(updateTime.getAttribute(\"enddatetime\"), updateTime.getAttribute(\"startdatetime\"));\r\n }\r\n\r\n const reportURL = document.getElementById(\"ReportUrl\");\r\n if (reportURL?.value && window.location.search.includes(`DashboardID=${ECP.CommonDashboards.ReportView}`) && (`${window.location.pathname}?${reportURL.value}`).length < 2000) {\r\n EC_Fmt.ReplaceState(window.history.state, \"\", `Home?DashboardID=${ECP.CommonDashboards.ReportView}&${reportURL.value}`);\r\n }\r\n});\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nfunction convertToFusion() {\r\n ECP.Dialog.ShowLoading();\r\n\r\n const myRequest = new ECP.EC_Request(\"Convert_Sales_To_Fusion\");\r\n const ParseFromReportURL = EC_Fmt.GetPageParameter(\"ParseFromReportURL\");\r\n const ReportID = EC_Fmt.GetPageParameter(\"ReportID\");\r\n if (ParseFromReportURL?.toLowerCase() === \"true\" && EC_Fmt.Null2ZeroInt(ReportID) > 0) {\r\n myRequest.AddRequestVariable(\"ReportID\", ReportID, ECP.EC_Verb.Post);\r\n } else {\r\n myRequest.AddRequestVariable(\"ReportURL\", EC_Fmt.Get_QueryString(\"ReportID\"), ECP.EC_Verb.Post);\r\n }\r\n myRequest.Submit().then((result) => {\r\n if (EC_Fmt.Null2ZeroInt(result.FusionReportID) > 0) {\r\n window.location.href = `Home?DashboardID=${ECP.CommonDashboards.FusionView}&ReportID=${result.FusionReportID}`;\r\n }\r\n ECP.Dialog.HideLoading();\r\n }).catch((e) => {\r\n ECP.Dialog.HideLoading();\r\n throw e;\r\n });\r\n}\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nfunction EditReportMenu(trigger, report) {\r\n if (EWS?.Command) {\r\n EWS.Command.ShowMenu(\"ReportEditMenu\", trigger, {\r\n report\r\n });\r\n }\r\n}\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nfunction LeaveImporsonate(url) {\r\n if (EWS) {\r\n const html = \"You are impersonating a user. Do you want to leave and go back to your login? | \"\r\n + \"
You are currently a guest. Do you want to log in? | \"\r\n + \"