{"version":3,"file":"init-R94posuE.js","sources":["../../src/log.ts","../../src/init.js"],"sourcesContent":["const ignoredExceptions = [\n\t'ErrorEvent: ResizeObserver loop limit exceeded',\n\t'ErrorEvent: ResizeObserver loop completed with undelivered notifications.',\n\t'PromiseRejectionEvent: AbortError: The user aborted a request.',\n];\n\ninterface BootInfo {\n\tcurrentUser: { id: string };\n}\n\ndeclare global {\n\tinterface DocumentEventMap {\n\t\tboot: CustomEvent;\n\t}\n}\n\nexport const initAppInsights = async (azureConnectionString: string) => {\n\ttry {\n\t\tconst { ApplicationInsights } = await import('@bundle/appinsights');\n\t\tconst appInsights = new ApplicationInsights({\n\t\t\tconfig: {\n\t\t\t\tconnectionString: azureConnectionString,\n\t\t\t\tenableUnhandledPromiseRejectionTracking: true,\n\t\t\t},\n\t\t});\n\t\tappInsights.loadAppInsights();\n\t\tappInsights.trackPageView();\n\t\tappInsights.addTelemetryInitializer((envelope) => {\n\t\t\tif (ignoredExceptions.includes(envelope.data?.message)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tdocument.addEventListener('boot', ({ detail }) => {\n\t\t\tconst validatedId = detail.currentUser.id.replace(/[,;=| ]+/gu, '_');\n\t\t\tappInsights.setAuthenticatedUserContext(validatedId, undefined, true);\n\t\t});\n\t} catch (e) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Failed to load application insights!');\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(e);\n\t}\n};\n","import { initAppInsights } from './log';\n\n/**\n * Opt out of loading default font\n * @see https://github.com/PolymerElements/font-roboto/blob/master/roboto.js\n */\nwindow.polymerSkipLoadingFontRoboto = true;\n\nwindow.cz = window.cz || {};\n\nconst queryParams = new URL(window.location).searchParams,\n\tstringToBool = (string) => string === 'true';\n\nObject.assign(window.cz, {\n\tconfig: window.cz && window.cz.config,\n\tdebug: {\n\t\t// this is a getter to make it easier to toggle for testers instead of an assignment or method call\n\t\tget otsShowLocalHeaders() {\n\t\t\tdocument.getElementById('start').updateStyles({\n\t\t\t\t'--cosmoz-omnitable-local-filter-header-color': 'red',\n\t\t\t});\n\t\t\treturn '🔦 Watch out for red Omnitable headers! 😱';\n\t\t},\n\t},\n\toptions: {\n\t\t// custom auth providers can override this with query params\n\t\tidp: null,\n\t\t// backend base URI for any ajax requests\n\t\tbackendBaseUri: undefined,\n\t\tfrontendBaseUri: window.czcore.frontendBaseUri,\n\t\tgoogleClientId: undefined,\n\t\tdebug: true,\n\t},\n\tui: {},\n\tstate: {\n\t\tapp: undefined,\n\t\tcurrentLocationPath: queryParams.get('cpl'),\n\t\tcurrentNode: {},\n\t\tloggedIn: false,\n\t\tmyItemsOnly: stringToBool(queryParams.get('mio')),\n\t\toffline: false,\n\t\tofflineLastRetry: new Date(),\n\t\tstart: window.cz && window.cz.state && window.cz.state.start,\n\t\ttree: undefined,\n\t\tunsavedWork: false,\n\t},\n\tworkers: {},\n});\n\nconst fetchOpts = {\n\tcredentials: 'include',\n\tmode: 'cors',\n\t// eslint-disable-next-line no-undef\n\t...(process.env.NODE_ENV === 'development' && { cache: 'force-cache' }),\n};\n\nfetch('cz.config.json').then(async (response) => {\n\tconst config = await response.json();\n\n\tif (config.azureConnectionString) {\n\t\tinitAppInsights(config.azureConnectionString);\n\t}\n\n\tObject.assign(window.cz, { config });\n\n\tconst getApiCall = (call) => {\n\t\t\treturn new URL(`${config.backendBaseUri}${call}`);\n\t\t},\n\t\tstatusApiUrl = getApiCall('api/Auth/CheckStatus'),\n\t\tinitClient = getApiCall('api/Boot/InitClient'),\n\t\tstart = document.getElementById('start'),\n\t\t{ returnUrl, ...statusApiParams } = window.czcore.checkstatus.params;\n\n\twindow.czcore.setUrlParams(statusApiUrl, statusApiParams);\n\n\tfetch(statusApiUrl, {\n\t\t...fetchOpts,\n\t\tbody: JSON.stringify(returnUrl),\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t},\n\t})\n\t\t.then(async (response) => {\n\t\t\tconst authStatus = await response.json();\n\n\t\t\t// Redirect immediately if this is required by specified authentication provider\n\t\t\tif (authStatus.redirectUri) {\n\t\t\t\twindow.location.href = authStatus.redirectUri;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response.ok) {\n\t\t\t\tstart.language = authStatus.language;\n\t\t\t\tfetch(initClient, fetchOpts).then(async (response) => {\n\t\t\t\t\tconst boot = await response.json();\n\t\t\t\t\tczcore.boot.set(boot);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// cz-start hasn't been upgraded yet, but _authStatus will survive and become default value anyway\n\t\t\tstart._authStatus = authStatus;\n\t\t\timport('./start.js');\n\t\t})\n\t\t.catch((error) => {\n\t\t\tstart._authStatus = {\n\t\t\t\tauthenticated: false,\n\t\t\t\tmessage: error.message,\n\t\t\t};\n\t\t});\n\n\tif (\n\t\twindow.NREUM &&\n\t\tconfig.newRelicLicenseKey &&\n\t\tconfig.newRelicApplicationID\n\t) {\n\t\tconst beacon = 'bam.nr-data.net';\n\t\twindow.NREUM.info = {\n\t\t\tbeacon,\n\t\t\terrorBeacon: beacon,\n\t\t\tlicenseKey: window.cz.config.newRelicLicenseKey,\n\t\t\tapplicationID: window.cz.config.newRelicApplicationID,\n\t\t\tsa: 1,\n\t\t};\n\t}\n\n\twindow.dispatchEvent(new CustomEvent('cz-config-loaded'));\n});\n\nfetch('cz.version.json').then(async (response) => {\n\tconst version = await response.json();\n\tObject.assign(window.cz, { version });\n});\n\nczcore.boot.increaseProgress(10, 'Core boot loaded');\nczcore.boot.incLoop();\nif ('serviceWorker' in navigator) {\n\twindow.addEventListener('load', () => {\n\t\tconst file = '/service-worker.js';\n\t\tnavigator.serviceWorker.register(file).catch((err) =>\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'Could not load service worker, file:',\n\t\t\t\tfile,\n\t\t\t\t', error:',\n\t\t\t\terr,\n\t\t\t),\n\t\t);\n\t});\n}\n"],"names":["ignoredExceptions","initAppInsights","azureConnectionString","ApplicationInsights","appInsights","envelope","detail","validatedId","e","queryParams","stringToBool","string","fetchOpts","response","config","getApiCall","call","statusApiUrl","initClient","start","returnUrl","statusApiParams","authStatus","boot","n","error","beacon","version","file","err"],"mappings":"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"}