{"version":3,"file":"webportal.min.js","sources":["../../../WebPortal/Scripts/src/webPortal.ts","../../../WebPortal/Scripts/src/eventEmitter.ts"],"sourcesContent":["import { initializeEventEmitter } from \"./eventEmitter\";\r\nconst GlobalsKey = \"__EDUADMIN_GLOBALS\";\r\n\r\n//Mindre script som kunder kommer att kunna länka in på sina egna sidor för att kunna lägga till huvudscriptet till de scriptbaserade anmälningsformulären\r\n(function () {\r\n\tfunction resolveHost(url: string) {\r\n\t\t//todo använd new URL istället när vi släpper IE supporten\r\n\t\tconst tmpLnk = document.createElement(\"a\");\r\n\t\ttmpLnk.href = url;\r\n\t\tconst hostName = tmpLnk.hostname;\r\n\t\tconst host = `https://${hostName}/`;\r\n\t\tif (hostName.indexOf(\"localhost\") > -1) {\r\n\t\t\treturn host + \"/legaonlineFaceCore/\";\r\n\t\t} else if (hostName.indexOf(\"lodev.se\") > -1) {\r\n\t\t\treturn host + \"/legaonlineFace/\";\r\n\t\t} else {\r\n\t\t\treturn host;\r\n\t\t}\r\n\t}\r\n\r\n\tconst eduAdminCustomerScript = document.getElementById(\r\n\t\t\"eduadmin-customer-script\"\r\n\t);\r\n\tif (!eduAdminCustomerScript) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst loaderHtml = `
`;\r\n\tconst courseDivs = document.querySelectorAll(\"[data-eduadmin-courses]\");\r\n\tconst eventDivs = document.querySelectorAll(\"[data-eduadmin-events]\");\r\n\r\n\tfunction replaceInnerHtmlWithLoader(elements: NodeListOf) {\r\n\t\tfor (let i = 0; i < elements.length; i++) {\r\n\t\t\telements[i].innerHTML = loaderHtml;\r\n\t\t}\r\n\t}\r\n\r\n\treplaceInnerHtmlWithLoader(courseDivs);\r\n\treplaceInnerHtmlWithLoader(eventDivs);\r\n\r\n\tconst customerScriptSrc = eduAdminCustomerScript.getAttribute(\r\n\t\t\"src\"\r\n\t) as string;\r\n\tconst rootUrl = resolveHost(customerScriptSrc);\r\n\r\n\tconst portalKey = eduAdminCustomerScript.getAttribute(\r\n\t\t\"data-eduadmin-script\"\r\n\t);\r\n\r\n\tif (!window[GlobalsKey]) {\r\n\t\twindow[GlobalsKey] = {};\r\n\t}\r\n\twindow[GlobalsKey][\"rootUrl\"] = rootUrl;\r\n\tinitializeEventEmitter(window[GlobalsKey]);\r\n\r\n\tlet url = `${rootUrl}webportal/${portalKey}/javascript/currentjavascript`;\r\n\r\n\tlet httpReq;\r\n\r\n\t//Kontrollerar om webbläsaren är ie10 eller äldre ie version, i så fall används XDomainRequest, vid andra webbläsare används XMLHttpRequest\r\n\tif (navigator.userAgent.toLowerCase().indexOf(\"msie\") !== -1) {\r\n\t\thttpReq = new (window as any).XDomainRequest();\r\n\t} else {\r\n\t\thttpReq = new XMLHttpRequest();\r\n\t}\r\n\r\n\thttpReq.open(\"GET\", url);\r\n\thttpReq.onload = function () {\r\n\t\tconst json = httpReq.responseText;\r\n\t\tconst jsonObj = JSON.parse(json);\r\n\r\n\t\tconst jsUrls: string[] = jsonObj.js;\r\n\t\tconst cssUrls: string[] = jsonObj.css;\r\n\t\tconst publicWebpackPath = jsonObj.publicWebpackPath;\r\n\r\n\t\tif (publicWebpackPath) {\r\n\t\t\twindow[GlobalsKey].publicWebpackPath = publicWebpackPath;\r\n\t\t}\r\n\r\n\t\tconst scripts = document.createDocumentFragment();\r\n\t\tconst css = document.createDocumentFragment();\r\n\r\n\t\tfor (let i = 0; i < cssUrls.length; i++) {\r\n\t\t\tconst linkTag = document.createElement(\"link\");\r\n\t\t\tlinkTag.setAttribute(\"id\", \"eduadmin-course-css_\" + i);\r\n\t\t\tlinkTag.setAttribute(\"href\", cssUrls[i]);\r\n\t\t\tlinkTag.setAttribute(\"type\", \"text/css\");\r\n\t\t\tlinkTag.setAttribute(\"rel\", \"stylesheet\");\r\n\t\t\tcss.appendChild(linkTag);\r\n\t\t}\r\n\r\n\t\tfor (let i = 0; i < jsUrls.length; i++) {\r\n\t\t\tconst scriptTag = document.createElement(\"script\");\r\n\t\t\tscriptTag.setAttribute(\"id\", \"eduadmin-course-script_\" + i);\r\n\t\t\tscriptTag.setAttribute(\"type\", \"text/javascript\");\r\n\t\t\tscriptTag.setAttribute(\"src\", jsUrls[i]);\r\n\t\t\tscripts.appendChild(scriptTag);\r\n\t\t}\r\n\r\n\t\tdocument.head.insertBefore(css, document.head.childNodes[0]);\r\n\t\tdocument.head.appendChild(scripts);\r\n\t};\r\n\r\n\thttpReq.send(null);\r\n})();\r\n","export function initializeEventEmitter(globalsObject: any) {\r\n\tif (globalsObject.events) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst subscribers: Record = {};\r\n\tconst getEventSubscribers = (eventName: string): Function[] => {\r\n\t\treturn subscribers[eventName] || (subscribers[eventName] = []);\r\n\t};\r\n\r\n\tglobalsObject.events = {\r\n\t\tsubscribe(event: string, handler: Function) {\r\n\t\t\tgetEventSubscribers(event).push(handler);\r\n\t\t\treturn () => {\r\n\t\t\t\tconst eventSubs = getEventSubscribers(event);\r\n\t\t\t\tconst ioSubscriber = eventSubs.indexOf(handler);\r\n\t\t\t\tif (ioSubscriber >= 0) {\r\n\t\t\t\t\teventSubs.splice(ioSubscriber, 1);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t},\r\n\t\temit(event: string, ...args: any[]) {\r\n\t\t\tconst eventSubs = getEventSubscribers(event);\r\n\t\t\tfor (let i = 0; i < eventSubs.length; i++) {\r\n\t\t\t\teventSubs[i](...args);\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n}\r\n"],"names":["GlobalsKey","eduAdminCustomerScript","document","getElementById","courseDivs","querySelectorAll","eventDivs","replaceInnerHtmlWithLoader","rootUrl","url","tmpLnk","createElement","href","hostName","hostname","host","indexOf","resolveHost","getAttribute","portalKey","window","globalsObject","events","subscribers","getEventSubscribers","eventName","subscribe","event","handler","push","eventSubs","ioSubscriber","splice","emit","_i","args","i","length","initializeEventEmitter","httpReq","navigator","userAgent","toLowerCase","XDomainRequest","XMLHttpRequest","open","onload","json","responseText","jsonObj","JSON","parse","jsUrls","js","cssUrls","css","publicWebpackPath","scripts","createDocumentFragment","linkTag","setAttribute","appendChild","scriptTag","head","insertBefore","childNodes","send","elements","innerHTML"],"mappings":"yBACA,IAAMA,EAAa,sBAGnB,WAgBC,IAAMC,EAAyBC,SAASC,eACvC,4BAED,GAAKF,EAAL,CAIA,IACMG,EAAaF,SAASG,iBAAiB,2BACvCC,EAAYJ,SAASG,iBAAiB,0BAQ5CE,EAA2BH,GAC3BG,EAA2BD,GAE3B,IAGME,EAtCN,SAAqBC,GAEpB,IAAMC,EAASR,SAASS,cAAc,KACtCD,EAAOE,KAAOH,EACd,IAAMI,EAAWH,EAAOI,SAClBC,EAAO,WAAWF,MACxB,OAAIA,EAASG,QAAQ,cAAgB,EAC7BD,EAAO,uBACJF,EAASG,QAAQ,aAAe,EACnCD,EAAO,mBAEPA,EA2BOE,CAHUhB,EAAuBiB,aAChD,QAIKC,EAAYlB,EAAuBiB,aACxC,wBAGIE,OAAOpB,KACXoB,OAAOpB,GAAc,IAEtBoB,OAAOpB,GAAqB,QAAIQ,WCpDMa,GACtC,IAAIA,EAAcC,OAAlB,CAIA,IAAMC,EAA0C,GAC1CC,EAAsB,SAACC,GAC5B,OAAOF,EAAYE,KAAeF,EAAYE,GAAa,KAG5DJ,EAAcC,OAAS,CACtBI,mBAAUC,EAAeC,GAExB,OADAJ,EAAoBG,GAAOE,KAAKD,GACzB,WACN,IAAME,EAAYN,EAAoBG,GAChCI,EAAeD,EAAUd,QAAQY,GACnCG,GAAgB,GACnBD,EAAUE,OAAOD,EAAc,KAIlCE,cAAKN,OAAe,aAAAO,mBAAAA,IAAAC,oBAEnB,IADA,IAAML,EAAYN,EAAoBG,GAC7BS,EAAI,EAAGA,EAAIN,EAAUO,OAAQD,IACrCN,EAAUM,SAAVN,EAAgBK,MD6BnBG,CAAuBlB,OAAOpB,IAE9B,IAEIuC,EAFA9B,EAASD,eAAoBW,mCAMhCoB,GAD0D,IAAvDC,UAAUC,UAAUC,cAAc1B,QAAQ,QACnC,IAAKI,OAAeuB,eAEpB,IAAIC,gBAGPC,KAAK,MAAOpC,GACpB8B,EAAQO,OAAS,WAChB,IAAMC,EAAOR,EAAQS,aACfC,EAAUC,KAAKC,MAAMJ,GAErBK,EAAmBH,EAAQI,GAC3BC,EAAoBL,EAAQM,IAC5BC,EAAoBP,EAAQO,kBAE9BA,IACHpC,OAAOpB,GAAYwD,kBAAoBA,GAMxC,IAHA,IAAMC,EAAUvD,SAASwD,yBACnBH,EAAMrD,SAASwD,yBAEZtB,EAAI,EAAGA,EAAIkB,EAAQjB,OAAQD,IAAK,CACxC,IAAMuB,EAAUzD,SAASS,cAAc,QACvCgD,EAAQC,aAAa,KAAM,uBAAyBxB,GACpDuB,EAAQC,aAAa,OAAQN,EAAQlB,IACrCuB,EAAQC,aAAa,OAAQ,YAC7BD,EAAQC,aAAa,MAAO,cAC5BL,EAAIM,YAAYF,GAGjB,IAASvB,EAAI,EAAGA,EAAIgB,EAAOf,OAAQD,IAAK,CACvC,IAAM0B,EAAY5D,SAASS,cAAc,UACzCmD,EAAUF,aAAa,KAAM,0BAA4BxB,GACzD0B,EAAUF,aAAa,OAAQ,mBAC/BE,EAAUF,aAAa,MAAOR,EAAOhB,IACrCqB,EAAQI,YAAYC,GAGrB5D,SAAS6D,KAAKC,aAAaT,EAAKrD,SAAS6D,KAAKE,WAAW,IACzD/D,SAAS6D,KAAKF,YAAYJ,IAG3BlB,EAAQ2B,KAAK,MAxEb,WAAoCC,GACnC,IAAK,IAAI/B,EAAI,EAAGA,EAAI+B,EAAS9B,OAAQD,IACpC+B,EAAS/B,GAAGgC,UANK,uCAvBpB"}