{"version":3,"file":"filter-multi-select-bundle.js","sources":["../src/FilterMultiSelect.ts","../src/filter-multi-select.ts"],"names":["$","selectTarget","args","_this","decrementItemFocus","focusItem","this","documentClickListener","e","div","target","contains","closeDropdown","viewBar","dispatchEvent","MouseEvent","fmsMousedownListener","get","t","name","array","find","toArray","filterInput","type","placeholder","filterText","clearButton","document","createElement","filter","append","items","textContent","placeholderText","dropDown","caseSensitive","allowEnablingAndDisabling","focusable","Array","initialize","htmloptions","htmlOptions","map","o","i","checkValue","value","label","FilterMultiSelect","SingleOption","fms","defaultSelected","disabled","length","jsoptions","jsOptions","j","selected","concat","forEach","v","getValue","counts","undefined","opts","Error","class_2","_super","call","prototype","markDeselect","checkbox","checked","isDisabled","options","l","event","selectAllOption","tabIndex","className","selectedItems","disableNoPermissionCheck","log","m","attachDropdownListeners","stopImmediatePropagation","updateDropdownList","isSelected","clearFilterAndRefocus","text","hide","show","showing","push","getLabel","toLowerCase","indexOf","focus","isClosed","classList","removeEventListener","documentKeydownListener","remove","addEventListener","fmsFocusListener","itemFocus","isHidden","refocusFilter","option","areSomeSelected","markSelectAllNotDisabled","hidden","markSelectPartial","disable","enable","areAllSelected","reduce","acc","cur","areAllDisabled","getOption","NULL_OPTION","_i","_a","select","deselect","row","htmlFor","nchbx","selectNoDisabledCheck","preventDefault","stopPropagation","closeButton","queueOption","dispatchSelectedEvent","update","unqueueOption","isEnablingAndDisablingPermitted","selectedItemBadge","labelFor","filterMultiSelect","$__default","extend","fn","selectAllText","getRootElement","replaceWith","methods","hasOption","selectOption","deselectOption","isOptionSelected","enableOption","disableOption","isOptionDisabled","selectAll","deselectAll","getSelectedOptionsAsJson","includeDisabled","selector","s","applied"],"mappings":"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","sourcesContent":["/*! \n * Multiple select dropdown with filter jQuery plugin.\n * Copyright (C) 2022 Andrew Wagner github.com/andreww1011\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n * \n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n * \n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301\n * USA\n */\nimport $, { map } from 'jquery';\n\nconst NULL_OPTION = new class implements Option {\n public initialize(): void {}\n public select(): void {}\n public deselect(): void {}\n public enable(): void {}\n public disable(): void {}\n public isSelected(): boolean {return false;}\n public isDisabled(): boolean {return false;}\n public getListItem(): HTMLElement {return document.createElement('div');}\n public getSelectedItemBadge(): HTMLElement {return document.createElement('div');}\n public getLabel(): string {return 'NULL_OPTION'}\n public getValue(): string {return 'NULL_OPTION'}\n public show(): void {}\n public hide(): void {}\n public isHidden(): boolean {return false;}\n public focus(): void {}\n} \n\ninterface Option {\n initialize(): void;\n select(): void;\n deselect(): void;\n enable(): void;\n disable(): void;\n isSelected(): boolean;\n isDisabled(): boolean;\n getListItem(): HTMLElement;\n getSelectedItemBadge(): HTMLElement;\n getLabel(): string;\n getValue(): string;\n show(): void;\n hide(): void;\n isHidden(): boolean;\n focus(): void;\n}\n\nconst DEBUG = false;\n\nexport default class FilterMultiSelect {\n\n private static SingleOption = class implements Option {\n protected div: HTMLDivElement;\n protected checkbox: HTMLInputElement;\n protected labelFor: HTMLLabelElement;\n protected closeButton: HTMLButtonElement;\n protected selectedItemBadge: HTMLSpanElement;\n protected fms: FilterMultiSelect;\n \n constructor(fms: FilterMultiSelect, row: number, name:string, label: string, value: string, checked: boolean, disabled: boolean) {\n this.fms = fms;\n this.div = document.createElement('div');\n this.checkbox = document.createElement('input');\n this.checkbox.type = 'checkbox';\n let id: string = name + '-' + row.toString();\n let nchbx: string = id + '-chbx';\n this.checkbox.id = nchbx;\n this.checkbox.name = name;\n this.checkbox.value = value;\n this.checkbox.checked = checked;\n this.checkbox.disabled = disabled;\n this.labelFor = document.createElement('label');\n this.labelFor.htmlFor = nchbx;\n this.labelFor.textContent = label;\n this.div.append(this.checkbox, this.labelFor);\n this.closeButton = document.createElement('button');\n this.closeButton.type = 'button';\n this.closeButton.innerHTML = '×';\n this.selectedItemBadge = document.createElement('span');\n this.selectedItemBadge.setAttribute('data-id',id);\n this.selectedItemBadge.textContent = label;\n this.selectedItemBadge.append(this.closeButton);\n }\n \n private log(m: string, e: Event):void {\n if (DEBUG) {\n console.log(e.timeStamp + \" - \" + m + \":\" + e.type + \":\" + e.target)\n }\n }\n \n public initialize(): void {\n this.div.className = 'dropdown-item custom-control';\n this.checkbox.className = 'custom-control-input custom-checkbox';\n this.labelFor.className = 'custom-control-label';\n this.selectedItemBadge.className = 'item';\n if (this.isSelected()) {\n this.selectNoDisabledCheck();\n }\n if (this.isDisabled()) {\n this.disableNoPermissionCheck();\n }\n this.checkbox.addEventListener('change', (e: Event) => {\n e.stopPropagation();\n if (this.isDisabled() || this.fms.isDisabled()) {\n e.preventDefault();\n return;\n }\n if (DEBUG) {\n this.log('checkbox',e);\n }\n \n if (this.isSelected()) {\n this.select();\n } else {\n this.deselect();\n }\n let numShown = this.fms.showing.length;\n if (numShown === 1) {\n this.fms.clearFilterAndRefocus();\n }\n }, true);\n this.checkbox.addEventListener('keyup', (e: KeyboardEvent) => {\n if (DEBUG) {\n this.log('checkbox',e);\n }\n switch (e.key) {\n case \"Enter\":\n e.stopPropagation();\n this.checkbox.dispatchEvent(new MouseEvent('click'));\n break;\n default:\n break;\n }\n }, true)\n this.closeButton.addEventListener('click', (e: Event) => {\n e.stopPropagation();\n if (this.isDisabled() || this.fms.isDisabled()) return;\n if (DEBUG) {\n this.log('closeButton',e);\n }\n this.deselect();\n if (!this.fms.isClosed()) {\n this.fms.refocusFilter();\n }\n }, true);\n this.checkbox.tabIndex = -1;\n this.closeButton.tabIndex = -1;\n }\n \n public select(): void {\n if (this.isDisabled()) return;\n this.selectNoDisabledCheck();\n }\n\n private selectNoDisabledCheck(): void {\n this.checkbox.checked = true;\n this.fms.queueOption(this);\n this.fms.dispatchSelectedEvent(this);\n this.fms.update();\n }\n \n public deselect(): void {\n if (this.isDisabled()) return;\n this.checkbox.checked = false;\n this.fms.unqueueOption(this);\n this.fms.dispatchDeselectedEvent(this);\n this.fms.update();\n }\n \n public enable(): void {\n if (!this.fms.isEnablingAndDisablingPermitted()) return;\n this.checkbox.disabled = false;\n this.selectedItemBadge.classList.remove('disabled');\n this.fms.update();\n }\n \n public disable(): void {\n if (!this.fms.isEnablingAndDisablingPermitted()) return;\n this.disableNoPermissionCheck();\n }\n\n private disableNoPermissionCheck(): void {\n this.checkbox.disabled = true;\n this.selectedItemBadge.classList.add('disabled');\n this.fms.update();\n }\n \n public isSelected(): boolean {\n return this.checkbox.checked;\n }\n \n public isDisabled(): boolean {\n return this.checkbox.disabled;\n }\n \n public getListItem(): HTMLElement {\n return this.div;\n }\n \n public getSelectedItemBadge(): HTMLElement {\n return this.selectedItemBadge;\n }\n \n public getLabel(): string {\n return this.labelFor.textContent;\n }\n \n public getValue(): string {\n return this.checkbox.value;\n }\n \n public show(): void {\n this.div.hidden = false;\n }\n \n public hide(): void {\n this.div.hidden = true;\n }\n \n public isHidden(): boolean {\n return this.div.hidden;\n }\n\n public focus(): void {\n this.labelFor.focus();\n }\n }\n\n private static createOptions(fms: FilterMultiSelect, name: string, htmlOptions: Array, jsOptions: Array<[label:string, value:string, selected?:boolean, disabled?:boolean]>): Array