{"version":3,"sources":["plugins/select.js"],"names":["Select","$","NAME","DATA_KEY","JQUERY_NO_CONFLICT","fn","Default","container","noneSelectedText","actionsBox","countSelectedText","numSelected","numTotal","deselectAllText","dropdownAlignRight","header","liveSearch","liveSearchPlaceholder","liveSearchStyle","maxOptions","menuClass","selectedAllText","selectedTextFormat","showContent","showIcon","showSubtext","size","style","title","width","Selector","SELECT","element","config","_config","_element","$element","on","$select","closest","length","find","addClass","removeData","each","$this","data","extend","selectpicker","defaults","iconBase","tickIcon","_jQueryInterface","call","document","ajaxStop","off","e","$parent","is","parent","active","$newElement","hasClass","keydown","test","keyCode","toString","selector","controls","parents","currentIndex","findIndex","control","tagName","$button","focus","Constructor","noConflict","jQuery"],"mappings":"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","file":"select.js","sourcesContent":["const Select = (($) => {\r\n\r\n const NAME = 'select';\r\n const DATA_KEY = `bs.${NAME}`;\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n\r\n const Default = {\r\n container: false,//'body',\r\n noneSelectedText: '...',\r\n\r\n actionsBox: false,\r\n countSelectedText(numSelected, numTotal) {\r\n return (numSelected === 1) ? \"{0} item selected\" : \"{0} items selected\";\r\n },\r\n deselectAllText: 'Deselect All',\r\n dropdownAlignRight: false,\r\n header: false,\r\n liveSearch: false,\r\n liveSearchPlaceholder: null,\r\n liveSearchStyle: 'contains',\r\n maxOptions: false,\r\n menuClass: null,\r\n selectedAllText: 'Select All',\r\n selectedTextFormat: 'values',\r\n showContent: true,\r\n showIcon: true,\r\n showSubtext: false,\r\n size: 'auto',\r\n style: 'btn-default',\r\n title: null,\r\n width: '100%'\r\n };\r\n const Selector = {\r\n SELECT: `.js-${NAME}`\r\n }\r\n\r\n class Select {\r\n constructor(element, config) {\r\n this._config = config;\r\n this._element = element;\r\n this.$element = $(element);\r\n\r\n this.$element.on('change', function () {\r\n const $select = $(this);\r\n\r\n if (!$select.closest('.dropdown-content').length) {\r\n //$select.trigger('click'); // trigger reevaluation\r\n }\r\n });\r\n if (this._config.menuClass) {\r\n this.$element.on('show.bs.dropdown', function () {\r\n $(this).find('.dropdown-menu').addClass(this._config.menuClass);\r\n });\r\n }\r\n }\r\n\r\n dispose() {\r\n $.removeData(this._element, DATA_KEY);\r\n this._config = null;\r\n this._element = null;\r\n }\r\n\r\n static _jQueryInterface() {\r\n return this.each(function () {\r\n const $this = $(this);\r\n let data = $this.data(DATA_KEY);\r\n const config = $.extend({}, Default, $this.data());\r\n if (!data) {\r\n data = new Select(this, config);\r\n $this.data(DATA_KEY, data).selectpicker(config);\r\n }\r\n });\r\n }\r\n }\r\n\r\n $.fn.selectpicker.defaults = {\r\n iconBase: '',\r\n tickIcon: 'fa fa-check'\r\n };\r\n $(() => Select._jQueryInterface.call($(Selector.SELECT)));\r\n $(document).ajaxStop(() => Select._jQueryInterface.call($(Selector.SELECT)));\r\n\r\n $(document).off('keydown.bs.select').on('keydown.bs.select', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=\"listbox\"], .bs-searchbox input', function (e) {\r\n let $this = $(this),\r\n $parent = $this.is('input') ? $this.parent().parent() : $this.parent(),\r\n selectpicker = $parent.data('this'),\r\n active = selectpicker.$newElement.hasClass('open');\r\n\r\n selectpicker.keydown.call(this, e);\r\n\r\n if (/(^9$)/.test(e.keyCode.toString(10))) {\r\n // when control was previously opened but now closed.\r\n if (active && !selectpicker.$newElement.hasClass('open')) {\r\n const selector = 'input:not([type=hidden],:hidden,:disabled),select:not(:disabled),button:not(disabled,.dropdown-toggle)';\r\n const controls = [...$(selector, $this.parents('.modal').length > 0 ? '.modal' : document)];\r\n\r\n const currentIndex = controls.findIndex((control) => control === selectpicker.$element[0]);\r\n\r\n if (controls[currentIndex + 1].tagName === 'SELECT') {\r\n $(controls[currentIndex + 1]).data('selectpicker').$button.focus();\r\n }\r\n else {\r\n controls[currentIndex + 1].focus();\r\n }\r\n }\r\n }\r\n });\r\n\r\n $.fn[NAME] = Select._jQueryInterface;\r\n $.fn[NAME].Constructor = Select;\r\n $.fn[NAME].noConflict = function () {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Select._jQueryInterface;\r\n }\r\n\r\n return Select;\r\n})(jQuery);"]}