{"version":3,"sources":["master.js","03-organisms/navigation/sub-navigation/sub-navigation.js","helpers/utility.helper.js","02-molecules/article-list/article-list.js","02-molecules/contacts-search/contacts-search.js","02-molecules/counters-section/counters-section.js","02-molecules/filter-section/filter-section.js","02-molecules/image-download-section/image-download-section.js","02-molecules/internal-video/internal-video.js","02-molecules/language-picker/language-picker.js","02-molecules/news-carousel/news-carousel.js","02-molecules/orientation-list/orientation-list.js","02-molecules/overview-list/overview-list.js","02-molecules/search-overlay/search-overlay.js","03-organisms/list/list.js","grid-editors/accordion/accordion.js","grid-editors/brand-slider/brand-slider.js","grid-editors/embed-media/embed-media.js","grid-editors/image-map/image-map.js","grid-editors/key-numbers/key-numbers.js","grid-editors/slideshow/slideshow.js","03-organisms/navigation/site-navigation/site-navigation.js"],"names":["novicell","projectName","resize","keyNumbers","init","onScroll","clickToggle","elem","preventDefault","toggleParent","currentTarget","parentNode","toggleGrandparent","helper","toggleClass","openSubNavs","querySelectorAll","i","length","el","classList","remove","document","addEventListener","cookieInfo","siteNavigation","slideshow","countersSection","search","list","brandSlider","filterSection","languagePicker","embedMedia","accordion","newsCarousel","internalVideo","orientationList","articleList","overviewList","imageMap","buttonsWithLink","setTimeout","svg4everybody","e","window","onscroll","debounce","onresize","this","add","findAncestor","cls","parentElement","contains","className","toggle","classes","split","existingIndex","indexOf","splice","push","join","hasClass","isVisible","element","rect","getBoundingClientRect","html","documentElement","top","left","bottom","innerHeight","clientHeight","right","innerWidth","clientWidth","querySelector","siteNodeId","body","getAttribute","Vue","data","params","pageNumber","itemsPerPage","selectedTag","articlesList","loadingComplete","methods","onFilterChange","console","log","resetParams","_this","axios","get","then","response","catch","error","goToPreviousPage","goToNextPage","beforeMount","updated","$nextTick","articleCards","articleCardsLength","calculateArticleList","contactsSearch","contactFilterToggle","contactFilterOverlay","counters","counter","endVal","dataset","target","parseFloat","decimals","duration","customSettings","useEasing","useGrouping","separator","decimal","suffix","prefix","CountUp","start","filterDropdDownActiveClass","handleEsc","keyCode","closeAll","classHolder","getElementsByClassName","y","removeEventListener","filterDropdownTriggers","event","newTarget","imageViewMaximized","triggers","_loop","trigger","createElement","img","src","appendChild","overlay","create","class","internalVideoPlayButtons","index","playButton","video","nextElementSibling","load","play","getElementById","languagePickerList","activeClass","clickTrigger","handleClick","closeLanguagePicker","targetElement","portals","checked","onChange","orientationsList","searchOverlay","searchTerm","limit","previewList","items","open","scrollbar","searchInput","focus","onBlur","onFocus","itemsLength","content","forEach","listImageUrl","listWrappers","directive","bind","binding","vnode","arg","map","toUpperCase","substring","context","value","currentList","listItems","filteredListItems","filters","mounted","addSelectedFilters","filterItem","filterGroup","currentGroup","filterItems","_filteredListItem","k","hasOwnProperty","currentFilter","filter","item","selectedGroup","FilterGroups","find","group","Id","FilterItems","containsObject","obj","some","Name","getDataFilters","dataFilterString","getFilterItemsFromGroup","groupName","accordionTriggers","accordionImages","itemOpenClass","imageOverlaySelector","accordionImageOverlay","openAccordionItem","parent","closeItem","openItems","currentItem","closeAllItemsInAccordion","openImageInOverlay","imageClicked","setAttribute","selector","slideshowElm","Flickity","cellAlign","contain","wrapAround","pageDots","groupCells","playButtons","videoId","videoType","iframeContainer","currentButton","warn","iframe","innerHTML","outerHTML","createIframe","imageMaps","imageDna","dimsMustBeClosed","outerWidth","width","offsetWidth","style","getComputedStyle","parseInt","marginLeft","marginRight","imageMapElm","imageMapPoints","imageMapRightBorder","closest","flexDirection","p","speechBubble","speechBubbleWidth","getPropertyValue","replace","pointElm","pointRightBorder","display","dimsIsShowen","_loop2","popup","currentkeyNumber","countUp","slideshows","allSlides","slideshowNav","navTitle","arrowPlaceholder","cellSelector","autoPlay","hasAttribute","arrowShape","x0","x1","y1","x2","y2","x3","on","ready","textContent","arrows","arrow","change","siteNavigationToggle","siteNavigationList","subNavigation","subNavToggles"],"mappings":"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","file":"master.min.js","sourcesContent":["'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.countersSection.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.newsCarousel.init();\r\n novicell.internalVideo.init();\r\n novicell.orientationList.init();\r\n novicell.articleList.init();\r\n novicell.overviewList.init();\r\n novicell.imageMap.init();\r\n\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\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\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.subNavigation = novicell.subNavigation || new function () {\r\n\r\n this.init = function (siteNavigationList) {\r\n var subNavToggles = siteNavigationList.querySelectorAll('.js-sub-navigation-toggle');\r\n\r\n if (!subNavToggles) {\r\n return;\r\n }\r\n\r\n for (var i = 0; i < subNavToggles.length; i++) {\r\n var currentToggle = subNavToggles[i];\r\n\r\n currentToggle.addEventListener('click', clickToggle);\r\n }\r\n };\r\n\r\n};\r\n\r\nfunction clickToggle(elem) {\r\n elem.preventDefault();\r\n var toggle = elem.currentTarget;\r\n var toggleParent = toggle.parentNode;\r\n var toggleGrandparent = toggleParent.parentNode;\r\n\r\n if (!toggleParent) {\r\n return;\r\n }\r\n\r\n // var subNav = toggleParent.querySelector('.js-sub-navigation');\r\n\r\n /* novicell.helper.toggleClass(subNav, 'sub-navigation--open'); */\r\n novicell.helper.toggleClass(toggleParent, 'site-navigation-list__item--open');\r\n\r\n let openSubNavs = toggleGrandparent.querySelectorAll('.site-navigation-list__item--open');\r\n for (let i = 0; i < openSubNavs.length; i++) {\r\n const el = openSubNavs[i];\r\n if (toggleParent !== el) {\r\n el.classList.remove('site-navigation-list__item--open');\r\n }\r\n }\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.articleList = novicell.articleList || new function () {\r\n\r\n this.init = function () {\r\n var element = document.querySelector('#js-article-list');\r\n if (!element) return;\r\n\r\n var body = document.body;\r\n var siteNodeId = body.getAttribute('siteNodeId');\r\n new Vue({\r\n el: element,\r\n data: {\r\n params: {\r\n siteNodeId: siteNodeId,\r\n pageNumber: 1,\r\n itemsPerPage: 15,\r\n selectedTag: '*'\r\n },\r\n articlesList: {},\r\n loadingComplete: false\r\n },\r\n methods: {\r\n init: function () {\r\n this.list();\r\n },\r\n onFilterChange: function () {\r\n console.log('filter changed');\r\n this.resetParams();\r\n this.list();\r\n },\r\n list: function () {\r\n this.loadingComplete = false;\r\n axios\r\n .get('/umbraco/api/articlesApi/List', {\r\n params: this.params\r\n })\r\n .then(response => {\r\n this.articlesList = response.data;\r\n this.loadingComplete = true;\r\n })\r\n .catch(error => (console.log(error)))\r\n },\r\n goToPreviousPage() {\r\n this.params.pageNumber--;\r\n this.list();\r\n },\r\n goToNextPage() {\r\n this.params.pageNumber++;\r\n this.list();\r\n },\r\n resetParams() {\r\n this.articlesList = {};\r\n this.params.pageNumber = 1;\r\n },\r\n },\r\n beforeMount() {\r\n this.init()\r\n console.log('before mount');\r\n },\r\n updated() {\r\n this.$nextTick(function () {\r\n if (this.loadingComplete) {\r\n calculateArticleList()\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n function calculateArticleList() {\r\n var articleList = document.querySelector('.article-list');\r\n if (!articleList) return;\r\n\r\n var articleCards = articleList.querySelectorAll('.article-card');\r\n if (!articleCards) return;\r\n\r\n var articleCardsLength = articleCards.length;\r\n\r\n articleList.classList.remove('article-list--1-row', 'article-list--2-rows', 'article-list--3-rows');\r\n\r\n if (articleCardsLength >= 0 && articleCardsLength < 4) {\r\n articleList.classList.add('article-list--1-row')\r\n }\r\n\r\n if (articleCardsLength > 3) {\r\n articleList.classList.add('article-list--2-rows')\r\n }\r\n\r\n if (articleCardsLength > 9) {\r\n articleList.classList.add('article-list--3-rows')\r\n }\r\n }\r\n}\r\n","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.contactsSearch = novicell.contactsSearch || new function () {\r\n var contactFilterToggle = document.querySelector('#js-contacts-search-filter-toggle');\r\n var contactFilterOverlay = document.querySelector('#js-contacts-search-filter-overlay');\r\n\r\n if (!contactFilterToggle || !contactFilterOverlay) {\r\n return;\r\n }\r\n\r\n contactFilterToggle.addEventListener('click', function (e) {\r\n e.preventDefault();\r\n\r\n novicell.helper.toggleClass(contactFilterOverlay, 'contacts-search-section__filter-block-form--active');\r\n });\r\n}();\r\n","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\n\r\nnovicell.countersSection = novicell.countersSection || new function () {\r\n var counters = document.querySelectorAll(\".counters-section-counters__block\");\r\n\r\n this.init = function (){\r\n\r\n if(!counters) { return null };\r\n\r\n for (var i = 0; i < counters.length; i++) {\r\n var counter = counters[i];\r\n\r\n var endVal = counter.dataset.target ? parseFloat(counter.dataset.target) : null;\r\n\r\n if (endVal !== null) {\r\n\r\n var target = counter.querySelector(\".counters-section-counters__block--data-holder\");\r\n\r\n if (target !== null)\r\n {\r\n var decimals = counter.dataset.decimals ? counter.dataset.decimals : 2;\r\n var duration = counter.dataset.duration ? counter.dataset.duration : 2;\r\n\r\n var customSettings = {\r\n useEasing: true,\r\n useGrouping: true,\r\n separator: '.',\r\n decimal: ',',\r\n suffix: counter.dataset.suffix ? counter.dataset.suffix : '',\r\n prefix: counter.dataset.prefix ? counter.dataset.prefix : '',\r\n }\r\n\r\n var x = new CountUp(target, 0, endVal, decimals, duration, customSettings);\r\n x.start();\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.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.imageViewMaximized = novicell.imageViewMaximized || new function () {\r\n\r\n var triggers = document.querySelectorAll('.js-image-overlay-trigger');\r\n \r\n for(var i = 0; i < triggers.length; i++)\r\n {\r\n const trigger = triggers[i];\r\n trigger.addEventListener('click', function(e) {\r\n e.preventDefault();\r\n \r\n // var trigger = e.currentTarget;\r\n var elem = document.createElement('div');\r\n var img = document.createElement('img');\r\n \r\n img.src = trigger.getAttribute('data-element');\r\n elem.appendChild(img);\r\n \r\n novicell.overlay.create({\r\n 'element': elem,\r\n 'class': 'image-download-block__overlay'\r\n });\r\n });\r\n }\r\n}();","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\n\r\nnovicell.internalVideo = novicell.internalVideo || new function () {\r\n const internalVideoPlayButtons = document.querySelectorAll('.js-internal-play');\r\n this.init = function () {\r\n if (!internalVideoPlayButtons) return null;\r\n for (let index = 0, length = internalVideoPlayButtons.length; index < length; index++) {\r\n const playButton = internalVideoPlayButtons[index];\r\n const video = playButton.nextElementSibling;\r\n playButton.addEventListener('click', function () {\r\n video.load();\r\n playButton.classList.add('hidden');\r\n video.classList.remove('internal-video__video--hidden');\r\n video.play();\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 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\n\r\nnovicell.newsCarousel = novicell.newsCarousel || new function () {\r\n const portals = document.querySelector('.portals-toggle');\r\n this.init = function () {\r\n if (!portals) return null;\r\n new Vue({\r\n el: portals,\r\n data: {\r\n checked: false\r\n },\r\n methods: {\r\n onChange: function () {\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.orientationList = novicell.orientationList || new function () {\r\n\r\n this.init = function () {\r\n var element = document.querySelector('#js-orientation-list');\r\n if (!element) return;\r\n var body = document.body;\r\n var siteNodeId = body.getAttribute('siteNodeId');\r\n new Vue({\r\n el: element,\r\n data: {\r\n params: {\r\n siteNodeId: siteNodeId,\r\n pageNumber: 1,\r\n itemsPerPage: 20,\r\n selectedTag: 'newest'\r\n },\r\n orientationsList: {}\r\n },\r\n methods: {\r\n init: function () {\r\n this.list();\r\n },\r\n onFilterChange: function () {\r\n this.resetParams();\r\n this.list();\r\n },\r\n list: function () {\r\n axios\r\n .get('/umbraco/api/orientationsApi/List', {\r\n params: this.params\r\n })\r\n .then(response => {\r\n this.orientationsList = response.data;\r\n })\r\n .catch(error => (console.log(error)))\r\n },\r\n goToPreviousPage() {\r\n this.params.pageNumber--;\r\n this.list();\r\n },\r\n goToNextPage() {\r\n this.params.pageNumber++;\r\n this.list();\r\n },\r\n resetParams() {\r\n this.params.pageNumber = 1;\r\n }\r\n },\r\n beforeMount() {\r\n this.init()\r\n }\r\n })\r\n }\r\n}\r\n","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.overviewList = novicell.overviewList || new function () {\r\n\r\n this.init = function () {\r\n var element = document.querySelector('#js-overview-list');\r\n if (!element) return;\r\n var body = document.body;\r\n var siteNodeId = body.getAttribute('siteNodeId');\r\n new Vue({\r\n el: element,\r\n data: {\r\n params: {\r\n siteNodeId: siteNodeId,\r\n pageNumber: 1,\r\n itemsPerPage: 1000,\r\n selectedTag: '*'\r\n },\r\n overviewList: {}\r\n },\r\n methods: {\r\n init: function () {\r\n this.list();\r\n },\r\n onFilterChange: function () {\r\n this.resetParams();\r\n this.list();\r\n },\r\n list: function () {\r\n axios\r\n .get('/api/overviewsApi/List', {\r\n params: this.params\r\n })\r\n .then(response => {\r\n this.overviewList = response.data;\r\n })\r\n .catch(error => (console.log(error)))\r\n },\r\n goToPreviousPage() {\r\n this.params.pageNumber--;\r\n this.list();\r\n },\r\n goToNextPage() {\r\n this.params.pageNumber++;\r\n this.list();\r\n },\r\n resetParams() {\r\n this.params.pageNumber = 1;\r\n }\r\n },\r\n beforeMount() {\r\n this.init()\r\n }\r\n })\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.body;\r\n var siteNodeId = body.getAttribute('siteNodeId');\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\r\n new Vue({\r\n el: searchOverlay,\r\n data: {\r\n params: {\r\n siteNodeId: siteNodeId,\r\n searchTerm: '',\r\n limit: 5\r\n },\r\n previewList: {\r\n items: [],\r\n open: false,\r\n scrollbar: false\r\n },\r\n searchInput: {\r\n focus: false\r\n }\r\n },\r\n methods: {\r\n onBlur: function () {\r\n this.searchInput.focus = false;\r\n this.previewList.open = false;\r\n this.previewList.scrollbar = false;\r\n },\r\n onFocus: function () {\r\n let itemsLength = this.previewList.items.length;\r\n this.searchInput.focus = true;\r\n this.previewList.open = itemsLength > 0;\r\n this.previewList.scrollbar = itemsLength > 3;\r\n },\r\n onChange: novicell.debounce(function () {\r\n axios\r\n .get('/umbraco/api/searchApi/Search', {\r\n params: this.params\r\n })\r\n .then(response => {\r\n let content = response.data.content;\r\n\r\n content.forEach(function(el){\r\n if(el.listImageUrl)\r\n {\r\n el.listImageUrl += \"?height=50&width=50&mode=crop&quality=70¢er=0.5,0.5\";\r\n }\r\n });\r\n\r\n let itemsLength = content.length;\r\n this.previewList.items = content;\r\n this.previewList.open = itemsLength > 0;\r\n this.previewList.scrollbar = itemsLength > 3;\r\n \r\n })\r\n .catch(error => (console.log(error)))\r\n }, 500)\r\n }\r\n })\r\n\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.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';\n\nvar novicell = novicell || {};\n\nnovicell.embedMedia = novicell.embedMedia || new function () {\n var playButtons = document.querySelectorAll('.js-video-overlay-trigger');\n this.init = function() {\n for (var index = 0; index < playButtons.length; index++) {\n var button = playButtons[index];\n button.addEventListener(\"click\", function(e){\n e.preventDefault();\n var currentButton = e.currentTarget;\n var videoId = currentButton.dataset.videoId;\n var videoType = currentButton.dataset.videoType;\n setVideoContent(currentButton, videoId, videoType);\n });\n }\n };\n \n function setVideoContent (button, videoId, videoType) {\n var parent = findAncestor(button, 'embed-media');\n var iframeContainer = parent.querySelector('.embed-media__iframe-container');\n createIframe(videoId, videoType, iframeContainer, parent);\n }\n\n function createIframe (videoId, videoType, iframeContainer, parent) {\n if (videoId !== null) {\n var src = '';\n if(videoType == 'vimeo') {\n src = 'https://player.vimeo.com/video/' + videoId + '?autoplay=1';\n }\n else if(videoType == 'youtube') {\n src = 'https://www.youtube.com/embed/' + videoId + '?autoplay=1&rel=0';\n }\n else {\n return;\n }\n\n var iframe = document.createElement('iframe');\n iframe.setAttribute('src', src);\n iframe.setAttribute('frameborder', 0);\n iframe.setAttribute('allowfullscreen', '');\n iframe.setAttribute('width', '100%');\n iframe.setAttribute('height', '100%');\n\n iframeContainer.innerHTML = iframe.outerHTML;\n\n parent.classList.add('embed-media--active');\n\n } else {\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).');\n return;\n }\n }\n function findAncestor (el, cls) {\n while ((el = el.parentElement) && !el.classList.contains(cls));\n return el;\n }\n}();","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.imageMap = novicell.imageMap || new function () {\r\n const imageMaps = document.querySelectorAll('.js-image-map');\r\n const imageDna = document.querySelectorAll('.js-image-map-dna');\r\n let dimsMustBeClosed = false;\r\n\r\n this.init = function () {\r\n if (!imageMaps) {\r\n return;\r\n }\r\n for (let i = 0; i < imageMaps.length; i++) {\r\n const imageMapElm = imageMaps[i];\r\n const imageMapPoints = imageMapElm.querySelectorAll('.js-image-map-point');\r\n const imageMapRightBorder = imageMapElm.getBoundingClientRect().left + outerWidth(imageMapElm);\r\n \r\n imageMapElm.closest(\".grid-section__cell\").style.flexDirection = 'row';\r\n \r\n for (let p = 0; p < imageMapPoints.length; p++) {\r\n const speechBubble = imageMapPoints[p].getElementsByClassName('image-map-point__text')[0];\r\n var speechBubbleWidth = +window.getComputedStyle(speechBubble, null).getPropertyValue(\"width\").replace('px','');\r\n const pointElm = imageMapPoints[p];\r\n const pointElmWidth = outerWidth(speechBubble);\r\n\r\n const pointRightBorder = pointElm.getBoundingClientRect().left + speechBubbleWidth;\r\n const pointIconWidth = outerWidth(pointElm.querySelector('.image-map-point__icon'));\r\n if(pointRightBorder > imageMapRightBorder) {\r\n pointElm.classList.add('image-map-point--turn-left');\r\n }\r\n\r\n // console.log('Point: ' + pointRightBorder);\r\n\r\n pointElm.addEventListener('mouseover', function () {\r\n pointElm.querySelector('.image-map-point__text').style.display = 'block';\r\n });\r\n\r\n pointElm.addEventListener('mouseout', function () {\r\n pointElm.querySelector('.image-map-point__text').style.display = 'none';\r\n });\r\n }\r\n }\r\n\r\n if (!imageDna) {\r\n return;\r\n }\r\n\r\n document.addEventListener('click', function(event) {\r\n if(dimsMustBeClosed){\r\n var dimsIsShowen = document.getElementsByClassName('image-map-point__text--show')[0];\r\n \r\n if(dimsIsShowen) {\r\n dimsIsShowen.classList.remove(\"image-map-point__text--show\");\r\n }\r\n dimsMustBeClosed = false;\r\n }else{\r\n dimsMustBeClosed = true;\r\n }\r\n });\r\n\r\n for (let i = 0; i < imageDna.length; i++) {\r\n const imageMapElm = imageDna[i];\r\n const imageMapPoints = imageMapElm.querySelectorAll('.js-image-map-point-dna');\r\n\r\n imageMapElm.closest(\".grid-section__cell\").style.flexDirection = 'row';\r\n\r\n\r\n for (let p = 0; p < imageMapPoints.length; p++) {\r\n const pointElm = imageMapPoints[p];\r\n const popup = pointElm.nextElementSibling;\r\n\r\n console.log(pointElm.nextElementSibling);\r\n \r\n pointElm.addEventListener('click', function () {\r\n if(!dimsMustBeClosed){\r\n dimsMustBeClosed = false;\r\n popup.classList.add('image-map-point__text--show');\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n function outerWidth(el) {\r\n var width = el.offsetWidth;\r\n var style = getComputedStyle(el);\r\n\r\n width += parseInt(style.marginLeft) + parseInt(style.marginRight);\r\n return width;\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';\n\n/**\n * @author Henrik Reinbach Madsen\n * @requires flickity.js https://github.com/metafizzy/flickity\n */\n\nvar novicell = novicell || {};\n\n\nnovicell.slideshow = novicell.slideshow || new function () {\n const slideshows = document.querySelectorAll('.js-slideshow');\n\n this.init = function () {\n if (!slideshows) {\n return;\n }\n for (let i = 0; i < slideshows.length; i++) {\n\n const slideshowElm = slideshows[i];\n const allSlides = slideshowElm.querySelectorAll('.slideshow-slide');\n const slideshowNav = slideshowElm.querySelector('.slideshow__navigation');\n const navTitle = slideshowNav ? slideshowNav.querySelector('.slideshow-slide__title') : null;\n const arrowPlaceholder = slideshowNav ? slideshowNav.querySelector('.js-arrow-placeholder') : null;\n const flkty = new Flickity(slideshowElm, {\n // options\n cellAlign: 'left',\n cellSelector: '.slideshow-slide',\n contain: true,\n wrapAround: true,\n autoPlay: slideshowElm.hasAttribute('data-autoplay') ? parseInt(slideshowElm.getAttribute('data-autoplay')) : false,\n pageDots: slideshowElm.hasAttribute('data-pageDots'),\n arrowShape: {\n x0: 10,\n x1: 40,\n y1: 30,\n x2: 45,\n y2: 30,\n x3: 15\n },\n // arrowShape: 'M71.3,100 21.3,50 71.3,0 78.7,7.5 36.2,50 78.7,92.5 z',\n on: {\n ready: function () {\n if (navTitle && allSlides[0].querySelector('.slideshow-slide__title')) {\n navTitle.textContent = allSlides[0].querySelector('.slideshow-slide__title').textContent;\n }\n\n let arrows = slideshowElm.querySelectorAll('.flickity-prev-next-button');\n if (arrowPlaceholder) {\n for (let index = 0, length = arrows.length; index < length; index++) {\n const arrow = arrows[index];\n arrowPlaceholder.appendChild(arrow);\n }\n }\n },\n change: function (index) {\n if (navTitle) {\n navTitle.textContent = allSlides[index].querySelector('.slideshow-slide__title').textContent;\n }\n }\n }\n });\n }\n\n // Video overlay\n /* var videoOverlayTriggers = document.querySelectorAll('.js-video-overlay-trigger');\n\n for (var i = 0; i < videoOverlayTriggers.length; i++) {\n videoOverlayTriggers[i].addEventListener('click', function (e) {\n e.preventDefault();\n var currentTrigger = this;\n\n novicell.overlay.create({\n 'videoId': currentTrigger.getAttribute('data-video-id'),\n 'type': currentTrigger.getAttribute('data-type'),\n 'class': 'video-overlay',\n 'autoplay': 1\n });\n });\n } */\n };\n}();\n","'use strict';\r\n\r\nvar novicell = novicell || {};\r\n\r\nnovicell.siteNavigation = novicell.siteNavigation || new function () {\r\n this.init = function () {\r\n var siteNavigationToggle = document.getElementById('js-site-navigation-toggle');\r\n var siteNavigationList = document.getElementById('js-site-navigation-list');\r\n\r\n if (!siteNavigationToggle || !siteNavigationList) {\r\n return;\r\n }\r\n\r\n novicell.subNavigation.init(siteNavigationList);\r\n\r\n siteNavigationToggle.addEventListener('click', function (e) {\r\n e.preventDefault();\r\n\r\n novicell.helper.toggleClass(siteNavigationToggle, 'site-navigation-burger--active');\r\n novicell.helper.toggleClass(siteNavigationList, 'site-navigation-list--open');\r\n novicell.helper.toggleClass(document.body, 'no-scroll');\r\n });\r\n };\r\n};\r\n"]}