start copy from cimac web
This commit is contained in:
Vendored
+106
@@ -0,0 +1,106 @@
|
||||
/*!
|
||||
* Multiple select dropdown with filter jQuery plugin.
|
||||
* Copyright (C) 2022 Andrew Wagner github.com/andreww1011
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
||||
* USA
|
||||
*/
|
||||
import $ from 'jquery';
|
||||
import FilterMultiSelect from './FilterMultiSelect';
|
||||
// define the plugin function on the jQuery extension point.
|
||||
$.fn.filterMultiSelect = function (args) {
|
||||
var target = this;
|
||||
// merge the global options with the per-call options.
|
||||
args = $.extend({}, $.fn.filterMultiSelect.args, args);
|
||||
// factory defaults
|
||||
if (typeof args.placeholderText === 'undefined')
|
||||
args.placeholderText = 'nothing selected';
|
||||
if (typeof args.filterText === 'undefined')
|
||||
args.filterText = 'Filter';
|
||||
if (typeof args.selectAllText === 'undefined')
|
||||
args.selectAllText = 'Select All';
|
||||
if (typeof args.labelText === 'undefined')
|
||||
args.labelText = '';
|
||||
if (typeof args.selectionLimit === 'undefined')
|
||||
args.selectionLimit = 0;
|
||||
if (typeof args.caseSensitive === 'undefined')
|
||||
args.caseSensitive = false;
|
||||
if (typeof args.allowEnablingAndDisabling === 'undefined')
|
||||
args.allowEnablingAndDisabling = true;
|
||||
if (typeof args.items === 'undefined')
|
||||
args.items = new Array();
|
||||
var filterMultiSelect = new FilterMultiSelect(target, args);
|
||||
var fms = $(filterMultiSelect.getRootElement());
|
||||
target.replaceWith(fms);
|
||||
var methods = {
|
||||
hasOption: function (value) {
|
||||
return filterMultiSelect.hasOption(value);
|
||||
},
|
||||
selectOption: function (value) {
|
||||
filterMultiSelect.selectOption(value);
|
||||
},
|
||||
deselectOption: function (value) {
|
||||
filterMultiSelect.deselectOption(value);
|
||||
},
|
||||
isOptionSelected: function (value) {
|
||||
return filterMultiSelect.isOptionSelected(value);
|
||||
},
|
||||
enableOption: function (value) {
|
||||
filterMultiSelect.enableOption(value);
|
||||
},
|
||||
disableOption: function (value) {
|
||||
filterMultiSelect.disableOption(value);
|
||||
},
|
||||
isOptionDisabled: function (value) {
|
||||
return filterMultiSelect.isOptionDisabled(value);
|
||||
},
|
||||
enable: function () {
|
||||
filterMultiSelect.enable();
|
||||
},
|
||||
disable: function () {
|
||||
filterMultiSelect.disable();
|
||||
},
|
||||
selectAll: function () {
|
||||
filterMultiSelect.selectAll();
|
||||
},
|
||||
deselectAll: function () {
|
||||
filterMultiSelect.deselectAll();
|
||||
},
|
||||
getSelectedOptionsAsJson: function (includeDisabled) {
|
||||
if (includeDisabled === void 0) { includeDisabled = true; }
|
||||
return filterMultiSelect.getSelectedOptionsAsJson(includeDisabled);
|
||||
}
|
||||
};
|
||||
// store applied element
|
||||
$.fn.filterMultiSelect.applied.push(methods);
|
||||
return methods;
|
||||
};
|
||||
// activate plugin by targeting selector
|
||||
$(function () {
|
||||
// factory defaults
|
||||
var selector = typeof $.fn.filterMultiSelect.selector === 'undefined' ? 'select.filter-multi-select' : $.fn.filterMultiSelect.selector;
|
||||
// target
|
||||
var s = $(selector);
|
||||
s.each(function (i, e) {
|
||||
$(e).filterMultiSelect();
|
||||
});
|
||||
});
|
||||
// store collection of applied elements
|
||||
$.fn.filterMultiSelect.applied = new Array();
|
||||
// define the plugin's global default selector.
|
||||
$.fn.filterMultiSelect.selector = undefined;
|
||||
// define the plugin's global default options.
|
||||
$.fn.filterMultiSelect.args = {};
|
||||
//# sourceMappingURL=filter-multi-select.js.map
|
||||
Reference in New Issue
Block a user