{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Breadcrumb.vue?71bb","webpack:///./src/components/TreeNode.vue?e0e9","webpack:///./src/App.vue?0593","webpack:///./src/components/answers/AnswerList.vue?d759","webpack:///./src/components/answers/Answer.vue?9694","webpack:///./src/components/Navigation.vue?9ea6","webpack:///./src/components/Spinner.vue?9dec","webpack:///./src/components/Pretext.vue?924f","webpack:///./src/App.vue?f4fe","webpack:///./src/components/Spinner.vue?8f99","webpack:///./src/components/Spinner.vue?d4e6","webpack:///./src/components/Spinner.vue?a771","webpack:///./src/components/Spinner.vue","webpack:///./src/components/Pretext.vue?7e87","webpack:///./src/components/Pretext.vue?1b82","webpack:///./src/models/answer.ts","webpack:///./src/components/Pretext.vue?3da1","webpack:///./src/components/Pretext.vue","webpack:///./src/components/TreeNode.vue?b03c","webpack:///./src/components/answers/AnswerList.vue?8cdc","webpack:///./src/components/answers/Answer.vue?7165","webpack:///./src/services/utils.ts","webpack:///./src/components/answers/Answer.vue?46b2","webpack:///./src/components/answers/Answer.vue?481b","webpack:///./src/components/answers/Answer.vue","webpack:///./src/components/answers/AnswerList.vue?cce0","webpack:///./src/components/answers/AnswerList.vue?2522","webpack:///./src/components/answers/AnswerList.vue","webpack:///./src/components/TreeNode.vue?9d6b","webpack:///./src/components/TreeNode.vue?85be","webpack:///./src/components/TreeNode.vue","webpack:///./src/components/Navigation.vue?bbc7","webpack:///./src/components/Navigation.vue?456a","webpack:///./src/components/Navigation.vue?baa0","webpack:///./src/components/Navigation.vue","webpack:///./src/components/Breadcrumb.vue?072b","webpack:///./src/vendor/rxios.ts","webpack:///./src/components/Breadcrumb.vue?d6ef","webpack:///./src/components/Breadcrumb.vue?8c19","webpack:///./src/components/Breadcrumb.vue","webpack:///./src/App.vue?ec60","webpack:///./src/App.vue?640d","webpack:///./src/App.vue","webpack:///./src/services/api.service.ts","webpack:///./src/store.ts","webpack:///./src/registerServiceWorker.ts","webpack:///./src/main.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","staticClass","class","isBusy","attrs","treeNode","_e","isNavigating","_v","_s","error","staticRenderFns","$store","getters","model","title","introText","component","domProps","on","$event","startDecisionTree","dispatch","NextType","text","_l","answer","index","selected","isSelected","expanded","isExpanded","answerHovered","expanderHovered","expandable","id","select","target","type","indexOf","_k","keyCode","descriptionHtml","substring","toggleExpand","expanderText","getDataProperty","propertyName","document","querySelector","getAttribute","collapseElement","element","initialHeight","elementHeight","scrollHeight","elementTransition","style","transition","requestAnimationFrame","height","expandElement","additionalHeight","marginBottom","addEventListener","e","removeEventListener","callee","getQueryParams","qs","split","join","tokens","params","re","exec","firstParam","decodeURIComponent","location","search","getElementById","focus","test","parentElement","tagName","commit","next","none","node","nextId","external","open","url","internal","elem","createElement","innerHTML","description","querySelectorAll","forEach","a","outerHTML","setAttribute","readLessText","readMoreText","undefined","currentTreeNode","selectedAnswer","currentAnswers","required","answers","components","AnswerComponent","Answer","AnswerListComponent","AnswerList","prev","navigation","keys","togglePathVisibility","question","showSendMessage","print","isSendingMail","isSendSuccess","isSendError","preventDefault","sendMail","directives","rawName","expression","composing","emailFrom","emailTo","recaptchaSiteKey","onRecaptchaVerified","capchaErrorMessage","sendMailResponse","options","httpClient","queryParams","_makeRequest","body","method","request","post","put","patch","delete","Error","Observable","subscriber","then","response","complete","catch","err","isCaptchaValid","recaptchaResponse","http","baseURL","headers","nodeID","fromMail","toMail","decisionTreeId","receiver","sender","recaptcha","map","answerId","referencedQuestion","language","pipe","first","tap","_","setTimeout","self","catchError","caught","finalize","subscribe","printWindow","write","getHtmlForPrint","close","html","href","count","VueRecaptcha","SpinnerComponent","Spinner","PretextComponent","Pretext","TreeNodeComponent","TreeNode","NavigationComponent","Navigation","BreadcrumbComponent","Breadcrumb","formAntiForgeryToken","sitecoreId","sitecoreLang","subscriptionToken","token","email","action","use","Store","state","currentAnswer","apiService","JSON","parse","mutations","setTreeNode","content","setIsBusy","setIsNavigating","setError","message","clearError","pushNavigation","treeNodeId","popNavigation","pop","selectCurrentAnswer","currentNodeAnswer","nextNodeId","nextAnswer","set","actions","goToPreviousNode","context","scrollTop","dims","getBoundingClientRect","scrollTo","scrollX","top","goToNode","command","includeAnswers","goToStart","startNodeId","ready","console","log","registered","cached","updatefound","updated","offline","config","productionTip","Array","fn","scope","len","NodeList","store","render","h","$mount"],"mappings":"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","file":"app.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/decisiontree-app/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=style&index=0&id=ff5066e2&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=style&index=0&id=ff5066e2&lang=less&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeNode.vue?vue&type=style&index=0&id=706a45e8&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeNode.vue?vue&type=style&index=0&id=706a45e8&lang=less&scoped=true&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=42008bb6&lang=less&scoped=true&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=42008bb6&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnswerList.vue?vue&type=style&index=0&id=377cdd61&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnswerList.vue?vue&type=style&index=0&id=377cdd61&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Answer.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Answer.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=da7db2b2&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=da7db2b2&lang=less&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=style&index=0&id=575867d0&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=style&index=0&id=575867d0&lang=less&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pretext.vue?vue&type=style&index=0&id=91ee7ed4&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pretext.vue?vue&type=style&index=0&id=91ee7ed4&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"decisiontree\",class:{ 'is-busy': _vm.isBusy },attrs:{\"id\":\"app\"}},[_c('SpinnerComponent'),_c('NavigationComponent'),_c('BreadcrumbComponent'),_c('div',{staticClass:\"decisiontree-content\"},[(!_vm.treeNode)?_c('PretextComponent',{staticClass:\"decisiontree-content-component\",class:{ 'is-navigating': _vm.isNavigating }}):_vm._e(),(_vm.treeNode)?_c('TreeNodeComponent',{staticClass:\"decisiontree-content-component\",class:{ 'is-navigating': _vm.isNavigating }}):_vm._e()],1),_c('NavigationComponent'),(_vm.error)?_c('p',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.error))]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isBusy)?_c('div',{staticClass:\"spinner\"}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\n\n@Component({})\nexport default class SpinnerComponent extends Vue {\n\n public get isBusy(): boolean {\n return this.$store.getters.isBusy;\n }\n\n public get title() {\n return this.$store.getters.model.title;\n }\n\n public get introText() {\n return this.$store.getters.model.introText;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Spinner.vue?vue&type=template&id=575867d0&scoped=true&\"\nimport script from \"./Spinner.vue?vue&type=script&lang=ts&\"\nexport * from \"./Spinner.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Spinner.vue?vue&type=style&index=0&id=575867d0&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"575867d0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"decisiontree-pretext\",attrs:{\"tabindex\":\"0\"}},[_c('h2',{staticClass:\"decisiontree-title\"},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")]),_c('p',{staticClass:\"decisiontree-description\",domProps:{\"innerHTML\":_vm._s(_vm.introText)}}),_c('p')]),_c('button',{staticClass:\"btn btn-start\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.startDecisionTree()}}},[_c('span',{staticClass:\"text\"},[_vm._v(\"Start\")]),_c('i',{staticClass:\"fa fa-chevron-right\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\n\n@Component({})\nexport default class PretextComponent extends Vue {\n public get introText() {\n return this.$store.getters.model.introText;\n }\n\n public get title() {\n return this.$store.getters.model.title;\n }\n\n public startDecisionTree() {\n this.$store.dispatch('startDecisionTree');\n }\n}\n","\nexport interface Answer {\n id: string;\n answer: string;\n question: string; // TODO: Remove, does not reflect view model\n description: string;\n expandable: boolean;\n readMoreText: string;\n readLessText: string;\n next: AnswerNext;\n}\n\nexport interface AnswerNext {\n nextId: string;\n url: string;\n title: string;\n type: NextType;\n}\n\nexport enum NextType {\n none, // No navigation here\n node, // Navigate to another node\n external, // Navigate to an external URL\n internal // Navigate to an internal page\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pretext.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pretext.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Pretext.vue?vue&type=template&id=91ee7ed4&scoped=true&\"\nimport script from \"./Pretext.vue?vue&type=script&lang=ts&\"\nexport * from \"./Pretext.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Pretext.vue?vue&type=style&index=0&id=91ee7ed4&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"91ee7ed4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tree-node\",attrs:{\"tabindex\":\"0\"}},[_c('h2',{staticClass:\"tree-node-title\"},[_vm._v(_vm._s(_vm.treeNode.title))]),_c('p',{staticClass:\"tree-node-description\",domProps:{\"innerHTML\":_vm._s(_vm.treeNode.text)}}),(_vm.treeNode.answers)?_c('AnswerListComponent'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ul',{staticClass:\"answers\"},_vm._l((_vm.answers),function(answer,index){return _c('li',{key:answer.answer},[_c('AnswerComponent',{attrs:{\"answer\":answer}})],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"answer-container\"},[_c('a',{staticClass:\"btn btn-answer\",class:{\n selected: _vm.isSelected,\n expanded: _vm.isExpanded,\n 'hover-effect': _vm.answerHovered || _vm.expanderHovered,\n expandable: _vm.answer.expandable\n },attrs:{\"tabindex\":\"0\",\"id\":_vm.answer.id,\"aria-label\":'Vælg indhold',\"aria-selected\":(_vm.isSelected ? 'true' : 'false')},on:{\"click\":function($event){return _vm.select(_vm.answer, $event.target)},\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.select(_vm.answer, $event.target)},\"mouseenter\":function($event){_vm.answerHovered = true},\"mouseleave\":function($event){_vm.answerHovered = false},\"focus\":function($event){_vm.answerHovered = true},\"blur\":function($event){_vm.answerHovered = false}}},[_c('div',{staticClass:\"text\",attrs:{\"tabindex\":\"0\"},on:{\"focus\":function($event){_vm.answerHovered = true},\"blur\":function($event){_vm.answerHovered = false}}},[_c('div',{staticClass:\"text-answer\",on:{\"focus\":function($event){_vm.answerHovered = true},\"blur\":function($event){_vm.answerHovered = false}}},[_vm._v(\"\\n \"+_vm._s(_vm.answer.answer)+\"\\n \")]),(_vm.answer.description)?_c('div',{staticClass:\"text-description\",domProps:{\"innerHTML\":_vm._s(!_vm.isExpanded && _vm.expandable ? _vm.descriptionHtml.substring(0, 120)+ '...' : _vm.descriptionHtml)},on:{\"focus\":function($event){_vm.answerHovered = true},\"blur\":function($event){_vm.answerHovered = false}}}):_vm._e()]),_c('img',{staticClass:\"check-icon\",attrs:{\"alt\":\"checkboks ikon\",\"src\":\"/public/apps/decisiontree-app/assets/unchecked_blue.svg\",\"visible\":!_vm.isSelected && !(_vm.answerHovered || _vm.expanderHovered)}}),_c('img',{staticClass:\"check-icon\",attrs:{\"alt\":\"checkboks ikon\",\"src\":\"/public/apps/decisiontree-app/assets/checked_blue.svg\",\"visible\":false}}),_c('img',{staticClass:\"check-icon\",attrs:{\"alt\":\"checkboks ikon\",\"src\":\"/public/apps/decisiontree-app/assets/unchecked_white.svg\",\"visible\":!_vm.isSelected && (_vm.answerHovered || _vm.expanderHovered)}}),_c('img',{staticClass:\"check-icon\",attrs:{\"alt\":\"checkboks ikon\",\"src\":\"/public/apps/decisiontree-app/assets/checked_white.svg\",\"visible\":_vm.isSelected}})]),(_vm.expandable)?_c('button',{staticClass:\"btn btn-expand\",class:{\n 'hover-effect': _vm.answerHovered || _vm.expanderHovered,\n expanded: _vm.isExpanded,\n selected: _vm.isSelected\n },on:{\"mouseenter\":function($event){_vm.expanderHovered = true},\"mouseleave\":function($event){_vm.expanderHovered = false},\"focus\":function($event){_vm.expanderHovered = true},\"blur\":function($event){_vm.expanderHovered = false},\"click\":function($event){return _vm.toggleExpand($event.target)}}},[_vm._v(\"\\n \"+_vm._s(_vm.expanderText)+\"\\n \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function getDataProperty(propertyName: string): string {\n const property = document\n .querySelector(`div[${propertyName}]`);\n\n if (property === null) {\n return '';\n }\n\n return property.getAttribute(propertyName) as string;\n}\n\nexport function getMetaTagProperty(name: string): string {\n const metaTags = document.getElementsByTagName('meta');\n\n for (const metaTag of metaTags) {\n if (metaTag.getAttribute('name') === name) {\n return metaTag.content;\n }\n }\n\n return '';\n}\n\nexport function collapseElement(element: any, initialHeight?: number) {\n const elementHeight = element.scrollHeight;\n\n const elementTransition = element.style.transition;\n element.style.transition = '';\n\n requestAnimationFrame(() => {\n element.style.height = elementHeight + 'px';\n element.style.transition = elementTransition;\n\n requestAnimationFrame(() => {\n if (initialHeight) {\n element.style.height = initialHeight + 'px';\n } else {\n element.style.height = 120 + 'px';\n }\n });\n });\n}\n\nexport function expandElement(element: any, additionalHeight?: number) {\n const elementHeight = element.scrollHeight;\n element.style.height = '100%';\n\n if (additionalHeight) {\n element.style.marginBottom = additionalHeight;\n }\n\n // tslint:disable-next-line:only-arrow-functions\n element.addEventListener('transitionend',\n (e: Event) => {\n // tslint:disable-next-line:no-arg\n element.removeEventListener('transitionend', arguments.callee);\n element.style.height = null;\n });\n}\n\nexport function getQueryParams(qs: string): { [id: string]: string } {\n qs = qs.split('+').join(' ');\n\n const params: { [id: string]: string } = {};\n const re = /[?&]?([^=]+)=([^&]*)/g;\n let tokens: RegExpExecArray | null;\n\n // tslint:disable-next-line:no-conditional-assignment\n while ((tokens = re.exec(qs))) {\n const firstParam = decodeURIComponent(tokens[1]);\n params[firstParam] = decodeURIComponent(tokens[2]);\n }\n\n return params;\n}\n\nexport function getCookie(name: string): any {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n\n if (parts.length === 2) {\n const cookieString = parts.pop();\n\n if (cookieString === undefined) {\n return '';\n }\n\n return cookieString\n .split(';')\n .shift();\n }\n}\n\nexport const queryParams: { [id: string]: string } = getQueryParams(document.location.search);\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { NextType, Answer } from '@/models/answer';\nimport PretextComponent from '../Pretext.vue';\nimport { expandElement, collapseElement } from '../../services/utils';\n\n@Component({})\nexport default class AnswerComponent extends Vue {\n\n @Prop({ required: true })\n public answer!: Answer;\n\n @Prop({ required: false })\n public focus!: boolean;\n\n public isExpanded: boolean = false;\n public answerHovered: boolean = false;\n public expanderHovered: boolean = false;\n\n private initialHeight: number = 0;\n\n public mounted(): void {\n const element = document.getElementById(this.answer.id) as any;\n this.initialHeight = 120;\n\n if (this.focus) {\n element.focus();\n }\n }\n\n public get descriptionHtml(): string {\n const elem = document.createElement('div');\n elem.innerHTML = this.answer.description;\n\n elem\n .querySelectorAll('a')\n .forEach(a => a.outerHTML = `${a.outerHTML}`);\n\n elem.querySelectorAll('a')\n .forEach(a => a.setAttribute('target', '_blank'));\n\n return elem.innerHTML;\n }\n\n public get expanderText(): string {\n return this.isExpanded\n ? this.answer.readLessText\n : this.answer.readMoreText;\n }\n\n public get expandable(): boolean {\n return this.answer.expandable\n && this.answer.description !== undefined\n && this.answer.description.length > 0;\n }\n\n public get isSelected(): boolean {\n const treeNode = this.$store.getters.currentTreeNode;\n const selectedAnswer = this.$store.getters.currentAnswers[treeNode.id];\n\n return selectedAnswer && selectedAnswer.id === this.answer.id;\n }\n\n public toggleExpand(target: any): void {\n this.isExpanded = !this.isExpanded;\n\n const element = document.getElementById(this.answer.id);\n\n if (this.isExpanded) {\n expandElement(element);\n } else {\n collapseElement(element, this.initialHeight);\n }\n }\n\n public select(answer: Answer, target: any): void {\n const test = target.parentElement as HTMLElement;\n\n if (test.tagName === 'OBJECT') {\n return;\n }\n\n this.$store.commit('selectCurrentAnswer', answer);\n\n switch (answer.next.type) {\n case NextType.none:\n return;\n case NextType.node:\n this.$store.commit('pushNavigation', answer.next.nextId);\n this.$store.dispatch('goToNode', answer.next.nextId);\n break;\n case NextType.external:\n window.open(answer.next.url);\n break;\n case NextType.internal:\n window.open(answer.next.url);\n break;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Answer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Answer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Answer.vue?vue&type=template&id=2453d643&\"\nimport script from \"./Answer.vue?vue&type=script&lang=ts&\"\nexport * from \"./Answer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Answer.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\n\nimport { Answer } from '@/models/answer';\nimport { GetTreeNode } from '@/commands/get.treenode';\nimport { DecisionTree } from '@/models/decisiontree';\nimport { NextType } from '@/models/answer';\nimport AnswerComponent from './Answer.vue';\n\n@Component({\n components: {\n AnswerComponent\n }\n})\nexport default class AnswerListComponent extends Vue {\n\n public get answers(): Answer[] {\n return this.$store.getters.currentTreeNode.answers;\n }\n\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnswerList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnswerList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AnswerList.vue?vue&type=template&id=377cdd61&scoped=true&\"\nimport script from \"./AnswerList.vue?vue&type=script&lang=ts&\"\nexport * from \"./AnswerList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AnswerList.vue?vue&type=style&index=0&id=377cdd61&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"377cdd61\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { TreeNode } from '@/models/treenode';\nimport AnswerListComponent from '@/components/answers/AnswerList.vue';\n\n@Component({\n components: {\n AnswerListComponent\n }\n})\nexport default class TreeNodeComponent extends Vue {\n public get treeNode(): TreeNode {\n return this.$store.getters.currentTreeNode as TreeNode;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeNode.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeNode.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TreeNode.vue?vue&type=template&id=706a45e8&scoped=true&\"\nimport script from \"./TreeNode.vue?vue&type=script&lang=ts&\"\nexport * from \"./TreeNode.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TreeNode.vue?vue&type=style&index=0&id=706a45e8&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"706a45e8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('nav',{staticClass:\"navigation\",class:{ 'visible': _vm.currentTreeNode }},[(_vm.currentTreeNode)?_c('button',{staticClass:\"btn btn-back\",attrs:{\"disabled\":_vm.isBusy},on:{\"click\":function($event){return _vm.prev()}}},[_c('i',{staticClass:\"fa fa-chevron-left\",class:{ 'invisible': !_vm.currentTreeNode }}),_c('span',{staticClass:\"text\"},[_vm._v(\"Tilbage\")])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\n\nimport { Answer } from '@/models/answer';\nimport { GetTreeNode } from '@/commands/get.treenode';\nimport { TreeNode } from '@/models/treenode';\n\n@Component({})\nexport default class NavigationComponent extends Vue {\n\n public get isBusy(): boolean {\n return this.$store.getters.isBusy;\n }\n\n public get currentTreeNode(): TreeNode {\n return this.$store.getters.currentTreeNode;\n }\n\n public prev(): void {\n this.$store.dispatch('goToPreviousNode');\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=da7db2b2&scoped=true&\"\nimport script from \"./Navigation.vue?vue&type=script&lang=ts&\"\nexport * from \"./Navigation.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=da7db2b2&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"da7db2b2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"breadcrumb\",class:{ 'visible': _vm.navigation.length > 1 || Object.keys(_vm.currentAnswers).length > 0}},[_c('button',{staticClass:\"btn btn-toggle\",class:{ 'on': _vm.isExpanded },attrs:{\"aria-label\":_vm.isExpanded ? 'Klik for at luk oversigt over tidligere valg' : 'Klik for at åben oversigt over tidligere valg'},on:{\"click\":_vm.togglePathVisibility}},[(!_vm.isExpanded)?_c('span',[_vm._v(\"Her er du\")]):_vm._e(),(_vm.isExpanded)?_c('span',[_vm._v(\"Luk\")]):_vm._e(),_c('span',{staticClass:\"snake-icon\"})]),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.isExpanded)?_c('div',{staticClass:\"path-container\"},[_c('div',{staticClass:\"path\",attrs:{\"id\":\"path\"}},_vm._l((_vm.currentAnswers),function(answer,key,index){return _c('div',{key:answer.id,staticClass:\"step\",class:{'current': key == _vm.currentTreeNode.id, 'first': index == 0},attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.select(answer, $event.target, key)}}},[_c('div',{staticClass:\"num\"},[_c('p',[_vm._v(_vm._s(index+1)+\".\")])]),_c('div',{staticClass:\"question-answer\"},[_c('p',{staticClass:\"question\",attrs:{\"aria-label\":'Spørgsmål ' + (index+1) + ': ' + answer.question,\"tabindex\":\"0\"}},[_vm._v(\"Spørgsmål: \"+_vm._s(answer.question))]),_c('p',{staticClass:\"answer\",attrs:{\"aria-label\":'Gå til spørgsmål med svar ' + answer.answer}},[_vm._v(_vm._s(answer.answer))])])])}),0),_c('div',{staticClass:\"action-bar\"},[_c('button',{on:{\"click\":function($event){_vm.showSendMessage = !_vm.showSendMessage}}},[_vm._v(\"Send historik\"),_c('span',{staticClass:\"mail-icon\"})]),_c('button',{on:{\"click\":_vm.print}},[_vm._v(\"Print historik\"),_c('span',{staticClass:\"print-icon\"})])]),(_vm.isBusy)?_c('div',{staticClass:\"spinner\"}):_vm._e(),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showSendMessage && !_vm.isSendingMail && !_vm.isSendSuccess && !_vm.isSendError)?_c('div',{staticClass:\"email-form-container\"},[_c('form',{staticClass:\"sendEmailForm\",on:{\"submit\":function($event){$event.preventDefault();return _vm.sendMail($event)}}},[_c('h2',[_vm._v(\"Del dine valg - send en mail ved hjælp af denne formular\")]),_c('label',{attrs:{\"for\":\"emailFrom\"}},[_vm._v(\"Din email:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.emailFrom),expression:\"emailFrom\"}],attrs:{\"name\":\"emailFrom\",\"id\":\"emailFrom\",\"type\":\"email\",\"required\":\"\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.emailFrom)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.emailFrom=$event.target.value}}}),_c('label',{attrs:{\"for\":\"emailTo\"}},[_vm._v(\"Modtagers email:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.emailTo),expression:\"emailTo\"}],attrs:{\"name\":\"emailTo\",\"id\":\"emailTo\",\"type\":\"email\",\"required\":\"\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.emailTo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.emailTo=$event.target.value}}}),_c('vue-recaptcha',{attrs:{\"sitekey\":_vm.recaptchaSiteKey},on:{\"verify\":_vm.onRecaptchaVerified}}),_c('p',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.capchaErrorMessage))]),_c('input',{attrs:{\"type\":\"submit\",\"id\":\"sendEmail\",\"value\":\"Send besked\"}})],1)]):_vm._e()]),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.isSendSuccess || _vm.isSendError)?_c('div',{staticClass:\"email-form-container\"},[_c('h2',[_vm._v(\"\\n \"+_vm._s(_vm.sendMailResponse)+\"\\n \")])]):_vm._e()])],1):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios, { AxiosInstance, AxiosRequestConfig, AxiosPromise } from 'axios';\nimport { Observable } from 'rxjs';\n\nexport interface RxiosConfig extends AxiosRequestConfig {\n localCache?: boolean;\n}\n\nexport default class Rxios {\n private httpClient: AxiosInstance;\n\n constructor(private options: RxiosConfig = {}) {\n this.httpClient = axios.create(options);\n }\n\n public get(url: string, queryParams?: object) {\n return this._makeRequest('GET', url, queryParams);\n }\n\n public post(url: string, body: object, queryParams?: object) {\n return this._makeRequest('POST', url, queryParams, body);\n }\n\n public put(url: string, body: object, queryParams?: object) {\n return this._makeRequest('PUT', url, queryParams, body);\n }\n\n public patch(url: string, body: object, queryParams?: object) {\n return this._makeRequest('PATCH', url, queryParams, body);\n }\n\n public delete(url: string, queryParams?: object) {\n return this._makeRequest('DELETE', url, queryParams);\n }\n\n private _makeRequest(\n method: string,\n url: string,\n queryParams?: object,\n body?: object,\n ) {\n let request: AxiosPromise;\n\n switch (method) {\n case 'GET':\n request = this.httpClient.get(url, { params: queryParams });\n break;\n case 'POST':\n request = this.httpClient.post(url, body, {\n params: queryParams,\n });\n break;\n case 'PUT':\n request = this.httpClient.put(url, body, {\n params: queryParams,\n });\n break;\n case 'PATCH':\n request = this.httpClient.patch(url, body, {\n params: queryParams,\n });\n break;\n case 'DELETE':\n request = this.httpClient.delete(url, { params: queryParams });\n break;\n\n default:\n throw new Error('Method not supported');\n }\n\n return new Observable((subscriber) => {\n request\n .then((response) => {\n subscriber.next(response.data);\n subscriber.complete();\n })\n .catch((err: Error) => {\n subscriber.error(err);\n subscriber.complete();\n });\n });\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport VueRecaptcha from 'vue-recaptcha';\nimport { NextType, Answer } from '@/models/answer';\nimport { TreeNode } from '@/models/treenode';\nimport { Observable, fromEvent } from 'rxjs';\nimport { first, tap, catchError, finalize } from 'rxjs/operators';\nimport Rxios from '@/vendor/rxios';\n\n@Component({\n components: {\n VueRecaptcha\n }\n})\nexport default class BreadcrumbComponent extends Vue {\n public isExpanded: boolean = false;\n public showSendMessage: boolean = false;\n public isCaptchaValid: boolean = false;\n public recaptchaResponse: string = '';\n public isSendingMail: boolean = false;\n public isSendSuccess: boolean = false;\n public isSendError: boolean = false;\n public isBusy: boolean = false;\n public capchaErrorMessage: string = '';\n public emailFrom: string = '';\n public emailTo: string = '';\n public sendMailResponse: string = '';\n\n private http: Rxios = new Rxios({\n // all regular axios request configuration options are valid here\n // check https://github.com/axios/axios#request-config\n baseURL: process.env.VUE_APP_API_ENDPOINT,\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n },\n });\n\n public get currentTreeNode(): TreeNode {\n return this.$store.getters.currentTreeNode;\n }\n\n public get currentAnswers(): { [treeNodeId: string]: Answer; } {\n return this.$store.getters.currentAnswers;\n }\n\n public get navigation(): string[] {\n return this.$store.getters.navigation;\n }\n\n public get recaptchaSiteKey(): string {\n return this.$store.getters.recaptchaSiteKey;\n }\n\n public select(answer: Answer, target: any, nodeID: string): void {\n const test = target.parentElement as HTMLElement;\n\n if (test.tagName === 'OBJECT') {\n return;\n }\n this.isExpanded = false;\n this.showSendMessage = false;\n this.$store.dispatch('goToNode', nodeID);\n }\n\n public togglePathVisibility() {\n this.isExpanded = !this.isExpanded;\n\n if (!this.isExpanded) {\n this.showSendMessage = false;\n this.isSendSuccess = false;\n this.isSendError = false;\n }\n }\n\n // TODO: Remove this and fetch HTML from API\n public get getHtmlForPrint(): string {\n let html = '' + window.location.href + '';\n let count = 1;\n\n for (const index in this.currentAnswers) {\n if (this.currentAnswers.hasOwnProperty(index)) {\n const answer = this.currentAnswers[index];\n if (index === this.currentTreeNode.id) {\n html = html\n + '

'\n + count\n + '. Spørgsmål: '\n + answer.question\n + '

'\n + answer.answer\n + '

';\n } else {\n html = html\n + '

'\n + count\n + '. Spørgsmål: '\n + answer.question\n + '

'\n + answer.answer\n + '

';\n }\n count++;\n }\n }\n\n return html;\n }\n\n public onRecaptchaVerified(response: string): void {\n this.recaptchaResponse = response;\n this.isCaptchaValid = response.length > 0;\n }\n\n public sendMail(): void {\n if (!this.isCaptchaValid) {\n this.capchaErrorMessage = 'Verificer at du er et menneske';\n } else {\n this.capchaErrorMessage = '';\n const fromMail = this.emailFrom;\n const toMail = this.emailTo;\n\n this.http.post('/share/ShareDecisionTree', {\n decisionTreeId: this.$store.getters.model.id,\n receiver: toMail,\n sender: fromMail,\n recaptcha: this.recaptchaResponse,\n answers: Object.keys(this.currentAnswers).map(a => ({\n answerId: this.currentAnswers[a].id,\n referencedQuestion: this.currentAnswers[a].question\n } as any)),\n currentTreeNode: this.currentTreeNode.id,\n language: 'da'\n }).pipe(\n first(),\n tap(_ => this.isBusy = true),\n tap(response => {\n // TODO: These timeouts...\n setTimeout(() => {\n this.isSendSuccess = true;\n }, 1000);\n this.sendMailResponse = 'Historikken er er sendt';\n const self = this;\n setTimeout(() => {\n self.isSendSuccess = false;\n self.sendMailResponse = '';\n self.showSendMessage = false;\n this.emailTo = '';\n }, 4000);\n }),\n catchError((err, caught) => {\n // TODO: These timeouts...\n setTimeout(() => {\n this.isSendError = true;\n }, 1000);\n this.sendMailResponse = 'Noget gik galt - prøv igen senere, eller kontakt lægemiddelstyrelsen';\n const self = this;\n setTimeout(() => {\n self.isSendError = false;\n self.sendMailResponse = '';\n self.showSendMessage = false;\n }, 4000);\n\n return err;\n }),\n finalize(() => this.isBusy = false)\n ).subscribe();\n }\n }\n\n public print() {\n const printWindow = window.open('', 'Print', 'height=600,width=800');\n\n if (printWindow != null) {\n printWindow.document.write('Print');\n printWindow.document.write('');\n printWindow.document.write(this.getHtmlForPrint);\n printWindow.document.write('');\n\n printWindow.document.close();\n printWindow.focus();\n printWindow.print();\n printWindow.close();\n }\n }\n}\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Breadcrumb.vue?vue&type=template&id=ff5066e2&scoped=true&\"\nimport script from \"./Breadcrumb.vue?vue&type=script&lang=ts&\"\nexport * from \"./Breadcrumb.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Breadcrumb.vue?vue&type=style&index=0&id=ff5066e2&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ff5066e2\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport SpinnerComponent from '@/components/Spinner.vue';\nimport PretextComponent from '@/components/Pretext.vue';\nimport TreeNodeComponent from '@/components/TreeNode.vue';\nimport { DecisionTree } from '@/models/decisiontree';\nimport { TreeNode } from '@/models/treenode';\nimport NavigationComponent from '@/components/Navigation.vue';\nimport BreadcrumbComponent from '@/components/Breadcrumb.vue';\nimport store from '@/store';\n\n@Component({\n components: {\n SpinnerComponent,\n PretextComponent,\n TreeNodeComponent,\n NavigationComponent,\n BreadcrumbComponent\n }\n})\nexport default class App extends Vue {\n\n public mounted() {\n this.$store.commit('setIsBusy', false);\n }\n\n public get error(): string {\n return this.$store.getters.error;\n }\n\n public get isBusy() {\n return this.$store.getters.isBusy;\n }\n\n public get isNavigating() {\n return this.$store.getters.isNavigating;\n }\n\n public get treeNode(): TreeNode {\n return this.$store.getters.currentTreeNode;\n }\n\n public get model(): DecisionTree {\n return this.$store.getters.model;\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=42008bb6&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=42008bb6&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42008bb6\",\n null\n \n)\n\nexport default component.exports","import Rxios from '../vendor/rxios';\nimport { getDataProperty, queryParams } from './utils';\nimport { Observable } from 'rxjs';\n\nexport default class ApiService {\n private http: Rxios;\n private formAntiForgeryToken: string;\n private sitecoreId: string;\n private sitecoreLang: string;\n\n // Query parameters\n private subscriptionToken: string;\n private email: string;\n private language: string;\n\n constructor() {\n this.formAntiForgeryToken = getDataProperty('data-antiforgery-token');\n this.sitecoreId = getDataProperty('data-id');\n this.sitecoreLang = getDataProperty('data-lang');\n\n this.subscriptionToken = queryParams.token;\n this.email = queryParams.email;\n this.language = queryParams.language;\n\n this.http = new Rxios({\n baseURL: process.env.VUE_APP_API_ENDPOINT,\n headers: {\n 'RequestVerificationToken': this.formAntiForgeryToken,\n 'SubscriptionVerificationToken': `${this.email}:${this.language}:${this.subscriptionToken}`,\n 'SitecoreId': this.sitecoreId,\n 'SitecoreLanguage': this.sitecoreLang,\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n },\n });\n }\n\n public get(action: string, queryParams?: object): Observable {\n return this.http.get(`/${action}`, queryParams);\n }\n\n public post(\n action: string,\n body: object,\n queryParams?: object,\n ): Observable {\n return this.http.post(`/${action}`, body, queryParams);\n }\n\n public patch(\n url: string,\n body: object,\n queryParams?: object,\n ): Observable {\n return this.http.patch(url, body, queryParams);\n }\n\n public delete(url: string, queryParams?: object): Observable {\n return this.http.delete(url, queryParams);\n }\n}\n","import { finalize } from 'rxjs/operators';\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport { GetTreeNode } from './commands/get.treenode';\nimport { Answer } from './models/answer';\nimport { DecisionTree } from './models/decisiontree';\nimport { TreeNode } from './models/treenode';\nimport ApiService from './services/api.service';\nimport { getDataProperty } from './services/utils';\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n getters: {\n currentTreeNode: state => state.currentTreeNode,\n currentAnswers: state => state.currentAnswers as { [treeNodeId: string]: Answer; },\n currentAnswer: state => state.currentAnswers[state.currentTreeNode.id],\n isBusy: state => state.isBusy,\n isNavigating: state => state.isNavigating,\n model: state => state.model,\n error: state => state.error,\n navigation: state => state.navigation,\n recaptchaSiteKey: state => state.recaptchaSiteKey\n },\n state: {\n isBusy: true,\n isNavigating: false,\n apiService: new ApiService(),\n error: '' as string,\n currentTreeNode: undefined as unknown as TreeNode,\n currentAnswers: {} as { [treeNodeId: string]: Answer; },\n model: JSON.parse(getDataProperty('data-model')) as DecisionTree,\n recaptchaSiteKey: getDataProperty('data-recaptcha-sitekey') as string,\n navigation: [] as string[]\n },\n mutations: {\n setTreeNode: (state, content: TreeNode) => {\n state.currentTreeNode = content;\n },\n setIsBusy: (state, isBusy: boolean) => {\n state.isBusy = isBusy;\n },\n setIsNavigating: (state, isNavigating: boolean) => {\n state.isNavigating = isNavigating;\n },\n setError: (state, message?: string) => {\n state.error = message ? message : 'Der skete desværre en fejl. Prøv igen om lidt.';\n },\n clearError: (state) => {\n state.error = '';\n },\n pushNavigation: (state, treeNodeId: string) => {\n state.navigation.push(treeNodeId);\n },\n popNavigation: (state) => {\n state.navigation.pop();\n },\n selectCurrentAnswer: (state, answer: Answer) => {\n const currentNodeAnswer = state.currentAnswers[state.currentTreeNode.id];\n answer.question = state.currentTreeNode.title;\n\n if (currentNodeAnswer && currentNodeAnswer.id !== answer.id) {\n // Tree node already has a different answer here\n // Find the next node that the answer points to\n let nextNodeId = currentNodeAnswer.next.nextId;\n Vue.delete(state.currentAnswers, nextNodeId);\n\n // Kill the entire string of answers (forget previous branch of navigation) that follow it\n while (true) {\n const nextAnswer = state.currentAnswers[nextNodeId];\n\n if (!nextAnswer) {\n break;\n } else {\n Vue.delete(state.currentAnswers, nextNodeId);\n nextNodeId = nextAnswer.next.nextId;\n }\n }\n }\n\n // Set the answer for the current tree node\n Vue.set(state.currentAnswers, state.currentTreeNode.id, answer);\n }\n },\n actions: {\n goToPreviousNode: (context) => {\n context.commit('popNavigation');\n if (context.getters.navigation.length < 1) {\n context.dispatch('goToStart');\n } else {\n context.dispatch('goToNode', context.getters.navigation[context.getters.navigation.length - 1]);\n }\n },\n scrollTop: (context) => {\n const element = document.querySelector('.decisiontree') as HTMLElement;\n const dims = element.getBoundingClientRect();\n window.scrollTo(window.scrollX, dims.top - 20);\n },\n goToNode: (context, treeNodeId: string) => {\n context.commit('clearError');\n context.commit('setIsNavigating', true);\n\n setTimeout(() => {\n context.commit('setIsBusy', true);\n const command = {\n treeNodeId,\n includeAnswers: true\n } as GetTreeNode;\n\n context.state.apiService\n .get('treenodes', command)\n .pipe(\n finalize(() => {\n context.commit('setIsBusy', false);\n context.commit('setIsNavigating', false);\n context.dispatch('scrollTop');\n })\n )\n .subscribe(\n (treeNode) => context.commit('setTreeNode', treeNode),\n (err: any) => context.commit('setError')\n );\n },\n 300);\n },\n goToStart: (context) => {\n context.commit('setIsNavigating', true);\n context.commit('setTreeNode', undefined);\n\n setTimeout(() => {\n context.commit('setIsNavigating', false);\n context.dispatch('scrollTop');\n },\n 150);\n },\n startDecisionTree: (context) => {\n context.commit('pushNavigation', context.state.model.startNodeId);\n context.dispatch('goToNode', context.state.model.startNodeId);\n }\n }\n});\n","/* tslint:disable:no-console */\n\nimport { register } from 'register-service-worker';\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB',\n );\n },\n registered() {\n console.log('Service worker has been registered.');\n },\n cached() {\n console.log('Content has been cached for offline use.');\n },\n updatefound() {\n console.log('New content is downloading.');\n },\n updated() {\n console.log('New content is available; please refresh.');\n },\n offline() {\n console.log('No internet connection found. App is running in offline mode.');\n },\n error(error) {\n console.error('Error during service worker registration:', error);\n },\n });\n}\n","import Vue from 'vue';\nimport App from './App.vue';\nimport store from './store';\nimport './registerServiceWorker';\n\nVue.config.productionTip = false;\n\nif (!Array.prototype.forEach) {\n Array.prototype.forEach = function(fn, scope) {\n for (let i = 0, len = this.length; i < len; ++i) {\n fn.call(scope, this[i], i, this);\n }\n };\n}\n\nif (!NodeList.prototype.forEach) {\n NodeList.prototype.forEach = function(fn, scope) {\n for (let i = 0, len = this.length; i < len; ++i) {\n fn.call(scope, this[i], i, this);\n }\n };\n}\n\nnew Vue({\n store,\n render: (h) => h(App),\n}).$mount('#decisiontree-app');\n"],"sourceRoot":""}