{"version":3,"file":"Forsvaret.tiles.b78a8dc91f58eec872cd.chunk.js","mappings":"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","sources":["webpack://Forsvaret/./Forsvaret.Website/Scripts/Shared/modules/tiles/index.js","webpack://Forsvaret/./Forsvaret.Website/Scripts/Shared/modules/tiles/shuffler.js"],"sourcesContent":["import Shuffler from './shuffler';\r\n\r\nexport function init(tilesElm){\r\n const shuffler = new Shuffler({\r\n element: tilesElm,\r\n selectors: {\r\n filterBtn: '.js-c-tiles-filter-btn',\r\n filterTaskBtn: '.js-c-tiles-filter-task-btn',\r\n search: '.js-c-tiles-search',\r\n counter: '.js-c-tiles-counter'\r\n }\r\n });\r\n\r\n shuffler.init();\r\n\r\n return shuffler;\r\n}\r\n\r\nexport default {\r\n init\r\n};\r\n\r\n\r\n","import $ from 'jquery';\r\nimport Shuffle from 'shufflejs';\r\nimport queryString from 'query-string';\r\n\r\n// Convert an array-like object to a real array.\r\nconst toArray = (thing) => {\r\n return Array.prototype.slice.call(thing);\r\n};\r\n\r\nclass Shuffler {\r\n constructor({element, selectors} = {}) {\r\n this.element = $(element);\r\n\r\n this.selectors = Object.assign({\r\n grid: '.js-c-tiles-grid',\r\n item: '.js-c-tiles-item',\r\n filterBtn: '.js-c-tiles-filter-btn',\r\n filterTaskBtn: '.js-c-tiles-filter-task-btn',\r\n search: '.js-c-tiles-search',\r\n counter: '.js-c-tiles-counter',\r\n showAll: '.js-c-tiles-showall'\r\n }, selectors);\r\n\r\n this.grid = this.element.find(this.selectors.grid);\r\n\r\n this.filters = {\r\n group: [],\r\n task: []\r\n };\r\n }\r\n\r\n init(options = {}) {\r\n this.shuffle = new Shuffle(this.grid, Object.assign({\r\n filterMode: Shuffle.FilterMode.ANY,\r\n itemSelector: '.js-c-tiles-item',\r\n sizer: '.js-c-tiles-sizer',\r\n delimiter: ', ' // Notice the space is needed in the data-groups has a space after comma\r\n }, options));\r\n\r\n window.shuffle = this;\r\n\r\n this._bindEvents();\r\n\r\n if (window.location.search) {\r\n const queryState = queryString.parse(window.location.search);\r\n\r\n this.filters.group = (typeof queryState.group === 'string' ? [queryState.group] : queryState.group) || [];\r\n this.filters.task = (typeof queryState.task === 'string' ? [queryState.task] : queryState.task) || [];\r\n\r\n this._runFilter();\r\n this._btnState();\r\n } else {\r\n this.shuffle.filter('initial');\r\n }\r\n\r\n this.grid.removeClass('is-initial');\r\n\r\n this.addSearchFilter();\r\n this.addShowAll();\r\n\r\n this.element.addClass('is-initialized');\r\n }\r\n\r\n destroy() {\r\n return this.shuffle.destroy();\r\n }\r\n\r\n _bindEvents() {\r\n window.onpopstate = this._handleHistoryBack.bind(this);\r\n\r\n // this.addCategoryFilter();\r\n this.group = toArray(document.querySelectorAll(this.selectors.filterBtn));\r\n this.tasks = toArray(document.querySelectorAll(this.selectors.filterTaskBtn));\r\n\r\n // bind events to each button\r\n this.group.forEach((button) => {\r\n button.addEventListener('click', (evt) => {\r\n this._onChange(evt, 'group');\r\n });\r\n }, this);\r\n\r\n this.tasks.forEach((button) => {\r\n button.addEventListener('click', (evt) => {\r\n this._onChange(evt, 'task');\r\n });\r\n }, this);\r\n\r\n this.shuffle.on(Shuffle.EventType.LAYOUT, ({ shuffle }) => {\r\n this._counter(shuffle);\r\n });\r\n }\r\n\r\n _removeFromArray(array, element) {\r\n return array.filter(e => e !== element);\r\n }\r\n\r\n _filterTasks(element) {\r\n const elmTasks = $(element).data().tasks.split(',').map(item => item.trim());\r\n\r\n return this.filters.task.filter((item) => {\r\n if (elmTasks.includes(item)) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n _mapTasks(element) {\r\n return $(element).data().tasks.split(',').map(item => item.trim()).map((item) => {\r\n\r\n if (this.filters.task.includes(item)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n _filterItems(array) {\r\n return this.filters.group.filter((item) => {\r\n if (array.includes(item)) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n _mapItems(array) {\r\n return array.map((item) => {\r\n if (this.filters.group.includes(item)) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n // add / remove clicked items to arrays\r\n _onChange(evt, filtertype) {\r\n const filterKeyword = evt.currentTarget.dataset.filterKeyword;\r\n\r\n if (!filterKeyword) {\r\n return;\r\n }\r\n\r\n filterKeyword.toLowerCase();\r\n $(evt.currentTarget).toggleClass('is-active');\r\n // add items to active filters array\r\n if (this.filters[filtertype].includes(filterKeyword)) {\r\n this.filters[filtertype] = this.filters[filtertype].filter(function(item) {\r\n return item !== filterKeyword;\r\n });\r\n\r\n if (this.filters.group.length === 0) {\r\n this.filters.group.push('initial');\r\n }\r\n\r\n } else {\r\n // remove initial in array when array not empty anymore\r\n this.filters[filtertype] = this.filters[filtertype].filter(item => item !== 'initial');\r\n this.filters[filtertype].push(filterKeyword);\r\n }\r\n\r\n this._runFilter();\r\n this._handleURL();\r\n this._handleSearchReset();\r\n }\r\n\r\n _runFilter() {\r\n if (this.filters.group.includes('initial') && this.filters.task.length === 0) {\r\n this.shuffle.filter('initial');\r\n return;\r\n }\r\n\r\n this.shuffle.filter((element) => {\r\n\r\n let elementGroup = $(element).data().groups.split(',').map(item => item.trim());\r\n elementGroup = this._removeFromArray(elementGroup, 'initial');\r\n\r\n\r\n let items = [];\r\n let tasks = [];\r\n\r\n // if only task filters are selected\r\n if (this.filters.task.length !== 0 && (this.filters.group.length === 0 || this.filters.group[0] === 'initial') ) {\r\n tasks = this._filterTasks(element);\r\n\r\n if (tasks.length <= 0) {\r\n return false;\r\n }\r\n return true;\r\n\r\n // if group filters are selected\r\n } else if (this.filters.group[0] !== 'initial' && this.filters.group.length !== 0 && this.filters.task.length === 0) {\r\n\r\n items = this._filterItems(elementGroup);\r\n\r\n if (items.length <= 0) {\r\n return false;\r\n }\r\n return true;\r\n } else if (this.filters.group.length >= 1 && this.filters.task.length !== 0) {\r\n\r\n items = this._mapItems(elementGroup);\r\n tasks = this._mapTasks(element);\r\n\r\n if (items.includes(false) || tasks.includes(false)) {\r\n\r\n if (items.includes(true) && tasks.includes(true)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return true;\r\n });\r\n }\r\n\r\n _handleHistoryBack(event) {\r\n if ( event.state !== null) {\r\n if (event.state.filter) {\r\n this.filters.group = (typeof event.state.filter.group === 'string' ? [event.state.filter.group] : event.state.filter.group) || [];\r\n this.filters.task = (typeof event.state.filter.task === 'string' ? [event.state.filter.task] : event.state.filter.task) || [];\r\n\r\n this._btnState();\r\n this._runFilter();\r\n }\r\n } else {\r\n this.shuffle.filter('initial');\r\n $(this.selectors.filterBtn).removeClass('is-active');\r\n $(this.selectors.filterTaskBtn).removeClass('is-active');\r\n }\r\n }\r\n\r\n _btnState() {\r\n $(this.selectors.filterBtn).each((e, elm) => {\r\n if (!this.filters.group.includes($(elm).data().filterKeyword)) {\r\n $(elm).removeClass('is-active');\r\n } else {\r\n $(elm).addClass('is-active');\r\n }\r\n });\r\n\r\n $(this.selectors.filterTaskBtn).each((e, elm) => {\r\n if (!this.filters.task.includes($(elm).data().filterKeyword)) {\r\n $(elm).removeClass('is-active');\r\n } else {\r\n $(elm).addClass('is-active');\r\n }\r\n });\r\n }\r\n\r\n _counter(shuffle) {\r\n const counterElm = this.element.find(this.selectors.counter);\r\n if (counterElm.length) {\r\n counterElm.text(`${shuffle.visibleItems}/${shuffle.items.length}`);\r\n }\r\n }\r\n\r\n addShowAll() {\r\n this.element.find(this.selectors.showAll).on('click', this._handleShowAllClick.bind(this));\r\n }\r\n\r\n _handleShowAllClick(evt) {\r\n const elm = $(evt.currentTarget);\r\n\r\n elm.toggleClass('is-active');\r\n\r\n this.shuffle.filter(!elm.hasClass('is-active') ? 'initial' : 'all');\r\n this._handleSearchReset();\r\n\r\n return false;\r\n }\r\n\r\n _handleURL() {\r\n if (window.history.pushState) {\r\n const deepUrl = `${window.location.protocol}//${window.location.host + window.location.pathname}?${queryString.stringify(this.filters)}`;\r\n window.history.pushState({ path: deepUrl, filter: this.filters}, '', deepUrl);\r\n }\r\n }\r\n\r\n addSearchFilter() {\r\n const searchForm = this.element.find(this.selectors.search);\r\n\r\n if (!searchForm.length) {\r\n return;\r\n }\r\n\r\n searchForm.on('submit', (evt) => {\r\n this._handleSearchKeyup(evt);\r\n return false;\r\n });\r\n }\r\n\r\n _handleSearchKeyup(evt) {\r\n const searchQuery = new FormData(evt.target).get('q').toLowerCase();\r\n this.shuffle.filter((searchElm) => searchElm.textContent.toLowerCase().trim().includes(searchQuery));\r\n }\r\n\r\n _handleSearchReset() {\r\n $(this.element).find(this.selectors.search).get(0).reset();\r\n }\r\n}\r\n\r\nexport default Shuffler;\r\n"],"names":["e","_shuffler","require","__esModule","default","init","tilesElm","shuffler","Shuffler","element","selectors","filterBtn","filterTaskBtn","search","counter","exports","_jquery","_interopRequireDefault","_shufflejs","_queryString","_typeof","o","Symbol","iterator","constructor","prototype","_defineProperties","r","t","length","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","i","toPrimitive","call","TypeError","String","_toPrimitive","toArray","thing","Array","slice","_ref","arguments","undefined","a","n","_classCallCheck","this","$","assign","grid","item","showAll","find","filters","group","task","value","options","shuffle","Shuffle","filterMode","FilterMode","ANY","itemSelector","sizer","delimiter","window","_bindEvents","location","queryState","queryString","parse","_runFilter","_btnState","filter","removeClass","addSearchFilter","addShowAll","addClass","destroy","_this","onpopstate","_handleHistoryBack","bind","document","querySelectorAll","tasks","forEach","button","addEventListener","evt","_onChange","on","EventType","LAYOUT","_ref2","_counter","array","elmTasks","data","split","map","trim","includes","_this2","_this3","filtertype","filterKeyword","currentTarget","dataset","toLowerCase","toggleClass","push","_handleURL","_handleSearchReset","_this4","elementGroup","groups","_removeFromArray","items","_filterItems","_mapItems","_mapTasks","_filterTasks","event","state","_this5","each","elm","counterElm","text","concat","visibleItems","_handleShowAllClick","hasClass","history","pushState","deepUrl","protocol","host","pathname","stringify","path","_this6","searchForm","_handleSearchKeyup","searchQuery","FormData","target","get","searchElm","textContent","reset"],"sourceRoot":""}