{"version":3,"sources":["novicell.dynamic-image.js","lazy-images.js","master.js","helpers/utility.helper.js","02-molecules/filter-section/filter-section.js","02-molecules/language-picker/language-picker.js","02-molecules/search-overlay/search-overlay.js","03-organisms/list/list.js","03-organisms/tabs/tabs.js","grid-editors/accordion/accordion.js","grid-editors/brand-slider/brand-slider.js","grid-editors/embed-media/embed-media.js","grid-editors/key-numbers/key-numbers.js","grid-editors/product-inventory-list-graphs/product-inventory-list-graphs.js","grid-editors/product-return-graphs/product-return-graphs.js","grid-editors/savings-graph/savings-graph.js","03-organisms/navigation/sub-navigation/sub-navigation.js","grid-editors/slideshow/slideshow.js","03-organisms/navigation/site-navigation/site-navigation.js"],"names":["novicell","dynamicImage","nextQuerySign","url","indexOf","queryUrl","queryObjStr","queryObj","JSON","parse","Object","keys","forEach","key","getUrl","el","baseUrl","getAttribute","parentHeight","parentNode","innerHeight","offsetHeight","width","parentWidth","innerWidth","offsetWidth","height","lastRefreshWidth","refreshWidth","checkImages","window","lazySizesConfig","init","expand","lazyload","e","preventDefault","defineProperty","this","get","setBg","query","newSrcset","target","preventLoad","classList","contains","setMeasuredUrl","setSrcSet","hasAttribute","setSrc","style","visibility","setTimeout","backgroundImage","src","srcset","split","trim","bp","newSrc","push","setAttribute","join","query2","src2","url2","document","body","querySelectorAll","remove","add","addEventListener","debounce","projectName","resize","keyNumbers","onScroll","cookieInfo","siteNavigation","slideshow","search","list","brandSlider","filterSection","languagePicker","embedMedia","accordion","productReturnGraphs","productInventoryListGraphs","tabs","calculator","helper","buttonsWithLink","svg4everybody","onload","lazySizes","onscroll","onresize","length","i","findAncestor","cls","parentElement","toggleClass","className","classes","existingIndex","toggle","splice","hasClass","isVisible","element","rect","getBoundingClientRect","html","documentElement","top","left","bottom","clientHeight","right","clientWidth","filterDropdDownActiveClass","handleEsc","keyCode","closeAll","classHolder","getElementsByClassName","y","removeEventListener","data","filterDropdownTriggers","event","getElementById","languagePickerList","activeClass","clickTrigger","handleClick","closeLanguagePicker","targetElement","trigger","querySelector","searchInput","searchOverlay","clickSearchButton","focus","closeSearchOverlay","blur","value","searchButton","listWrappers","Vue","directive","bind","binding","vnode","arg","map","index","toUpperCase","substring","context","currentList","listItems","filteredListItems","filters","mounted","methods","addSelectedFilters","filterItem","filterGroup","currentGroup","filterItems","k","currentFilter","_filteredListItem","hasOwnProperty","filter","item","selectedGroup","FilterGroups","find","group","Id","FilterItems","containsObject","obj","some","Name","getDataFilters","dataFilterString","getFilterItemsFromGroup","groupName","classActiveNavTab","classActiveContentTab","onTabClick","currentTabSet","clazz","undefined","activeNavTabs","activeContentTabs","href","tabsLinks","accordionTriggers","accordionImages","itemOpenClass","imageOverlaySelector","accordionImageOverlay","closeItem","parent","currentTarget","openItems","imageClicked","overlay","create","class","selector","slideshowElm","Flickity","cellAlign","contain","wrapAround","pageDots","groupCells","playButtons","iframeContainer","currentButton","videoId","dataset","videoType","button","iframe","createElement","innerHTML","outerHTML","console","warn","countUp","currentkeyNumber","CountUp","useEasing","useGrouping","separator","error","start","stocks_weights","stocks_names","obligations_weights","obligations_names","mainColorRGB","arrMainColorOpacities","objMainColorsRgba","showTooltip","currentValue","id","currentTooltipElement","centerX","centerY","formattedValue","toString","replace","innerText","initDonutChart","graphContainer","self","hoveredDatasetIndex","component","extends","VueChartJs","Doughnut","mixins","reactiveProp","props","renderChart","chartData","options","hoveredChartDatasetIndex","chartHover","donutEntered","responsive","maintainAspectRatio","hover","onHover","tooltipBoxId","tooltipId","ci","chart","correspondingLegends","updateHoverStyle","getDatasetMeta","legend","legendItems","correspondingLegendOriginalColor","datasets","backgroundColor","fillStyle","display","layout","padding","tooltips","enabled","callbacks","label","tooltipItem","_chart","chartArea","mode","custom","tooltipModel","legends","j","render","type","children","shareTooltipId","bondTooltipId","bondDatacollection","shareDatacollection","legendary","fillData","showColor","_data","legendEnter","ul","typeIndex","$children","Array","prototype","slice","call","arr","theLegends","legendItem","o1","config","legendLeave","datacollection","borderWidth","hoverBackgroundColor","dataValues","dataLabels","newDatacollection","labels","setColors","testButton","colorString","appendChild","getComputedStyle","sliderMinYear","sliderMaxYear","historicsNames","historicsValues","annualReturnsNames","annualReturnsValues","sliderBus","initBarChartSlider","barGraphSliderContainer","eventType","dotSize","dotHeight","dotWidth","min","max","interval","show","speed","disabled","piecewise","usdKeyboard","enableCross","piecewiseLabel","piecewiseActiveStyle","tooltip","tooltipDir","reverse","clickable","realTime","lazy","formatter","sliderStyle","labelStyle","labelActiveStyle","bgStyle","tooltipStyle","borderColor","lineHeight","processStyle","sliderChange","v","$emit","components","vueSlider","initLineChart","Line","message","position","tooltipEl","innerHtml","opacity","yAlign","titleLines","title","bodyItem","lines","string","Math","round","canvas","pageXOffset","caretX","pageYOffset","caretY","fontFamily","_bodyFontFamily","fontSize","bodyFontSize","fontStyle","_bodyFontStyle","yPadding","xPadding","background","WebkitTransform","transform","margin","borderRadius","textAlign","pointerEvents","color","intersect","animation","duration","scales","yAxes","ticks","beginAtZero","gridLines","drawBorder","zeroLineColor","lineWidth","zeroLineWidth","xAxes","availableLabels","availableData","availableMonths","selectOne","selectOptions","months","years","labelStartTime","labelEndTime","selectErrors","computed","getSizes","matchMedia","matches","selectValues","startYear","endYear","startMonth","endMonth","formattedSelectErrors","strHtml","returnInPeriodInfoValue","first","last","returnPeriod","arrData","parseFloat","returnFloat","returnFormatted","formatFloatToDanishFloat","firstValue","lastValue","return","returnPerYearInfoValue","monthsAmount","gain2","gain","pow","makeAvailableMonths","makeSelectValues","float","toFixed","findIndexOfChosenSelectValue","isEndIndex","currMonth","currYear","currIndex","stringString","endIndex","newLabels","newIndex100","newData","startIndex","parseInt","pointBorderWidth","pointRadius","lineTension","currentDateString","year","month","currentDate","Date","firstYear","lastYear","firstMonth","lastMonth","selectChange","startTimeError","getDateIsSelectableError","endTimeError","currStartDate","toLowerCase","chosenMonth","chosenYear","labelName","firstAvailableYear","lastAvailableYear","currDate","Number","firstAvailableMonth","getMonth","lastAvailableMonth","getFullYear","barGraphContainer","printLinks","initBarChart","initPrintLinks","print","Bar","availableYears","availableValues","created","fillData2","apply","_toConsumableArray","$on","onProgress","makeLegends","onComplete","callback","values","stepSize","suggestedMin","suggestedMax","barPercentage","sliderValues","minValueIndex","maxValueIndex","currentLabels","currentValues","chartInstance","ctx","currentDistanceBetweenBars","font","textBaseline","distanceBetweenBars","$data","meta","controller","averageDistance","bar","distance","_model","x","shift","_meta","metaObjectKey","positionOf0","_view","base","yPosition","fillText","defaultPortfolioId","umbPortFolioData","umbPortFolioKidsData","configInformation","clickToggle","elem","toggleParent","openSubNavs","thisOpacity","riscDefaultValue","tableDataNotFormatted","controllersOptionsGeneral","savingsGraphType","portfolios","lineChartLabels","lineChartData","hasBeenUpdated","_controllers","loadConfigData","makePortFolios","riscDefaultValueIndex","thisIndex","portfolioData","graphOptions","formatFloatToDanishInt","fontColor","vueSliderOptionsinitialDeposit","copy","assign","controllers","initialDeposit","customOptions","vueSliderOptionsyearlyDeposit","yearlyDeposit","vueSliderOptionsrisc","risc","vueSliderOptionslifeTime","lifeTime","nameOfChosenProduct","productNames","tableData","kr","savingstype","productName","name","startValue","savingsType","totalDeposit","TotalDeposit","totalGains","TotalGains","yearlyCostsInPercentage","YearlyCostsInPercentage","firstYearCostsPercentage","FirstYearCostsPercentage","firstYearCosts","FirstYearCosts","avgYearlyCosts","AvgYearlyCosts","totalTax","TotalTax","endBalance","EndBalance","graphData","o0_5","pointBackgroundColor","isOverMax","errorText","unit","inputId","maxValueNotFixed","shownMax","hiddenMax","useMonthlyPayment","defaultIndex","minValueText","maxValueText","switchGraphType","currentData","returnLTE5","lte5","returnGT5LTE10","gt5lte10","returnGT10","gt10","BaseCost","baseCost","FeesLadder","LadderMin","LadderMax","feeStep1UpperBoundary","Cost","fee1","feeStep2UpperBoundary","fee2","fee3","Tax","tax","FeeMin","feeMin","FeeMax","feeMax","TransactionCosts","transactionCosts","prop","c","dataMaxValue","prop2","initialCapital","val","portFolioIndex","portFolioName","numberOfYears","savingsValues","calculate","Years","calculateYearly","portfolio","primo","currentYear","calculatedYear","primoFormueEfterIndskud","BalancePrimo","formuePrimo","Deposit","indskud","currentInterestPct","afkast","BalanceAfterDeposit","formueFørOmkOgSkat","Gains","AvgBalance","BalancePreCostAndTax","omkKontoInvest","BiFeeLadder","Costs","BiFee","feeStep","stepValue","costForStep","omkIalt","Fees","formueFørSkat","TotalCosts","palSkat","accountUltimo","BalancePreTax","GensFormueIndeForÅret","Ultimo","AvgBalanceMedio","calculateMonthly","termDeposit","gains","numberOfTermPerYear","YearsArray","portFolio","totalCosts","totalAvgBalanceMedio","yearsUltimo","z","avgBalanceMedio","result","hidehumanValue","numberInput","updateSliderValueFromInput","a","currSlider","showhumanValue","slideshows","cellSelector","arrowShape","siteNavigationToggle","siteNavigationList","subNavigation","subNavToggles"],"mappings":"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","file":"master.min.js","sourcesContent":["'use strict';\r\n\r\n/**\r\n* @name Novicell Dynamic Image\r\n* @author Jonas Havmøller & Danni Larsen\r\n*/\r\n\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.dynamicImage = novicell.dynamicImage || function () {\r\n \r\n function getUrl(el) {\r\n var baseUrl = el.getAttribute('data-src');\r\n var parentHeight = el.parentNode.innerHeight || el.parentNode.offsetHeight;\r\n var parentWidth = el.parentNode.innerWidth || el.parentNode.offsetWidth;\r\n var pixelInterval = 50;\r\n parentWidth = parentWidth !== null ? parentWidth + pixelInterval - (parentWidth % pixelInterval) : null; // round to the nearest 50\r\n parentHeight = parentHeight !== null ? parentHeight + pixelInterval - (parentHeight % pixelInterval) : null; // round to the nearest 50\r\n \r\n var parentAspectRatio = parentHeight / parentWidth;\r\n \r\n var width = parentWidth;\r\n var height = width * parentAspectRatio;\r\n \r\n baseUrl += width ? nextQuerySign(baseUrl) + \"width=\" + width : \"\";\r\n baseUrl += height !== null ? nextQuerySign(baseUrl) + \"height=\" + height : \"\";\r\n \r\n var queryObjStr = el.getAttribute('data-query-obj');\r\n baseUrl = queryUrl(baseUrl, queryObjStr);\r\n \r\n return baseUrl;\r\n }\r\n \r\n function nextQuerySign(url) {\r\n return url.indexOf(\"?\") > -1 ? \"&\" : \"?\";\r\n }\r\n \r\n function queryUrl(url, queryObjStr) {\r\n if (queryObjStr) {\r\n var queryObj = JSON.parse(queryObjStr);\r\n \r\n Object.keys(queryObj).forEach(function(key){\r\n url += queryObj[key] !== null ? nextQuerySign(url) + key + \"=\" + queryObj[key] : \"\";\r\n });\r\n }\r\n return url;\r\n }\r\n \r\n return {\r\n queryUrl: queryUrl,\r\n getUrl: getUrl\r\n };\r\n}();","'use strict';\r\n\r\n/**\r\n* @name Novicell Dynamic Image\r\n* @author Jonas Havmøller & Danni Larsen\r\n* @description Adds eventlisteners for lazysizes and more\r\n*/\r\n\r\n\r\nvar novicell = novicell || {};\r\n\r\nvar lastRefreshWidth = 0;\r\nvar refreshWidth = 50;\r\n\r\n// Lazysizes config\r\nwindow.lazySizesConfig = window.lazySizesConfig || {};\r\nwindow.lazySizesConfig.init = false;\r\nwindow.lazySizesConfig.expand = 1000;\r\n\r\n\r\n/*\r\n* Lazyload\r\n*/\r\nnovicell.lazyload = novicell.lazyload || function (e) {\r\n // IE Fix\r\n e.preventDefault = function () {\r\n Object.defineProperty(this, 'defaultPrevented', {get: function () {return true;}});\r\n };\r\n \r\n var target = e.target;\r\n var preventLoad = target.classList.contains('lazyload-measure') || target.classList.contains('lazyload-bg'); \r\n var setMeasuredUrl = target.classList.contains('lazyload-measure');\r\n var setSrcSet = target.hasAttribute('data-srcset') && target.hasAttribute('data-query-obj');\r\n var setSrc = target.hasAttribute('data-src') && target.hasAttribute('data-query-obj');\r\n \r\n if(preventLoad) {\r\n e.preventDefault();\r\n }\r\n \r\n if(setMeasuredUrl) {\r\n var setBg = target.classList.contains('lazyload-bg'); \r\n if(setBg) {\r\n target.style.visibility = 'hidden';\r\n target.style.height=0;\r\n target.style.width=0;\r\n }\r\n setTimeout(() => {\r\n var url = novicell.dynamicImage.getUrl(target);\r\n if(setBg) {\r\n target.parentNode.style.backgroundImage = 'url(' + url + ')'; \r\n } else {\r\n target.src = url;\r\n } \r\n \r\n });\r\n }\r\n else if(setSrcSet) {\r\n var query = target.getAttribute('data-query-obj');\r\n var srcset = target.getAttribute('data-srcset').split(',');\r\n var src = target.getAttribute('data-src');\r\n var newSrcset = [];\r\n \r\n srcset.forEach(function(src){\r\n src = src.trim();\r\n src = src.split(' ');\r\n \r\n var url = src[0];\r\n var bp = src[1];\r\n var newSrc = novicell.dynamicImage.queryUrl(url, query);\r\n // set new srcset\r\n newSrcset.push(newSrc + ' ' + bp);\r\n });\r\n \r\n target.setAttribute('srcset', newSrcset.join(', '));\r\n target.setAttribute('src', novicell.dynamicImage.queryUrl(src, query));\r\n }\r\n else if(setSrc) {\r\n var query2 = target.getAttribute('data-query-obj');\r\n var src2 = target.getAttribute('data-src');\r\n var url2 = novicell.dynamicImage.queryUrl(src2, query2);\r\n \r\n target.setAttribute('src', url2);\r\n }\r\n};\r\n\r\n\r\n/*\r\n* Check images\r\n*/\r\nvar checkImages = function() {\r\n if (window.innerWidth > lastRefreshWidth + refreshWidth || window.innerWidth < lastRefreshWidth - refreshWidth) {\r\n var loadedElements = document.body.querySelectorAll('.lazyloaded');\r\n loadedElements.forEach(function(el){\r\n el.classList.remove('lazyloaded');\r\n el.classList.add('lazyload');\r\n });\r\n lastRefreshWidth = window.innerWidth;\r\n }\r\n};\r\n\r\n\r\n/*\r\n* Eventlisteners\r\n*/\r\n\r\n// document.addEventListener('lazybeforeunveil', novicell.lazyload, true);\r\ndocument.addEventListener('load', novicell.lazyload, true);\r\nwindow.addEventListener('resize', novicell.debounce(checkImages), 100, false);","'use strict';\r\n/*\r\n* Novicell master\r\n* Use this file to call functions in other files, on document ready, window.resize etc.\r\n*/\r\n\r\nvar novicell = novicell || {};\r\nvar projectName = projectName || {};\r\n\r\n// Document ready\r\ndocument.addEventListener('DOMContentLoaded', function(){\r\n novicell.cookieInfo.init();\r\n novicell.siteNavigation.init();\r\n novicell.slideshow.init(); \r\n novicell.search.init();\r\n novicell.list.init();\r\n novicell.brandSlider.init();\r\n novicell.filterSection.init();\r\n novicell.keyNumbers.init();\r\n novicell.languagePicker.init();\r\n novicell.embedMedia.init();\r\n novicell.accordion.init();\r\n novicell.productReturnGraphs.init();\r\n novicell.productInventoryListGraphs.init();\r\n novicell.tabs.init();\r\n novicell.calculator.init();\r\n /* Helpers */\r\n novicell.helper.buttonsWithLink();\r\n\r\n //SetTimeout to fix latency with loaded elements in e.g. Vue components\r\n setTimeout(() => {\r\n svg4everybody(); // Fix SVG spritemap in IE/Edge\r\n });\r\n});\r\nwindow.onload = function(){\r\n window.lazySizes.init();\r\n};\r\ndocument.addEventListener('scroll', function (e) {\r\n novicell.keyNumbers.init();\r\n});\r\n\r\n// Docs for debounce https://github.com/component/debounce\r\nwindow.onscroll = novicell.debounce(onScroll, 100);\r\n\r\nwindow.onresize = novicell.debounce(resize, 200);\r\n\r\nfunction resize() {\r\n novicell.keyNumbers.init();\r\n}\r\nfunction onScroll() {\r\n novicell.keyNumbers.init();\r\n}\r\n","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.helper = novicell.helper || new function () {\r\n\r\n this.buttonsWithLink = function () {\r\n var buttonsWithLink = document.querySelectorAll('a > .button');\r\n if (!buttonsWithLink || buttonsWithLink.length <= 0) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < buttonsWithLink.length; i++) {\r\n const currentLink = buttonsWithLink[i];\r\n const parent = currentLink.parentNode;\r\n\r\n parent.classList.add('button-with-link');\r\n }\r\n };\r\n\r\n this.findAncestor = function (el, cls) {\r\n if (el == null) {\r\n return;\r\n }\r\n while ((el = el.parentElement) && !el.classList.contains(cls)) {\r\n return el;\r\n }\r\n };\r\n\r\n this.toggleClass = function (el, className) {\r\n if (el.classList) {\r\n el.classList.toggle(className);\r\n } else {\r\n var classes = el.className.split(' ');\r\n var existingIndex = classes.indexOf(className);\r\n \r\n if (existingIndex >= 0) {\r\n classes.splice(existingIndex, 1);\r\n } else {\r\n classes.push(className);\r\n }\r\n \r\n el.className = classes.join(' ');\r\n }\r\n };\r\n\r\n this.hasClass = function (el, className) {\r\n if (el.classList.contains(className)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n this.isVisible = function (element) {\r\n var rect = element.getBoundingClientRect();\r\n var html = document.documentElement;\r\n\r\n return (\r\n rect.top >= 0 &&\r\n rect.left >= 0 &&\r\n rect.bottom <= (window.innerHeight || html.clientHeight) &&\r\n rect.right <= (window.innerWidth || html.clientWidth)\r\n );\r\n };\r\n\r\n};","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.filterSection = novicell.filterSection || new function () {\r\n const filterDropdDownActiveClass = 'filter-section-dropdown--active';\r\n\r\n this.init = function (data) {\r\n var filterDropdownTriggers = document.querySelectorAll('.js-filter-section-dropdown-trigger');\r\n\r\n if (!filterDropdownTriggers) {\r\n return;\r\n }\r\n\r\n for (var i = 0; i < filterDropdownTriggers.length; i++) {\r\n let currentTrigger = filterDropdownTriggers[i];\r\n\r\n currentTrigger.addEventListener('click', function () {\r\n var element = event.target.parentElement;\r\n\r\n if (novicell.helper.hasClass(element, filterDropdDownActiveClass)) {\r\n closeAll();\r\n } else {\r\n closeAll();\r\n element.classList.add(filterDropdDownActiveClass);\r\n clickedOutside(element);\r\n document.addEventListener('keydown', handleEsc, true);\r\n }\r\n });\r\n }\r\n };\r\n\r\n function clickedOutside(element) {\r\n\r\n // add click event to document\r\n document.addEventListener('click', function (event) {\r\n // check if item is open\r\n if (novicell.helper.hasClass(element, filterDropdDownActiveClass)) {\r\n let newTarget = element.contains(event.target);\r\n if (!newTarget) {\r\n closeAll();\r\n }\r\n }\r\n });\r\n }\r\n\r\n function handleEsc(e) {\r\n if (e.keyCode === 27) {\r\n closeAll();\r\n }\r\n }\r\n\r\n function closeAll(element) {\r\n\r\n // find all and remove active\r\n let classHolder = document.getElementsByClassName('filter-section-dropdown');\r\n\r\n for (let y = 0; y < classHolder.length; y++) {\r\n let currentElement = classHolder[y];\r\n currentElement.classList.remove(filterDropdDownActiveClass);\r\n }\r\n\r\n document.removeEventListener('keydown', handleEsc, true);\r\n }\r\n}();\r\n","/* 'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.languagePicker = novicell.languagePicker || new function () {\r\n\r\n const languagePicker = document.getElementById('.js-language-picker');\r\n const activeClass = 'language-picker__button--active';\r\n const listActiveClass = 'language-picker-list--active';\r\n\r\n this.init = function () {\r\n for (let i = 0; i < btns.length; i++) {\r\n const btn = btns[i];\r\n\r\n btn.addEventListener('click', toggleLanguagePicker);\r\n }\r\n };\r\n\r\n function toggleLanguagePicker(event) {\r\n event.preventDefault();\r\n const targetElm = event.target;\r\n\r\n if (novicell.helper.hasClass(targetElm, activeClass)) {\r\n closeLanguagePicker(targetElm);\r\n } else {\r\n openLanguagePicker(targetElm);\r\n }\r\n }\r\n\r\n function openLanguagePicker(elm) {\r\n console.log('open');\r\n\r\n elm.classList.add(activeClass);\r\n elm.nextElementSibling.classList.add(listActiveClass);\r\n document.addEventListener('click', handleClick, true);\r\n }\r\n\r\n function closeLanguagePicker(elm) {\r\n console.log('close');\r\n\r\n elm.classList.remove(activeClass);\r\n elm.nextElementSibling.classList.remove(listActiveClass);\r\n document.removeEventListener('click', handleClick, true);\r\n }\r\n\r\n function handleClick(e) {\r\n var targetElement = e.target;\r\n console.log(targetElement);\r\n\r\n // This is a click outside.\r\n closeLanguagePicker(targetElement);\r\n }\r\n}();\r\n */\r\n\r\n\r\n\r\n\r\n'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.languagePicker = novicell.languagePicker || new function () {\r\n\r\n const languagePicker = document.getElementById('js-language-picker');\r\n const languagePickerList = document.getElementById('js-language-picker-list');\r\n const activeClass = 'language-picker--active';\r\n\r\n this.init = function () {\r\n var trigger = document.getElementById('js-language-picker-trigger');\r\n\r\n if (!trigger) {\r\n return;\r\n }\r\n // Open language picker\r\n trigger.addEventListener('click', clickTrigger);\r\n };\r\n\r\n function clickTrigger(e) {\r\n e.preventDefault();\r\n\r\n closeOverlayHandler();\r\n languagePicker.classList.add(activeClass);\r\n }\r\n\r\n function closeOverlayHandler() {\r\n document.addEventListener('keydown', handleEsc, true);\r\n document.addEventListener('click', handleClick, true);\r\n }\r\n\r\n function closeLanguagePicker() {\r\n languagePicker.classList.remove(activeClass);\r\n document.removeEventListener('keydown', handleEsc, true);\r\n document.removeEventListener('click', handleClick, true);\r\n }\r\n\r\n function handleEsc(e) {\r\n if (e.keyCode === 27) {\r\n closeLanguagePicker();\r\n }\r\n }\r\n\r\n function handleClick(e) {\r\n var targetElement = e.target;\r\n do {\r\n if (targetElement == languagePickerList) {\r\n // This is a click inside. Do nothing, just return.\r\n return;\r\n }\r\n targetElement = targetElement.parentNode;\r\n } while (targetElement);\r\n\r\n // This is a click outside.\r\n closeLanguagePicker();\r\n }\r\n}();\r\n","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.search = novicell.search || new function () {\r\n\r\n var body = document.querySelector('#site');\r\n var searchInput = document.querySelector('.search-overlay-input-container__input');\r\n var searchOverlay = document.querySelector('#js-search-overlay');\r\n\r\n this.init = function () {\r\n var searchButton = document.querySelector('#js-search-overlay-trigger');\r\n\r\n if (!searchButton) {\r\n return;\r\n }\r\n // Open search overlay\r\n searchButton.addEventListener('click', clickSearchButton);\r\n };\r\n\r\n function clickSearchButton(e) {\r\n e.preventDefault();\r\n\r\n closeOverlayHandler();\r\n body.classList.add('search-overlay-open');\r\n searchInput.focus();\r\n }\r\n\r\n function closeOverlayHandler() {\r\n document.addEventListener('keydown', handleEsc, true);\r\n document.addEventListener('click', handleClick, true);\r\n }\r\n\r\n function closeSearchOverlay() {\r\n body.classList.remove('search-overlay-open');\r\n searchInput.blur();\r\n searchInput.value = '';\r\n document.removeEventListener('keydown', handleEsc, true);\r\n document.removeEventListener('click', handleClick, true);\r\n }\r\n\r\n function handleEsc(e) {\r\n if (e.keyCode === 27) {\r\n closeSearchOverlay();\r\n }\r\n }\r\n\r\n function handleClick(e) {\r\n var targetElement = e.target;\r\n do {\r\n if (targetElement == searchOverlay) {\r\n // This is a click inside. Do nothing, just return.\r\n return;\r\n }\r\n targetElement = targetElement.parentNode;\r\n } while (targetElement);\r\n\r\n // This is a click outside.\r\n closeSearchOverlay();\r\n }\r\n}();\r\n","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.list = novicell.list || new function () {\r\n this.init = function(data) {\r\n const listWrappers = document.querySelectorAll('.list-wrapper');\r\n \r\n if(!listWrappers) {\r\n return;\r\n }\r\n \r\n Vue.directive('init', {\r\n bind: function(el, binding, vnode) {\r\n // convert kebab-case to camelCase\r\n let arg = binding.arg.split('-').map((arg, index) => {\r\n return (index > 0) ? arg[0].toUpperCase() + arg.substring(1) : arg;\r\n }).join('');\r\n\r\n vnode.context[arg] = binding.value;\r\n }\r\n });\r\n\r\n for (var i = 0; i < listWrappers.length; i++) {\r\n let currentList = listWrappers[i];\r\n\r\n new Vue({\r\n el: currentList,\r\n data: {\r\n listItems: [],\r\n filteredListItems: [],\r\n filters : {}\r\n },\r\n mounted: function () {\r\n this.filteredListItems = this.listItems;\r\n },\r\n methods: {\r\n addSelectedFilters: function (filterItem, filterGroup) {\r\n var currentGroup = this.filters[filterGroup];\r\n\r\n if (!currentGroup || !currentGroup.length) {\r\n currentGroup = [];\r\n }\r\n\r\n var index = currentGroup.indexOf(filterItem);\r\n if (index > -1) {\r\n currentGroup.splice(index, 1);\r\n } else {\r\n currentGroup.push(filterItem);\r\n }\r\n\r\n this.filters[filterGroup] = currentGroup;\r\n this.filterItems();\r\n },\r\n filterItems: function() {\r\n var _filteredListItem = this.listItems;\r\n for (var k in this.filters) {\r\n if (this.filters.hasOwnProperty(k)) {\r\n var currentFilter = this.filters[k];\r\n\r\n if( currentFilter.length ) {\r\n _filteredListItem = _filteredListItem.filter(function(item) {\r\n var selectedGroup = item.FilterGroups.find(function(group) {\r\n return group.Id == k;\r\n });\r\n \r\n if (selectedGroup) {\r\n return selectedGroup.FilterItems.find(function(filterItem) {\r\n return currentFilter.indexOf(filterItem.Id) > -1;\r\n });\r\n }\r\n });\r\n }\r\n \r\n }\r\n }\r\n\r\n this.filteredListItems = _filteredListItem;\r\n },\r\n containsObject: function (obj, list) {\r\n return list.some(function(item) {\r\n return obj.Name === item.Name;\r\n });\r\n },\r\n // Returns comma seperated string with all filters for an item\r\n getDataFilters: function (item) {\r\n let dataFilterString = '';\r\n\r\n if(!item.FilterItems || !item.FilterItems.length) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < item.FilterItems.length; i++) {\r\n let currentFilter = item.FilterItems[i];\r\n dataFilterString = dataFilterString + currentFilter.Id;\r\n \r\n //Add comma after each filter, exept the last one\r\n if(i + 1 != item.FilterItems.length) {\r\n dataFilterString += ',';\r\n }\r\n }\r\n return dataFilterString;\r\n },\r\n getFilterItemsFromGroup: function (groupName) {\r\n let filterItems = [];\r\n\r\n return filterItems;\r\n }\r\n }\r\n });\r\n }\r\n };\r\n}();","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.tabs = novicell.tabs || new function () {\r\n const classActiveNavTab = 'tabs__nav-item--active';\r\n const classActiveContentTab = 'tabs__pane--active';\r\n this.init = function(data) {\r\n const tabsWrappers = document.getElementsByClassName('tabs');\r\n if(!tabsWrappers.length) {\r\n return;\r\n }\r\n const tabsLinks = document.querySelectorAll('.tabs__nav-link');\r\n \r\n for(var i = 0; i < tabsLinks.length; i++){\r\n tabsLinks[i].addEventListener('click', onTabClick, false);\r\n }\r\n };\r\n //this.onTabClick = function(event) {\r\n function onTabClick(event) {\r\n event.preventDefault();\r\n let currentTabSet = closestByClass(event.target,'tabs');\r\n if(currentTabSet==null){\r\n return;\r\n }\r\n var activeNavTabs = currentTabSet.getElementsByClassName(classActiveNavTab);\r\n \r\n // deactivate existing active tab and panel\r\n for (var i=0; i < activeNavTabs.length; i++){\r\n activeNavTabs[i].classList.remove(classActiveNavTab);\r\n }\r\n \r\n var activeContentTabs = currentTabSet.getElementsByClassName(classActiveContentTab);\r\n \r\n // deactivate existing active tab and panel\r\n for (i=0; i < activeContentTabs.length; i++){\r\n activeContentTabs[i].classList.remove(classActiveContentTab);\r\n }\r\n \r\n // activate new tab and panel\r\n event.target.parentElement.classList.add(classActiveNavTab);\r\n currentTabSet.querySelector('#'+event.target.href.split('#')[1]).classList.add(classActiveContentTab);\r\n }\r\n\r\n function closestByClass (el, clazz) {\r\n // Traverse the DOM up with a while loop\r\n while (el.classList == undefined || !el.classList.contains(clazz)) {\r\n // Increment the loop to the parent node\r\n el = el.parentNode;\r\n if (!el ) {\r\n return null;\r\n }\r\n }\r\n // At this point, the while loop has stopped and `el` represents the element that has\r\n // the class you specified in the second parameter of the function `clazz`\r\n \r\n // Then return the matched element\r\n return el;\r\n }\r\n}();","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.accordion = novicell.accordion || new function () {\r\n const accordionTriggers = document.querySelectorAll('.js-accordion-item-trigger');\r\n const accordionImages = document.querySelectorAll('.js-accordion-item-image');\r\n const itemOpenClass = 'accordion-item--open';\r\n const imageOverlaySelector = '.js-accordion-image-overlay-content';\r\n const accordionImageOverlay = document.querySelector(imageOverlaySelector);\r\n\r\n this.init = function () {\r\n if (!accordionTriggers && accordionTriggers.length <= 0) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < accordionTriggers.length; i++) {\r\n let currentTrigger = accordionTriggers[i];\r\n\r\n currentTrigger.addEventListener('click', function(event) {\r\n openAccordionItem(event);\r\n });\r\n }\r\n\r\n if(!accordionImages && accordionImages.length <= 0) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < accordionImages.length; i++) {\r\n let currentImage = accordionImages[i];\r\n\r\n currentImage.addEventListener('click', function() {\r\n openImageInOverlay();\r\n });\r\n }\r\n };\r\n\r\n function openAccordionItem(e) {\r\n let triggerItem = e.currentTarget;\r\n let parent = triggerItem.parentNode;\r\n\r\n if(novicell.helper.hasClass(parent, itemOpenClass)) {\r\n closeItem(parent);\r\n\r\n } else {\r\n closeAllItemsInAccordion(parent.parentNode);\r\n openItem(parent);\r\n }\r\n }\r\n\r\n function closeAllItemsInAccordion(accordion) {\r\n let openItems = accordion.querySelectorAll('.js-accordion-item.accordion-item--open');\r\n\r\n for (let i = 0; i < openItems.length; i++) {\r\n let currentItem = openItems[i];\r\n\r\n closeItem(currentItem);\r\n }\r\n }\r\n\r\n function openItem(item) {\r\n item.classList.add(itemOpenClass);\r\n }\r\n\r\n function closeItem(item) {\r\n item.classList.remove(itemOpenClass);\r\n }\r\n\r\n function openImageInOverlay() {\r\n let imageClicked = event.currentTarget.querySelector('img');\r\n let overlayImage = accordionImageOverlay.querySelector('img');\r\n\r\n overlayImage.setAttribute('data-src', imageClicked.getAttribute('src'));\r\n\r\n novicell.overlay.create({\r\n 'class': 'accordion-image-overlay',\r\n 'selector': imageOverlaySelector\r\n });\r\n }\r\n};\r\n","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.brandSlider = novicell.brandSlider || new function () {\r\n this.init = function(data) {\r\n const brandSlider = document.querySelectorAll('.brand-slider');\r\n\r\n if(!brandSlider) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < brandSlider.length; i++) {\r\n const slideshowElm = brandSlider[i];\r\n const flkty = new Flickity( slideshowElm, {\r\n // options\r\n cellAlign: 'left',\r\n contain: true,\r\n wrapAround: false,\r\n pageDots: false,\r\n groupCells: 1\r\n });\r\n \r\n }\r\n\r\n };\r\n}();","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.embedMedia = novicell.embedMedia || new function () {\r\n var playButtons = document.querySelectorAll('.js-video-overlay-trigger');\r\n this.init = function() {\r\n for (var index = 0; index < playButtons.length; index++) {\r\n var button = playButtons[index];\r\n button.addEventListener(\"click\", function(e){\r\n e.preventDefault();\r\n var currentButton = e.currentTarget;\r\n var videoId = currentButton.dataset.videoId;\r\n var videoType = currentButton.dataset.videoType;\r\n setVideoContent(currentButton, videoId, videoType);\r\n });\r\n }\r\n };\r\n \r\n function setVideoContent (button, videoId, videoType) {\r\n var parent = findAncestor(button, 'embed-media');\r\n var iframeContainer = parent.querySelector('.embed-media__iframe-container');\r\n createIframe(videoId, videoType, iframeContainer, parent);\r\n }\r\n\r\n function createIframe (videoId, videoType, iframeContainer, parent) {\r\n if (videoId !== null) {\r\n var src = '';\r\n if(videoType == 'vimeo') {\r\n src = 'https://player.vimeo.com/video/' + videoId + '?autoplay=1';\r\n }\r\n else if(videoType == 'youtube') {\r\n src = 'https://www.youtube.com/embed/' + videoId + '?autoplay=1&rel=0';\r\n }\r\n else {\r\n return;\r\n }\r\n\r\n var iframe = document.createElement('iframe');\r\n iframe.setAttribute('src', src);\r\n iframe.setAttribute('frameborder', 0);\r\n iframe.setAttribute('allowfullscreen', '');\r\n iframe.setAttribute('width', '100%');\r\n iframe.setAttribute('height', '100%');\r\n\r\n iframeContainer.innerHTML = iframe.outerHTML;\r\n\r\n parent.classList.add('embed-media--active');\r\n\r\n } else {\r\n console.warn('novicell.overlay: video-id is empty. Please provide a video-id for use in video embed code (we support only Vimeo and YouTube).');\r\n return;\r\n }\r\n }\r\n function findAncestor (el, cls) {\r\n while ((el = el.parentElement) && !el.classList.contains(cls));\r\n return el;\r\n }\r\n}();","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.keyNumbers = novicell.keyNumbers || new function () {\r\n this.init = function () {\r\n const keyNumbers = document.querySelectorAll('.js-key-numbers');\r\n\r\n // return if no keynumbers\r\n if (!keyNumbers || keyNumbers.length <= 0) {\r\n return;\r\n }\r\n\r\n // loop all keynumbers\r\n for (let i = 0; i < keyNumbers.length; i++) {\r\n let currentkeyNumber = keyNumbers[i];\r\n // animate if is visible and not already animated\r\n if (novicell.helper.isVisible(currentkeyNumber) && !currentkeyNumber.classList.contains('js-key-numbers--animated')) {\r\n const value = currentkeyNumber.getAttribute('data-number');\r\n const options = {\r\n useEasing: true,\r\n useGrouping: true,\r\n separator: '.',\r\n };\r\n let countUp = new CountUp(currentkeyNumber, 0, value, 0, 2.5, options);\r\n\r\n if (!countUp.error) {\r\n countUp.start();\r\n } else {\r\n console.error(countUp.error);\r\n }\r\n currentkeyNumber.classList.add('js-key-numbers--animated'); \r\n }\r\n }\r\n };\r\n}();\r\n","'use strict';\r\n\r\n\r\nvar novicell = novicell || {};\r\nvar stocks_weights = stocks_weights || null;\r\nvar stocks_names = stocks_names || null;\r\nvar obligations_weights = obligations_weights || null;\r\nvar obligations_names = obligations_names || null;\r\n\r\n\r\n\r\nnovicell.productInventoryListGraphs = novicell.productInventoryListGraphs || new function () \r\n{\r\n var mainColorRGB='0, 104, 144';\r\n var arrMainColorOpacities=['1'];\r\n var objMainColorsRgba={};\r\n\r\n var arrTooltips = ['tt','tt2'];\r\n this.showTooltip=function(currentValue,left,right,top,bottom,id){\r\n //show tooltip on hover, centered in donut chart\r\n let currentTooltipElement = document.getElementById(id);\r\n var centerX = ((left + right) / 2);\r\n var centerY = ((top + bottom) / 2);\r\n var formattedValue = currentValue.toString().replace('.',',');\r\n \r\n // add unit (%)\r\n currentTooltipElement.innerText=currentValue!=''?formattedValue + '%' :'';\r\n\r\n currentTooltipElement.style.left=centerX+'px';\r\n currentTooltipElement.style.top=centerY+'px';\r\n };\r\n this.initDonutChart = function (graphContainer) {\r\n var self = this;\r\n \r\n Vue.component('doughnut', {\r\n extends: VueChartJs.Doughnut,\r\n mixins: [VueChartJs.mixins.reactiveProp],\r\n props:['chartData','options'],\r\n mounted() {\r\n this.renderChart(this.chartData, this.options);\r\n }\r\n });\r\n \r\n // vars for keeping track of what's hovered (it can be legends or donut parts, and keep track of the index)\r\n var hoveredDatasetIndex = -1;\r\n var hoveredChartDatasetIndex = -1;\r\n var chartHover = false;\r\n var donutEntered = false;\r\n\r\n var vm = new Vue({\r\n el: graphContainer,\r\n data: {\r\n options:{\r\n responsive: true, \r\n maintainAspectRatio: false,\r\n hover: {\r\n onHover: function(e) {\r\n // reset hover settings, if you're not hovering over the donut chart itself and the hoveredChartDatasetIndex says no element is hovered\r\n if(donutEntered==true){\r\n donutEntered=false;\r\n }\r\n if(!chartHover){\r\n if(hoveredChartDatasetIndex==-1){\r\n var tooltipBoxId = this.data.tooltipId;\r\n self.showTooltip('',0,0,0,0,tooltipBoxId);\r\n \r\n var ci = this.chart;\r\n ci.updateHoverStyle(ci.getDatasetMeta(0).data, null, false);\r\n \r\n let correspondingLegends = this.legend.legendItems;\r\n for(var i = 0 ; i < correspondingLegends.length ; i++){\r\n let correspondingLegendOriginalColor = this.chart.data.datasets[0].backgroundColor[i];\r\n correspondingLegends[i].fillStyle = correspondingLegendOriginalColor;\r\n }\r\n }\r\n hoveredDatasetIndex=-1;\r\n }\r\n }\r\n },\r\n legend:{\r\n display:false\r\n },\r\n layout:{\r\n padding:{\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n }\r\n },\r\n tooltips: {\r\n enabled: false,\r\n callbacks: {\r\n label: function(tooltipItem, data) {\r\n donutEntered=true;\r\n // show tooltip, if you're not hovering over the donut chart itself\r\n hoveredChartDatasetIndex=tooltipItem.index;\r\n let currentValue = data.datasets[0].data[tooltipItem.index];\r\n var tooltipBoxId = data.tooltipId;\r\n self.showTooltip(currentValue,this._chart.chartArea.left,this._chart.chartArea.right,this._chart.chartArea.top,this._chart.chartArea.bottom,tooltipBoxId);\r\n }\r\n },\r\n mode: 'index',\r\n // intersect: false, ---- don't add this or hover will be unreliable\r\n custom: function(tooltipModel) {\r\n if (tooltipModel.body == undefined) {\r\n // reset hover setting, if you're not hovering\r\n\r\n var ci = this._chart.chart;\r\n ci.updateHoverStyle(ci.getDatasetMeta(0).data, null, false);\r\n \r\n let legends = document.getElementsByClassName('product-inventory-list-graphs__list-item');\r\n for(var j = 0 ; j < legends.length ; j++){\r\n legends[j].classList.remove('product-inventory-list-graphs__list-item--active');\r\n }\r\n \r\n hoveredDatasetIndex = -1;\r\n hoveredChartDatasetIndex=-1;\r\n ci.render();\r\n var tooltipBoxId = this._chart.data.tooltipId;\r\n\r\n self.showTooltip('',0,0,0,0,tooltipBoxId);\r\n chartHover=false;\r\n \r\n }else{\r\n // hover settings, if you're not hovering over one of the legends\r\n let type = 'share';\r\n if(this._chart.data.tooltipId == \"tooltipBonds\"){\r\n type = 'bond';\r\n }\r\n hoveredDatasetIndex=hoveredChartDatasetIndex;\r\n chartHover=true;\r\n let legends = document.getElementsByClassName('product-inventory-list-graphs__list-item');\r\n for(var k = 0 ; k < legends.length ; k++){\r\n legends[k].classList.remove('product-inventory-list-graphs__list-item--active');\r\n }\r\n \r\n let correspondingLegendHolder =document.querySelectorAll('[data-type='+type+']')[0];//[hoveredDatasetIndex];\r\n let correspondingLegend = correspondingLegendHolder.children[hoveredDatasetIndex];\r\n correspondingLegend.classList.add('product-inventory-list-graphs__list-item--active');\r\n hoveredDatasetIndex=-1;\r\n }\r\n }\r\n }\r\n },\r\n shareTooltipId:'tooltipShares',\r\n bondTooltipId:'tooltipBonds',\r\n bondDatacollection: {},\r\n shareDatacollection: {},\r\n legendary:[]\r\n },\r\n mounted() {\r\n this.fillData('share');\r\n this.fillData('bond');\r\n },\r\n methods: {\r\n showColor:function(index,type){\r\n if(type=='share'){\r\n return 'color:'+this._data.shareDatacollection.datasets[0].backgroundColor[index];\r\n }\r\n else if(type=='bond'){\r\n return 'color:'+this._data.bondDatacollection.datasets[0].backgroundColor[index];\r\n }\r\n },\r\n legendEnter:function(event){\r\n if(event.type=='click'){\r\n return;\r\n }\r\n var ul = event.target.parentNode;\r\n let typeIndex=0;\r\n if(ul.getAttribute('data-type')=='bond')\r\n {\r\n if(this.$children[1] != undefined){/**if there's only stock or only bonds index 0 won't exist */\r\n typeIndex=1;\r\n }\r\n }\r\n\r\n var nodes = Array.prototype.slice.call( ul.children );\r\n\r\n var hoveredDatasetIndex = nodes.indexOf(event.target);\r\n var ci = this.$children[typeIndex]._data._chart;\r\n var arr = [];\r\n arr.push(ci.getDatasetMeta(0).data[hoveredDatasetIndex]);\r\n ci.updateHoverStyle(ci.getDatasetMeta(0).data, null, false);\r\n ci.updateHoverStyle(arr, null, true);\r\n ci.render();\r\n let theLegends = ci.legend.legendItems;\r\n let legendItem = theLegends[hoveredDatasetIndex];\r\n for(let i = 0 ; i < theLegends.length ; i++){\r\n theLegends[i].fillStyle = ci.data.datasets[0].backgroundColor[i];\r\n }\r\n legendItem.fillStyle=objMainColorsRgba.o1;\r\n\r\n var chartConfig = ci.config;\r\n let currentValue = chartConfig.data.datasets[0].data[hoveredDatasetIndex];\r\n var tooltipBoxId = ci.data.tooltipId;\r\n self.showTooltip(currentValue,ci.chartArea.left,ci.chartArea.right,ci.chartArea.top,ci.chartArea.bottom,tooltipBoxId);\r\n },\r\n legendLeave:function(event){\r\n if(donutEntered){\r\n return;\r\n }\r\n var ul = event.target.parentNode;\r\n let typeIndex=0;\r\n if(ul.getAttribute('data-type')=='bond')\r\n {\r\n if(this.$children[1] != undefined){/**if there's only stock or only bonds index 0 won't exist */\r\n typeIndex=1;\r\n }\r\n }\r\n\r\n var nodes = Array.prototype.slice.call( ul.children );\r\n var hoveredDatasetIndex = nodes.indexOf(event.target);\r\n var ci = this.$children[typeIndex]._data._chart;//this.chart;\r\n var arr = [];\r\n arr.push(ci.getDatasetMeta(0).data[hoveredDatasetIndex]);\r\n ci.updateHoverStyle(ci.getDatasetMeta(0).data, null, false);\r\n ci.render();\r\n var tooltipBoxId = ci.data.tooltipId;\r\n self.showTooltip('',0,0,0,0,tooltipBoxId);\r\n },\r\n fillData: function(type) {\r\n // general datavalues that both donut charts should use\r\n const datacollection = [{\r\n datasets: [{\r\n borderWidth:1,\r\n label: [],\r\n backgroundColor: [\r\n 'rgb(102, 102, 102)',\r\n 'rgb(111, 111, 111)',\r\n 'rgb(119, 119, 119)',\r\n 'rgb(128, 128, 128)',\r\n 'rgb(136, 136, 136)',\r\n 'rgb(145, 145, 145)',\r\n 'rgb(153, 153, 153)',\r\n 'rgb(162, 162, 162)',\r\n 'rgb(170, 170, 170)',\r\n 'rgb(179, 179, 179)',\r\n 'rgb(187, 187, 187)',\r\n 'rgb(195, 195, 195)',\r\n 'rgb(204, 204, 204)',\r\n 'rgb(213, 213, 213)',\r\n 'rgb(221, 221, 221)',\r\n 'rgb(230, 230, 230)',\r\n 'rgb(238, 238, 238)',\r\n 'rgb(247, 247, 247)'\r\n ],\r\n hoverBackgroundColor: [\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1,\r\n objMainColorsRgba.o1\r\n ]\r\n }]\r\n }];\r\n\r\n // take the data specific for this donut chart and transform it, since we need values and labels in separate arrays for chartjs\r\n var dataValues=[];\r\n var dataLabels=[];\r\n\r\n var newDatacollection = [...datacollection];\r\n // fill in with correct data\r\n if(type == 'share'){\r\n dataValues = stocks_weights;\r\n dataLabels = stocks_names;\r\n this.shareDatacollection=newDatacollection[0];\r\n this.shareDatacollection.labels = dataLabels;\r\n this.shareDatacollection.datasets[0].data = dataValues; \r\n this.shareDatacollection.tooltipId = this.shareTooltipId;\r\n } else {\r\n dataValues = obligations_weights;\r\n dataLabels = obligations_names;\r\n this.bondDatacollection=newDatacollection[0];\r\n this.bondDatacollection.labels = dataLabels;\r\n this.bondDatacollection.datasets[0].data = dataValues; \r\n this.bondDatacollection.tooltipId = this.bondTooltipId;\r\n }\r\n }\r\n }\r\n }); \r\n };\r\n this.setColors = function(graphContainer){\r\n // color for graphs = button color\r\n\r\n let testButton = document.createElement('button');\r\n testButton.id = 'js-testButton';\r\n testButton.classList.add('theme-button');\r\n testButton.setAttribute('style','position:fixed;left:-3333px;');\r\n graphContainer.appendChild(testButton);\r\n let colorString = getComputedStyle(document.getElementById('js-testButton')).backgroundColor;\r\n colorString = colorString.replace('rgb(','');\r\n colorString = colorString.replace(')','');\r\n mainColorRGB = colorString;\r\n for(var i = 0 ; i < arrMainColorOpacities.length ; i++){\r\n objMainColorsRgba['o'+arrMainColorOpacities[i]] = 'rgba('+mainColorRGB+','+arrMainColorOpacities[i]+')';\r\n }\r\n };\r\n this.init = function () {\r\n \r\n const graphContainer = document.getElementById('js-product-inventory-list-graphs-container');\r\n if (graphContainer == null) {\r\n return;\r\n }\r\n this.setColors(graphContainer);\r\n this.initDonutChart(graphContainer);\r\n \r\n };\r\n \r\n}();\r\n","'use strict';\r\n\r\n\r\nvar novicell = novicell || {};\r\nvar sliderMinYear = sliderMinYear || null;\r\nvar sliderMaxYear = sliderMaxYear || null;\r\nvar historicsNames = historicsNames || null;\r\nvar historicsValues = historicsValues || null;\r\nvar annualReturnsNames = annualReturnsNames || null;\r\nvar annualReturnsValues = annualReturnsValues || null;\r\n\r\nnovicell.productReturnGraphs = novicell.productReturnGraphs || new function () {\r\n \r\n var mainColorRGB='0, 104, 144';\r\n var arrMainColorOpacities=['1'];\r\n var objMainColorsRgba={};\r\n const sliderBus = new Vue();\r\n \r\n this.initBarChartSlider = function (barGraphSliderContainer){\r\n new Vue( {\r\n el: barGraphSliderContainer,\r\n data () {\r\n return {\r\n value:[sliderMinYear,sliderMaxYear],\r\n options: {\r\n data: null,\r\n eventType: 'auto',\r\n width: 'auto',\r\n height: 6,\r\n dotSize: 16,\r\n dotHeight: null,\r\n dotWidth: null,\r\n min: sliderMinYear,\r\n max: sliderMaxYear,\r\n interval: 1,\r\n show: true,\r\n speed: 0.5,\r\n disabled: false,\r\n piecewise: false,\r\n usdKeyboard: false,\r\n enableCross: true,\r\n piecewiseLabel: false,\r\n piecewiseActiveStyle: null,\r\n tooltip: 'always',\r\n tooltipDir: 'top',\r\n reverse: false,\r\n clickable: true,\r\n realTime: false,\r\n lazy: false,\r\n formatter: null,\r\n sliderStyle: null,\r\n labelStyle: null,\r\n labelActiveStyle: null,\r\n bgStyle: {\r\n \"backgroundColor\": \"#f2f2f2\",\r\n },\r\n tooltipStyle: {\r\n \r\n \"backgroundColor\": objMainColorsRgba.o1,\r\n \"borderColor\": objMainColorsRgba.o1,\r\n 'padding':'0 3px',\r\n 'lineHeight':1.3\r\n },\r\n processStyle: {\r\n \"backgroundColor\": objMainColorsRgba.o1\r\n }\r\n }\r\n };\r\n },\r\n methods: {\r\n sliderChange (v) {\r\n sliderBus.$emit('sliderValueChange',v);\r\n }\r\n },\r\n components: {\r\n 'vueSlider': window[ 'vue-slider-component' ],\r\n }\r\n });\r\n };\r\n this.initLineChart = function (graphContainer) {\r\n Vue.component('line-chart', {\r\n extends: VueChartJs.Line,\r\n props: ['options'],\r\n mixins: [VueChartJs.mixins.reactiveProp],\r\n mounted () {\r\n this.renderChart(this.chartData, this.options);\r\n }\r\n });\r\n var latestYear=0;\r\n \r\n var vm = new Vue({\r\n el: graphContainer,\r\n data: {\r\n show: true,\r\n message: {},\r\n options: {\r\n tooltips: {\r\n // Disable the on-canvas tooltip\r\n enabled: false,\r\n \r\n custom: function(tooltipModel) {\r\n // Tooltip Element\r\n var tooltipEl = document.getElementById('chartjs-tooltip');\r\n \r\n var innerHtml = '';\r\n \r\n // Create element on first render\r\n if (!tooltipEl) {\r\n tooltipEl = document.createElement('div');\r\n tooltipEl.id = 'chartjs-tooltip';\r\n tooltipEl.innerHTML = \"
\";\r\n document.body.appendChild(tooltipEl);\r\n }\r\n \r\n // Hide if no tooltip\r\n if (tooltipModel.opacity === 0) {\r\n tooltipEl.style.opacity = 0;\r\n return;\r\n }\r\n \r\n // Set caret Position\r\n tooltipEl.classList.remove('above', 'below', 'no-transform');\r\n if (tooltipModel.yAlign) {\r\n tooltipEl.classList.add(tooltipModel.yAlign);\r\n } else {\r\n tooltipEl.classList.add('no-transform');\r\n }\r\n \r\n function getBody(bodyItem) {\r\n return bodyItem.lines;\r\n }\r\n \r\n // Set Text\r\n if (tooltipModel.body) {\r\n var titleLines = tooltipModel.title || [];\r\n var bodyLines = tooltipModel.body.map(getBody);\r\n \r\n bodyLines.forEach(function(body, i) {//value\r\n body=body[0]*1;\r\n var float=Math.round(body);\r\n var string = float.toString();\r\n string = string.replace(/\\B(?=(\\d{3})+(?!\\d))/g, '#');\r\n string = string.replace(/\\./g, ',');\r\n string = string.replace(/#/g, '.');\r\n innerHtml += '' + string + '';\r\n });\r\n \r\n titleLines.forEach(function(title) {\r\n innerHtml += '' + title + '';\r\n });\r\n \r\n var tableRoot = tooltipEl.querySelector('div');\r\n tableRoot.innerHTML = innerHtml;\r\n }\r\n \r\n // `this` will be the overall tooltip\r\n var position = this._chart.canvas.getBoundingClientRect();\r\n \r\n // Display, position, and set styles for font\r\n tooltipEl.style.opacity = 1;\r\n tooltipEl.style.position = 'absolute';\r\n tooltipEl.style.left = position.left + window.pageXOffset + tooltipModel.caretX + 'px';\r\n tooltipEl.style.top = position.top + window.pageYOffset + tooltipModel.caretY + 'px';\r\n tooltipEl.style.fontFamily = tooltipModel._bodyFontFamily;\r\n tooltipEl.style.fontSize = tooltipModel.bodyFontSize + 'px';\r\n tooltipEl.style.fontStyle = tooltipModel._bodyFontStyle;\r\n tooltipEl.style.padding = tooltipModel.yPadding + 'px ' + tooltipModel.xPadding + 'px';\r\n tooltipEl.style.background = '#b3b1b3';\r\n tooltipEl.style.WebkitTransform = 'translate(-50%,-100%)';\r\n tooltipEl.style.transform = 'translate(-50%,-100%)';\r\n tooltipEl.style.margin = '-20px 0 0 0';\r\n tooltipEl.style.borderRadius = '3px';\r\n tooltipEl.style.textAlign = 'center';\r\n tooltipEl.style.padding = '3px 5px';\r\n tooltipEl.style.pointerEvents = 'none';\r\n tooltipEl.style.color = '#fff';\r\n }\r\n },\r\n hover: {\r\n mode: 'nearest',\r\n intersect: true\r\n },\r\n responsive: true,\r\n animation: {\r\n duration:1000\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n //max: Math.max(...hhh)*1.13,\r\n },\r\n gridLines : {\r\n drawBorder : false,\r\n color:'#eee',\r\n zeroLineColor: '#eee',\r\n lineWidth:1,\r\n zeroLineWidth:2\r\n }\r\n }],\r\n xAxes: [{\r\n /* \r\n display:false,\r\n ticks: {\r\n display : false\r\n },\r\n */\r\n gridLines : {\r\n display: false,\r\n drawBorder : false\r\n } \r\n }]\r\n },\r\n legend: {\r\n display: false\r\n },\r\n layout: {\r\n padding: {\r\n top: 5\r\n }\r\n }\r\n },\r\n availableLabels: historicsNames,\r\n availableData: historicsValues,// 60 values since it's 5 years...?\r\n availableMonths:[],\r\n selectOne: '60',\r\n selectOptions:{\r\n months: ['Januar','Februar','Marts','April','Maj','Juni','Juli','August','September','Oktober','November','December'],\r\n years:[]\r\n },\r\n labelStartTime:'Starttidspunkt',\r\n labelEndTime:'Sluttidspunkt',\r\n selectErrors:[]\r\n },\r\n computed:{\r\n getSizes:function(){\r\n let obj={width:27,height:10};\r\n if (window.matchMedia(\"(max-width: 479px)\").matches) {\r\n obj.height=17;\r\n }\r\n return obj;\r\n },\r\n selectValues:function(){\r\n var obj = {\r\n startYear:'',\r\n endYear:'',\r\n startMonth:'',\r\n endMonth:''\r\n };\r\n return obj;\r\n },\r\n formattedSelectErrors:function(){\r\n if(this.selectErrors.length){\r\n var strHtml = '