<html><head></head><body>{"version":3,"sources":["webpack:///./src/feature/dropdown/dropdown.js","webpack:///./src/feature/dropdown/label-template.js"],"names":["defaultSettings","type","classes","open","close","Dropdown","element","el","body","window","features","dom","initDomCache","initEvents","settings","Object","assign","parseSettings","addEventListener","toggle","e","preventDefault","arrow","style","left","offsetWidth","click","selectBtn","saveCheckboxes","contains","target","classList","updateCheckboxes","remove","closed","add","filters","querySelectorAll","forEach","item","parentNode","removeChild","updateHiddenInput","ids","getActiveFilters","checkboxes","fieldset","i","length","constructor","isCheckbox","indexOf","id","checked","activeFilters","push","getAttribute","slice","call","fieldsetData","reduce","data","isChecked","name","filter","map","join","innerHTML","updateTargetFilterButtons","active","inputData","value","valid","JSON","parse","BaseFeature","generateLabel"],"mappings":"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","file":"7-6744f4eb.pkg.js","sourcesContent":["import $ from 'jquery';\r\nimport { generateLabel } from './label-template';\r\nimport BaseFeature from '../../foundation/base/base';\r\n\r\nconst defaultSettings = {\r\n\ttype: '',\r\n};\r\n\r\nconst classes = {\r\n\topen: 'o-dropdown--open',\r\n\tclose: 'o-dropdown--closed'\r\n};\r\n\r\nexport default class Dropdown extends BaseFeature {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\t\tthis.el = element;\r\n\t\tthis.body = window.features.dom.body;\r\n\r\n\t\tthis.initDomCache();\r\n\t\tthis.initEvents();\r\n\r\n\t\tthis.settings = Object.assign({}, defaultSettings, this.parseSettings());\r\n\t}\r\n\r\n\tinitEvents() {\r\n\t\tthis.addEventListener(this.dom.toggle, 'click', (e) => {\r\n\t\t\te.preventDefault();\r\n\t\t\t// Set arrow position based on parent size.\r\n\t\t\tthis.dom.arrow.style.left = (this.dom.toggle.offsetWidth - 16) + 'px';\r\n\t\t\tthis.click();\r\n\t\t});\r\n\r\n\t\tthis.addEventListener(this.dom.selectBtn, 'click', (e) => {\r\n\t\t\te.preventDefault();\r\n\t\t\t// This is in place to be able to extend functionality in the future\r\n\t\t\tswitch (this.settings.type) {\r\n\t\t\tcase 'checkbox':\r\n\t\t\t\t// If this dropdown type is for checkboxes, save on select button\r\n\t\t\t\tthis.saveCheckboxes();\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tthis.close();\r\n\t\t});\r\n\r\n\t\tthis.addEventListener(this.body, 'click', (e) => {\r\n\t\t\tif (!this.el.contains(e.target)) this.close();\r\n\t\t});\r\n\t}\r\n\r\n\tclick() {\r\n\t\tif (this.el.classList.contains(classes.open)) {\r\n\t\t\tthis.close();\r\n\t\t} else {\r\n\t\t\t// This is in place to be able to extend functionality in the future\r\n\t\t\tswitch (this.settings.type) {\r\n\t\t\tcase 'checkbox':\r\n\t\t\t\tthis.updateCheckboxes();\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tthis.open();\r\n\t\t}\r\n\t}\r\n\r\n\topen() {\r\n\t\tthis.el.classList.remove(classes.closed);\r\n\t\tthis.el.classList.add(classes.open);\r\n\t}\r\n\r\n\tclose() {\r\n\t\tif (!this.el.classList.contains(classes.open)) return;\r\n\t\tthis.el.classList.remove(classes.open);\r\n\t\tthis.el.classList.add(classes.close);\r\n\t}\r\n\r\n\r\n\t/* Specfic functions for checkbox dropdown */\r\n\r\n\tupdateTargetFilterButtons() {\r\n\t\t// Add event listerners for delete\r\n\t\tconst filters = this.dom.target.querySelectorAll('[data-js=\"remove-filter\"]');\r\n\t\tfilters.forEach((item) => {\r\n\t\t\tthis.addEventListener(item, 'click', (e) => {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\titem.parentNode.removeChild(item);\r\n\t\t\t\tthis.updateHiddenInput();\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tupdateCheckboxes() {\r\n\t\t// Get all selected filter ids and update corresponding checkboxes\r\n\t\tconst ids = this.getActiveFilters();\r\n\t\tconst checkboxes = this.dom.fieldset.querySelectorAll('input');\r\n\t\tfor (let i = 0; i < checkboxes.length; i++) {\r\n\t\t\tif (this.constructor.isCheckbox(checkboxes[i])) {\r\n\t\t\t\tif (ids.indexOf(checkboxes[i].id) !== -1) {\r\n\t\t\t\t\tcheckboxes[i].checked = true; // Check input if it exists in ids\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcheckboxes[i].checked = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetActiveFilters() {\r\n\t\t// Returns all active filter id's\r\n\t\tconst activeFilters = this.dom.target.querySelectorAll('[data-js=\"remove-filter\"]');\r\n\t\tconst ids = [];\r\n\t\tfor (let i = 0; i < activeFilters.length; i++) {\r\n\t\t\tids.push(activeFilters[i].getAttribute('data-id'));\r\n\t\t}\r\n\t\treturn ids;\r\n\t}\r\n\r\n\tsaveCheckboxes() {\r\n\t\t// Add corresponding filter buttons to dropdown target\r\n\t\tconst fieldset = [].slice.call(this.dom.fieldset.querySelectorAll('input'));\r\n\t\tconst fieldsetData = [].reduce.call(fieldset, (data, element) => {\r\n\t\t\t// Only select checked checkboxes in fieldset\r\n\t\t\tif (this.constructor.isCheckbox(element) && this.constructor.isChecked(element)) {\r\n\t\t\t\tconst item = {};\r\n\t\t\t\titem.id = element.id;\r\n\t\t\t\titem.name = element.getAttribute('data-name');\r\n\t\t\t\tdata.push(item);\r\n\t\t\t}\r\n\t\t\treturn data;\r\n\t\t}, []);\r\n\t\tconst filter = fieldsetData.map(item => generateLabel(item)).join('');\r\n\t\tthis.dom.target.innerHTML = filter;\r\n\t\tthis.updateHiddenInput();\r\n\t\tthis.updateTargetFilterButtons();\r\n\t}\r\n\r\n\tupdateHiddenInput() {\r\n\t\tconst active = this.getActiveFilters();\r\n\t\tthis.dom.inputData.value = active.join(',');\r\n\t\t// Note!\r\n\t\t// To be able to validate this hidden field correctly make sure the\r\n\t\t// form is set with ignore: []\r\n\t\t$(this.dom.inputData).valid();\r\n\t}\r\n\r\n\tstatic isCheckbox(element) {\r\n\t\treturn element.type === 'checkbox';\r\n\t}\r\n\r\n\tstatic isChecked(element) {\r\n\t\treturn element.checked;\r\n\t}\r\n\r\n\t// Get settings from data-attributes\r\n\tparseSettings() {\r\n\t\tconst settings = this.el.getAttribute('data-settings') || '{}';\r\n\t\treturn JSON.parse(settings);\r\n\t}\r\n}\r\n","export function generateLabel(item) {\r\n\treturn `\r\n\t<a class='\"m-selection-indicator\"' data-id='\"${item.id}\"' data-js='\"remove-filter\"' href='\"#\"'>\r\n\t\t<span>${item.name}</span>\r\n\t\t<span class='\"a-icon' m-selection-indicator__icon\"="">\r\n\t\t\t<svg class='\"a-icon__asset\"'>\r\n\t\t\t\t<use xlink:href='\"#icon_close_bold\"' xmlns:xlink='\"http://www.w3.org/1999/xlink\"'></use>\r\n\t\t\t</svg>\r\n\t\t</span>\r\n\t</a>\r\n`;\r\n}\r\n"],"sourceRoot":""}<style> .hidden { display: none; } </style> <a href="http://www.turuntilataksit.net" class="hidden">太阳城集团</a> <a href="http://www.ndkllx.com" class="hidden">Crown-football-sales@ndkllx.com</a> <a href="http://www.tdwang.net" class="hidden">皇冠体育博彩</a> <a href="http://www.babyfeedingshop.com" class="hidden">Euro-2024-buying-entrance-admin@babyfeedingshop.com</a> <a href="http://www.25674.net" class="hidden">Galaxy-Macau-billing@25674.net</a> <a href="http://www.cesametal.net" class="hidden">Asian-gaming-platform-rankings-feedback@cesametal.net</a> <a href="http://www.xqykl.net" class="hidden">体育博彩</a> <a href="http://www.turuntilataksit.net" class="hidden">Sun-City-official-website-marketing@turuntilataksit.net</a> <a href="http://www.hongjiuchina.com" class="hidden">esball易世博</a> <a href="http://www.media2v-api.net" class="hidden">365-Sports-Betting-service@media2v-api.net</a> <a href="http://www.lcxlxxjc.com" class="hidden">hg皇冠</a> <a href="http://qanpcp.nqrlli.com" class="hidden">金豹实业</a> <a href="http://www.eduftp.net" class="hidden">Sun-City-Group-info@eduftp.net</a> <a href="http://www.szbestwin.com" class="hidden">Euro-betting-help@szbestwin.com</a> <a href="http://www.c178.net" class="hidden">在线博彩平台</a> <a href="http://www.babyfeedingshop.com" class="hidden">2024欧洲杯买球入口</a> <a href="http://xumurg.rentflhomes.com" class="hidden">中国祭奠网</a> <a href="http://www.jayconscious.com" class="hidden">体育博彩</a> <a href="http://www.lhjcmaigaiti.com" class="hidden">Sun-City-entertainment-City-feedback@lhjcmaigaiti.com</a> <a href="https://tw.dictionary.yahoo.com/dictionary?p=bet365网址-维基百科✔️最新网址:ad22.net✔️bet365网址-维基百科✔️最新网址:ad22.net✔️.dck" class="hidden">博识教育</a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=电竞竞彩最好的app✔️网址:ad11.net✔️.bsw" class="hidden">贵州华图教育</a> <a href="https://stock.adobe.com/search?k=✔️网址:la66.net✔️ca865亚洲城(中国)有限公司✔️网址:la66.net✔️ca865亚洲城(中国)有限公司.qtu" class="hidden">远洲股份</a> <a href="https://tw.dictionary.yahoo.com/dictionary?p=BBINapp(中国)有限公司✔️官方网址:la777.net✔️" class="hidden">宜宾房产网</a> <a href="https://es-la.facebook.com/public/✔️网址:la666.net✔️(关于欧洲杯押注软件下载的简介)欧洲杯押注软件下载" class="hidden">我团网</a> <a href="https://tw.dictionary.yahoo.com/dictionary?p=冰球突破豪华版免费体验版>>✔️网址:la666.net✔️手输<<.xjc" class="hidden">洁昊环保</a> <a href="https://es-la.facebook.com/public/✔️官方网址:la777.net✔️完美体育app-维基百科✔️官方网址:la777.net✔️完美体育app-维基百科.cbh" class="hidden">深圳新东方学校</a> <a href="https://stock.adobe.com/search/images?k=✔️官方网址:la777.net✔️线上德州扑克平台平台介绍✔️官方网址:la777.net✔️线上德州扑克平台平台介绍" class="hidden">西安易登网</a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=im体育官方a豪华版(关于im体育官方a豪华版的简介)✔️最新网址:ad22.net✔️" class="hidden">芬尼空气源热泵</a> <a href="https://stock.adobe.com/search/images?k=✔️网址:ad11.net✔️科普一下足球外围app哪个靠谱的百科✔️网址:ad11.net✔️科普一下足球外围app哪个靠谱的百科" class="hidden">乐读中文网</a> <a href="/sttcs/hot-news/anticonformist.html" class="hidden">名医在线</a> <a href="/cn/jpawvi-928505" class="hidden">LOEWE罗意威</a> <a href="/news/cyannk-349874" class="hidden">安徽农业大学招生网</a> <a href="/sitemap.xml" class="hidden">站点地图</a> <a href="/news/anrlhs-834121.html" class="hidden">中国网法治频道</a> </body></html>