{"version":3,"sources":["EncompassWebServices/includes/JSErrorHandler_INC.js"],"names":["jsErrorHandling_ErrorArr","EncompassErrorHandler","message","fileURL","lineNum","columnNum","error","ErrorEvent","filename","lineno","colno","EC_Fmt","Null2EmptyStr","isNull","toLowerCase","indexOf","startsWith","slice","GetPageParameter","KnownErrorsFromExtensions","isKnownErrorFromExtension","i","length","window","navigator","onLine","BC_EWS","NoInternetDialog","NoInternetDialogInterval","clearInterval","ECP","Dialog","Alert","setInterval","remove","undefined","alert","push","CurDomain","split","e","stack","substring","version","replace","ReplaceAll","myRequest","EC_Request","SetReturnType","EC_ReturnType","Text","AddRequestVariable","EC_Verb","Post","Submit","then","MainLayout","document","getElementById","ShowDialog","width","height","confirmButtonTitle","Trn","innerHTML","open","write","close","HideLoading","catch","postError","gtag","description","fatal","addEventListener","event","reason"],"mappings":"AAAA,aAEA,IAAIA,yBAEJ,SAASC,sBAAsBC,EAASC,EAASC,EAASC,EAAWC,GACjE,GAAIJ,aAAmBK,WAAY,CAC/BJ,EAAUD,EAAQM,SAClBJ,EAAUF,EAAQO,OAClBJ,EAAYH,EAAQQ,MACpBJ,EAAQJ,EAAQI,MAChBJ,EAAUA,EAAQA,QAEtBA,EAAUS,OAAOC,cAAcV,GAE/B,IAAKS,OAAOE,OAAOV,IAAYA,EAAQW,cAAcC,QAAQ,gBAAkB,IAAMZ,EAAQY,QAAQ,aAAe,GAAKZ,EAAQY,QAAQ,kBAAoB,IAAMb,EAAQa,QAAQ,iCAAmC,EAAG,CAErN,GAAIb,EAAQc,WAAW,uBAAwB,CAC3Cd,EAAUA,EAAQe,MAAM,IAG5B,IAAKd,IAAY,eAAiBA,IAAY,sBAAwBQ,eAAiBA,OAAOO,mBAAqB,YAAcP,OAAOO,iBAAiB,eAAgB,CACrKf,iBAAyBQ,OAAOO,iBAAiB,iBAUrD,MAAMC,GAA6B,iCAAkC,yBAA0B,qCAAsC,iDAAkD,6BAA8B,wCAAyC,6CAA8C,+BAAgC,uBAAwB,oEAAqE,iCACza,IAAIC,EAA4B,MAEhC,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAA0BG,OAAQD,IAAK,CACvD,GAAInB,EAAQa,QAAQI,EAA0BE,OAAS,EAAG,CACtDD,EAA4B,MAIpC,IAAKG,OAAOC,UAAUC,OAAQ,CAC1B,GAAIC,OAAQ,CACR,IAAKA,OAAOC,mBAAqBD,OAAOE,yBAA0B,CAC9DC,cAAcH,OAAOE,0BACrBF,OAAOC,iBAAmBG,IAAIC,OAAOC,MAAM,0BAC3CN,OAAOE,yBAA2BK,YAAY,KAC1C,GAAIT,UAAUC,OAAQ,CAElB,GAAIC,OAAOC,yBAA2BD,OAAOC,iBAAiBO,SAAW,WAAY,CACjFR,OAAOC,iBAAiBO,SACxBR,OAAOC,iBAAmBQ,UAE9BN,cAAcH,OAAOE,4BAE1B,UAEJ,CAEHQ,MAAM,kCAEP,IAAKhB,EAA2B,CAEnC,IAAKpB,yBAA0B,CAC3BA,4BAEJ,GAAIA,yBAAyBe,QAAQb,MAAc,EAAG,CAClDF,yBAAyBqC,KAAKnC,GAE9B,IAAIoC,EAAY,GAEhB,IACIA,EAAYnC,EAAQoC,MAAM,QAAQ,GACpC,MAAOC,IAIT,IAAIC,EAAQnC,EAAQA,EAAMmC,MAAQ,wDAClC,GAAItC,EAAQY,QAAQ,aAAe,EAAG,CAClCZ,EAAUA,EAAQuC,UAAUvC,EAAQY,QAAQ,UAAY,GAG5D,GAAIZ,EAAQY,QAAQ,aAAe,EAAG,CAClC,MAAM4B,EAAUxC,EAAQuC,UAAUvC,EAAQY,QAAQ,UAAY,GAC9DZ,EAAUA,EAAQyC,QAAQD,EAAS,IACnCF,EAAQ9B,OAAOkC,WAAWJ,EAAOE,EAAS,IAG9CF,EAAQ9B,OAAOkC,WAAWlC,OAAOkC,WAAWJ,YAAiBH,KAAc,gBAAiBA,KAAc,KAI1G,MAAMQ,EAAY,IAAIhB,IAAIiB,WAAW,yBACrCD,EAAUE,cAAclB,IAAImB,cAAcC,MAC1CJ,EAAUK,mBAAmB,QAASjD,EAAS4B,IAAIsB,QAAQC,MAC3DP,EAAUK,mBAAmB,SAAUb,EAAWR,IAAIsB,QAAQC,MAC9DP,EAAUK,mBAAmB,OAAQhD,EAAS2B,IAAIsB,QAAQC,MAC1DP,EAAUK,mBAAmB,OAAQ/C,EAAS0B,IAAIsB,QAAQC,MAC1DP,EAAUK,mBAAmB,SAAU9C,EAAWyB,IAAIsB,QAAQC,MAC9DP,EAAUK,mBAAmB,QAASV,EAAOX,IAAIsB,QAAQC,MACzDP,EAAUQ,SAASC,KAAK,KACpB,GAAIrD,EAAQa,QAAQ,8CAAgD,EAAG,CAEnEqB,MAAMlC,OACH,CAEH,MAAMsD,EAAaC,SAASC,eAAe,cAE3C,GAAI5B,KAAOA,IAAIC,QAAU7B,EAAQa,QAAQ,mBAAqB,GAAKb,EAAQa,QAAQ,cAAgB,EAAG,CAClGe,IAAIC,OAAO4B,WAAW,QAASzD,EAAQwC,UAAUxC,EAAQa,QAAQ,gBAAkB,EAAGb,EAAQa,QAAQ,aAClG6C,MAAO,IACPC,OAAQ,IACRC,mBAAoBnD,OAAOoD,IAAI,mBAEhC,GAAIP,EAAY,CACnBA,EAAWQ,UAAY9D,EAAQwC,UAAUxC,EAAQa,QAAQ,2CAA6C,GAAIb,EAAQa,QAAQ,uBACvH,CACH0C,SAASQ,OACTR,SAASS,MAAMhE,EAAQwC,UAAUxC,EAAQa,QAAQ,6CACjD0C,SAASU,QAEb,GAAIrC,KAAOA,IAAIC,OAAQ,CACnBE,YAAY,KACRH,IAAIC,OAAOqC,eACZ,SAGZC,MAAOC,IAENlC,MAAMkC,KAIVC,KAAK,QAAS,aAAeC,YAAatE,EAASuE,MAAO,WAM1ElD,OAAOmD,iBAAiB,QAASzE,uBAEjCsB,OAAOmD,iBAAiB,qBAAuBC,IAC3C1E,sBAAsB0E,EAAMC,OAAQ,oBAAqB,EAAG,EAAGD,EAAMC","file":"JSErrorHandler_INC.min.js","sourcesContent":["\"use strict\";\n\nlet jsErrorHandling_ErrorArr;\n\nfunction EncompassErrorHandler(message, fileURL, lineNum, columnNum, error) {\n if (message instanceof ErrorEvent) {\n fileURL = message.filename;\n lineNum = message.lineno;\n columnNum = message.colno;\n error = message.error;\n message = message.message;\n }\n message = EC_Fmt.Null2EmptyStr(message);\n // Task 697779: Javascript errors are not being logged to Support SystemErrors table\n if (!EC_Fmt.isNull(fileURL) && fileURL.toLowerCase().indexOf(\"jquery.js\") === -1 && (fileURL.indexOf(\"aspx1/\") !== -1 || fileURL.indexOf(\"GlobalDocs/\") !== -1) && message.indexOf(\"nsIDOMWindowInternal.alert\") === -1) {\n // Task 717744: Lots of 'Error in Promise' system errors - Find a way to pull out an inner error or better message even when the developer uses a try...catch inside of a JS Promise\n if (message.startsWith(\"Error in promise - \")) {\n message = message.slice(19);\n }\n\n if ((fileURL === \"UnknownFile\" || fileURL === \"aspx1/UnknownFile\") && EC_Fmt && typeof EC_Fmt.GetPageParameter === \"function\" && EC_Fmt.GetPageParameter(\"DashboardID\")) {\n fileURL = `DashboardID=${EC_Fmt.GetPageParameter(\"DashboardID\")}`;\n }\n\n // Task 744054: SystemError: TaskEdit.aspx?Action=Add ResizeObserver loop limit exceeded\n // Task 722392: Encompass ID: Wyliq System error:JavaScript Error: UnknownFile (0) - Error in promise - TypeError: NetworkError when attempting to fetch resource.\n // Task 952720: JavaScript Error: DashboardID=156941 (0) - AbortError: The operation was aborted.\n // Task 953074: JavaScript Error: DashboardID=156940 (0) - Object Not Found Matching Id:1\n // Task 954907: System Error:JavaScript Error: DashboardID=168087 (0) - Object Not Found Matching Id:2\n // Task 932152: SystemError: GetOAuthID. The remote server returned an error: (403) Forbidden.\n // Task 948452: System Error:JavaScript Error: DashboardID=178892 (0) - :\n const KnownErrorsFromExtensions = [\"removeNightMode is not defined\", \"extAbbr is not defined\", \"ResizeObserver loop limit exceeded\", \"NetworkError when attempting to fetch resource\", \"TypeError: Failed to fetch\", \"AbortError: The operation was aborted\", \"TypeError: The network connection was lost\", \"Object Not Found Matching Id\", \"TypeError: cancelled\", \"GetOAuthID. The remote server returned an error: (403) Forbidden.\", \"EC_Request: Failed to request\"];\n let isKnownErrorFromExtension = false;\n\n for (let i = 0; i < KnownErrorsFromExtensions.length; i++) {\n if (message.indexOf(KnownErrorsFromExtensions[i]) !== -1) {\n isKnownErrorFromExtension = true;\n }\n }\n\n if (!window.navigator.onLine) {\n if (BC_EWS) {\n if (!BC_EWS.NoInternetDialog && !BC_EWS.NoInternetDialogInterval) {\n clearInterval(BC_EWS.NoInternetDialogInterval);\n BC_EWS.NoInternetDialog = ECP.Dialog.Alert(\"No Internet Connection\");\n BC_EWS.NoInternetDialogInterval = setInterval(() => {\n if (navigator.onLine) {\n // Task 713357: Javascript error: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'.\n if (BC_EWS.NoInternetDialog && typeof BC_EWS.NoInternetDialog.remove === \"function\") {\n BC_EWS.NoInternetDialog.remove();\n BC_EWS.NoInternetDialog = undefined;\n }\n clearInterval(BC_EWS.NoInternetDialogInterval);\n }\n }, 1000);\n }\n } else {\n // eslint-disable-next-line no-alert\n alert(\"Internet Connection Lost\");\n }\n } else if (!isKnownErrorFromExtension) {\n // Task 951060: Lots of duplicate system errors if the user makes a mistake in a code block\n if (!jsErrorHandling_ErrorArr) {\n jsErrorHandling_ErrorArr = [];\n }\n if (jsErrorHandling_ErrorArr.indexOf(message) === -1) {\n jsErrorHandling_ErrorArr.push(message);\n\n let CurDomain = \"\";\n\n try {\n CurDomain = fileURL.split(/\\/+/g)[1];\n } catch (e) {\n // ignore this error\n }\n\n let stack = error ? error.stack : \"Error details not received at EncompassErrorHandler()\";\n if (fileURL.indexOf(\"aspx1/\") !== -1) {\n fileURL = fileURL.substring(fileURL.indexOf(\"aspx1/\") + 6); // Remove the '/ECP.../aspx1/'\n }\n\n if (fileURL.indexOf(\".js?v=\") !== -1) {\n const version = fileURL.substring(fileURL.indexOf(\".js?v=\") + 3);\n fileURL = fileURL.replace(version, \"\"); // Remove the '?v=....' at the end\n stack = EC_Fmt.ReplaceAll(stack, version, \"\");\n }\n\n stack = EC_Fmt.ReplaceAll(EC_Fmt.ReplaceAll(stack, `http://${CurDomain}/`, \"/\"), `https://${CurDomain}/`, \"/\");\n\n // Task 667196: Convert JSErrorHandler.aspx to an API Command\n // Task 1064057: Use EC_ Request replace fetch\n const myRequest = new ECP.EC_Request(\"DevOps_JSErrorHandler\");\n myRequest.SetReturnType(ECP.EC_ReturnType.Text);\n myRequest.AddRequestVariable(\"Error\", message, ECP.EC_Verb.Post);\n myRequest.AddRequestVariable(\"Domain\", CurDomain, ECP.EC_Verb.Post);\n myRequest.AddRequestVariable(\"File\", fileURL, ECP.EC_Verb.Post);\n myRequest.AddRequestVariable(\"Line\", lineNum, ECP.EC_Verb.Post);\n myRequest.AddRequestVariable(\"Column\", columnNum, ECP.EC_Verb.Post);\n myRequest.AddRequestVariable(\"Stack\", stack, ECP.EC_Verb.Post);\n myRequest.Submit().then(() => {\n if (message.indexOf(\"