{"version":3,"file":"Src_Scripts_components_single-dynamic-list_js.45ed7c9ef113bdc8181c.js","sources":["webpack://FinansDanmark/./Src/Scripts/components/single-dynamic-list.js"],"sourcesContent":["export default class SingleDynamicList {\r\n constructor(elm) {\r\n this.elm = elm;\r\n var pageNumber = elm.dataset.pageNumber;\r\n var pageSize = elm.dataset.pageSize;\r\n var typeData = elm.dataset.type;\r\n var subjectData = elm.dataset.subject;\r\n var yearData = elm.dataset.year;\r\n var articleContainer = elm.querySelector('[data-article-container]');\r\n var paginationContainer = elm.querySelector('[data-article-pagination]');\r\n //var selectedFilter = elm.querySelector('[data-selected-filter]');\r\n var pagingFormat = elm.dataset.pagingFormat;\r\n var cultureName = elm.dataset.cultureName;\r\n\r\n init();\r\n\r\n function init() { \r\n\r\n paginationEvents();\r\n }\r\n\r\n //pagination\r\n function paginationEvents() {\r\n\r\n if (pagingFormat == 'Page numbers') {\r\n var next = elm.querySelector('[data-pagination-next]');\r\n var prev = elm.querySelector('[data-pagination-prev]');\r\n var numbers = elm.querySelectorAll('[data-pagination-goto]');\r\n\r\n if (numbers.length > 0) {\r\n numbers.forEach(item => {\r\n item.addEventListener('click', e => {\r\n pageNumber = item.dataset.paginationGoto;\r\n applyChanges(e);\r\n });\r\n });\r\n }\r\n\r\n if (next != null) {\r\n next.addEventListener('click', e => {\r\n pageNumber = parseInt(pageNumber) + 1;\r\n applyChanges(e);\r\n });\r\n }\r\n if (prev != null) {\r\n prev.addEventListener('click', e => {\r\n pageNumber = parseInt(pageNumber) - 1;\r\n applyChanges(e);\r\n });\r\n }\r\n }\r\n else if (pagingFormat == 'Load more') {\r\n\r\n var loadMore = elm.querySelector('[data-load-more]');\r\n loadMore.addEventListener('click', e => {\r\n e.preventDefault();\r\n pageNumber = parseInt(pageNumber) +1;\r\n applyChanges(e);\r\n });\r\n } \r\n }\r\n\r\n function applyChanges(e) {\r\n\r\n var showCategorization = articleContainer.dataset.showCategorization;\r\n var showThumbnail = articleContainer.dataset.showThumbnail;\r\n var showTeaser = articleContainer.dataset.showTeaser;\r\n var numberOfColumns = articleContainer.dataset.numberOfColumns;\r\n var numberOfRecords = articleContainer.dataset.numberOfRecords;\r\n var showDate = articleContainer.dataset.showDate;\r\n var loadMore = elm.querySelector('[data-load-more]');\r\n var url = `/Umbraco/surface/articleoverviewsurface/fetchnewsfordynamiclist?type=${typeData}&subject=${subjectData}&year=${yearData}¤tPage=${pageNumber}&pageSize=${pageSize}&pagingFormat=${pagingFormat}&showThumbnail=${showThumbnail}&showCategorization=${showCategorization}&showTeaser=${showTeaser}&showDate=${showDate}&pagingFormat=${pagingFormat}&cultureName=${cultureName}&numberOfColumns=${numberOfColumns}&numberOfRecords=${numberOfRecords}`;\r\n fetch(url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then(response => response.json())\r\n .then(json => {\r\n articleContainer.innerHTML = json.html.Result;\r\n if (json.pagingFormat == \"Page numbers\") {\r\n paginationContainer.innerHTML = json.pagination.Result;\r\n }\r\n elm.dataset.pageNumber = json.currentPage;\r\n if (json.pagingFormat == \"Load more\") {\r\n loadMore.classList.toggle('d-none', parseInt(json.totalPages) <= parseInt(json.currentPage));\r\n }\r\n //elm.dataset.type = json.type;\r\n //elm.dataset.subject = json.subject;\r\n //elm.dataset.year = json.year;\r\n paginationEvents();\r\n });\r\n\r\n }\r\n\r\n /*this.events();*/\r\n\r\n /* Filter Dropdown */\r\n //const typesDropdown = this.elm.querySelector('[data-dropdown-types]');\r\n //const yearsDropdown = this.elm.querySelector('[data-dropdown-years]');\r\n //const subjectsDropdown = this.elm.querySelector('[data-dropdown-subjects]');\r\n\r\n //typesDropdown.addEventListener('click', e => {\r\n // console.log(\"data dropdown is clicked\");\r\n // if (yearsDropdown.parentElement.classList.contains(\"dropdown--active\") || subjectsDropdown.parentElement.classList.contains(\"dropdown--active\")) {\r\n // yearsDropdown.parentElement.classList.remove(\"dropdown--active\");\r\n // subjectsDropdown.parentElement.classList.remove(\"dropdown--active\");\r\n // }\r\n // typesDropdown.parentElement.classList.toggle('dropdown--active', !typesDropdown.parentElement.classList.contains('dropdown--active'));\r\n //});\r\n\r\n //yearsDropdown.addEventListener('click', e => {\r\n // if (typesDropdown.parentElement.classList.contains(\"dropdown--active\") || subjectsDropdown.parentElement.classList.contains(\"dropdown--active\")) {\r\n // typesDropdown.parentElement.classList.remove(\"dropdown--active\");\r\n // subjectsDropdown.parentElement.classList.remove(\"dropdown--active\");\r\n // }\r\n // yearsDropdown.parentElement.classList.toggle('dropdown--active', !yearsDropdown.parentElement.classList.contains('dropdown--active'));\r\n //});\r\n\r\n //subjectsDropdown.addEventListener('click', e => {\r\n // if (yearsDropdown.parentElement.classList.contains(\"dropdown--active\") || typesDropdown.parentElement.classList.contains(\"dropdown--active\")) {\r\n // yearsDropdown.parentElement.classList.remove(\"dropdown--active\");\r\n // typesDropdown.parentElement.classList.remove(\"dropdown--active\");\r\n // }\r\n // subjectsDropdown.parentElement.classList.toggle('dropdown--active', !subjectsDropdown.parentElement.classList.contains('dropdown--active'));\r\n //});\r\n\r\n //window.addEventListener('click', e => {\r\n // if (!e.target.closest('.dropdown')) {\r\n // const opendropdown = document.querySelectorAll('.dropdown--active');\r\n // opendropdown.forEach(open => {\r\n // open.classList.remove('dropdown--active');\r\n // })\r\n // }\r\n //})\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAFA;AAQA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AADA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAzIA;AACA;A;;A;;A","sourceRoot":""}