{"version":3,"sources":["EncompassWebServices/Controls/JsonPath.js","EncompassWebServices/Reporting_ECP/SavedReport.js","EncompassWebServices/includes/SitemapHeader_INC.js","EncompassWebServices/includes/ToggleCheckboxes_INC.js"],"names":["EWS","JsonPath","options","Object","assign","data","resultType","keepHistory","[object Object]","path","value","expression","loc","func","P","result","expr","onNormalize","subx","replace","$0","$1","$2","push","x","split","p","i","n","length","test","v","onFound","asPath","query","val","onTrace","shift","join","prototype","hasOwnProperty","call","trace","walk","m","l","z","eval","substr","lastIndexOf","Array","slice","s","store","f","keyArr","keys","len","start","end","step","$3","parseInt","Math","max","min","_v","_vname","e","SyntaxError","message","normalize","Json","BC_SavedReport","me","this","UserName","FullName","UserId","SelectedReportIDArr","Command","Add","control","args","VerifySession","ECP","Dialog","ShowLoading","ownerauthenticationid","undefined","AuthenticationID","EC_Fmt","isNull","myRequest","EC_Request","AddRequestVariable","search","FilterPivot","DashboardID","isArray","Submit","then","results","HideLoading","html","reportDisplay","querySelector","shared","owner","name","j","catagory","k","report","IsPivot","reporttype","multipleSelect","indexOf","id","toString","source","innerHTML","reportIdArr","reportId","reportInput","checked","treeNode","closest","currentSavedReports","HtmlStrToElement","prepend","NodeArray","parentNode","forEach","node","click","TriggerEvent","ownerNodeSet","Set","checkedInputArr","document","querySelectorAll","checkedInput","ownerNode","add","ownerNodeArr","from","getElementById","insertBefore","firstElementChild","addEventListener","event","target","matches","checkbox","index","splice","Delete","trigger","ConfirmDelete","Trn","dialogConfirm","ShowDialog","cancelButtonTitle","dialog","CloseDialog","item","remove","success","Alert","catch","error","firstChild","style","height","Edit","format","category","favorite","link","roles","Show_BC_SavedReport_EditReport_Dialog","Favorite","ReportURL","Name","window","location","href","substring","RemoveFavorite","Width","disableResize","confirmButtonTitle","confirmButtonAction","clearDashboardMenuCache","NewName","getElementsByClassName","ID","SetReturnType","EC_ReturnType","Text","EC_Verb","Post","reload","Error","LoadRoles","selected","UserTypeArr","UserTypeRoles","reduce","userTypeRoles","role","includes","UserType","selectCount","roleshtml","userType","Null2ZeroInt","RoleID","Role","classList","contains","display","getAttribute","input","childusertype","CheckParentAll","childusertypeinputarr","parentnode","Run","system","status","dashboard","encodeURIComponent","Save","url","permission","callback","urlProcessCallback","draft","username","parentreportid","Show_BC_SavedReport_SaveReport_Dialog","uri","toUpperCase","mySubRequest","Verb","SaveAs","CDec","GetPageParameter","CommonDashboards","FusionView","FusionEdit","original","SaveDraft","method","Select","selectCommand","title","fullName","ReportType","Show_BC_SavedReport_ReportList_Dialog","SelectReport","parentReport","fusion","Show_BC_SavedReport_FusionAddReport_Dialog","Ready","SavedReport","Report_Save","Report_SaveAs","IsImpersonateUser","OldUrl","NewUrl","LogOn","Report_SaveDraft","saveReportArgs","isMobile","LoadingDialogTimeout","setTimeout","content","width","cancel","save","SaveURL","UrlArr","GetURLParameters","DashboardFormat","isInteger","_myRequest","selectedRoles","checkedRoles","myResult","SaveMethod","ajaxInputs","FieldID","AjaxInputs","HTML","AjaxInput","toLowerCase","clearTimeout","FormData","async","selectArgs","ReportLayers","CheckFusionReportLayers","fullname","OwnerAuthenticationID","select","requestAnimationFrame","zIndex","radio","CheckSaveReportLayers","manualTitle","tagName","reportTitle","text","Execute","userName","key","type","focus","closeDialog","inputArr","map","Show_BC_SavedReport_ReportConflicts_Dialog","AllowHideAllDivs","PageSizeCallback","PageResizeCallback","MenuScrollTop","Menu","MenuTop","PageEndMilliseconds","AllowZoom","Switch","SetupEncompassSiteMapHeader","application","CurrentLocalStorageKey","floor","Date","UserID","DashboardMenuHTML","GetLocalStorageValue","localStorage","startsWith","removeItem","GetDashboardMenuURL","getTime","GetCookie","token","Distributor","Get_QueryString","fetch","credentials","response","returnHTML","Login","WriteDashboardMenuHTML","SetLocalStorageValue","expandingTimeout","collapsingTimeout","Menumouseenter","overflowY","highlightedSection","background","boxShadow","expandedSubCategory","Menumouseleave","CollapseAndUnHighlightMenu","passive","stopPropagation","requestIdleCallback","scrollLeft","MainMenuItemHighlight","Settings","MainMenuItemNoCategory","addViewRoleDiv","createElement","setAttribute","TableView","appendChild","ReplaceState","history","state","hash","titleObserver","MutationObserver","mutations","mutation","recentlyVisited","JSON","parse","pages","lastIndex","cleanTitle","textContent","URL","pathname","stringify","observe","subtree","characterData","childList","scrollTimer","innerContent","elementsHidden","hideAllElements","scrollTop","MainLayout","resizeTimeout","ResizeLayout","button","HideAllDivs","isScale","dist","scale","mainLayoutTable","zoomables","DashboardElement","transition","originalEvent","touches","sqrt","pageX","pageY","currentDist","diff","abs","currentScale","scrollWidth","outerWidth","transform","transformOrigin","offsetWidth","zoomable","ApplicationVersionLinks","MainLayoutHeader","previousEl","previousElementSibling","parentElement","scrollTo","ShowToolTipMessage","CreateSwitchDashboardVersionTypeButton","OverFlowMenu","btn","shadowRoot","color","fontSize","HeaderOverflowMenu","GetHeaderOverflowMenu","nextSibling","SetRenderTime","ShowMenu","switchVersionTypeContent","ExistsBetaVersion","EnableBeta","switchVersionTypeInput","gtag","enableBeta","setPageBreadcrumbTitle","Breadcrumb","BreadcrumbURL","Title","Button","htmlB","HeaderMenuLoading","currentCategoryName","HighlightMenu","ToggleMenuCategory","EncompassMobileItem","shareButton","preventDefault","Load_QuicklinkMenu","elements","loadTime","PageLoadTime","renderTime","round","PageStartMilliseconds","setInternetSpeed","internetSpeed","isLocalhost","hostname","navigator","connection","downlink","backgroundColor","Round","rtt","SubmitTo","Id","Url","Form","submit","RegisterPageSizeCallback","Callback","CurrentFunction","RegisterPageResizeCallback","NeedScrollToCurrent","AllowResize","userMenu","offsetHeight","HideMenu","windowInnerHeight","innerHeight","windowInnerWidth","innerWidth","body","position","SetLayoutHeight","NewMenuTop","LeftSideMenu","top","getBoundingClientRect","outerHeight","myDashboard","MainContent","LoadKnowledgeHelpAlerts","KnowledgeHelpAlert","KnowledgeHelpKey","KnowledgeHelpKeyValue","json","Data","TotalCount","DestroyContent","hideableDivs","includesMobileTouchOverItem","MobileCurrentInput","GetXY","Element","jQuery","myPosition","X","left","Y","GetX","GetY","ToggleMainMenu","cookie","SiteMenuToggle","visible","BreadCrumbMenu","removeAttribute","BreadCrumbMenuIcon","Content","headerApplication","categoryHighlight","mobileMenuMask","resetPositionAfterAnimationEnd","removeEventListener","mainMenuCategory","nextElementSibling","scrollIntoView","behavior","block","inline","mobileMenuMaskDIV","dashboardId","tempDiv","currentPrimaryDashboard","oldCategory","oldMenuItem","currentURL","currentMenuLink","dashboardMenuLink","dashboardEditIDArr","currentMenuItem","arrow","dashboardMenuItemArr","dashboardMenuItem","FieldName","Null2EmptyStr","parameterArr","parsingParameterArr","selectedDashboard","EditDashboardBtn","ToggleExcelMenu","ExcelMenu","buttonPosition","ShowSwitchDialog","Tips","switch","barPosition","cssText","ItemArr","dom","childNodes","scrollIntoViewIfNeeded","SiteSwitchSearch","InitSiteSwitchData","isDialogDragAttached","PositionDialog","Mask","clientWidth","documentElement","clientHeight","Height","opacity","overflow","Top","Left","minWidth","marginLeft","marginTop","SRDOwner","borderTopWidth","paddingTop","DialogScrollContent","DialogScrollContentTable","border","DialogScrollContentCells","borderBottom","dragDialog","handle","currentDialog","startX","startY","clientX","clientY","webkitUserSelect","MoveDone","MoveDialog","topMaxLimit","leftMaxLimit","DialogContent","DialogHeader","DialogFooter","HideDialog","DialogMask","myElement","embedElements","getElementsByTagName","pdfIframe","overflowX","ScrollPosition","scrollPosition","SendEmail","ContentHtml","Embeded","ToEmail","EmailForm","action","ReturnURL","ContentHtmlElement","Category","CollapseOtherCategories","CategoryLayer","Collapsed","OtherCategories","CategoryArrow","OpenApplicationDownload","EncompassMobileCategory","getComputedStyle","OpenKnowledgeHelp","open","get_searchOp","Value","Replace","Find","ReplaceVal","ReplaceAll","ToggleFilterHeader","FilterContent","FilterCollapsed","ClockIn","TimeClockActivityID","SitesData","SitesHTML","Sites","site","SiteSearchInput","myItemArr","SwitchSiteButton","SwitchSiteForm","ctrlKey","metaKey","ViewNewDashboards","ShowUnshared","mySetShowUnsharedDashboardRequest","ShowHiddenDashboards","ShowDashboards","mySetShowDefaultDashboardRequest","ShowOtherSiteDashboard","ShowOther","mySetShowOtherSiteDashboardRequest","ShowHideFilters","TableFilter","WriteEncompassMobileItemHtml","clientApplication","clientOS","clientOSVersion","contentHtml","ClientApplication","DownloadURL","ClientVersion","isEmptyContent","trim","isMobileDevice","maxTouchPoints","isAndroid","isIOS","userAgent","ShareButtonHandle","displayCommandMenu","ele","showRemindMeDialog","ShowReMindMeDialog","dateTimeNow","DateTimeParseFormat","ScreenFmt","DataType","_DateTime","DateTimeInput","date","delayRequest","State","Snackbar","errors","detail","ShowBetaFeedbackDialog","innerText","head","myDashboardData","EC_TableView","AddSubTableJoinID","AddSubTableColumn","AddFilter","EC_Operator","Equals","GetResults","myRecordSet","EC_Recordset","Records","FeedbackDetail","Get","Dashboard","RemoveHTMLFromStr","ApplicationID","OwnerAuthenticationID_DBValue","TaskID","tipContainers","tipMessage","right","EditLanguageString","userLanguage","LocaleStrings","refreshMenu","ClearMenuCache","OnClick_ToggleCheckboxes","InputForm","form","checkboxes","OnClick_ToggleCheckboxesBarcodes","ToggleCheckboxes","ToggleTextboxes","inputTextBox","InputFmt","_Integer","OnClick_CheckCheckboxes","IsChecked","InputFormElement","InputElements","OnClick_CheckRadioButton","OnClick_CheckAll","tableID"],"mappings":"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","file":"DefaultNoEchatAll.min.js","sourcesContent":["\"use strict\";\n\n(function (EWS) {\n const JsonPath = function (options) {\n options = Object.assign({}, {\n data: {},\n resultType: \"VALUE\",\n keepHistory: true,\n onFound(path, value) { },\n onNormalize(expression) { },\n onTrace(expression, value, path) { },\n onWalk(loc, expression, value, path, func) { }\n }, options);\n\n const P = {\n result: [],\n\n normalize(expr) {\n options.onNormalize(expr);\n\n const subx = [];\n\n return expr.replace(/[['](\\??\\(.*?\\))[\\]']|\\['(.*?)'\\]/g, ($0, $1, $2) => `[#${subx.push($1 || $2) - 1}]`).replace(/'?\\.'?|\\['?/g, \";\").replace(/;;;|;;/g, \";..;\").replace(/;$|'?\\]|'$/g, \"\")\n .replace(/#([0-9]+)/g, ($0, $1) => subx[$1]);\n },\n\n asPath(path) {\n const x = path.split(\";\");\n let p = \"$\";\n\n for (let i = 1, n = x.length; i < n; i++) {\n p += /^[0-9*]+$/.test(x[i]) ? (`[${x[i]}]`) : (`['${x[i]}']`);\n }\n\n return p;\n },\n\n store(p, v) {\n options.onFound(p, v);\n\n if (p) {\n switch (options.resultType) {\n case \"PATH\":\n P.result[P.result.length] = P.asPath(p);\n break;\n\n case \"BOTH\":\n P.result[P.result.length] = {\n path: P.asPath(p),\n value: v,\n query: p\n };\n\n break;\n\n default:\n case \"VALUE\":\n P.result[P.result.length] = v;\n break;\n }\n }\n\n return !!p;\n },\n\n trace(expr, val, path) {\n options.onTrace(expr, val, path);\n\n if (expr !== \"\") {\n let x = expr.split(\";\");\n const loc = x.shift();\n\n x = x.join(\";\");\n\n if (val && Object.prototype.hasOwnProperty.call(val, loc)) {\n P.trace(x, val[loc], `${path};${loc}`);\n } else if (loc === \"*\") {\n P.walk(loc, x, val, path, (m, l, z, v, p) => {\n P.trace(`${m};${z}`, v, p);\n });\n } else if (loc === \"..\") {\n P.trace(x, val, path);\n\n P.walk(loc, x, val, path, (m, l, z, v, p) => {\n typeof v[m] === \"object\" && P.trace(`..;${z}`, v[m], `${p};${m}`);\n });\n } else if (/^\\(.*?\\)$/.test(loc)) {\n P.trace(`${P.eval(loc, val, path.substr(path.lastIndexOf(\";\") + 1))};${x}`, val, path);\n } else if (/^\\?\\(.*?\\)$/.test(loc)) {\n P.walk(loc, x, val, path, (m, l, x, v, p) => {\n if (P.eval(l.replace(/^\\?\\((.*?)\\)$/, \"$1\"), v instanceof Array ? v[m] : v, m)) {\n P.trace(`${m};${x}`, v, p);\n }\n });\n } else if (/^(-?[0-9]*):(-?[0-9]*):?([0-9]*)$/.test(loc)) {\n P.slice(loc, x, val, path);\n } else if (/,/.test(loc)) {\n for (let s = loc.split(/'?,'?/), i = 0, n = s.length; i < n; i++) {\n P.trace(`${s[i]};${x}`, val, path);\n }\n }\n } else {\n P.store(path, val);\n }\n },\n\n walk(loc, expr, val, path, f) {\n if (val instanceof Array) {\n for (let i = 0, n = val.length; i < n; i++) {\n if (i in val) {\n f(i, loc, expr, val, path);\n }\n }\n } else if (typeof val === \"object\") {\n const keyArr = Object.keys(val);\n for (let i = 0; i < keyArr.length; i++) {\n const m = keyArr[i];\n if (Object.prototype.hasOwnProperty.call(val, m)) {\n f(m, loc, expr, val, path);\n }\n }\n }\n },\n\n slice(loc, expr, val, path) {\n if (val instanceof Array) {\n const len = val.length;\n let start = 0;\n let end = len;\n let step = 1;\n\n loc.replace(/^(-?[0-9]*):(-?[0-9]*):?(-?[0-9]*)$/g, ($0, $1, $2, $3) => {\n start = parseInt($1 || start);\n end = parseInt($2 || end);\n step = parseInt($3 || step);\n });\n\n start = (start < 0) ? Math.max(0, start + len) : Math.min(len, start);\n end = (end < 0) ? Math.max(0, end + len) : Math.min(len, end);\n\n for (let i = start; i < end; i += step) {\n P.trace(`${i};${expr}`, val, path);\n }\n }\n },\n\n eval(x, _v, _vname) {\n try {\n return _v && eval(x.replace(/(^|[^\\\\])@/g, \"$1_v\").replace(/\\\\@/g, \"@\"));\n } catch (e) {\n throw new SyntaxError(`jsonPath: ${e.message}: ${x.replace(/(^|[^\\\\])@/g, \"$1_v\").replace(/\\\\@/g, \"@\")}`);\n }\n },\n\n query(expression) {\n if (!options.keepHistory) {\n P.result = [];\n }\n\n if (expression) {\n P.trace(P.normalize(expression).replace(/^\\$;?/, \"\"), options.data, \"$\");\n return P.result.length ? P.result : false;\n }\n return null;\n }\n };\n\n return P;\n };\n\n EWS.Json = {\n Escape(value) {\n value = value.replace(/\\(/g, \"\");\n value = value.replace(/\\)/g, \"\");\n value = value.replace(/\\//g, \"\");\n value = value.replace(/\\\\/g, \"\");\n value = value.replace(/\\+/g, \"\");\n value = value.replace(/-/g, \"\");\n value = value.replace(/([.^$*'?()[{\\\\|])/g, \"\\\\$1\");\n\n return value;\n },\n\n Query(data, expression) {\n return JsonPath({\n data\n }).query(expression);\n }\n };\n}(EWS));\n","const BC_SavedReport = function (EWS) {\n const me = this;\n\n this.EWS = EWS;\n this.UserName = \"\";\n this.FullName = \"\";\n this.UserId = 0;\n // Task 726729: Create dashboard widget to display a selected list of reports in a 'Report Library UI' format\n this.SelectedReportIDArr = [];\n\n this.EWS.Command.Add(\"BC_SavedReport_GetReports\", (control, args) => {\n EWS.VerifySession(() => {\n ECP.Dialog.ShowLoading();\n\n if (args.ownerauthenticationid === undefined && AuthenticationID) {\n args.ownerauthenticationid = AuthenticationID;\n }\n if (!args.ownerauthenticationid || EC_Fmt.isNull(parseInt(args.ownerauthenticationid))) {\n args.ownerauthenticationid = \"0\";\n }\n const myRequest = new ECP.EC_Request(\"SavedReport_GetReports\");\n myRequest.AddRequestVariable(\"OwnerAuthenticationID\", args.ownerauthenticationid);\n\n if (args.search) {\n // Task 662357: Run Test Case 3968 Fail : Can not search this Fusion Report in Dashboard Report Search\n myRequest.AddRequestVariable(\"SearchStr\", args.search);\n }\n // Task 667701: Improve performance when saving a fusion report that has 'columns' on it - Prevent 'Columns' reports from being used as base reports\n if (args.FilterPivot) {\n myRequest.AddRequestVariable(\"FilterPivot\", args.FilterPivot);\n }\n\n if (args.DashboardID) {\n if (Array.isArray(args.DashboardID)) {\n myRequest.AddRequestVariable(\"DashboardID\", args.DashboardID.join(\",\"));\n } else {\n myRequest.AddRequestVariable(\"DashboardID\", args.DashboardID);\n }\n }\n\n if (this.SelectedReportIDArr.length > 0) {\n myRequest.AddRequestVariable(\"SelectedReportID\", this.SelectedReportIDArr.join(\",\"));\n }\n\n myRequest.Submit().then((results) => {\n ECP.Dialog.HideLoading();\n\n let html = \"\";\n const reportDisplay = args.Dialog.querySelector(\"#ews-report-display\");\n\n const shared = results.owner;\n\n for (let i = 0; i < shared.length; i++) {\n html += \"
\";\n\n if (shared.length === 1) {\n html += \"
\";\n html += \"
\";\n html += `${shared[i].name}`;\n html += \"
\";\n } else {\n html += \"
\";\n html += \"
\";\n html += `${shared[i].name}`;\n html += \"
\";\n }\n\n for (let j = 0; j < shared[i].catagory.length; j++) {\n if (shared[i].catagory[j].name === \"\") {\n for (let k = 0; k < shared[i].catagory[j].report.length; k++) {\n // 1) Pivot 2)Data\n const IsPivot = shared[i].catagory[j].report[k].reporttype === 1;\n html += `
`;\n html += \"
\";\n html += \"
\";\n\n // Task 1011667: Include all reports in the report selector for Import Routines, but disable the ones that are not supported, with an explanation of why it can't be used\n if (IsPivot) {\n html += ``;\n } else {\n html += ` -1 ? \"checked\" : \"\"} name=\"saved-report\" source=\"${shared[i].catagory[j].report[k].source}\" owner=\"${shared[i].owner}\" fullname=\"${shared[i].name}\" value=\"${shared[i].catagory[j].report[k].id}\" category=\"${shared[i].catagory[j].name}\" />`;\n }\n html += \"
\";\n html += `${shared[i].catagory[j].report[k].name}`;\n html += \"
\";\n }\n } else {\n html += \"
\";\n html += \"
\";\n html += \"
\";\n html += `${shared[i].catagory[j].name}`;\n html += \"
\";\n\n for (let k = 0; k < shared[i].catagory[j].report.length; k++) {\n const IsPivot = shared[i].catagory[j].report[k].reporttype === 1;\n html += `
`;\n html += \"
\";\n html += \"
\";\n if (IsPivot) {\n html += ``;\n } else {\n html += ` -1 ? \"checked\" : \"\"} name=saved-report source=\"${shared[i].catagory[j].report[k].source}\"owner=\"${shared[i].owner}\"fullname=\"${shared[i].name}\"value=\"${shared[i].catagory[j].report[k].id}\" category=\"${shared[i].catagory[j].name}\" />`;\n }\n html += \"
\";\n html += `${shared[i].catagory[j].report[k].name}`;\n html += \"
\";\n }\n\n html += \"
\";\n html += \"
\";\n }\n }\n\n html += \"
\";\n html += \"
\";\n }\n\n reportDisplay.innerHTML = html;\n\n if (args && args !== undefined && (args.report || (args.multipleSelect && this.SelectedReportIDArr.length > 0))) {\n // Task 923438: Dashboard Report Widget: Editing a Dashboard forces me to re-select the Report\n const reportIdArr = args.multipleSelect ? this.SelectedReportIDArr : [args.report];\n\n for (let i = 0; i < reportIdArr.length; i++) {\n const reportId = reportIdArr[i];\n const reportInput = args.Dialog.querySelector(`#ews-report-display input[type=${args.multipleSelect ? \"checkbox\" : \"radio\"}][value='${reportId}']`);\n if (reportInput) {\n reportInput.checked = true;\n let treeNode = reportInput.closest(\".ews-tree-node\");\n // Task 1034256: Show report already selected in report widget on dashboards\n if (!args.multipleSelect) {\n const currentSavedReports = EC_Fmt.HtmlStrToElement(\"
\");\n reportDisplay.prepend(currentSavedReports);\n currentSavedReports.prepend(treeNode);\n }\n // Expands the Report tree by default.\n const NodeArray = [];\n while (treeNode) {\n NodeArray.push(treeNode);\n if (treeNode.parentNode && !treeNode.parentNode.closest(\".ews-tree-node\")) {\n break;\n }\n treeNode = treeNode.parentNode.closest(\".ews-tree-node\");\n }\n NodeArray.forEach((node) => {\n if (node.querySelector(\".ews-tree-collapsed\")) {\n node.querySelector(\".ews-tree-collapsed\").click();\n }\n });\n }\n }\n }\n\n if (args.multipleSelect) {\n EC_Fmt.TriggerEvent(args.Dialog.querySelector(\"#ews-report-title\"), \"keyup\");\n\n const ownerNodeSet = new Set();\n const checkedInputArr = document.querySelectorAll(\"input[type=checkbox]:checked\");\n\n for (let i = 0; i < checkedInputArr.length; i++) {\n const checkedInput = checkedInputArr[i];\n const ownerNode = checkedInput.closest(\"#ews-report-display > .ews-tree-node\");\n\n ownerNodeSet.add(ownerNode);\n }\n\n const ownerNodeArr = Array.from(ownerNodeSet);\n\n for (let i = ownerNodeArr.length - 1; i > 0; i--) {\n const ownerNode = ownerNodeArr[i];\n\n document.getElementById(\"ews-report-display\").insertBefore(ownerNode, document.getElementById(\"ews-report-display\").firstElementChild);\n }\n\n args.Dialog.addEventListener(\"click\", (event) => {\n if (event.target.matches(\"input[type='checkbox']\")) {\n const checkbox = event.target;\n\n if (checkbox.checked) {\n this.SelectedReportIDArr.push(checkbox.value);\n } else {\n const index = this.SelectedReportIDArr.indexOf(checkbox.value);\n\n if (index > -1) {\n this.SelectedReportIDArr.splice(index, 1);\n }\n }\n }\n });\n }\n });\n });\n });\n};\n\nBC_SavedReport.prototype.Delete = function (id, trigger) {\n const me = this;\n // Task 726325: Save Fusion report is very very slow, and does not give the user a 'saving' message of any kind\n me.ConfirmDelete(id, trigger, EC_Fmt.Trn(\"Are you sure you want to delete this saved report?\"));\n};\n\nBC_SavedReport.prototype.ConfirmDelete = function (id, trigger, message) {\n const html = \"\"\n + \"\"\n + ``\n + \"\"\n + \"
${message}
\";\n\n const dialogConfirm = ECP.Dialog.ShowDialog(\"Confirm\", html, {\n cancelButtonTitle: \"Cancel\",\n confirmButtonAction(dialog) {\n ECP.Dialog.CloseDialog(dialog);\n\n ECP.Dialog.ShowLoading();\n\n const myRequest = new ECP.EC_Request(\"SavedReport_DeleteReport\");\n myRequest.AddRequestVariable(\"ReportID\", id);\n\n myRequest.Submit().then((result) => {\n if (trigger) {\n document.querySelectorAll(trigger).forEach((item) => {\n item.remove();\n });\n }\n\n ECP.Dialog.HideLoading();\n\n if (result.success !== \"True\") {\n ECP.Dialog.Alert(\"Unable to delete report\");\n }\n }).catch((error) => {\n ECP.Dialog.HideLoading();\n throw error;\n });\n }\n });\n\n dialogConfirm.firstChild.style.height = \"200px\";\n};\n\nBC_SavedReport.prototype.Edit = function (id) {\n const me = this;\n\n if (id && !EC_Fmt.isNull(parseInt(id))) {\n EWS.VerifySession(() => {\n const myRequest = new ECP.EC_Request(\"SavedReport_GetReport\");\n myRequest.AddRequestVariable(\"ReportID\", id);\n\n myRequest.Submit().then((result) => {\n if (result.error) {\n EWS.HideLoading();\n ECP.Dialog.Alert(result.error);\n return;\n }\n const args = {\n id: parseInt(id),\n document: result.document,\n name: result.name,\n DashboardID: result.DashboardID,\n format: result.format,\n category: result.category,\n owner: result.owner,\n ownerauthenticationid: result.ownerauthenticationid,\n favorite: result.favorite,\n link: result.link,\n roles: result.roles\n };\n\n me.Show_BC_SavedReport_EditReport_Dialog(args);\n });\n });\n } else {\n ECP.Dialog.Alert(EC_Fmt.Trn(\"Invalid Report ID\"));\n }\n};\n\nBC_SavedReport.prototype.Favorite = function (event, ReportURL, Name) {\n if (ReportURL === \"\") {\n ReportURL = window.location.href.substring(window.location.href.indexOf(\"/Home?\") + 1);\n }\n\n const myRequest = new ECP.EC_Request(\"GetFavoritesDialog\");\n myRequest.AddRequestVariable(\"FavoriteURL\", ReportURL);\n // Task 615639: Favoriting Reports with Names Longer than 50 Characters Prevents TextArea from Generating and Throws Error Upon Save\n myRequest.AddRequestVariable(\"FavoriteName\", Name.substring(0, 50));\n\n myRequest.Submit().then((result) => {\n const RemoveFavorite = result.RemoveFavorite === \"true\";\n ECP.Dialog.ShowDialog(RemoveFavorite ? \"Remove Favorite?\" : \"Save Favorite?\", result.html, {\n Width: 460,\n disableResize: true,\n cancelButtonTitle: \"Cancel\",\n confirmButtonTitle: RemoveFavorite ? \"Remove\" : \"Save\",\n confirmButtonAction: (Dialog) => {\n clearDashboardMenuCache();\n\n let NewName = \"\";\n if (!RemoveFavorite) {\n NewName = Dialog.getElementsByClassName(\"FavoritesName\")[0].value;\n } else {\n NewName = `DeleteRecord_${result.ID}`;\n }\n if (RemoveFavorite || NewName !== \"\") {\n // Task 624857: SystemError: UnknownFile:JavaScript Error: UnknownFile (0) - Error in promise - TypeError: Failed to fetch\n const myRequest = new ECP.EC_Request(\"UpdateFavorite\");\n myRequest.SetReturnType(ECP.EC_ReturnType.Text);\n myRequest.AddRequestVariable(\"ID\", result.ID);\n myRequest.AddRequestVariable(\"Name\", NewName);\n if (!RemoveFavorite) {\n myRequest.AddRequestVariable(\"FavoriteURL\", ReportURL, ECP.EC_Verb.Post);\n }\n myRequest.Submit().then(() => {\n window.location.reload();\n }).catch((error) => {\n ECP.Dialog.HideLoading();\n throw new Error(`Error saving to favorites ${error}`);\n });\n } else if (NewName === \"\") {\n ECP.Dialog.Alert(\"Name can not be empty\");\n }\n }\n });\n });\n};\n\nBC_SavedReport.prototype.LoadRoles = function (dialog, selected) {\n EWS.VerifySession(() => {\n const myRequest = new ECP.EC_Request(\"SavedReport_GetSharingRoles\");\n\n myRequest.Submit().then((result) => {\n // Task 940845: Update Report Sharing Roles to group by User Type and limit view by UserType.ViewPermission IN {UserPermissionArr}\n\n const UserTypeArr = [];\n const UserTypeRoles = result.roles.reduce((userTypeRoles, role) => {\n if (!UserTypeArr.includes(role.UserType)) {\n UserTypeArr.push(role.UserType);\n }\n const roles = userTypeRoles[role.UserType] || (userTypeRoles[role.UserType] = []);\n roles.push(role);\n return userTypeRoles;\n }, {});\n\n let html = \"
\";\n for (let i = 0; i < UserTypeArr.length; i++) {\n let selectCount = 0;\n let roleshtml = \"\";\n const userType = UserTypeArr[i];\n const roles = UserTypeRoles[userType];\n for (let z = 0; z < roles.length; z++) {\n roleshtml += \"
\";\n roleshtml += `
`;\n roleshtml += `
`;\n\n if (selected && selected.indexOf(EC_Fmt.Null2ZeroInt(roles[z].RoleID)) >= 0) {\n roleshtml += ``;\n selectCount++;\n } else {\n roleshtml += ``;\n }\n roleshtml += \"
\";\n roleshtml += ``;\n roleshtml += \"
\";\n }\n html += `
`;\n html += `
`;\n html += `
`;\n html += ``;\n html += `
0 ? \"style=display:block\" : \"\"}>`;\n html += roleshtml;\n html += \"
\";\n html += \"
\";\n }\n html += \"
\";\n\n dialog.querySelector(\".ews-savedreport-roles-display\").innerHTML = html;\n const UserType = dialog.querySelector(\".usertypeall\");\n if (UserType) {\n UserType.addEventListener(\"click\", (e) => {\n const click = e.target;\n if (!click || click.classList.contains(\"ews-savedreport-roles-container\")) {\n return;\n }\n\n if (click.classList.contains(\"ews-tree-trigger\")) {\n if (click.classList.contains(\"ews-tree-collapsed\")) {\n click.parentNode.querySelector(\".ews-tree-child-node\").style.display = \"block\";\n click.classList.remove(\"ews-tree-collapsed\");\n click.classList.add(\"ews-tree-expanded\");\n } else {\n click.parentNode.querySelector(\".ews-tree-child-node\").style.display = \"\";\n click.classList.add(\"ews-tree-collapsed\");\n click.classList.remove(\"ews-tree-expanded\");\n }\n }\n\n if (!EC_Fmt.isNull(click.getAttribute(\"usertype\"))) {\n dialog.querySelectorAll(`.ews-tree-child-node[usertype='${click.getAttribute(\"usertype\")}'] input[type='checkbox']`).forEach((input) => {\n input.checked = event.target.checked;\n });\n }\n\n const childusertype = click.closest(\".ews-tree-child-node\");\n if (childusertype && EC_Fmt.isNull(click.getAttribute(\"usertype\"))) {\n let CheckParentAll = true;\n const childusertypeinputarr = childusertype.querySelectorAll(\"input[type='checkbox']\");\n for (var i = 0; i < childusertypeinputarr.length; i++) {\n if (!childusertypeinputarr[i].checked) {\n CheckParentAll = false;\n break;\n }\n }\n const parentnode = childusertype.closest(\".ews-tree-node\").querySelector(\".ews-tree-parent-node input[type='checkbox']\")\n if (CheckParentAll) {\n parentnode.checked = true;\n } else {\n parentnode.checked = false;\n }\n }\n })\n }\n });\n });\n};\n\nBC_SavedReport.prototype.Run = function (id, system) {\n ECP.Dialog.ShowLoading();\n\n const myRequest = new ECP.EC_Request(\"SavedReport_GetReportUrl\");\n\n myRequest.AddRequestVariable(\"ReportID\", id);\n\n if (system) {\n myRequest.AddRequestVariable(\"System\", \"True\");\n }\n\n myRequest.Submit().then((results) => {\n if (results.status === \"success\") {\n if (results.dashboard > 0) {\n window.location.href = `Home?DashboardID=${results.dashboard}&ParseFromReportURL=True&ReportID=${results.id}&ReportName=${encodeURIComponent(results.name)}`;\n } else {\n window.location.href = `${results.source}?ParseFromReportURL=True&ReportID=${results.id}&ReportName=${encodeURIComponent(results.name)}`;\n }\n } else {\n ECP.Dialog.HideLoading();\n ECP.Dialog.Alert(results.message);\n }\n }).catch((error) => {\n ECP.Dialog.HideLoading();\n throw error;\n });\n};\n\nBC_SavedReport.prototype.Save = function (url, id, permission, callback, urlProcessCallback) {\n const me = this;\n\n if (id && !EC_Fmt.isNull(parseInt(id))) {\n EWS.VerifySession(() => {\n const myRequest = new ECP.EC_Request(\"SavedReport_GetReport\");\n\n myRequest.AddRequestVariable(\"ReportID\", id);\n\n myRequest.Submit().then((result) => {\n if (result.error) {\n EWS.HideLoading();\n ECP.Dialog.Alert(result.error);\n return;\n }\n if (result.draft) {\n const args = {\n id: parseInt(id),\n url,\n document: result.document,\n owner: result.username,\n ownerauthenticationid: result.ownerauthenticationid,\n parentreportid: result.parentreportid,\n format: result.format,\n callback,\n urlProcessCallback,\n name: result.name\n };\n\n me.EWS.HideLoading();\n me.Show_BC_SavedReport_SaveReport_Dialog(args);\n } else {\n const roles = [];\n const name = result.name;\n\n for (let i = 0; i < result.roles.length; i++) {\n roles.push(result.roles[i].id);\n }\n\n const format = result.format;\n\n if (urlProcessCallback) {\n url = urlProcessCallback(url, format);\n }\n\n const uri = url.split(\"?\");\n const source = uri[0].toUpperCase() == \"API\" ? \"Home\" : uri[0];\n\n if (uri.length > 1) {\n uri.shift();\n url = uri.join(\"?\");\n } else {\n url = \"\";\n }\n\n const mySubRequest = new ECP.EC_Request(\"SavedReport_SaveReport\");\n mySubRequest.Verb = ECP.EC_Verb.Post;\n\n mySubRequest.AddRequestVariable(\"Request\", \"SaveReport\", ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"ReportID\", id, ECP.EC_Verb.Post);\n\n if (result.document && result.document > 0) {\n mySubRequest.AddRequestVariable(\"DocumentID\", result.document, ECP.EC_Verb.Post);\n }\n\n mySubRequest.AddRequestVariable(\"Url\", url, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"SourcePage\", source, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"PagePermission\", permission, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Report\", name, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Category\", result.category, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"OwnerAuthenticationID\", result.ownerauthenticationid, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Favorite\", result.favorite, ECP.EC_Verb.Post);\n\n if (result.link && result.link > 0) {\n mySubRequest.AddRequestVariable(\"LinkFavoritesID\", result.link, ECP.EC_Verb.Post);\n }\n\n mySubRequest.AddRequestVariable(\"RoleID\", roles.join(), ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Draft\", \"0\", ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Table\", \"Reports\", ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Format\", format, ECP.EC_Verb.Post);\n\n mySubRequest.Submit().then(() => {\n if (callback && callback !== undefined) {\n callback(id);\n } else {\n // Task 641114: ReportEdit page click SaveButton Always showing loading.\n EWS.HideLoading();\n ECP.Dialog.Alert(\"Report saved successfully.\");\n }\n });\n }\n });\n });\n } else {\n this.SaveAs(url, null, permission, callback, urlProcessCallback);\n }\n};\n\nBC_SavedReport.prototype.SaveAs = function (url, id, permission, callback, urlProcessCallback) {\n const me = this;\n\n if (url && url !== \"\") {\n // Task 1043998: Can't Save report shared through quicklink\n const DashboardID = EC_Fmt.CDec(EC_Fmt.GetPageParameter(\"DashboardID\"));\n if (id && !EC_Fmt.isNull(parseInt(id)) && (DashboardID === ECP.CommonDashboards.FusionView || DashboardID === ECP.CommonDashboards.FusionEdit)) {\n EWS.VerifySession(() => {\n // Task 726325: Save Fusion report is very very slow, and does not give the user a 'saving' message of any kind\n const myRequest = new ECP.EC_Request(\"SavedReport_GetReport\");\n myRequest.AddRequestVariable(\"ReportID\", id);\n myRequest.Submit().then((result) => {\n if (result.error) {\n EWS.HideLoading();\n ECP.Dialog.Alert(result.error);\n return;\n }\n const args = {\n url,\n permission,\n name: result.name,\n format: result.format,\n category: result.category,\n document: result.document,\n ownerauthenticationid: result.ownerauthenticationid,\n owner: result.username,\n favorite: result.favorite,\n link: result.link,\n roles: result.roles,\n callback,\n original: id,\n urlProcessCallback\n };\n\n ECP.Dialog.HideLoading();\n me.Show_BC_SavedReport_SaveReport_Dialog(args);\n }).catch((error) => {\n ECP.Dialog.HideLoading();\n throw error;\n });\n });\n } else {\n EWS.VerifySession(() => {\n const myRequest = new ECP.EC_Request(\"SavedReport_GetCurrentUser\");\n\n myRequest.Submit().then((result) => {\n const args = {\n url,\n ownerauthenticationid: result.ownerauthenticationid,\n owner: result.username,\n format: result.format,\n callback,\n urlProcessCallback\n };\n\n ECP.Dialog.HideLoading();\n me.Show_BC_SavedReport_SaveReport_Dialog(args);\n }).catch((error) => {\n ECP.Dialog.HideLoading();\n throw error;\n });\n });\n }\n } else {\n ECP.Dialog.HideLoading();\n ECP.Dialog.Alert(EC_Fmt.Trn(\"Invalid Report URL\"));\n }\n};\n\nBC_SavedReport.prototype.SaveDraft = function (url, id, callback) {\n const me = this;\n\n if (url && url !== \"\") {\n if (id && !EC_Fmt.isNull(parseInt(id))) {\n EWS.VerifySession(() => {\n const myRequest = new ECP.EC_Request(\"SavedReport_GetReport\");\n myRequest.AddRequestVariable(\"ReportID\", id);\n\n myRequest.Submit().then((result) => {\n if (result.error) {\n EWS.HideLoading();\n ECP.Dialog.Alert(result.error);\n return;\n }\n if (result.draft) {\n const args = {\n id: parseInt(id),\n url: \"\",\n document: result.document,\n owner: result.owner,\n ownerauthenticationid: result.ownerauthenticationid,\n callback,\n method: \"SaveDraft\"\n };\n\n me.Show_BC_SavedReport_SaveReport_Dialog(args);\n }\n });\n });\n }\n } else {\n ECP.Dialog.Alert(EC_Fmt.Trn(\"Invalid Report URL\"));\n }\n};\n\nBC_SavedReport.prototype.Select = function (callback, selectCommand, title, report, owner, fullName, dashboard, ownerauthenticationid, multipleSelect, FilterPivot, ReportType) {\n if (multipleSelect) {\n this.SelectedReportIDArr = report ? report.split(\",\") : [];\n }\n\n this.Show_BC_SavedReport_ReportList_Dialog({\n callback,\n selectCommand,\n title,\n report,\n owner,\n fullName,\n ownerauthenticationid,\n dashboard,\n multipleSelect,\n FilterPivot,\n ReportType\n });\n};\n\nBC_SavedReport.prototype.SelectReport = function (callback, selectCommand, parentReport, fusion) {\n this.Show_BC_SavedReport_FusionAddReport_Dialog({\n callback,\n selectCommand,\n parentReport,\n fusion\n });\n};\n\nEWS.Ready((EWS) => {\n EWS.SavedReport = new BC_SavedReport(EWS);\n});\n\nfunction Report_Save(url, id, permission, callback, urlProcessCallback) {\n if (EWS && EWS.SavedReport) {\n EWS.SavedReport.Save(url, id, permission, callback, urlProcessCallback);\n }\n}\n\nfunction Report_SaveAs(url, id, permission, callback, urlProcessCallback) {\n if (EWS && EWS.SavedReport) {\n if (IsImpersonateUser) {\n // Task 667450: ReportView dashboard View through QuickLink, button displays prompt information questions.\n ECP.Dialog.ShowDialog(\"Confirm\", `
You are impersonating a user.Do you want to leave and go back to your login?
`, {\n cancelButtonTitle: \"Cancel\",\n confirmButtonTitle: \"Confirm\",\n confirmButtonAction: () => {\n // Task 707408: click Edit and SaveReport is pop cinfirm message(The previous Url was really ReportView, now it has always been Quick?QuickKey=(Task 682571))\n const OldUrl = url;\n const NewUrl = OldUrl.replace(/QuickKey=(.+?)&/, \"\");\n window.location.href = `Home?DashboardID=${ECP.CommonDashboards.LogOn}&DestURL=${encodeURIComponent(NewUrl)}`;\n }\n });\n } else {\n EWS.SavedReport.SaveAs(url, id, permission, callback, urlProcessCallback);\n }\n }\n}\n\nfunction Report_SaveDraft(url, id, callback) {\n if (EWS && EWS.SavedReport) {\n EWS.SavedReport.SaveDraft(url, id, callback);\n }\n}\n\nBC_SavedReport.prototype.Show_BC_SavedReport_SaveReport_Dialog = function (args) {\n const me = this;\n\n if (!args) {\n args = {};\n }\n\n const saveReportArgs = args;\n\n EWS.VerifySession(() => {\n const myRequest = new ECP.EC_Request(\"SavedReport_SaveDialog\");\n myRequest.AddRequestVariable(\"Mobile\", EC_Fmt.isMobile);\n // Task 690648: Fusion Report Format: Fusion report is running in HTML format when the Format is set to CSV.\n myRequest.AddRequestVariable(\"DashboardID\", EC_Fmt.GetPageParameter(\"DashboardID\"));\n // Task 748410: Fusion View: Click Save Report As refreshes report, but no Save As Dialogue pops up\n const LoadingDialogTimeout = setTimeout(() => {\n ECP.Dialog.ShowLoading(\"Loading Dialog...\");\n }, 500);\n myRequest.Submit().then((result) => {\n const Dialog = ECP.Dialog.ShowDialog(result.title, result.content, {\n width: 750,\n height: 550,\n cancelButtonTitle: result.cancel,\n confirmButtonTitle: result.save,\n confirmButtonAction(dialog) {\n EWS.ShowLoading();\n\n const report = dialog.querySelector(\"#SavedReportName\").value;\n\n if (report !== \"\") {\n let format = \"\";\n let SaveURL = dialog.querySelector(\"#SavedReportUrl\").value;\n\n const UrlArr = EC_Fmt.GetURLParameters(SaveURL);\n let DashboardID = \"\";\n if (UrlArr.DashboardID) {\n DashboardID = UrlArr.DashboardID;\n }\n const DashboardFormat = (EC_Fmt.GetPageParameter(\"DashboardID\") === ECP.CommonDashboards.FusionView.toString()) || (EC_Fmt.GetPageParameter(\"DashboardID\") === ECP.CommonDashboards.FusionEdit.toString());\n if (Dialog.querySelector(\"#SavedReportFormat\") || !DashboardFormat) {\n if (!EC_Fmt.isMobile) {\n format = dialog.querySelector(\"#SavedReportFormat\").value;\n } else {\n format = dialog.querySelector(\"input[name='SavedReportFormat']:checked\").value;\n }\n }\n\n if (saveReportArgs.urlProcessCallback) {\n SaveURL = saveReportArgs.urlProcessCallback(SaveURL, format);\n }\n\n const uri = SaveURL.split(\"?\");\n // Task 920004: Saved report 3615248 - running the report, some are getting specific errors, but running the report now gives a long list of errors.\n const source = uri[0].toUpperCase() == \"API\" ? \"Home\" : uri[0];\n let url = \"\";\n\n if (uri.length > 1) {\n uri.shift();\n url = uri.join(\"?\");\n }\n // Task 645424: Change FusionEdit.aspx to Dashboard\n // Task 676375: In SaveReportAS, add the parameter DashboardID\n\n if (source === \"Home\" && !EC_Fmt.isInteger(DashboardID)) {\n ECP.Dialog.Alert(\"Saved DashboardID Error\");\n ECP.Dialog.HideLoading();\n return;\n }\n const _myRequest = new ECP.EC_Request(\"SavedReport_SaveReport\");\n _myRequest.Verb = ECP.EC_Verb.Post;\n\n _myRequest.AddRequestVariable(\"ReportID\", dialog.querySelector(\"#SavedReportReportID\").value, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"DocumentID\", dialog.querySelector(\"#SavedReportDocumentID\").value, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"DashboardID\", DashboardID, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"SourcePage\", source, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"Url\", url, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"PagePermission\", dialog.querySelector(\"#SavedReportPermission\").value, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"Report\", report, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"Category\", dialog.querySelector(\"#SavedReportCategoryHidden\").value, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"OwnerAuthenticationID\", dialog.querySelector(\"#OwnerAuthenticationIDHidden\").value, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"OriginalReportID\", dialog.querySelector(\"#SavedReportOriginalReportID\").value, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"Favorite\", \"0\", ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"LinkFavoritesID\", dialog.querySelector(\"#SavedReportLinkID\").value, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"Draft\", \"0\", ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"Table\", \"Reports\", ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"Format\", format, ECP.EC_Verb.Post);\n\n const selectedRoles = [];\n\n const checkedRoles = Dialog.querySelectorAll(\".ews-savedreport-roles-display input[type='checkbox']:checked\");\n for (let i = 0, len = checkedRoles.length; i < len; i++) {\n selectedRoles.push(checkedRoles[i].value);\n }\n\n _myRequest.AddRequestVariable(\"RoleID\", selectedRoles.join(), ECP.EC_Verb.Post);\n\n ECP.Dialog.CloseDialog(dialog);\n\n _myRequest.Submit().then((myResult) => {\n if (format === \"Excel\" || format === \"PDF\" || format === \"XML\" || format === \"JSON\") {\n EWS.HideLoading();\n }\n\n if (saveReportArgs.callback && saveReportArgs.callback !== undefined) {\n saveReportArgs.callback(myResult.id, report);\n } else if (saveReportArgs.parentreportid > 0) {\n window.location.href = `Home?DashboardID=${ECP.CommonDashboards.FusionEdit}&ReportID=${saveReportArgs.parentreportid}&ChildReportID=${saveReportArgs.id}`;\n } else if (saveReportArgs.SaveMethod && saveReportArgs.SaveMethod === \"SaveDraft\") {\n window.location.reload();\n } else {\n // Task 631270: Export of a Compound report uses the name of one of the base reports, not the name of the Compound report\n window.location = `${source}?ParseFromReportURL=True&ReportID=${myResult.id}&ReportName=${encodeURIComponent(report)}`;\n // Task 644859: Get error with Invalid report action (). when save a table report\n }\n }).catch((error) => {\n EWS.HideLoading();\n throw error;\n });\n } else {\n EWS.HideLoading();\n ECP.Dialog.Alert(EC_Fmt.Trn(\"You must enter a report name.\"));\n }\n }\n });\n\n if (EC_Fmt.isMobile) {\n Dialog.firstChild.classList.add(\"ecp-dialog-mobile\");\n }\n\n const ajaxInputs = Dialog.querySelectorAll(\"input[KeyValue][DisplayVal][LimitToList]\");\n for (let i = 0, len = ajaxInputs.length; i < len; i++) {\n const input = ajaxInputs[i];\n const FieldID = input.closest(\"section\").getAttribute(\"FieldID\");\n\n EWS.AjaxInputs[FieldID] = new ECP.HTML.AjaxInput(input);\n\n input.closest(\"table\").style.width = \"\";\n }\n\n if (Dialog.querySelector(\"#ews-savedreport-roles-select-all\")) {\n Dialog.querySelector(\"#ews-savedreport-roles-select-all\").addEventListener(\"click\", (event) => {\n Dialog.querySelectorAll(\".ews-savedreport-roles-display input[type='checkbox']\").forEach((input) => {\n input.checked = event.target.checked;\n });\n });\n }\n\n Dialog.querySelector(\"#SavedReportReportID\").value = saveReportArgs.id || \"\";\n\n if (saveReportArgs.document && saveReportArgs.document > 0) {\n Dialog.querySelector(\"#SavedReportDocumentID\").value = saveReportArgs.document;\n } else {\n Dialog.querySelector(\"#SavedReportDocumentID\").value = \"\";\n }\n\n Dialog.querySelector(\"#SavedReportReportID\").value = saveReportArgs.id || \"\";\n Dialog.querySelector(\"#SavedReportUrl\").value = saveReportArgs.url || \"\";\n Dialog.querySelector(\"#SavedReportPermission\").value = saveReportArgs.permission || \"\";\n Dialog.querySelector(\"#SavedReportName\").value = saveReportArgs.name || \"\";\n Dialog.querySelector(\"#SavedReportCategoryHidden\").value = saveReportArgs.category || \"\";\n Dialog.querySelector(\"#SavedReportCategoryInput\").value = saveReportArgs.category || \"\";\n Dialog.querySelector(\"#SavedReportOriginalReportID\").value = saveReportArgs.original || \"\";\n\n // Task 603764: User set Report Format to Null on Inventory Status Report\n if (saveReportArgs.format && saveReportArgs.format.toLowerCase() === \"\") {\n saveReportArgs.format = \"HTML\";\n }\n const DashboardID = (EC_Fmt.GetPageParameter(\"DashboardID\") === ECP.CommonDashboards.FusionView.toString()) || (EC_Fmt.GetPageParameter(\"DashboardID\") === ECP.CommonDashboards.FusionEdit.toString());\n if (Dialog.querySelector(\"#SavedReportFormat\") || !DashboardID) {\n if (!EC_Fmt.isMobile) {\n Dialog.querySelector(\"#SavedReportFormat\").value = saveReportArgs.format || \"\";\n } else {\n Dialog.querySelector(\"input[name='SavedReportFormat']:checked\").checked = false;\n Dialog.querySelector(`input[name='SavedReportFormat'][value='${saveReportArgs.format || \"\"}']`).checked = true;\n }\n }\n\n if (saveReportArgs.link && saveReportArgs.link > 0) {\n Dialog.querySelector(\"#SavedReportLinkID\").value = saveReportArgs.link;\n } else {\n Dialog.querySelector(\"#SavedReportLinkID\").value = \"\";\n }\n\n const checkedRoles = Dialog.querySelectorAll(\".ews-savedreport-roles-display input[type='checkbox']:checked\");\n for (let i = 0, len = checkedRoles.length; i < len; i++) {\n checkedRoles[i].checked = false;\n }\n\n clearTimeout(LoadingDialogTimeout);\n ECP.Dialog.HideLoading();\n\n me.LoadRoles(Dialog);\n }).catch((e) => {\n clearTimeout(LoadingDialogTimeout);\n EWS.HideLoading();\n throw e;\n });\n });\n};\n\nBC_SavedReport.prototype.Show_BC_SavedReport_EditReport_Dialog = function (args) {\n const me = this;\n\n EWS.VerifySession(() => {\n const myRequest = new ECP.EC_Request(\"SavedReport_EditDialog\");\n myRequest.AddRequestVariable(\"Mobile\", EC_Fmt.isMobile);\n // Task 690648: Fusion Report Format: Fusion report is running in HTML format when the Format is set to CSV.\n myRequest.AddRequestVariable(\"DashboardID\", args.DashboardID);\n\n myRequest.Submit().then((result) => {\n const Dialog = ECP.Dialog.ShowDialog(result.title, result.content, {\n width: 750,\n height: 550,\n cancelButtonTitle: result.cancel,\n confirmButtonTitle: result.save,\n confirmButtonAction(dialog) {\n EWS.ShowLoading();\n\n if (dialog.querySelector(\"#SavedReportName\").value !== \"\") {\n const data = new FormData();\n\n if (data) {\n let format = \"\";\n // Task 927264: When saving a comparison report on a mobile device on safari, the default format = HTML is not saving as expected\n const DashboardID = (args.DashboardID === ECP.CommonDashboards.FusionView.toString()) || (args.DashboardID === ECP.CommonDashboards.FusionEdit.toString());\n if (Dialog.querySelector(\"#SavedReportFormat\") || !DashboardID) {\n if (!EC_Fmt.isMobile) {\n format = dialog.querySelector(\"#SavedReportFormat\").value;\n } else {\n format = dialog.querySelector(\"input[name='SavedReportFormat']:checked\").value;\n }\n }\n\n const mySubRequest = new ECP.EC_Request(\"SavedReport_SaveReport\", ECP.EC_Verb.Post);\n\n mySubRequest.AddRequestVariable(\"ReportID\", dialog.querySelector(\"#SavedReportReportID\").value, ECP.EC_Verb.Post);\n // Task 678816: Comparison Sales Report: Report Record Dashboard ID is being updated when saved or edited\n mySubRequest.AddRequestVariable(\"Url\", \"\", ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"DocumentID\", dialog.querySelector(\"#SavedReportDocumentID\").value, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Report\", dialog.querySelector(\"#SavedReportName\").value, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Category\", dialog.querySelector(\"#SavedReportCategoryHidden\").value, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"OwnerAuthenticationID\", dialog.querySelector(\"#OwnerAuthenticationIDHidden\").value, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Favorite\", \"0\", ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"LinkFavoritesID\", dialog.querySelector(\"#SavedReportLinkID\").value, ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Draft\", \"0\", ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Table\", \"Reports\", ECP.EC_Verb.Post);\n mySubRequest.AddRequestVariable(\"Format\", format, ECP.EC_Verb.Post);\n\n const selectedRoles = [];\n\n dialog.querySelectorAll(\".ews-savedreport-roles-display input[type='checkbox']:checked\").forEach((input) => {\n selectedRoles.push(input.value);\n });\n\n mySubRequest.AddRequestVariable(\"RoleID\", selectedRoles.join(), ECP.EC_Verb.Post);\n\n ECP.Dialog.CloseDialog(dialog);\n\n mySubRequest.Submit().then(() => {\n if (format === \"Excel\" || format === \"PDF\" || format === \"XML\" || format === \"JSON\") {\n EWS.HideLoading();\n }\n\n window.location.reload();\n }).catch((error) => {\n EWS.HideLoading();\n throw error;\n });\n }\n } else {\n EWS.HideLoading();\n ECP.Dialog.Alert(EC_Fmt.Trn(\"You must enter a report name.\"));\n }\n }\n });\n\n if (EC_Fmt.isMobile) {\n Dialog.firstChild.classList.add(\"ecp-dialog-mobile\");\n }\n\n Dialog.querySelectorAll(\"input[KeyValue][DisplayVal][LimitToList]\").forEach((input) => {\n const FieldID = input.closest(\"section\").getAttribute(\"FieldID\");\n\n EWS.AjaxInputs[FieldID] = new ECP.HTML.AjaxInput(input);\n\n input.closest(\"table\").style.width = \"\";\n });\n\n if (Dialog.querySelector(\"#ews-savedreport-roles-select-all\")) {\n Dialog.querySelector(\"#ews-savedreport-roles-select-all\").addEventListener(\"click\", (event) => {\n Dialog.querySelectorAll(\".ews-savedreport-roles-display input[type='checkbox']\").forEach((input) => {\n input.checked = event.target.checked;\n });\n });\n }\n\n if (!args) {\n args = {};\n }\n\n Dialog.querySelector(\"#SavedReportReportID\").value = args.id || \"\";\n\n if (args.document && args.document > 0) {\n Dialog.querySelector(\"#SavedReportDocumentID\").value = args.document;\n } else {\n Dialog.querySelector(\"#SavedReportDocumentID\").value = \"\";\n }\n\n Dialog.querySelector(\"#SavedReportUrl\").value = \"\";\n Dialog.querySelector(\"#SavedReportPermission\").value = \"\";\n Dialog.querySelector(\"#SavedReportName\").value = args.name || \"\";\n Dialog.querySelector(\"#SavedReportCategoryHidden\").value = args.category || \"\";\n Dialog.querySelector(\"#SavedReportCategoryInput\").value = args.category || \"\";\n const DashboardID = (args.DashboardID === ECP.CommonDashboards.FusionView.toString()) || (args.DashboardID === ECP.CommonDashboards.FusionEdit.toString());\n if (Dialog.querySelector(\"#SavedReportFormat\") || !DashboardID) {\n if (!EC_Fmt.isMobile) {\n Dialog.querySelector(\"#SavedReportFormat\").value = args.format || \"\";\n } else {\n Dialog.querySelector(\"input[name='SavedReportFormat']:checked\").checked = false;\n Dialog.querySelector(`input[name='SavedReportFormat'][value='${args.format || \"\"}']`).checked = true;\n }\n }\n\n if (args.link && args.link > 0) {\n Dialog.querySelector(\"#SavedReportLinkID\").value = args.link;\n } else {\n Dialog.querySelector(\"#SavedReportLinkID\").value = \"\";\n }\n\n Dialog.querySelectorAll(\".ews-savedreport-roles-display input[type='checkbox']:checked\").forEach((input) => {\n input.checked = false;\n });\n\n if (args.roles) {\n const roles = [];\n\n for (let i = 0; i < args.roles.length; i++) {\n roles.push(args.roles[i].id);\n }\n\n me.LoadRoles(Dialog, roles);\n } else {\n me.LoadRoles(Dialog);\n }\n }).catch((e) => {\n EWS.HideLoading();\n throw e;\n });\n });\n};\n\nBC_SavedReport.prototype.Show_BC_SavedReport_FusionAddReport_Dialog = function (args) {\n const me = this;\n\n EWS.VerifySession(async () => {\n const selectArgs = args;\n const ReportLayers = await CheckFusionReportLayers(args.parentReport);\n if (!ReportLayers) {\n return;\n }\n const myRequest = new ECP.EC_Request(\"SavedReport_ReportListDialog\");\n try {\n const result = await myRequest.Submit();\n me.UserName = result.username;\n me.FullName = result.fullname;\n me.OwnerAuthenticationID = result.ownerauthenticationid;\n const Dialog = ECP.Dialog.ShowDialog(result.title, result.content, {\n width: 750,\n height: 730,\n cancelButtonTitle: result.cancel,\n confirmButtonTitle: result.select,\n async confirmButtonAction(dialog) {\n EWS.ShowLoading();\n requestAnimationFrame(() => {\n if (document.querySelector(\"#ews-loading-mask\")) {\n document.querySelector(\"#ews-loading-mask\").style.zIndex = parseInt(dialog.style.zIndex) + 30;\n }\n });\n\n const radio = dialog.querySelector(\"input[name='saved-report']:checked\");\n\n let report = radio.value;\n // Task 662223: Prevent users from adding more than 3 layers of reports to a fusion report\n const CheckSaveReportLayers = await CheckFusionReportLayers(report, true);\n if (!CheckSaveReportLayers) {\n return;\n }\n if (CheckSaveReportLayers + ReportLayers > 3) {\n ECP.Dialog.Alert(\"No more than 3 layers allowed in a Fusion Report\");\n EWS.HideLoading();\n return;\n }\n\n\n const title = dialog.querySelector(\"#ews-report-title\").value.replace(/(^\\s*)|(\\s*$)/g, \"\");\n\n if (selectArgs.dashboard && title === \"\") {\n ECP.Dialog.Alert(EC_Fmt.Trn(\"You must enter a title.\"));\n return;\n }\n\n if (selectArgs.report && !EC_Fmt.isNull(parseInt(selectArgs.report)) && !report) {\n report = selectArgs.report;\n }\n\n const source = radio.getAttribute(\"source\");\n const owner = radio.getAttribute(\"owner\");\n let fullName = radio.getAttribute(\"fullname\");\n\n if (report && !EC_Fmt.isNull(parseInt(report))) {\n if (owner.length > 0 && owner.substr(owner.length - 1) === \"$\") {\n fullName = owner;\n }\n\n const _myRequest = new ECP.EC_Request(\"FluxEdit_CloneReport\");\n _myRequest.AddRequestVariable(\"ReportID\", report, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"ParentReportID\", selectArgs.parentReport, ECP.EC_Verb.Post);\n _myRequest.AddRequestVariable(\"Alias\", title, ECP.EC_Verb.Post);\n\n _myRequest.Submit().then((myResult) => {\n if (selectArgs.callback && selectArgs.callback !== undefined) {\n ECP.Dialog.CloseDialog(dialog);\n\n EWS.HideLoading();\n\n selectArgs.callback(me, myResult.report, title, source, owner, fullName);\n }\n }).catch((e) => {\n EWS.HideLoading();\n throw e;\n });\n } else {\n EWS.HideLoading();\n ECP.Dialog.Alert(EC_Fmt.Trn(\"You must select a report.\"));\n }\n }\n });\n\n let manualTitle = false;\n\n Dialog.querySelectorAll(\"input[KeyValue][DisplayVal][LimitToList]\").forEach((input) => {\n const FieldID = input.closest(\"section\").getAttribute(\"FieldID\");\n\n EWS.AjaxInputs[FieldID] = new ECP.HTML.AjaxInput(input);\n\n input.closest(\"table\").style.width = \"\";\n });\n\n Dialog.querySelector(\"#ews-report-title\").addEventListener(\"keyup\", () => {\n manualTitle = true;\n });\n\n Dialog.querySelector(\"#ews-report-display\").addEventListener(\"change\", (event) => {\n const target = event.target;\n\n if (target.tagName.toLowerCase() === \"input\" && target.name === \"saved-report\") {\n Dialog.querySelectorAll(\".ews-tree-selected\").forEach((item) => {\n item.classList.remove(\"ews-tree-selected\");\n });\n\n const reportTitle = Dialog.querySelector(\"#ews-report-title\");\n\n if (reportTitle.value === \"\") {\n manualTitle = false;\n }\n\n if (!manualTitle) {\n reportTitle.value = target.closest(\".ews-tree-node\").querySelector(\"a[type=report]\").innerHTML;\n }\n\n // Task 677137: Syntax Error when selecting a saved report from table import\n target.closest(\".ews-tree-node\").querySelector(\"a[type=report]\").classList.add(\"ews-tree-selected\");\n }\n });\n\n\n if (selectArgs.title) {\n Dialog.querySelector(\"#ews-report-title\").value = selectArgs.title;\n }\n\n if (selectArgs.dashboard) {\n Dialog.querySelector(\"#ews-saved-report-title-container\").style.display = \"flex\";\n } else if (selectArgs.fusion) {\n Dialog.querySelector(\"#ews-saved-report-title-container\").style.display = \"flex\";\n Dialog.querySelector(\"#ews-saved-report-title-display\").text = EC_Fmt.Trn(\"Alias\");\n Dialog.querySelector(\".ews-report-owner\").style.display = \"\";\n } else {\n Dialog.querySelector(\"#ews-saved-report-title-container\").style.display = \"none\";\n }\n\n let selectCommand = \"BC_SavedReport_GetReports\";\n\n if (selectArgs.selectCommand && selectArgs.selectCommand !== undefined && selectArgs.selectCommand !== \"\") {\n selectCommand = selectArgs.selectCommand;\n }\n\n let DashboardID = \"\";\n if (document.querySelector(\"#ews-report-dashboard-id\")) {\n DashboardID = document.querySelector(\"#ews-report-dashboard-id\").value;\n }\n\n EWS.Command.Execute(selectCommand, {\n Dialog,\n ownerauthenticationid: Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").value,\n search: Dialog.querySelector(\"#ews-report-search\").value,\n report: selectArgs.report,\n userName: (me.UserName || \"\").toLowerCase(),\n DashboardID\n });\n\n Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").addEventListener(\"change\", () => {\n EWS.Command.Execute(selectCommand, {\n Dialog,\n ownerauthenticationid: Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").value,\n search: Dialog.querySelector(\"#ews-report-search\").value,\n report: selectArgs.report,\n userName: (me.UserName || \"\").toLowerCase(),\n DashboardID\n });\n });\n\n Dialog.querySelector(\"#ews-report-search\").addEventListener(\"keydown\", (event) => {\n if (event.key === \"Enter\") {\n EWS.Command.Execute(selectCommand, {\n Dialog,\n ownerauthenticationid: Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").value,\n search: Dialog.querySelector(\"#ews-report-search\").value,\n report: selectArgs.report,\n userName: (me.UserName || \"\").toLowerCase(),\n DashboardID\n });\n\n return false;\n }\n return true;\n });\n\n Dialog.querySelector(\".ews-edit-form\").addEventListener(\"click\", (event) => {\n const target = event.target;\n\n if (target.tagName.toLowerCase() === \"a\" && target.type === \"report\") {\n target.parentNode.querySelector(\"input[name='saved-report']\").click();\n } else if (target.tagName.toLowerCase() === \"a\" && target.type === \"folder\") {\n target.parentNode.querySelector(\".ews-tree-selector\").click();\n } else if (target.classList.contains(\"ews-tree-collapsed\")) {\n target.parentNode.querySelector(\".ews-tree-child-node\").style.display = \"block\";\n\n target.classList.add(\"ews-tree-expanded\");\n target.classList.remove(\"ews-tree-collapsed\");\n } else if (target.classList.contains(\"ews-tree-expanded\")) {\n target.parentNode.querySelector(\".ews-tree-child-node\").style.display = \"none\";\n\n target.classList.remove(\"ews-tree-expanded\");\n target.classList.add(\"ews-tree-collapsed\");\n }\n });\n\n Dialog.querySelector(\"#ews-report-search-button\").addEventListener(\"click\", () => {\n EWS.Command.Execute(selectCommand, {\n Dialog,\n ownerauthenticationid: Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").value,\n search: Dialog.querySelector(\"#ews-report-search\").value,\n report: selectArgs.report,\n userName: (me.UserName || \"\").toLowerCase(),\n DashboardID\n });\n });\n\n Dialog.querySelector(\"#ews-report-search\").focus();\n\n requestAnimationFrame(() => {\n Dialog.querySelector(\"#ews-report-search\").focus();\n });\n } catch (e) {\n EWS.HideLoading();\n throw (e);\n }\n });\n};\n\nBC_SavedReport.prototype.Show_BC_SavedReport_ReportList_Dialog = function (args) {\n const me = this;\n\n EWS.VerifySession(() => {\n const selectArgs = args;\n\n const myRequest = new ECP.EC_Request(\"SavedReport_ReportListDialog\");\n\n myRequest.Submit().then((result) => {\n me.UserName = result.username;\n me.FullName = result.fullname;\n me.OwnerAuthenticationID = result.ownerauthenticationid;\n\n const Dialog = ECP.Dialog.ShowDialog(result.title, result.content, {\n width: 750,\n height: 730,\n cancelButtonTitle: result.cancel,\n confirmButtonTitle: result.select,\n confirmButtonAction(dialog) {\n let closeDialog = true;\n const inputArr = dialog.querySelectorAll(\"input[name='saved-report']:checked\");\n\n const title = dialog.querySelector(\"#ews-report-title\").value.replace(/(^\\s*)|(\\s*$)/g, \"\");\n\n if (selectArgs.dashboard && title === \"\") {\n ECP.Dialog.Alert(EC_Fmt.Trn(\"You must enter a title.\"));\n return;\n }\n\n if (selectArgs.multipleSelect) {\n if (inputArr.length <= 0) {\n ECP.Dialog.Alert(EC_Fmt.Trn(\"You must select a report.\"));\n closeDialog = false;\n }\n\n if (selectArgs.callback && selectArgs.callback !== undefined) {\n selectArgs.callback(me, Array.from(inputArr).map(input => input.value).join(\",\"), title);\n }\n } else {\n const radio = inputArr.length > 0 ? inputArr[0] : null;\n\n if (radio) {\n let report = radio.value;\n\n if (selectArgs.report && !EC_Fmt.isNull(parseInt(selectArgs.report)) && !report) {\n report = selectArgs.report;\n }\n\n const source = radio.getAttribute(\"source\");\n const owner = radio.getAttribute(\"owner\");\n let fullName = radio.getAttribute(\"fullname\");\n\n if (report && !EC_Fmt.isNull(parseInt(report))) {\n if (owner.length > 0 && owner.substr(owner.length - 1) === \"$\") {\n fullName = owner;\n }\n\n if (selectArgs.callback && selectArgs.callback !== undefined) {\n selectArgs.callback(me, report, title, source, owner, fullName);\n }\n }\n } else {\n ECP.Dialog.Alert(EC_Fmt.Trn(\"You must select a report.\"));\n closeDialog = false;\n }\n }\n\n if (!closeDialog) {\n dialog.style.display = \"block\";\n } else {\n ECP.Dialog.CloseDialog(dialog);\n }\n }\n });\n\n let manualTitle = false;\n\n Dialog.querySelectorAll(\"input[KeyValue][DisplayVal][LimitToList]\").forEach((input) => {\n const FieldID = input.closest(\"section\").getAttribute(\"FieldID\");\n\n EWS.AjaxInputs[FieldID] = new ECP.HTML.AjaxInput(input);\n\n input.closest(\"table\").style.width = \"\";\n });\n\n Dialog.querySelector(\"#ews-report-title\").addEventListener(\"keyup\", () => {\n manualTitle = true;\n });\n\n Dialog.addEventListener(\"change\", (event) => {\n const target = event.target;\n\n if (target.tagName.toLowerCase() === \"input\" && target.name === \"saved-report\") {\n Dialog.querySelectorAll(\".ews-tree-selected\").forEach((item) => {\n item.classList.remove(\"ews-tree-selected\");\n });\n\n if (Dialog.querySelector(\"#ews-report-title\").value === \"\") {\n manualTitle = false;\n }\n\n if (!manualTitle) {\n Dialog.querySelector(\"#ews-report-title\").value = target.parentNode.parentNode.querySelector(\"a[type=report]\").innerHTML;\n }\n\n // Task 677137: Syntax Error when selecting a saved report from table import\n target.parentNode.parentNode.querySelector(\"a[type=report]\").classList.add(\"ews-tree-selected\");\n }\n });\n\n if (selectArgs.title) {\n Dialog.querySelector(\"#ews-report-title\").value = selectArgs.title;\n }\n\n if (selectArgs.dashboard) {\n Dialog.querySelector(\"#ews-saved-report-title-container\").style.display = \"flex\";\n } else if (selectArgs.fusion) {\n Dialog.querySelector(\"#ews-saved-report-title-container\").style.display = \"none\";\n Dialog.querySelector(\".ews-report-owner\").style.display = \"none\";\n } else {\n Dialog.querySelector(\"#ews-saved-report-title-container\").style.display = \"none\";\n }\n\n if (selectArgs.owner) {\n Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").value = selectArgs.ownerauthenticationid;\n Dialog.querySelector(\"#ews-report-ownerauthenticationInput\").value = selectArgs.owner;\n }\n\n let selectCommand = \"BC_SavedReport_GetReports\";\n\n if (selectArgs.selectCommand && selectArgs.selectCommand !== undefined && selectArgs.selectCommand !== \"\") {\n selectCommand = selectArgs.selectCommand;\n }\n\n EWS.Command.Execute(selectCommand, {\n Dialog,\n ownerauthenticationid: Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").value,\n search: Dialog.querySelector(\"#ews-report-search\").value,\n report: selectArgs.report,\n userName: (me.UserName || \"\").toLowerCase(),\n DashboardID: args.ReportType,\n multipleSelect: selectArgs.multipleSelect,\n FilterPivot: selectArgs.FilterPivot\n });\n\n Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").addEventListener(\"change\", () => {\n EWS.Command.Execute(selectCommand, {\n Dialog,\n ownerauthenticationid: Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").value,\n search: Dialog.querySelector(\"#ews-report-search\").value,\n report: selectArgs.report,\n userName: (me.UserName || \"\").toLowerCase(),\n DashboardID: args.ReportType,\n FilterPivot: selectArgs.FilterPivot\n });\n });\n\n Dialog.querySelector(\"#ews-report-search\").addEventListener(\"keydown\", (event) => {\n if (event.key === \"Enter\") {\n EWS.Command.Execute(selectCommand, {\n Dialog,\n ownerauthenticationid: Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").value,\n search: Dialog.querySelector(\"#ews-report-search\").value,\n report: selectArgs.report,\n userName: (me.UserName || \"\").toLowerCase(),\n DashboardID: args.ReportType,\n FilterPivot: selectArgs.FilterPivot\n });\n\n return false;\n }\n return true;\n });\n\n Dialog.querySelector(\"#ews-report-search\").focus();\n\n Dialog.addEventListener(\"click\", (event) => {\n const target = event.target;\n\n if (target.tagName.toLowerCase() === \"a\" && target.type === \"report\") {\n target.parentNode.querySelector(\"input[name='saved-report']\").click();\n } else if (target.tagName.toLowerCase() === \"a\" && target.type === \"folder\") {\n target.parentNode.querySelector(\".ews-tree-selector\").click();\n } else if (target.classList.contains(\"ews-tree-collapsed\")) {\n target.parentNode.querySelector(\".ews-tree-child-node\").style.display = \"block\";\n\n target.classList.add(\"ews-tree-expanded\");\n target.classList.remove(\"ews-tree-collapsed\");\n } else if (target.classList.contains(\"ews-tree-expanded\")) {\n target.parentNode.querySelector(\".ews-tree-child-node\").style.display = \"none\";\n\n target.classList.remove(\"ews-tree-expanded\");\n target.classList.add(\"ews-tree-collapsed\");\n }\n });\n\n Dialog.querySelector(\"#ews-report-search-button\").addEventListener(\"click\", () => {\n EWS.Command.Execute(selectCommand, {\n Dialog,\n ownerauthenticationid: Dialog.querySelector(\"#ews-report-ownerauthenticationHidden\").value,\n search: Dialog.querySelector(\"#ews-report-search\").value,\n report: selectArgs.report,\n userName: (me.UserName || \"\").toLowerCase(),\n DashboardID: args.ReportType,\n multipleSelect: selectArgs.multipleSelect,\n FilterPivot: selectArgs.FilterPivot\n });\n });\n\n requestAnimationFrame(() => {\n Dialog.querySelector(\"#ews-report-search\").focus();\n });\n });\n });\n};\n\nBC_SavedReport.prototype.Show_BC_SavedReport_ReportConflicts_Dialog = function (args) {\n const me = this;\n\n EWS.VerifySession(() => {\n const myRequest = new ECP.EC_Request(\"SavedReport_ReportListDialog\");\n\n myRequest.Submit().then((result) => {\n const Dialog = ECP.Dialog.ShowDialog(result.title, result.content, {\n width: 745,\n height: 550,\n cancelButtonTitle: result.cancel,\n confirmButtonTitle: result.save,\n confirmButtonAction(dialog) {\n ECP.HTML.CloseDialog(dialog);\n }\n });\n\n // ADD CALLBACK\n // ADD REPORT CONFLICT LIST\n // ADD CONFLICTED ACTIONS\n });\n });\n};\n","\"use strict\";\n\nlet AllowHideAllDivs = true;\nlet PageSizeCallback = () => { };\nlet PageResizeCallback = () => { };\nlet MenuScrollTop;\nlet Menu;\nlet MenuTop;\nlet PageEndMilliseconds = 0;\nlet AllowZoom = true;\nlet Switch;\n\nfunction SetupEncompassSiteMapHeader() {\n setTimeout(() => {\n Menu = document.getElementById(\"Menu\");\n MenuTop = document.getElementById(\"MenuTop\");\n\n if (IsImpersonateUser) {\n if (Menu) {\n Menu.classList.add(\"MenuCollapsed\");\n }\n\n const content = document.getElementById(\"Content\");\n if (content) {\n content.classList.add(\"MenuCollapsed\");\n }\n\n const application = document.querySelector(\"#Header .Application\");\n if (application) {\n application.classList.add(\"MenuCollapsed\");\n }\n }\n\n if (Menu) {\n // Task 698176: Removing a user's permission to view a certain dashboard does not remove it from their menu until after they click the 'Refresh' icon\n // Task 702904: Dashboard Menu is not showing the correct dashboards when logged in.\n const CurrentLocalStorageKey = `DashboardMenuHTML_${parseInt(Math.floor((new Date()) / 86400000))}_${UserID}_${UserType}_Key`;\n let DashboardMenuHTML;\n try {\n DashboardMenuHTML = EC_Fmt.GetLocalStorageValue(CurrentLocalStorageKey);\n } catch (e) {\n DashboardMenuHTML = \"Cookies Must Be Enabled\";\n }\n\n setTimeout(() => {\n if (DashboardMenuHTML !== \"Cookies Must Be Enabled\") {\n for (let i = 0, len = localStorage.length; i < len; i++) {\n const key = localStorage.key(i);\n if (key && key.startsWith(\"DashboardMenuHTML_\") && key !== CurrentLocalStorageKey) {\n localStorage.removeItem(key);\n }\n }\n }\n }, 750);\n\n if (!DashboardMenuHTML) {\n let GetDashboardMenuURL = \"api?APICommand=GetDashboardMenu\";\n\n if (UserType === \"Guest\" || new Date().getTime() > parseInt(EC_Fmt.GetCookie(\"ExpireTime\"))) {\n const token = \"bc1020ae20b607f7318ff7c782c6d8ef\";\n GetDashboardMenuURL += `_Guest&APIToken=${token}&EncompassID=${Distributor}&${EC_Fmt.Get_QueryString(\"\", \"DashboardID;DestURL\", false, false)}`;\n } else {\n // Task 701744: Open QuickLink left menu error happen.\n GetDashboardMenuURL += `&${EC_Fmt.Get_QueryString(\"\", \"DashboardID;DashboardVersionID;DestURL;CustomerID;ProductID;ChainID;UserID;SupplierID;APAccountID;RouteID;QuickKey\", true, true)}`;\n }\n\n fetch(GetDashboardMenuURL, {\n credentials: \"same-origin\"\n }).then(response => response.text()).then((returnHTML) => {\n // Task 715352: Menu showing user error Session Expired URL Does not include APIToken\n if (returnHTML.startsWith(\"{\")) {\n EWS.Login(() => {\n window.location.reload(true);\n });\n } else {\n // Task 679154: Home>Menu: URL does not include APIToken and User is not logged on.\n WriteDashboardMenuHTML(returnHTML);\n\n // Task 938582: Error when loading the left side dashboard menu: cannot connect to database server\n if (returnHTML.startsWith(\" {\n clearTimeout(collapsingTimeout);\n if (Menu.classList.contains(\"MenuCollapsed\")) {\n expandingTimeout = setTimeout(() => {\n Menu.style.width = \"256px\";\n Menu.querySelector(\".Content\").style.overflowY = \"auto\";\n Menu.classList.add(\"open-temp\");\n\n const highlightedSection = Menu.querySelector(\".CategoryHighlight.Relative\");\n if (highlightedSection) {\n highlightedSection.style.background = \"\";\n highlightedSection.style.boxShadow = \"\";\n\n const expandedSubCategory = highlightedSection.querySelector(\"div[id$='Category']\");\n if (expandedSubCategory) {\n expandedSubCategory.style.display = \"\";\n }\n }\n if (MenuTop) {\n MenuTop.style.width = \"256px\";\n MenuTop.classList.remove(\"MenuCollapsed\");\n MenuTop.classList.add(\"MenuOpened\");\n }\n }, 450);\n }\n };\n const Menumouseleave = () => {\n clearTimeout(expandingTimeout);\n if (Menu.style.width && Menu.classList.contains(\"MenuCollapsed\")) {\n collapsingTimeout = setTimeout(() => {\n CollapseAndUnHighlightMenu();\n Menu.style.width = \"\";\n Menu.classList.remove(\"open-temp\");\n Menu.querySelector(\".Content\").style.overflowY = \"hidden\";\n if (MenuTop) {\n MenuTop.style.width = \"\";\n MenuTop.classList.remove(\"MenuOpened\");\n MenuTop.classList.add(\"MenuCollapsed\");\n }\n }, 450);\n }\n };\n if (MenuTop && !EC_Fmt.isMobile) {\n MenuTop.addEventListener(\"mouseenter\", Menumouseenter, {\n passive: true\n });\n MenuTop.addEventListener(\"mouseleave\", Menumouseleave, {\n passive: true\n });\n MenuTop.addEventListener(\"touchmove\", (event) => {\n event.stopPropagation();\n }, {\n passive: true\n });\n }\n\n Menu.addEventListener(\"mouseenter\", Menumouseenter, {\n passive: true\n });\n Menu.addEventListener(\"mouseleave\", Menumouseleave, {\n passive: true\n });\n Menu.addEventListener(\"touchmove\", (event) => {\n event.stopPropagation();\n }, {\n passive: true\n });\n\n requestIdleCallback(() => {\n Menu.scrollLeft = 0;\n });\n }\n\n const MainMenuItemHighlight = document.querySelector(\".MainMenuItemHighlight\");\n if (MainMenuItemHighlight && MainMenuItemHighlight.classList.contains(\"ews-unshared-menu-item\") && window.Settings) {\n const MainMenuItemNoCategory = document.querySelector(\".NoCategory\");\n\n if (MainMenuItemNoCategory) {\n const addViewRoleDiv = document.createElement(\"div\");\n addViewRoleDiv.classList.add(\"ActionButtonContainer\");\n addViewRoleDiv.setAttribute(\"title\", \"Add View Role\");\n addViewRoleDiv.innerHTML = `
Add View Role
`;\n\n MainMenuItemNoCategory.appendChild(addViewRoleDiv);\n }\n }\n\n // Task 723415: If the DashboardID is not in the URL, add it so that sharing URLs with others and recently visited works correctly\n // Task 959560: Add EncompassID to the URL on test sites to make links to them work better\n // Task 1017499: The EC_Fmt.GetURLParameters method will not be processed '#'\n EC_Fmt.ReplaceState(window.history.state || {}, document.title, window.location.search + window.location.hash);\n\n // Task 723415: Add current page to the recently visited list\n if (UserType !== \"Guest\") {\n EWS.Ready(() => {\n // Task 723415: Setup a mutation observer to catch if the title on the page is updated, need to update the title in the RecentlyVistedPages cache\n // Task 1029399: System Error: JavaScript Error: includes/DefaultAll.min.js (1) - TypeError: window.WebKitMutationObserver is not a constructor\n const titleObserver = new window.MutationObserver(((mutations) => {\n mutations.forEach((mutation) => {\n let recentlyVisited = EC_Fmt.GetLocalStorageValue(\"RecentlyVisitedPages\");\n if (recentlyVisited) {\n recentlyVisited = JSON.parse(recentlyVisited);\n } else {\n recentlyVisited = { pages: [] };\n }\n const lastIndex = recentlyVisited.pages.length - 1;\n if (recentlyVisited.pages[lastIndex].title === \"Table View\") {\n recentlyVisited.pages.splice(lastIndex, 1);\n }\n // Remove eChat notification from the title number\n const cleanTitle = mutation.target.textContent.replace(/\\(\\d+\\)$/, \"\");\n for (let i = 0; i < recentlyVisited.pages.length; i++) {\n if (recentlyVisited.pages[i].title === cleanTitle) {\n recentlyVisited.pages.splice(i, 1);\n }\n }\n recentlyVisited.pages.push({ title: cleanTitle, URL: window.location.pathname + window.location.search });\n if (recentlyVisited.pages.length > 15) {\n recentlyVisited.pages.shift();\n }\n\n EC_Fmt.SetLocalStorageValue(\"RecentlyVisitedPages\", JSON.stringify(recentlyVisited));\n });\n }));\n titleObserver.observe(document.querySelector(\"head > title\"), { subtree: true, characterData: true, childList: true });\n\n // Task 723415: Pushing the current page into the recently visited list\n let recentlyVisited = EC_Fmt.GetLocalStorageValue(\"RecentlyVisitedPages\");\n if (recentlyVisited) {\n recentlyVisited = JSON.parse(recentlyVisited);\n } else {\n recentlyVisited = { pages: [] };\n }\n // Remove eChat notification from the title number\n const cleanTitle = document.title.replace(/\\(\\d+\\)$/, \"\");\n for (let i = 0; i < recentlyVisited.pages.length; i++) {\n if (recentlyVisited.pages[i].title === cleanTitle) {\n recentlyVisited.pages.splice(i, 1);\n }\n }\n recentlyVisited.pages.push({ title: cleanTitle, URL: window.location.pathname + window.location.search });\n if (recentlyVisited.pages.length > 15) {\n recentlyVisited.pages.shift();\n }\n EC_Fmt.SetLocalStorageValue(\"RecentlyVisitedPages\", JSON.stringify(recentlyVisited));\n });\n }\n }, 100);\n}\n\nAllowZoom = true;\n\nEWS.Ready(() => {\n let scrollTimer = null;\n const innerContent = document.querySelector(\"#Content .Inner\");\n\n if (innerContent) {\n // Performance sensitive code, runs every time a user scrolls, for each pixel scrolled, please performance test if making changes\n let elementsHidden = false;\n innerContent.addEventListener(\"scroll\", () => {\n if (!elementsHidden) {\n hideAllElements(document.getElementsByClassName(\"ews-menu\"));\n hideAllElements(document.getElementsByClassName(\"AutocompleteMenu\"));\n hideAllElements(document.querySelectorAll(\"body > .ColumnMenu\"));\n hideAllElements(document.getElementsByClassName(\"DateInputCalendar\"));\n elementsHidden = true;\n }\n\n clearTimeout(scrollTimer);\n\n scrollTimer = setTimeout(() => {\n EC_Fmt.ReplaceState(Object.assign(window.history.state || {}, {\n scrollTop: innerContent.scrollTop,\n scrollLeft: innerContent.scrollLeft\n }), \"\");\n elementsHidden = false;\n }, 700);\n }, {\n passive: true\n });\n }\n\n const MainLayout = document.getElementById(\"MainLayout\");\n\n if (MainLayout && MainLayout.innerHTML.replace(/ /g, \"\") === \"\") {\n MainLayout.innerHTML = \" \";\n }\n\n let resizeTimeout;\n window.addEventListener(\"resize\", () => {\n if (resizeTimeout) {\n clearTimeout(resizeTimeout);\n }\n resizeTimeout = setTimeout(() => {\n ResizeLayout();\n }, 150);\n });\n window.addEventListener(\"click\", (event) => {\n if (event.button !== 2) {\n HideAllDivs(false);\n }\n });\n\n // Zoom on mobile\n if (EC_Fmt.isMobile) {\n let isScale = false;\n let dist = 0;\n let scale = 1;\n const mainLayoutTable = document.getElementById(\"MainLayoutTable\");\n\n if (mainLayoutTable) {\n const zoomables = document.querySelectorAll(\".Zoomable\");\n const DashboardElement = document.getElementById(\"Dashboard\");\n\n innerContent.style.transition = \"transform 0.2s\";\n\n innerContent.addEventListener(\"touchstart\", (event) => {\n if (AllowZoom) {\n const originalEvent = event;\n\n if (originalEvent.touches.length === 2) {\n isScale = true;\n\n dist = Math.sqrt(\n (originalEvent.touches[0].pageX - originalEvent.touches[1].pageX) * (originalEvent.touches[0].pageX - originalEvent.touches[1].pageX)\n + (originalEvent.touches[0].pageY - originalEvent.touches[1].pageY) * (originalEvent.touches[0].pageY - originalEvent.touches[1].pageY)\n );\n }\n }\n }, {\n passive: true\n });\n\n innerContent.addEventListener(\"touchmove\", (event) => {\n if (isScale && AllowZoom) {\n const originalEvent = event;\n\n if (originalEvent.touches.length < 2 || !originalEvent.touches[0] || !originalEvent.touches[1]) {\n return false;\n }\n\n const currentDist = Math.sqrt(\n (originalEvent.touches[0].pageX - originalEvent.touches[1].pageX) * (originalEvent.touches[0].pageX - originalEvent.touches[1].pageX)\n + (originalEvent.touches[0].pageY - originalEvent.touches[1].pageY) * (originalEvent.touches[0].pageY - originalEvent.touches[1].pageY)\n );\n\n const diff = currentDist - dist;\n\n if (Math.abs(diff) >= 10) {\n const currentScale = scale + 0.0001 * (currentDist - dist);\n\n if (mainLayoutTable.scrollWidth * currentScale >= window.outerWidth && currentScale <= 1.8) {\n if (DashboardElement) {\n DashboardElement.style.transform = `scale(${currentScale})`;\n DashboardElement.style.transformOrigin = \"0 0\";\n DashboardElement.style.width = DashboardElement.offsetWidth / scale * currentScale;\n } else {\n mainLayoutTable.style.transform = `scale(${currentScale})`;\n mainLayoutTable.style.transformOrigin = \"0 0\";\n }\n\n for (let i = 0; i < zoomables.length; i++) {\n const zoomable = zoomables[i];\n\n zoomable.style.transform = `scale(${currentScale})`;\n zoomable.style.transformOrigin = \"0 0\";\n }\n\n scale = currentScale;\n }\n }\n\n return false;\n }\n return true;\n }, {\n passive: true\n });\n\n innerContent.addEventListener(\"touchend\", () => {\n isScale = false;\n dist = 0;\n }, {\n passive: true\n });\n }\n\n const ApplicationVersionLinks = document.querySelectorAll(\".application-versions a\");\n for (let i = 0; i < ApplicationVersionLinks.length; i++) {\n ApplicationVersionLinks[i].addEventListener(\"click\", () => {\n ECP.Dialog.Alert(\"Encompass Mobile download has started. Please exit your browser to view the progress.\");\n });\n }\n }\n\n // Task 911147: Browser Render time is not accurate on dashboards\n PageEndMilliseconds = new Date().getTime();\n\n const MainLayoutHeader = document.getElementById(\"MainLayoutHeader\");\n if (MainLayoutHeader) {\n const previousEl = MainLayoutHeader.previousElementSibling;\n\n if (previousEl && previousEl.tagName.toLowerCase() === \"tbody\") {\n MainLayoutHeader.parentElement.insertBefore(MainLayoutHeader, previousEl);\n }\n }\n\n if (window.history.state && (window.history.state.scrollLeft !== undefined || window.history.state.scrollTop !== undefined)) {\n innerContent.scrollTo(window.history.state.scrollLeft, window.history.state.scrollTop);\n }\n\n ShowToolTipMessage();\n\n CreateSwitchDashboardVersionTypeButton(document.querySelector(\"#Header .Inner .switchVersionTypeContent\"));\n\n // Task 1038521: Collapse dashboard header tabs when the user scrolls away from the header\n if (document.querySelector(\"#MainLayoutTable .HeaderTabsSticky\")) {\n document.querySelector(\"#MainLayoutTable\").classList.add(\"OverflowInherit\");\n }\n\n // 修改Menu\n const OverFlowMenu = document.getElementById(\"OverFlowMenu\");\n if (OverFlowMenu) {\n const btn = OverFlowMenu.shadowRoot.querySelector(\"button\");\n if (Distributor.indexOf(\"SPTest\") !== -1) {\n btn.style.color = \"#FCFDFF\";\n }\n btn.style.fontSize = \"30px\";\n OverFlowMenu.addEventListener(\"click\", async (e) => {\n let HeaderOverflowMenu = document.getElementById(\"HeaderOverflowMenu\");\n if (!HeaderOverflowMenu) {\n HeaderOverflowMenu = GetHeaderOverflowMenu();\n OverFlowMenu.parentElement.insertBefore(HeaderOverflowMenu, OverFlowMenu.nextSibling);\n SetRenderTime();\n }\n HeaderOverflowMenu.ShowMenu(OverFlowMenu);\n e.stopPropagation();\n });\n }\n});\n\nfunction GetHeaderOverflowMenu() {\n let HeaderOverflowMenu = '';\n if (EC_Fmt.GetCookie(\"MenuCollapsed\") === \"False\") {\n HeaderOverflowMenu += `${EC_Fmt.Trn(\"Lock sidebar open\")}`;\n } else {\n HeaderOverflowMenu += `${EC_Fmt.Trn(\"Auto-collapse sidebar\")}`;\n }\n HeaderOverflowMenu += `${EC_Fmt.Trn(\"Refresh dashboard list\")}`;\n HeaderOverflowMenu = EC_Fmt.HtmlStrToElement(HeaderOverflowMenu);\n HeaderOverflowMenu.addEventListener(\"click\", (event) => {\n const target = event.target.matches(\"ecp-list-item\") || event.target.closest(\"ecp-list-item\");\n if (target) {\n event.target.closest(\"ecp-menu\").style.display = \"none\";\n }\n });\n return HeaderOverflowMenu;\n}\n\nfunction CreateSwitchDashboardVersionTypeButton(switchVersionTypeContent, isMobile) {\n if (window.Settings && window.Settings.ExistsBetaVersion && switchVersionTypeContent) {\n let html = \"\";\n\n if (isMobile) {\n html = \"
\"\n + \"\"\n + \"View Beta Version\"\n + \"
\";\n }\n\n html += \"
\"\n + \"
\"\n + \"
\"\n + ``\n + `
\"\n + `${isMobile ? \"\" : \"Beta\"}`\n + \"
\"\n + \"
\";\n\n if (isMobile) {\n html += \"
\";\n }\n\n switchVersionTypeContent.innerHTML = html;\n\n const switchVersionTypeInput = switchVersionTypeContent.querySelector(\"#switchVersionTypeInput, .ews-menu-item[name='SwitchVersionMenuItem']\");\n\n switchVersionTypeInput.addEventListener(\"click\", async () => {\n // Task 1033298: Adding Google Analytics as a default feature of dashboards\n gtag(\"event\", \"switchDashboardVersionType\", { enableBeta: window.Settings.EnableBeta });\n ECP.Dialog.ShowLoading();\n\n const myRequest = new ECP.EC_Request(\"Dashboard_SwitchDashboardVersionType\");\n\n myRequest.AddRequestVariable(\"DashboardID\", window.Settings.DashboardID);\n myRequest.AddRequestVariable(\"EnableBeta\", !window.Settings.EnableBeta);\n\n const data = await myRequest.Submit();\n\n ECP.Dialog.HideLoading();\n\n if (data.status === \"success\") {\n window.location.reload();\n }\n });\n }\n}\n\nfunction clearDashboardMenuCache() {\n // Task 705574: Show More Dashboards button does not respond on iOS Safari\n try {\n localStorage.removeItem(`DashboardMenuHTML_${parseInt(Math.floor((new Date()) / 86400000))}_${UserID}_${UserType}_Key`);\n // Task 916139: Redesigning the public web site with a different menu\n localStorage.removeItem(`PublicSiteMenuHTML_${parseInt(Math.floor((new Date()) / 86400000))}_${UserType}`);\n } catch (e) {\n // Ignore, cookie requirement message will be shown when page refreshes (just after this)\n }\n}\nfunction setPageBreadcrumbTitle(Breadcrumb, BreadcrumbURL, Title, Button) {\n let htmlB = \"\";\n if (!EC_Fmt.isNull(BreadcrumbURL) && !EC_Fmt.isNull(Breadcrumb)) {\n htmlB += `${Breadcrumb} / `;\n } else if (!EC_Fmt.isNull(Breadcrumb)) {\n htmlB += `${Breadcrumb} / `;\n }\n htmlB += ``;\n if (Button) {\n htmlB += ``;\n }\n\n document.getElementById(\"PageBreadcrumb_Title\").innerHTML = htmlB;\n}\nfunction WriteDashboardMenuHTML(DashboardMenuHTML) {\n // Task 636615: End of day error\n let HeaderMenuLoading = Menu.querySelector(\"#HeaderMenuLoading\");\n if (HeaderMenuLoading) {\n const currentCategoryName = HighlightMenu(DashboardMenuHTML, HeaderMenuLoading);\n\n HeaderMenuLoading.id = \"\";\n HeaderMenuLoading.setAttribute(\"id\", \"\");\n HeaderMenuLoading = undefined;\n\n if (currentCategoryName) {\n ToggleMenuCategory(currentCategoryName, true);\n }\n\n if (Menu.classList.contains(\"MenuCollapsed\")) {\n CollapseAndUnHighlightMenu();\n }\n\n EncompassMobileItem();\n }\n\n const shareButton = Menu.querySelector(\"#ActionButtonShare\");\n\n if (shareButton) {\n shareButton.addEventListener(\"click\", (event) => {\n event.preventDefault();\n Load_QuicklinkMenu(shareButton, `Home?${EC_Fmt.Get_QueryString(\" \")}`, \"Dashboard\");\n });\n }\n}\n\n// Task 1058438: Master Task 1058050: mobile when open Side Menu, page is very narrow and still can use\nfunction hideAllElements(elements) {\n if (elements) {\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.display = \"none\";\n }\n }\n}\n\nfunction CollapseAndUnHighlightMenu() {\n const highlightedSection = Menu.querySelector(\".CategoryHighlight.Relative\");\n if (highlightedSection) {\n highlightedSection.style.background = \"unset\";\n highlightedSection.style.boxShadow = \"unset\";\n\n const expandedSubCategory = highlightedSection.querySelector(\"div[id$='Category']\");\n if (expandedSubCategory) {\n expandedSubCategory.style.display = \"none\";\n }\n }\n}\n\nfunction SetRenderTime() {\n const loadTime = document.getElementById(\"PageLoadTime\");\n if (loadTime) {\n loadTime.textContent = `${EC_Fmt.Trn(\"Server Time\")}: ${PageLoadTime} sec`;\n }\n\n const renderTime = document.getElementById(\"RenderTime\");\n if (renderTime) {\n // Task 911147: Browser Render time is not accurate on dashboards\n renderTime.textContent = `${EC_Fmt.Trn(\"Browser Render\")}: ${Math.round(Math.abs((PageStartMilliseconds - PageEndMilliseconds) / 1000) * 100) / 100} sec`;\n }\n\n setInternetSpeed();\n}\n\nfunction setInternetSpeed() {\n const internetSpeed = document.getElementById(\"InternetSpeed\");\n if (internetSpeed) {\n const isLocalhost = window.location.hostname === \"localhost\" || window.location.hostname === \"127.0.0.1\";\n\n if (isLocalhost) {\n internetSpeed.innerHTML = `${EC_Fmt.Trn(\"Internet Speed\")}: ∞ {localhost}`;\n } else if (navigator.connection && navigator.connection.downlink) {\n if (navigator.connection.downlink >= 10) {\n internetSpeed.textContent = `${EC_Fmt.Trn(\"Internet Speed\")}: 10+ Mbps`;\n } else if (navigator.connection.downlink < 0.75) {\n internetSpeed.style.backgroundColor = \"red\";\n internetSpeed.textContent = `${EC_Fmt.Trn(\"Internet Speed\")}: ${EC_Fmt.Round(navigator.connection.downlink, 2)} Mbps (${EC_Fmt.Trn(\"Very Slow\")})`;\n } else if (navigator.connection.downlink < 2) {\n internetSpeed.style.backgroundColor = \"orange\";\n internetSpeed.textContent = `${EC_Fmt.Trn(\"Internet Speed\")}: ${EC_Fmt.Round(navigator.connection.downlink, 2)} Mbps (${EC_Fmt.Trn(\"Slow\")})`;\n } else {\n internetSpeed.textContent = `${EC_Fmt.Trn(\"Internet Speed\")}: ${EC_Fmt.Round(navigator.connection.downlink, 2)} Mbps`;\n }\n\n if (navigator.connection.rtt > 250) {\n if (EC_Fmt.isNull(internetSpeed.style.backgroundColor)) {\n internetSpeed.style.backgroundColor = \"orange\";\n }\n internetSpeed.textContent += ` (${EC_Fmt.Trn(\"High Latency\")})`;\n }\n } else {\n internetSpeed.textContent = `${EC_Fmt.Trn(\"Internet Speed: unknown\")}`;\n }\n }\n}\n\nfunction SubmitTo(Id, Url) {\n const Form = document.getElementById(Id);\n\n if (Form) {\n Form.setAttribute(\"action\", Url);\n Form.submit();\n }\n}\n\nfunction RegisterPageSizeCallback(Callback) {\n if (Callback) {\n const CurrentFunction = PageSizeCallback;\n\n PageSizeCallback = () => {\n CurrentFunction();\n Callback();\n };\n }\n}\n\nfunction RegisterPageResizeCallback(Callback) {\n if (Callback) {\n const CurrentFunction = PageResizeCallback;\n\n PageResizeCallback = () => {\n CurrentFunction();\n Callback();\n };\n }\n}\n\nfunction ResizeLayout(NeedScrollToCurrent) {\n let AllowResize = true;\n\n if (EWS && EWS.AllowResize) {\n AllowResize = EWS.AllowResize;\n }\n\n if (EC_Fmt.isMobile) {\n const userMenu = document.getElementById(\"ews-BC_EWS_UserMenu-menu\");\n if (userMenu && !(userMenu.offsetWidth === 0 && userMenu.offsetHeight === 0)) {\n EWS.Command.HideMenu(\"BC_EWS_UserMenu\");\n EWS.Command.ShowMenu(\"BC_EWS_UserMenu\", document.querySelector(\"#Header .Inner .LabelButton[name=UserMenu]\"));\n }\n }\n\n if (AllowResize) {\n EWS.windowInnerHeight = window.innerHeight;\n EWS.windowInnerWidth = window.innerWidth;\n\n if (document.body && document.body.style.position !== \"fixed\") {\n PageResizeCallback();\n SetLayoutHeight(NeedScrollToCurrent, MenuScrollTop, Menu);\n }\n }\n}\n\nfunction SetLayoutHeight(NeedScrollToCurrent, NewMenuTop, LeftSideMenu) {\n if (!LeftSideMenu) {\n LeftSideMenu = Menu;\n }\n\n if (LeftSideMenu) {\n if (NeedScrollToCurrent) {\n let top = 0;\n const MainMenuItemHighlight = LeftSideMenu.querySelector(\".MainMenuItemHighlight\");\n if (MainMenuItemHighlight) {\n top = MainMenuItemHighlight.getBoundingClientRect().top - LeftSideMenu.getBoundingClientRect().top;\n }\n\n if ((top - LeftSideMenu.outerHeight) > LeftSideMenu.scrollTop) {\n top -= LeftSideMenu.outerHeight / 2;\n\n LeftSideMenu.scrollTop = top;\n }\n } else {\n LeftSideMenu.scrollTop = NewMenuTop;\n }\n }\n\n if (EC_Fmt.isMobile) {\n const myDashboard = document.getElementById(\"Dashboard\");\n\n if (myDashboard) {\n const MainContent = document.getElementById(\"Content\");\n if (Menu && Menu.classList.contains(\"MenuOpened\") && !Menu.classList.contains(\"FullMenu\") && !Menu.classList.contains(\"MenuCollapsed\")) {\n MainContent.style.display = `none`;\n } else {\n // Task 1033489: No list of packaging orders displayed\n MainContent.style.display = \"flex\";\n }\n }\n\n requestAnimationFrame(() => {\n document.querySelector(\"meta[name=viewport]\").setAttribute(\"content\", `height=${window.outerHeight},width=device-width,minimum-scale=1.0,maximum-scale=1.0,initial-scale=1.0,user-scalable=no`);\n });\n } else {\n PageSizeCallback();\n }\n}\n\nfunction LoadKnowledgeHelpAlerts() {\n const KnowledgeHelpAlert = document.getElementById(\"KnowledgeHelpAlert\");\n\n if (KnowledgeHelpAlert) {\n const KnowledgeHelpKey = KnowledgeHelpAlert.getAttribute(\"KnowledgeHelpKey\");\n const KnowledgeHelpKeyValue = KnowledgeHelpAlert.getAttribute(\"KnowledgeHelpKeyValue\");\n\n if (EC_Fmt.isNull(KnowledgeHelpKey) || EC_Fmt.isNull(KnowledgeHelpKeyValue)) {\n return;\n }\n\n EWS.VerifySession(() => {\n fetch(`api?APICommand=GetKnowledgeHelpAlerts&KnowledgeHelpKey=${KnowledgeHelpKey}&KnowledgeHelpKeyValue=${KnowledgeHelpKeyValue}`, {\n credentials: \"same-origin\"\n }).then(response => response.json()).then((Data) => {\n if (Data.TotalCount && Data.TotalCount !== \"0\") {\n KnowledgeHelpAlert.style.display = \"inline-table\";\n }\n });\n });\n }\n}\n\nfunction HideAllDivs(DestroyContent) {\n if (AllowHideAllDivs) {\n const hideableDivs = document.getElementsByClassName(\"Hideable\");\n if (hideableDivs.length > 0) {\n let includesMobileTouchOverItem = false;\n\n if (window.MobileCurrentInput) {\n for (let i = 0; i < hideableDivs.length; i++) {\n if (hideableDivs[i].contains(window.MobileCurrentInput)) {\n includesMobileTouchOverItem = true;\n break;\n }\n }\n }\n\n if (!includesMobileTouchOverItem) {\n for (let i = 0; i < hideableDivs.length; i++) {\n hideableDivs[i].style.display = \"none\";\n if (DestroyContent === true) {\n hideableDivs[i].innerHTML = \"\";\n }\n }\n\n if (EC_Fmt.isMobile) {\n document.getElementById(\"Content\").classList.remove(\"overflow-hidden\");\n }\n }\n }\n } else {\n AllowHideAllDivs = true;\n }\n}\n\nfunction GetXY(Element) {\n if (window.jQuery && Element instanceof window.jQuery) {\n Element = Element[0];\n }\n\n const myPosition = Element.getBoundingClientRect();\n\n return {\n X: myPosition.left,\n Y: myPosition.top\n };\n}\n\nfunction GetX(Element) {\n return GetXY(Element).X;\n}\n\nfunction GetY(Element) {\n return GetXY(Element).Y;\n}\n\nfunction ToggleMainMenu() {\n if (UserType !== \"Guest\" && IsImpersonateUser) {\n return false;\n }\n\n if (!Menu.classList.contains(\"MenuCollapsed\")) {\n if (!EC_Fmt.isMobile) {\n document.cookie = \"MenuCollapsed=True;path=/\";\n }\n SiteMenuToggle(true);\n } else {\n if (!EC_Fmt.isMobile) {\n document.cookie = \"MenuCollapsed=False;path=/\";\n }\n SiteMenuToggle(false);\n }\n}\n\nfunction SiteMenuToggle(visible, LeftSideMenu) {\n if (!LeftSideMenu) {\n LeftSideMenu = Menu;\n }\n const BreadCrumbMenu = document.getElementById(\"BreadCrumbMenuArrow\");\n Menu.classList.remove(\"open-temp\");\n LeftSideMenu.querySelector(\".Content\").removeAttribute(\"style\");\n if (BreadCrumbMenu && BreadCrumbMenu.querySelector(\"span\")) {\n const BreadCrumbMenuIcon = BreadCrumbMenu.querySelector(\"span\");\n if (visible) {\n BreadCrumbMenuIcon.classList.remove(\"ews-icon-unlock\");\n BreadCrumbMenuIcon.classList.add(\"ews-icon-password\");\n BreadCrumbMenu.querySelector(\"ecp-list-item-title\").textContent = EC_Fmt.Trn(\"Lock sidebar open\");\n } else {\n BreadCrumbMenuIcon.classList.remove(\"ews-icon-password\");\n BreadCrumbMenuIcon.classList.add(\"ews-icon-unlock\");\n BreadCrumbMenu.querySelector(\"ecp-list-item-title\").textContent = EC_Fmt.Trn(\"Auto-collapse sidebar\");\n }\n }\n const Content = document.getElementById(\"Content\");\n const headerApplication = document.querySelector(\"#Header .menu-in-header\");\n\n LeftSideMenu.style.width = \"\";\n\n const categoryHighlight = document.getElementById(\"MenuInnerContents\").querySelector(\".CategoryHighlight\");\n\n const mobileMenuMask = LeftSideMenu.parentElement.querySelector(\"#MobileMenuMask\");\n if (visible) {\n if (EC_Fmt.isMobile) {\n // Task 1058438: mobile when open Side Menu, page is very narrow and still can use\n const resetPositionAfterAnimationEnd = () => {\n if (mobileMenuMask && document.getElementById(\"Menu\").classList.contains(\"MenuCollapsed\")) {\n mobileMenuMask.remove();\n }\n LeftSideMenu.removeEventListener(\"transitionend\", resetPositionAfterAnimationEnd);\n };\n\n LeftSideMenu.addEventListener(\"transitionend\", resetPositionAfterAnimationEnd);\n }\n if (UserType !== \"Guest\" && !EC_Fmt.isMobile) {\n fetch(\"api?APICommand=SetMenuStatus&Collapsed=true\", {\n credentials: \"same-origin\"\n });\n }\n\n LeftSideMenu.classList.add(\"MenuCollapsed\");\n LeftSideMenu.classList.remove(\"MenuOpened\");\n Content.classList.add(\"MenuCollapsed\");\n Content.classList.remove(\"MenuOpened\");\n\n if (headerApplication && !EC_Fmt.isMobile) {\n headerApplication.classList.add(\"MenuCollapsed\");\n headerApplication.classList.remove(\"MenuOpened\");\n headerApplication.style.width = \"\";\n }\n\n if (categoryHighlight) {\n const mainMenuCategory = categoryHighlight.querySelector(\".MainMenuCategory\");\n mainMenuCategory.nextElementSibling.style.display = \"none\";\n\n mainMenuCategory.querySelector(\".ews-icon-emcaretdown\").classList.remove(\"arrowup\");\n categoryHighlight.scrollIntoView({ behavior: \"auto\", block: \"center\", inline: \"center\" });\n }\n } else {\n // Task 1058438: mobile when open Side Menu, page is very narrow and still can use\n if (EC_Fmt.isMobile) {\n if (!mobileMenuMask && !visible) {\n const mobileMenuMaskDIV = document.createElement(\"div\");\n mobileMenuMaskDIV.id = \"MobileMenuMask\";\n mobileMenuMaskDIV.style = \"position:fixed;z-index:199;top:0;left:0;width:100%;height:100%;background-color:var(--neutral-120);opacity:0.08\";\n mobileMenuMaskDIV.addEventListener(\"click\", () => { SiteMenuToggle(true); });\n LeftSideMenu.parentElement.appendChild(mobileMenuMaskDIV);\n }\n }\n if (UserType !== \"Guest\" && !EC_Fmt.isMobile) {\n fetch(\"api?APICommand=SetMenuStatus&Collapsed=false\", {\n credentials: \"same-origin\"\n });\n }\n\n LeftSideMenu.classList.add(\"MenuOpened\");\n LeftSideMenu.classList.remove(\"MenuCollapsed\");\n Content.classList.add(\"MenuOpened\");\n Content.classList.remove(\"MenuCollapsed\");\n\n if (headerApplication && !EC_Fmt.isMobile) {\n headerApplication.classList.add(\"MenuOpened\");\n headerApplication.classList.remove(\"MenuCollapsed\");\n }\n\n if (categoryHighlight) {\n categoryHighlight.style.background = \"\";\n categoryHighlight.style.boxShadow = \"\";\n const mainMenuCategory = categoryHighlight.querySelector(\".MainMenuCategory\");\n mainMenuCategory.nextElementSibling.style.display = \"block\";\n mainMenuCategory.querySelector(\".ews-icon-emcaretdown\").classList.add(\"arrowup\");\n }\n }\n}\n\n\nfunction HighlightMenu(DashboardMenuHTML, HeaderMenuLoading) {\n const dashboardId = EC_Fmt.GetPageParameter(\"DashboardID\");\n const tempDiv = document.createElement(\"div\");\n\n tempDiv.innerHTML = DashboardMenuHTML;\n\n const currentPrimaryDashboard = tempDiv.querySelector(`.MainMenuPrimaryDashboards[PrimaryDashboardID='${dashboardId}']`);\n if (currentPrimaryDashboard) {\n currentPrimaryDashboard.classList.add(\"MainMenuPrimaryHighlight\");\n }\n\n const oldCategory = tempDiv.querySelector(\".CategoryHighlight\");\n const oldMenuItem = tempDiv.querySelector(\".MainMenuItemHighlight\");\n const currentURL = window.location.href.substring(window.location.href.indexOf(\"aspx1\") + 6);\n let currentMenuLink = tempDiv.querySelector(`.FavoritesSubcategory a[href*='${currentURL}']`);\n\n if (!currentMenuLink || currentMenuLink.href.substring(window.location.href.indexOf(\"aspx1\") + 6) !== currentURL) {\n currentMenuLink = tempDiv.querySelector(`.MainMenuItem a[href*='Home?DashboardID=${dashboardId}']`);\n if (currentMenuLink && currentMenuLink.parentElement.classList.contains(\"FavoritesSubcategory\")) {\n currentMenuLink = null;\n }\n } else {\n // Task 738573: Edit Dashboard button is grayed out on left side menu and I am the owner.\n const dashboardMenuLink = tempDiv.querySelector(`.MainMenuItem:not(.FavoritesSubcategory) a[href*='Home?DashboardID=${dashboardId}']`);\n\n if (dashboardMenuLink) {\n const dashboardEditIDArr = dashboardMenuLink.parentElement.getAttribute(\"dashboardeditidarr\");\n\n if (dashboardEditIDArr) {\n currentMenuLink.parentElement.setAttribute(\"dashboardeditidarr\", dashboardEditIDArr);\n }\n }\n }\n\n let currentMenuItem = currentMenuLink ? currentMenuLink.parentElement : null;\n\n if (!currentMenuLink && !currentMenuItem) {\n currentMenuItem = tempDiv.querySelector(`.MainMenuItem[dashboardidarr*=\"^${dashboardId}^\"]`);\n }\n\n // const getOpenNewPage = async () => {\n // let OpenNewPage = \"0\";\n // const myValue = localStorage.getItem(\"OpenNewPage\");\n // if (!EC_Fmt.isNull(myValue)) {\n // OpenNewPage = localStorage.getItem(\"OpenNewPage\");\n // } else {\n // const myTableView = new ECP.EC_TableView(\"Settings\");\n // myTableView.SetFormat(\"json\");\n // myTableView.SetMaxRecords(1);\n // myTableView.AddFilter(\"SettingID\", \"3061^0\");\n // myTableView.AddColumn(\"Setting\");\n // const data = await myTableView.GetResults();\n // const myRecordSet = new ECP.EC_Recordset(data);\n // if (!myRecordSet.EOF) {\n // OpenNewPage = myRecordSet.ItemDBValue(\"Setting\");\n // }\n // localStorage.setItem(\"OpenNewPage\", OpenNewPage);\n // }\n\n // if (currentMenuLink && OpenNewPage === \"1\") {\n // const linkList = tempDiv.querySelectorAll(\"a\");\n // for (let i = 0; i < linkList.length; i++) {\n // linkList[i].setAttribute(\"target\", \"_blank\");\n // }\n // }\n // };\n // getOpenNewPage();\n\n let currentCategoryName = \"\";\n\n if (oldCategory) {\n const arrow = oldCategory.querySelector(\".arrowup\");\n\n if (arrow) {\n arrow.classList.remove(\"arrowup\");\n }\n\n oldCategory.querySelector(\"div[id*='Category']\").style.display = \"none\";\n\n if (oldMenuItem) {\n oldMenuItem.classList.remove(\"MainMenuItemHighlight\");\n }\n }\n\n if (currentMenuItem) {\n currentMenuItem.classList.add(\"MainMenuItemHighlight\");\n currentCategoryName = currentMenuItem.parentElement.id.replace(\"Category\", \"\");\n }\n\n // Task 688388: CRM -> Customer Search Dashboard: Customer Dashboard is Not Taking User Back to Correct Page\n const dashboardMenuItemArr = tempDiv.querySelectorAll(\"[dashboardmenufilter]\");\n for (let i = 0; i < dashboardMenuItemArr.length; i++) {\n const dashboardMenuItem = dashboardMenuItemArr[i];\n\n let FieldName = \"\";\n switch (dashboardMenuItem.getAttribute(\"dashboardmenufilter\")) {\n case \"Customer\":\n FieldName = \"CustomerID\";\n break;\n case \"Product\":\n FieldName = \"ProductID\";\n break;\n case \"Chain\":\n FieldName = \"ChainID\";\n break;\n case \"User\":\n FieldName = \"UserID\";\n break;\n case \"Supplier\":\n FieldName = \"SupplierID\";\n break;\n case \"APAccount\":\n FieldName = \"APAccountID\";\n break;\n case \"Route\":\n FieldName = \"RouteID\";\n break;\n }\n\n if (FieldName !== \"\") {\n if (EC_Fmt.isInteger(EC_Fmt.GetPageParameter(FieldName))) {\n dashboardMenuItem.href += `&${FieldName}=${EC_Fmt.GetPageParameter(FieldName)}`;\n } else if (EC_Fmt.Null2EmptyStr(EC_Fmt.GetPageParameter(\"Parameters\")).indexOf(FieldName) > -1) {\n const parameterArr = EC_Fmt.Null2EmptyStr(EC_Fmt.GetPageParameter(\"Parameters\")).split(\"|\");\n for (let j = 0; j < parameterArr.length; j++) {\n const parsingParameterArr = parameterArr[j].split(\"~\");\n if (parsingParameterArr[0].split(\":\")[1] === FieldName) {\n dashboardMenuItem.href += `&${FieldName}=${parsingParameterArr[1].split(\":\")[1]}`;\n break;\n }\n }\n }\n }\n }\n\n HeaderMenuLoading.innerHTML += tempDiv.innerHTML;\n\n const selectedDashboard = HeaderMenuLoading.querySelector(\".MainMenuItemHighlight\");\n const EditDashboardBtn = HeaderMenuLoading.querySelector(\"#ActionButtonEditDashboard\");\n\n if (EditDashboardBtn) {\n if (!dashboardId || !selectedDashboard || !selectedDashboard.getAttribute(\"dashboardEditIDArr\") || !selectedDashboard.getAttribute(\"dashboardEditIDArr\").includes(dashboardId)) {\n EditDashboardBtn.classList.add(\"disabled\");\n EditDashboardBtn.parentElement.setAttribute(\"title\", \"Edit Dashboard - You must be the owner of the dashboard, or have Shared Dashboard Edit permission\");\n EditDashboardBtn.removeAttribute(\"href\");\n } else {\n EditDashboardBtn.href = `Home?DashboardEdit=true&DashboardID=${dashboardId}`;\n }\n }\n return currentCategoryName;\n}\n\nfunction ToggleExcelMenu(Button, Name) {\n const ExcelMenu = document.getElementById(Name);\n\n if (ExcelMenu && ExcelMenu.offsetWidth === 0 && ExcelMenu.offsetHeight === 0) {\n HideAllDivs();\n AllowHideAllDivs = false;\n\n const buttonPosition = Button.getBoundingClientRect();\n\n ExcelMenu.style.display = \"block\";\n ExcelMenu.style.top = `${buttonPosition.top + buttonPosition.height + 3}px`;\n ExcelMenu.style.left = `${buttonPosition.left}px`;\n ExcelMenu.style.zIndex = \"9999\";\n }\n}\n\nfunction ShowSwitchDialog() {\n if (AuthenticationID > 0) {\n EWS.VerifySession(() => {\n // Task 614359: Convert EWS.aspx from an aspx page to API Commands/Dashboard\n fetch(`api?APICommand=CreateSiteSwitchDialog&EncompassID=${Distributor}`, {\n credentials: \"same-origin\"\n }).then(response => response.json()).then((result) => {\n // Task 657698: Clone User / Switch Site vulnerability.\n if (result.Tips === undefined) {\n // Task 1064395: Change the 'Switch site' modal to be an action type dialog\n Switch = result.switch;\n const Dialog = ECP.Dialog.ShowDialog(result.title, result.content, {\n width: 350,\n height: 420,\n barPosition: \"top\",\n confirmButtonTitle: result.cancel,\n confirmButtonAction(dialog) {\n ECP.Dialog.CloseDialog(dialog);\n }\n });\n\n Dialog.querySelector(\".ews-form-content\").style.cssText += \"width:100%;height:100%;position:relative;box-sizing:border-box;user-select:none\";\n\n Dialog.querySelector(\".ecp-dialog-confirm-button\").classList.add(\"ecp-dialog-cancel-button\");\n Dialog.querySelector(\".ecp-dialog-confirm-button\").classList.remove(\"ecp-dialog-confirm-button\");\n\n Dialog.querySelector(\"input#SiteSearchInput\").addEventListener(\"keydown\", (event) => {\n // Task 949378: Switch Site: Change functionality of hitting enter key after typing EncompassID\n const ItemArr = Array.from(document.querySelectorAll(\".database-list-item.show\"));\n switch (event.key) {\n case \"ArrowUp\":\n {\n const dom = document.querySelector(\".database-list-item.show.highlight\");\n if (!EC_Fmt.isNull(ItemArr)) {\n let index = ItemArr.indexOf(dom);\n if (index <= 0) {\n index = ItemArr.length - 1;\n } else if (index <= (ItemArr.length - 1)) {\n index -= 1;\n }\n for (let i = 0, len = ItemArr.length; i < len; i++) {\n ItemArr[i].classList.remove(\"highlight\");\n ItemArr[i].childNodes[0].childNodes[1].style = \"color:#666\";\n }\n ItemArr[index].classList.add(\"highlight\");\n ItemArr[index].childNodes[0].childNodes[1].style = \"color:#fff\";\n\n if (ItemArr[index].scrollIntoViewIfNeeded) {\n ItemArr[index].scrollIntoViewIfNeeded();\n } else {\n ItemArr[index].scrollIntoView();\n }\n }\n break;\n }\n case \"ArrowDown\":\n {\n const dom = document.querySelector(\".database-list-item.show.highlight\");\n if (!EC_Fmt.isNull(ItemArr)) {\n let index = ItemArr.indexOf(dom);\n if (index < (ItemArr.length - 1)) {\n index += 1;\n } else if (index >= (ItemArr.length - 1)) {\n index = 0;\n }\n for (let i = 0, len = ItemArr.length; i < len; i++) {\n ItemArr[i].classList.remove(\"highlight\");\n ItemArr[i].childNodes[0].childNodes[1].style = \"color:#666\";\n }\n ItemArr[index].classList.add(\"highlight\");\n ItemArr[index].childNodes[0].childNodes[1].style = \"color:#fff\";\n if (ItemArr[index].scrollIntoViewIfNeeded) {\n ItemArr[index].scrollIntoViewIfNeeded();\n } else {\n ItemArr[index].scrollIntoView();\n }\n }\n break;\n }\n case \"Enter\":\n {\n if (!EC_Fmt.isNull(ItemArr)) {\n if (document.querySelector(\".database-list-item.show.highlight\")) {\n EC_Fmt.TriggerEvent(document.querySelector(\".database-list-item.show.highlight\").getElementsByClassName(\"switch-btn\")[0], \"click\");\n } else {\n EC_Fmt.TriggerEvent(ItemArr[0].getElementsByClassName(\"switch-btn\")[0], \"click\");\n }\n }\n break;\n }\n default:\n {\n break;\n }\n }\n });\n\n Dialog.querySelector(\"input#SiteSearchInput\").addEventListener(\"keyup\", (event) => {\n switch (event.key) {\n case \"ArrowUp\":\n case \"Enter\":\n case \"ArrowDown\":\n {\n break;\n }\n default:\n {\n SiteSwitchSearch(Dialog, event.target.value);\n const ItemArr = Array.from(document.querySelectorAll(\".database-list-item.show\"));\n if (ItemArr.length > 0) {\n if (ItemArr[0].scrollIntoViewIfNeeded) {\n ItemArr[0].scrollIntoViewIfNeeded();\n } else {\n ItemArr[0].scrollIntoView();\n }\n }\n if (document.querySelector(\".database-list-item.show.highlight\")) {\n document.querySelector(\".database-list-item.show.highlight\").childNodes[0].childNodes[1].style = \"color:#666\";\n }\n for (let i = 0, len = ItemArr.length; i < len; i++) {\n ItemArr[i].classList.remove(\"highlight\");\n }\n break;\n }\n }\n });\n\n Dialog.querySelector(\"input#SiteSearchInput\").addEventListener(\"paste\", () => {\n setTimeout(() => {\n EC_Fmt.TriggerEvent(Dialog.querySelector(\"input#SiteSearchInput\"), \"keyup\");\n }, 1);\n });\n\n InitSiteSwitchData(Dialog);\n }\n });\n });\n }\n}\n\nlet isDialogDragAttached = false;\n\nfunction PositionDialog(Dialog) {\n const Mask = document.getElementById(\"DialogMask\");\n const clientWidth = document.documentElement.clientWidth;\n const clientHeight = document.documentElement.clientHeight;\n let Width;\n let Height;\n\n Mask.style.width = `${clientWidth}px`;\n\n if (EC_Fmt.isMobile) {\n Width = clientWidth;\n Height = Dialog.outerHeight + Math.round(clientHeight - Dialog.outerHeight) / 2 - 30;\n\n if (Height > clientHeight) {\n Height = clientHeight;\n }\n\n Mask.style.opacity = \"0.3\";\n Dialog.style.overflow = \"auto\";\n } else {\n Width = Dialog && Dialog.offsetWidth;\n Height = Dialog && Dialog.offsetHeight;\n\n if (Width > window.outerWidth) {\n Width = window.outerWidth;\n Dialog.style.overflow = \"auto\";\n }\n\n if (Height > window.outerHeight) {\n Height = window.outerHeight;\n Dialog.style.overflow = \"auto\";\n }\n }\n\n let Top = Math.floor((window.outerHeight / 2) - (Height / 2));\n let Left = Math.floor((window.outerWidth / 2) - (Width / 2));\n\n Top = Math.max(Top, 0);\n Left = Math.max(Left, 0);\n\n Dialog.style.minWidth = `${Width}px`;\n Dialog.style.height = `${Height}px`;\n Dialog.style.marginLeft = \"0\";\n Dialog.style.marginTop = \"0\";\n Dialog.style.top = `${Top}px`;\n Dialog.style.left = `${Left}px`;\n Dialog.style.zIndex = \"100000\";\n\n const SRDOwner = document.getElementById(\"SRDOwner\");\n if (SRDOwner) {\n SRDOwner.parentElement.style.height = SRDOwner.outerHeight + 2 * EC_Fmt.Null2ZeroInt(SRDOwner.style.borderTopWidth).replace(\"px\", \"\") + 2 * EC_Fmt.Null2ZeroInt(SRDOwner.style.paddingTop).replace(\"px\", \"\") + 1;\n }\n\n const DialogScrollContent = Dialog.querySelector(\".ScrollContent\");\n\n if (DialogScrollContent) {\n const DialogScrollContentTable = DialogScrollContent.querySelector(\"table\");\n if (DialogScrollContentTable) {\n DialogScrollContentTable.style.border = \"none\";\n const DialogScrollContentCells = DialogScrollContentTable.querySelectorAll(\"td\");\n for (let i = 0; i < DialogScrollContentCells.length; i++) {\n DialogScrollContentCells[i].style.border = \"none\";\n DialogScrollContentCells[i].style.borderBottom = \"1px solid #ccc\";\n }\n }\n }\n\n const dragDialog = (handle) => {\n if (isDialogDragAttached) {\n return;\n }\n\n let currentDialog;\n let startX;\n let startY;\n\n handle.addEventListener(\"mousedown\", (event) => {\n currentDialog = Dialog;\n startX = event.clientX;\n startY = event.clientY;\n\n document.body.style.webkitUserSelect = \"none\";\n });\n\n const MoveDone = () => {\n if (currentDialog) {\n currentDialog = null;\n startX = 0;\n startY = 0;\n document.body.style.webkitUserSelect = \"auto\";\n }\n };\n const MoveDialog = (e) => {\n if (currentDialog) {\n let top = (currentDialog.style.top ? parseInt(currentDialog.style.top.replace(\"px\", \"\")) : 0) + e.clientY - startY;\n let left = (currentDialog.style.left ? parseInt(currentDialog.style.left.replace(\"px\", \"\")) : 0) + e.clientX - startX;\n const topMaxLimit = window.innerHeight - currentDialog.clientHeight - 3;\n const leftMaxLimit = window.innerWidth - currentDialog.clientWidth;\n\n if (top < 0) {\n top = 0;\n }\n if (top > topMaxLimit) {\n top = topMaxLimit;\n }\n if (left < 0) {\n left = 0;\n }\n if (left > leftMaxLimit) {\n left = leftMaxLimit;\n }\n\n currentDialog.style.top = `${top}px`;\n currentDialog.style.left = `${left}px`;\n\n startY = e.clientY;\n startX = e.clientX;\n }\n };\n\n document.addEventListener(\"mousemove\", MoveDialog);\n document.addEventListener(\"mouseup\", MoveDone);\n\n isDialogDragAttached = true;\n };\n\n const DialogContent = document.querySelector(\".DialogContent\");\n\n if (DialogContent && DialogContent.offsetWidth > 0 && DialogContent.offsetHeight > 0) {\n const DialogHeader = document.querySelector(\".DialogHeader\");\n const DialogFooter = document.querySelector(\".DialogFooter\");\n if (EC_Fmt.isMobile) {\n DialogContent.style.overflow = \"auto\";\n }\n\n DialogFooter.style.width = DialogContent.offsetWidth;\n\n dragDialog(DialogHeader);\n\n Dialog.style.height = DialogContent.outerHeight + DialogHeader.offsetHeight + DialogFooter.offsetHeight;\n\n if (Dialog.outerHeight > clientHeight) {\n DialogContent.style.height = `${Height - DialogHeader.offsetHeight - DialogFooter.offsetHeight}px`;\n } else {\n DialogContent.style.height = \"auto\";\n }\n\n setTimeout(() => {\n Dialog.style.height = DialogContent.outerHeight + DialogHeader.offsetHeight + DialogFooter.offsetHeight;\n\n if (Dialog.outerHeight > clientHeight) {\n DialogContent.height(Height - DialogHeader.offsetHeight - DialogFooter.offsetHeight);\n } else {\n DialogContent.style.height = \"auto\";\n }\n }, 1000);\n } else {\n Dialog.classList.add(\"BoxShowNone\");\n\n const handle = Dialog.querySelector(\".DialogLayout>thead\");\n\n dragDialog(handle);\n }\n}\n\nfunction HideDialog(Name) {\n if (Name === \"UrlDialog\") {\n document.getElementById(\"UrlFrame\").setAttribute(\"src\", \"about:blank\");\n }\n\n const DialogMask = document.getElementById(\"DialogMask\");\n if (DialogMask) {\n DialogMask.style.display = \"none\";\n }\n const myElement = document.getElementById(Name);\n if (myElement) {\n myElement.style.display = \"none\";\n }\n const embedElements = document.getElementsByTagName(\"EMBED\");\n for (let i = 0; i < embedElements.length; i++) {\n embedElements[i].style.display = \"block\";\n }\n const pdfIframe = document.getElementById(\"pdfIframe\");\n if (pdfIframe) {\n pdfIframe.style.display = \"block\";\n }\n\n document.body.style.overflowX = \"auto\";\n document.body.style.overflowY = \"auto\";\n document.body.style.position = \"static\";\n document.body.style.minWidth = \"auto\";\n\n const ScrollPosition = document.scrollPosition;\n\n if (ScrollPosition) {\n window.scrollTo(ScrollPosition[0], ScrollPosition[1]);\n }\n}\n\nfunction SendEmail(Url, ContentHtml, Embeded, ToEmail) {\n if (!Url) {\n Url = \"SendEmail.aspx\";\n }\n\n const EmailForm = document.getElementById(\"EmailForm\");\n if (EmailForm) {\n const Form = document.createElement(\"form\");\n Form.id = \"EmailForm\";\n Form.name = \"EmailPageForm\";\n Form.method = \"post\";\n if (Embeded) {\n Form.action = \"SendEmail.aspx?EmbededDialog=True\";\n } else {\n Form.action = \"SendEmail.aspx\";\n }\n\n let htmlB = \"\"\n + \"\";\n\n if (ToEmail !== undefined) {\n htmlB += ``;\n }\n\n Form.innerHTML = htmlB;\n\n document.body.appendChild(Form);\n\n const ReturnURL = EmailForm.querySelector(\"#ReturnURL\");\n if (ReturnURL) {\n ReturnURL.value = Url;\n }\n\n if (ContentHtml) {\n const ContentHtmlElement = EmailForm.querySelector(\"#ContentHtml\");\n if (ContentHtmlElement) {\n ContentHtmlElement.value = ContentHtml;\n }\n }\n\n EmailForm.submit();\n }\n}\n\nfunction ToggleMenuCategory(Category, CollapseOtherCategories) {\n const CategoryLayer = document.getElementById(`${Category}Category`);\n let Collapsed = false;\n\n // Task 645555: Creating Bills has Java Script error\n if (CategoryLayer !== null) {\n if (CategoryLayer.offsetWidth === 0 && CategoryLayer.offsetHeight === 0) {\n CategoryLayer.parentElement.classList.add(\"CategoryHighlight\");\n } else {\n Collapsed = true;\n CategoryLayer.parentElement.classList.remove(\"CategoryHighlight\");\n }\n\n if (CollapseOtherCategories) {\n const OtherCategories = CategoryLayer.parentElement.parentElement.querySelectorAll(\"div div[id$='Category']\");\n for (let i = 0; i < OtherCategories.length; i++) {\n const category = OtherCategories[i];\n if (category.id && CategoryLayer.id !== category.id) {\n if (category.offsetWidth === 0 && category.offsetHeight === 0) {\n category.parentElement.classList.remove(\"CategoryHighlight\");\n } else {\n ToggleMenuCategory(category.id.replace(\"Category\", \"\"), false);\n }\n }\n }\n }\n\n const CategoryArrow = document.getElementById(`${Category}Arrow`);\n\n if (Collapsed) {\n CategoryLayer.style.display = \"none\";\n CategoryArrow.classList.remove(\"arrowup\");\n } else {\n CategoryLayer.style.display = \"block\";\n CategoryArrow.classList.add(\"arrowup\");\n }\n\n if (CategoryLayer.id === \"EncompassMobileCategory\" && !Collapsed) {\n EncompassMobileItem();\n }\n }\n}\n\nfunction OpenApplicationDownload() {\n if (document.getElementById(\"EncompassMobileArrow\")) {\n if (Menu.classList.contains(\"MenuCollapsed\")) {\n ToggleMainMenu();\n }\n const EncompassMobileCategory = document.getElementById(\"EncompassMobileCategory\");\n if (EncompassMobileCategory && getComputedStyle(EncompassMobileCategory).display === \"none\") {\n // Task 425424\n Menu.scrollTop = 0;\n\n ToggleMenuCategory(\"EncompassMobile\", true);\n }\n }\n}\n\nfunction OpenKnowledgeHelp(Url) {\n window.open(Url);\n}\n\nfunction get_searchOp(Value) {\n return EC_Fmt.get_searchOp(Value);\n}\n\nfunction Replace(Value, Find, ReplaceVal) {\n return EC_Fmt.ReplaceAll(Value, Find, ReplaceVal);\n}\n\nfunction ToggleFilterHeader() {\n const FilterContent = document.getElementById(\"FilterContent\");\n const FilterCollapsed = document.getElementById(\"FilterCollapsed\");\n\n if (!(FilterContent.offsetWidth === 0 && FilterContent.offsetHeight === 0)) {\n FilterContent.style.display = \"none\";\n FilterCollapsed.style.display = \"block\";\n } else {\n FilterContent.style.display = \"block\";\n FilterCollapsed.style.display = \"none\";\n }\n}\n\nfunction ClockIn() {\n let TimeClockActivityID = document.getElementById(\"TimeClockActivityIDHidden\");\n if (TimeClockActivityID) {\n TimeClockActivityID = TimeClockActivityID.value;\n }\n if (EC_Fmt.isInteger(TimeClockActivityID)) {\n fetch(`Home?LogOnType=ClockIn&TimeClockActivityID=${TimeClockActivityID}`, {\n credentials: \"same-origin\"\n }).then(response => response.text()).then((Data) => {\n if (Data === \"Success\") {\n window.location.reload();\n } else if (Data === \"Already Clocked In\") {\n ECP.Dialog.Alert(\"You are Already Clocked In\");\n window.location.reload();\n } else {\n ECP.Dialog.Alert(\"Unable to Clock In\");\n }\n });\n } else {\n ECP.Dialog.Alert(\"You Must Select an Activity\");\n }\n}\n\nlet SitesData = {};\n\nfunction InitSiteSwitchData(dialog) {\n SitesData = {};\n\n EWS.VerifySession(() => {\n // Task 614359: Convert EWS.aspx from an aspx page to API Commands/Dashboard\n // Task 744067: Switch Site:When the switch site is not loaded, an error will be reported when input is input\n ECP.Dialog.ShowLoading(\"Loading......\", dialog.firstElementChild);\n fetch(`api?APICommand=GetSiteDatabase&EncompassID=${Distributor}`, {\n credentials: \"same-origin\"\n }).then(response => response.json()).then((result) => {\n SitesData = result;\n let SitesHTML = ``;\n for (let i = 0; i < SitesData.Sites.length; i++) {\n const site = SitesData.Sites[i];\n SitesHTML += ``\n + \"\"\n + ` ${site.Name}`\n + \"\"\n + \"\"\n + ` `\n + \"\"\n + \"\";\n }\n // Task 443511\n if (SitesHTML === \"\") {\n SitesHTML += \"No sites available to switch to.\";\n }\n\n dialog.querySelector(\".database-list\").innerHTML = SitesHTML;\n ECP.Dialog.HideLoading();\n // Task 917191: System Error: JavaScript Error: includes/DefaultNoEchatAll.min.js (1) - Uncaught TypeError: Cannot read property 'length' of undefined\n const SiteSearchInput = document.getElementById(\"SiteSearchInput\");\n SiteSearchInput.removeAttribute(\"disabled\");\n if (SiteSearchInput) {\n SiteSearchInput.focus();\n }\n });\n });\n}\n\nfunction SiteSwitchSearch(dialog, search) {\n // Task 752570: User with AllDatabases permission did not get an AuthenticationsSites record created for the Founders database\n const myItemArr = dialog.querySelectorAll(`.database-list-item`);\n if (!EC_Fmt.isNull(search)) {\n for (let i = 0; i < SitesData.Sites.length; i++) {\n if (SitesData.Sites[i].Name.toLowerCase().indexOf(search.toLowerCase()) > -1) {\n myItemArr[i].classList.add(\"show\");\n myItemArr[i].classList.remove(\"hidden\");\n } else {\n myItemArr[i].classList.add(\"hidden\");\n myItemArr[i].classList.remove(\"show\");\n }\n }\n }\n}\n\nfunction SwitchSiteButton(site) {\n // AuthenticationSiteID\n document.getElementById(\"SiteSwitchHidden\").value = SitesData.Sites[site].ID;\n // EncompassID\n document.getElementById(\"SiteSwitchHiddenName\").value = SitesData.Sites[site].Name;\n // Domain\n document.getElementById(\"DomainHiddenName\").value = SitesData.Sites[site].URL;\n const SwitchSiteForm = document.getElementById(\"SiteSwitchForm\");\n if ((window.event.ctrlKey || window.event.metaKey) && SwitchSiteForm) {\n SwitchSiteForm.setAttribute(\"target\", \"_blank\");\n }\n document.getElementById(\"SiteSwitchForm\").submit();\n if (SwitchSiteForm) {\n SwitchSiteForm.setAttribute(\"target\", \"_self\");\n }\n}\n\nasync function ViewNewDashboards(ShowUnshared) {\n ECP.Dialog.ShowLoading();\n const mySetShowUnsharedDashboardRequest = new ECP.EC_Request(\"Dashboard_SetShowUnsharedDashboard\");\n mySetShowUnsharedDashboardRequest.AddRequestVariable(\"ShowUnshared\", ShowUnshared);\n await mySetShowUnsharedDashboardRequest.Submit();\n\n clearDashboardMenuCache();\n window.location.reload();\n}\n\nasync function ShowHiddenDashboards(ShowDashboards) {\n ECP.Dialog.ShowLoading();\n const mySetShowDefaultDashboardRequest = new ECP.EC_Request(\"Dashboard_SetShowDefaultDashboard\");\n mySetShowDefaultDashboardRequest.AddRequestVariable(\"ShowHidden\", ShowDashboards);\n await mySetShowDefaultDashboardRequest.Submit();\n\n clearDashboardMenuCache();\n window.location.reload();\n}\n\nasync function ShowOtherSiteDashboard(ShowOther) {\n ECP.Dialog.ShowLoading();\n const mySetShowOtherSiteDashboardRequest = new ECP.EC_Request(\"Dashboard_SetShowOtherSiteDashboard\");\n mySetShowOtherSiteDashboardRequest.AddRequestVariable(\"ShowOther\", ShowOther);\n await mySetShowOtherSiteDashboardRequest.Submit();\n\n clearDashboardMenuCache();\n window.location.reload();\n}\n\nfunction ShowHideFilters() {\n const content = document.getElementById(\"FilterContent\");\n const TableFilter = document.getElementById(\"TableFilter\");\n\n if (content && TableFilter) {\n if (!(content.offsetWidth === 0 && content.offsetHeight === 0)) {\n TableFilter.classList.add(\"ews-icon-plus-square-o\");\n TableFilter.classList.remove(\"ews-icon-minus-square-o\");\n } else {\n TableFilter.classList.add(\"ews-icon-minus-square-o\");\n TableFilter.classList.remove(\"ews-icon-plus-square-o\");\n }\n\n content.style.display = (content.style.display === \"none\") ? \"block\" : \"none\";\n }\n}\n\n// Task 941168: Quickbooks Online sync shows blank page while running\nasync function WriteEncompassMobileItemHtml(clientApplication, clientOS, clientOSVersion) {\n const EncompassMobileCategory = document.getElementById(\"EncompassMobileCategory\");\n EncompassMobileCategory.innerHTML = \"
loading...
\";\n\n const myRequest = new ECP.EC_Request(\"GetEncompassMobileList\");\n myRequest.AddRequestVariable(\"ClientApplication\", clientApplication);\n myRequest.AddRequestVariable(\"ClientOS\", clientOS);\n myRequest.AddRequestVariable(\"ClientOSVersion\", clientOSVersion);\n\n const data = await myRequest.Submit();\n let contentHtml = \"\";\n\n for (let i = 0; i < data.length; i++) {\n const item = data[i];\n contentHtml += `

${item.ClientApplication}

`;\n contentHtml += ``;\n }\n\n EncompassMobileCategory.innerHTML = contentHtml;\n}\n\nfunction EncompassMobileItem() {\n const EncompassMobileCategory = document.getElementById(\"EncompassMobileCategory\");\n const isEmptyContent = EncompassMobileCategory && EncompassMobileCategory.innerHTML.trim() === \"\";\n const isMobileDevice = navigator.maxTouchPoints > 0;\n\n if (EC_Fmt.isAndroid || EC_Fmt.isIOS) {\n if (isEmptyContent) {\n EncompassMobileCategory.innerHTML = \"
loading...
\";\n\n // Task 960025: Log in window appears in front of report after using a quick link that has required login = false\n if (!IsImpersonateUser) {\n EWS.VerifySession(() => {\n fetch(\"api?APICommand=GetApplicationsCategoryHtml\", {\n credentials: \"same-origin\"\n }).then(response => response.text()).then((result) => {\n EncompassMobileCategory.innerHTML = result;\n });\n });\n }\n }\n } else if (navigator.userAgent.toLowerCase().indexOf(\"mac\") > 0 && isMobileDevice) {\n if (isEmptyContent) {\n WriteEncompassMobileItemHtml(6, 2, 13);\n }\n } else if (navigator.userAgent.toLowerCase().indexOf(\"chrome\") > 0 && isMobileDevice) {\n if (isEmptyContent) {\n WriteEncompassMobileItemHtml(7, 3, 7);\n }\n } else if (document.querySelector(\"#Menu .encompass-mobile\")) {\n document.querySelector(\"#Menu .encompass-mobile\").remove();\n }\n}\n\n// Task 1060296: Standardizing javascript Dialogs: Need to delete the code for the old SiteMapHeader.js: ShowDialog()\n// Has been replaced with EditColumn, JS replaced whit EditLanguageString()\n// function SaveLanguageStrings() {\n// const languageStringsArr = Array.from((new FormData(document.getElementById(\"LanguageStringsEditForm\"))).entries());\n// const languageStringsData = languageStringsArr.map(item => ({\n// F: item[0],\n// V: item[1]\n// }));\n// const myRequest = new ECP.EC_Request(\"SaveLanguageStrings\");\n\n// myRequest.SetReturnType(ECP.EC_ReturnType.Text);\n// myRequest.AddRequestVariable(\"LanguageStringsData\", JSON.stringify({\n// root: languageStringsData\n// }), ECP.EC_Verb.Post);\n// myRequest.AddRequestVariable(\"Language\", document.querySelector(\"#LanguageStringsEditForm #Language\").value, ECP.EC_Verb.Post);\n\n// const loadingDialog = ECP.Dialog.ShowLoading();\n// loadingDialog.firstElementChild.style.zIndex = parseInt(document.getElementById(\"EditTranslationDialog\").style.zIndex) + 10;\n\n// myRequest.Submit().then(() => {\n// ECP.Dialog.HideLoading();\n\n// window.location.reload();\n// });\n// }\n\n/* Task 748465: Make ECP header mobile friendly */\nfunction ShareButtonHandle(shareButton, event) {\n if (shareButton) {\n event.stopPropagation();\n Load_QuicklinkMenu(shareButton, `Home?${EC_Fmt.Get_QueryString(\" \")}`, \"Dashboard\");\n }\n}\n\nfunction displayCommandMenu(name, ele, event) {\n event.stopPropagation();\n EWS.Command.ShowMenu(name, ele);\n}\n\nfunction showRemindMeDialog(name, ele, event) {\n displayCommandMenu(name, ele, event);\n}\n\nfunction ShowReMindMeDialog() {\n EWS.VerifySession(() => {\n const dateTimeNow = EC_Fmt.DateTimeParseFormat(EC_Fmt.ScreenFmt(new Date(), ECP.DataType._DateTime));\n const content = `
`\n + `
Remind Me`\n + `
`\n + ` `\n + ` `\n + ` Tip:`\n + `
Set a date and time in the dialog`\n + `
below and the Remind Me`\n + `
feature will send you an eChat`\n + `
at that time with a link that`\n + `
takes you back to the page you are on right now.`\n + `
`\n + `
`\n + `
`\n + `
`\n + `
`\n + ` `\n + `
`\n + `
`\n + `
Reminder Date/Time
`\n + `
`\n + `
${ECP.HTML.DateTimeInput(\"myDateTime\", \"DateTimeField\", true, dateTimeNow, \"Current Date Time\", 1, 290, true, dateTimeNow)}
`;\n const dialog = ECP.Dialog.ShowDialog(\"Remind Me\", content, {\n width: 350,\n height: 280,\n confirmButtonTitle: \"Set Reminder\",\n async confirmButtonAction() {\n ECP.Dialog.ShowLoading();\n\n const date = dialog.querySelector(\"#DateTimeField\").value;\n const title = dialog.querySelector(\"#remind\").value;\n if (!date || !title) {\n ECP.Dialog.HideLoading();\n ECP.Dialog.Alert(\"Please input information.\");\n return;\n }\n\n const delayRequest = new ECP.EC_Request(\"SendRemindMeEChatMessage\");\n\n delayRequest.AddRequestVariable(\"DelayedSendTime\", EC_Fmt.DateTimeParseFormat(date), ECP.EC_Verb.Post);\n delayRequest.AddRequestVariable(\"Title\", title, ECP.EC_Verb.Post);\n delayRequest.AddRequestVariable(\"Url\", window.location.href, ECP.EC_Verb.Post);\n const message = await delayRequest.Submit();\n if (message.State === \"Success\") {\n // Task 1024699: Remind Me: Use Snackbar notification instead of pop-up after scheduling a reminder\n ECP.HTML.Snackbar(\"Remind Me Event has been created.\", \"Success\");\n } else {\n ECP.Dialog.Alert(message.errors[0].detail);\n }\n ECP.Dialog.HideLoading();\n }\n });\n });\n}\n\nfunction ShowBetaFeedbackDialog() {\n if (AuthenticationID > 0) {\n EWS.VerifySession(() => {\n // Task 1064388: UI Adjustments for the submit feedback modal\n const UserName = document.querySelector(\"div [name='UserMenu']\").innerText.split(\"@\")[0];\n const content = ``\n + `This feedback should pertain to the beta version of this dashboard. For all other questions/comments, please`\n + ` create a task.`\n + ``\n + `
`\n + `
`\n + ` Dashboard`\n + ` ${document.head.querySelector(\"title\").innerText}`\n + `
`\n + `
`\n + ` Your name`\n + ` ${UserName} `\n + `
`\n + `
`\n + ` `\n + `
`\n + `
`;\n\n const Dialog = ECP.Dialog.ShowDialog(\"Submit beta dashboard feedback\", content, {\n width: 560,\n barPosition: \"top\",\n cancelButtonTitle: \"Cancel\",\n confirmButtonTitle: \"Submit Feedback\",\n async confirmButtonAction() {\n ECP.Dialog.ShowLoading();\n // Get Dashboard and UserData\n const myDashboardData = new ECP.EC_TableView(\"Dashboards\");\n myDashboardData.AddSubTableJoinID(\"Dashboards_Applications\");\n myDashboardData.AddSubTableColumn(\"Dashboards_Applications\", \"Application\");\n myDashboardData.AddFilter(\"DashboardID\", EC_Fmt.GetPageParameter(\"DashboardID\"), ECP.EC_Operator.Equals);\n const results = await myDashboardData.GetResults();\n const myRecordSet = new ECP.EC_Recordset(results).Records[0];\n\n // Create Task\n let FeedbackDetail = Dialog.querySelector(\"#FeedbackDetail\").value;\n FeedbackDetail += `

User:${UserName}
EncompassID:${Distributor}`;\n FeedbackDetail = `Beta Dashboard Feedback:
${FeedbackDetail}`;\n\n const myRequest = new ECP.EC_Request(\"BI_CreateTask\");\n\n myRequest.AddRequestVariable(\"Detail\", FeedbackDetail, ECP.EC_Verb.Get);\n myRequest.AddRequestVariable(\"Task\", `Beta Dashboard feedback submitted for the ${myRecordSet.Dashboard} dashboard in the ${EC_Fmt.RemoveHTMLFromStr(myRecordSet.ApplicationID)} application`, ECP.EC_Verb.Get);\n myRequest.AddRequestVariable(\"AuthenticationID\", myRecordSet.OwnerAuthenticationID_DBValue, ECP.EC_Verb.Get);\n myRequest.SetReturnType(ECP.EC_ReturnType.Json);\n\n const data = await myRequest.Submit();\n const TaskID = data.TaskID;\n\n ECP.Dialog.HideLoading();\n if (TaskID) {\n ECP.Dialog.Alert(\"A Task has been created\");\n } else {\n ECP.Dialog.Alert(\"Task failed to be sent to support, please contact support your feedback or log a task at infrontsmart.com\");\n }\n }\n });\n });\n }\n}\n\nfunction ShowToolTipMessage() {\n const tipContainers = document.querySelectorAll(\".tip-container\");\n for (let i = 0; i < tipContainers.length; i++) {\n tipContainers[i].addEventListener(\"mouseenter\", () => {\n const tipMessage = tipContainers[i].querySelector(\".tip-description\");\n tipMessage.style.display = \"block\";\n // Task 764637: Replace the Top Tips icon and make the pop-up dialog fixed pop-up display position in UI-Kit\n if (window.innerWidth - tipContainers[i].getBoundingClientRect().left > 222) {\n tipMessage.style.left = 0;\n } else {\n tipMessage.style.right = 0;\n }\n });\n\n tipContainers[i].addEventListener(\"mouseleave\", () => {\n const tipMessage = tipContainers[i].querySelector(\".tip-description\");\n tipMessage.style.display = \"none\";\n });\n }\n}\n\n// Task 1060296: Standardizing javascript Dialogs: Need to delete the code for the old SiteMapHeader.js: ShowDialog()\nfunction EditLanguageString() {\n let url = `Home?DashboardID=100101&Action=EditColumn&TableEdit=LanguageStrings&Column=TranslationString&SelectMaxRecords=5000&TableName=LanguageStrings&SelectDisplayInParent=LanguageString%2CLanguage%2COnMobile%2CTranslationString%2CTimeUpdated%2CUpdatedBy%2CTimeCreated%2CCreatedBy&Parameters=F:Language~V:${EC_Fmt.userLanguage}~O:E|F:LanguageString~V:`;\n url += encodeURIComponent(Object.keys(EC_Fmt.LocaleStrings).map(key => `${key}`).join(\"^\"));\n url += `~O:E&`;\n window.open(url);\n}\n\nfunction refreshMenu() {\n EWS.ClearMenuCache(() => {\n clearDashboardMenuCache();\n window.location.reload(true);\n });\n}","\"use strict\";\n\nfunction OnClick_ToggleCheckboxes(Value, InputForm) {\n const form = document.getElementById(InputForm);\n if (form) {\n const checkboxes = form.querySelectorAll(\"input[type='checkbox']\");\n for (let i = 0; i < checkboxes.length; i++) {\n checkboxes[i].checked = Value;\n }\n }\n}\n\nfunction OnClick_ToggleCheckboxesBarcodes(Value, InputForm) {\n const form = document.getElementById(InputForm);\n if (form) {\n const checkboxes = form.querySelectorAll(\"input[type='checkbox']\");\n for (let i = 0; i < checkboxes.length; i++) {\n checkboxes[i].checked = Value;\n // Task 660029: Bar Codes: Select all button does not select all.\t\n if (checkboxes[i].value) {\n ToggleCheckboxes(checkboxes[i].value);\n }\n }\n }\n}\n\nfunction ToggleCheckboxes(ID) {\n if (ID === \"default\" || ID === \"on\") {\n // Skip\n } else if (document.getElementById(`${ID}_checkbox`).checked === true) {\n document.getElementById(`${ID}_textbox`).value = \"1\";\n } else {\n document.getElementById(`${ID}_textbox`).value = \"\";\n }\n}\n\n\nfunction ToggleTextboxes(ID) {\n // Task 348479\n const inputTextBox = document.getElementById(`${ID}_textbox`);\n EC_Fmt.InputFmt(inputTextBox, ECP.DataType._Integer, 12, false);\n\n if (inputTextBox.value !== \"\") {\n document.getElementById(`${ID}_checkbox`).checked = true;\n } else {\n document.getElementById(`${ID}_checkbox`).checked = false;\n }\n}\n\nfunction OnClick_CheckCheckboxes(InputForm) {\n let IsChecked = false;\n const InputFormElement = document.getElementById(InputForm);\n\n if (InputFormElement != null) {\n const InputElements = InputFormElement.querySelectorAll(\"input[type='checkbox']\");\n for (let i = 0; i < InputElements.length; i++) {\n if (InputElements[i].checked) {\n IsChecked = true;\n break;\n }\n }\n }\n\n if (IsChecked) {\n InputFormElement.submit();\n } else {\n ECP.Dialog.Alert(\"You must first select at least one record.\");\n }\n\n return IsChecked;\n}\n\nfunction OnClick_CheckRadioButton(InputForm) {\n document.getElementById(InputForm).submit();\n}\n\nfunction OnClick_CheckAll(checkbox) {\n const tableID = checkbox.closest(\"table\").id;\n const InputElements = document.getElementById(tableID).querySelectorAll(\"input[type='checkbox']\");\n for (let i = 0; i < InputElements.length; i++) {\n InputElements[i].checked = checkbox.checked;\n }\n}\n"]}