{"version":3,"file":"exports.js","sources":["../src/script/saveFile.ts","../src/script/events.ts","../src/script/forms.ts"],"sourcesContent":["export function saveAsFile(fileName: String, base64data: String) {\r\n\tvar link = document.createElement('a');\r\n\tlink.download = fileName.toString();\r\n\tlink.href = \"data:application/octet-stream;base64,\" + base64data;\r\n\tdocument.body.appendChild(link);\r\n\tlink.click();\r\n\tdocument.body.removeChild(link);\r\n}","export function debounceEvent(htmlElement: HTMLElement, eventName: string, delay: number) {\r\n\tregisterEvent(htmlElement, eventName, delay, debounce);\r\n}\r\n\r\nexport function throttleEvent(htmlElement: HTMLElement, eventName: string, delay: number) {\r\n\tregisterEvent(htmlElement, eventName, delay, throttle);\r\n}\r\n\r\nfunction registerEvent(htmlElement: HTMLElement, eventName: string, delay: number, filterFunction: Function) {\r\n\tlet raisingEvent = false;\r\n\tlet eventHandler = filterFunction(function (e:any) {\r\n\t\traisingEvent = true;\r\n\t\ttry {\r\n\t\t\thtmlElement.dispatchEvent(e);\r\n\t\t} finally {\r\n\t\t\traisingEvent = false;\r\n\t\t}\r\n\t}, delay);\r\n\r\n\thtmlElement.addEventListener(eventName, e => {\r\n\t\tif (!raisingEvent) {\r\n\t\t\te.stopImmediatePropagation();\r\n\t\t\teventHandler(e);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction debounce(this:any, func:Function, wait:number) {\r\n\tlet timer: any;\r\n\treturn (...args: any) => {\r\n\t\tclearTimeout(timer);\r\n\t\ttimer = setTimeout(() => { func.apply(this, args); }, wait);\r\n\t};\r\n}\r\n\r\nfunction throttle(func:Function, wait:number) {\r\n\tvar context:any, args:any, result:any;\r\n\tvar timeout:any = null;\r\n\tvar previous = 0;\r\n\tvar later = function () {\r\n\t\tprevious = Date.now();\r\n\t\ttimeout = null;\r\n\t\tresult = func.apply(context, args);\r\n\t\tif (!timeout) context = args = null;\r\n\t};\r\n\treturn function (this: any, ) {\r\n\t\tvar now = Date.now();\r\n\t\tif (!previous) previous = now;\r\n\t\tvar remaining = wait - (now - previous);\r\n\t\tcontext = this;\r\n\t\targs = arguments;\r\n\r\n\t\tif (!timeout) {\r\n\t\t\ttimeout = setTimeout(later, remaining);\r\n\t\t}\r\n\t\treturn result;\r\n\t};\r\n};","export function submitForm(formIdentifier: string, delay?: number) {\r\n\tvar form = document.getElementById(formIdentifier) as HTMLFormElement;\r\n\r\n\tconst submitAction = () => {\r\n\t\tif (form != null) {\r\n\t\t\tform.submit();\r\n\t\t}\r\n\t};\r\n\r\n\tif (delay !== undefined) {\r\n\t\tsetTimeout(submitAction, delay);\r\n\t} else {\r\n\t\tsubmitAction();\r\n\t}\r\n}\r\n\r\nexport function focusElement(element: HTMLElement) {\r\n\tif (element != null) {\r\n\t\telement.focus();\r\n\t}\r\n}"],"names":["saveAsFile","fileName","base64data","link","debounceEvent","htmlElement","eventName","delay","registerEvent","debounce","filterFunction","raisingEvent","eventHandler","e","func","wait","timer","args","submitForm","formIdentifier","form","submitAction","focusElement","element"],"mappings":"AAAiB,SAAAA,EAAWC,GAAkBC,GAAoB;AAC7D,MAAAC,IAAO,SAAS,cAAc,GAAG;AAChC,EAAAA,EAAA,WAAWF,EAAS,YACzBE,EAAK,OAAO,0CAA0CD,GAC7C,SAAA,KAAK,YAAYC,CAAI,GAC9BA,EAAK,MAAM,GACF,SAAA,KAAK,YAAYA,CAAI;AAC/B;ACPiB,SAAAC,EAAcC,GAA0BC,GAAmBC,GAAe;AAC5E,EAAAC,EAAAH,GAAaC,GAAWC,GAAOE,CAAQ;AACtD;AAMA,SAASD,EAAcH,GAA0BC,GAAmBC,GAAeG,GAA0B;AAC5G,MAAIC,IAAe,IACfC,IAAeF,EAAe,SAAUG,GAAO;AACnC,IAAAF,IAAA;AACX,QAAA;AACH,MAAAN,EAAY,cAAcQ,CAAC;AAAA,IAAA,UAC1B;AACc,MAAAF,IAAA;AAAA,IAChB;AAAA,KACEJ,CAAK;AAEI,EAAAF,EAAA,iBAAiBC,GAAW,CAAKO,MAAA;AAC5C,IAAKF,MACJE,EAAE,yBAAyB,GAC3BD,EAAaC,CAAC;AAAA,EACf,CACA;AACF;AAEA,SAASJ,EAAmBK,GAAeC,GAAa;AACnD,MAAAC;AACJ,SAAO,IAAIC,MAAc;AACxB,iBAAaD,CAAK,GAClBA,IAAQ,WAAW,MAAM;AAAO,MAAAF,EAAA,MAAM,MAAMG,CAAI;AAAA,OAAMF,CAAI;AAAA,EAAA;AAE5D;ACjCiB,SAAAG,EAAWC,GAAwBZ,GAAgB;AAC/D,MAAAa,IAAO,SAAS,eAAeD,CAAc;AAEjD,QAAME,IAAe,MAAM;AAC1B,IAAID,KAAQ,QACXA,EAAK,OAAO;AAAA,EACb;AAGD,EAAIb,MAAU,SACb,WAAWc,GAAcd,CAAK,IAEjBc;AAEf;AAEO,SAASC,EAAaC,GAAsB;AAClD,EAAIA,KAAW,QACdA,EAAQ,MAAM;AAEhB;"}