{"version":3,"file":"chunks/a61c0dffca2af8.js","mappings":"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","sources":["webpack:///./resources/js/components/specific/incident-template.ts"],"sourcesContent":["export default class IncidentTemplate {\n params: any;\n domRoot: HTMLElement;\n templateOutput: any;\n revealHide: HTMLElement;\n contentElement: HTMLElement;\n\n constructor(domRoot: HTMLElement, params: any) {\n this.params = params;\n this.domRoot = domRoot;\n this.templateOutput = params.templateOutput;\n this.revealHide = document.getElementById(params.revealId) as HTMLElement;\n this.contentElement = document.getElementById(params.contentId) as HTMLElement;\n this.init();\n }\n\n init() {\n this.domRoot.onsubmit = (e) => {\n e.preventDefault();\n this.generateText();\n return false;\n };\n }\n\n getValue(item, fieldID) {\n let fieldVal;\n if (item.getAttribute('data-itype') == \"text\") {\n fieldVal = item.children[1].value;\n } else if (item.getAttribute('data-itype') == \"select\") {\n fieldVal = item.children[1].value;\n } else {\n let fieldVals = document.getElementsByName(fieldID);\n for (let f = 0; f < fieldVals.length; f++) {\n if (fieldVals[f].checked) {\n fieldVal = fieldVals[f].value;\n break;\n }\n }\n }\n return fieldVal;\n }\n\n generateText() {\n let templateSelector = this.domRoot.querySelectorAll(\"[data-id='\" + this.templateOutput + \"']\");\n let newOutput = this.getValue(templateSelector[0], this.templateOutput);\n let fields = this.domRoot.getElementsByClassName('incident-field');\n let errors = 0;\n\n for (let i = 0; i < fields.length; i++) {\n let fieldI = fields[i];\n let fieldID = fieldI.getAttribute('data-id');\n let fieldVal = this.getValue(fieldI, fieldID);\n let stringReplace = \"{\" + fieldID + \"}\";\n let stringRegEx = new RegExp(stringReplace, \"g\");\n newOutput = newOutput.replace(stringRegEx, fieldVal);\n\n if (fieldVal == undefined || fieldVal == null || fieldVal == \"null\" || fieldVal == \"\") {\n errors++;\n fieldI.classList.add('with-error');\n } else {\n fieldI.classList.remove('with-error');\n }\n }\n\n if (errors == 0) {\n this.revealHide.style.display = \"block\";\n this.contentElement.innerHTML = `<div class=\"incident--output\">\n <textarea id=\"get-incident\">${newOutput}</textarea>\n <p>${newOutput}</p>\n <button id=\"generate-another\" class=\"button button--small button--one button--primary\">\n ${this.params.generateAnother}\n </button>\n <button id=\"copy-incident-text\" class=\"button button--small button--one button--secondary\">\n ${this.params.copyTemplate}\n </button>\n </div>`;\n\n document.getElementById(\"generate-another\").addEventListener(\"click\", () => {\n window.scrollTo(0, this.offsetTopFind(this.domRoot) - 70);\n this.revealHide.style.display = \"none\";\n });\n document.getElementById(\"copy-incident-text\").addEventListener(\"click\", (e) => {\n document.getElementById(\"get-incident\").select();\n document.execCommand(\"copy\");\n e.target.classList.add(\"copied\");\n setTimeout(() => {\n e.target.classList.remove(\"copied\");\n }, 2000);\n });\n this.smoothScroll(this.revealHide);\n } else {\n this.revealHide.style.display = \"none\";\n }\n }\n\n smoothScroll(item) {\n let initialScroll = window.scrollY;\n let itemPosition = item.offsetTop - 70;\n let increment = (initialScroll - itemPosition) * 0.02;\n let delay = 1000 / increment;\n let scrollInterval = setInterval(winScroll, delay);\n function winScroll() {\n if (Math.abs(initialScroll - itemPosition) > 100) {\n initialScroll = initialScroll - increment;\n window.scrollTo(0, initialScroll);\n } else {\n clearInterval(scrollInterval);\n }\n }\n }\n\n offsetTopFind(el, withHeight = 0) {\n let yPosition = withHeight;\n while (el.offsetParent !== null) {\n yPosition += el.offsetTop;\n el = el.offsetParent;\n }\n return yPosition;\n }\n}\n"],"names":["IncidentTemplate","domRoot","params","_classCallCheck","this","templateOutput","revealHide","document","getElementById","revealId","contentElement","contentId","init","key","value","_this","onsubmit","e","preventDefault","generateText","item","fieldID","fieldVal","getAttribute","children","fieldVals","getElementsByName","f","length","checked","_this2","templateSelector","querySelectorAll","newOutput","getValue","fields","getElementsByClassName","errors","i","fieldI","stringRegEx","RegExp","replace","undefined","classList","add","remove","style","display","innerHTML","concat","generateAnother","copyTemplate","addEventListener","window","scrollTo","offsetTopFind","select","execCommand","target","setTimeout","smoothScroll","initialScroll","scrollY","itemPosition","offsetTop","increment","scrollInterval","setInterval","Math","abs","clearInterval","el","yPosition","arguments","offsetParent"],"sourceRoot":""}