View | Details | Raw Unified | Return to bug 33868
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/multiple-select/jquery.multiple.select.js (-589 lines)
Lines 1-589 Link Here
1
/**
2
 * @author zhixin wen <wenzhixin2010@gmail.com>
3
 * @version 1.1.0
4
 *
5
 * http://wenzhixin.net.cn/p/multiple-select/
6
 */
7
8
(function ($) {
9
10
    'use strict';
11
12
    function MultipleSelect($el, options) {
13
        var that = this,
14
            name = $el.attr('name') || options.name || ''
15
16
        $el.parent().hide();
17
        var elWidth = $el.css("width");
18
        $el.parent().show();
19
        if (elWidth=="0px") {elWidth = $el.outerWidth()+20}
20
21
        this.$el = $el.hide();
22
        this.options = options;
23
        this.$parent = $('<div' + $.map(['class', 'title'],function (att) {
24
            var attValue = that.$el.attr(att) || '';
25
            attValue = (att === 'class' ? ('ms-parent' + (attValue ? ' ' : '')) : '') + attValue;
26
            return attValue ? (' ' + att + '="' + attValue + '"') : '';
27
        }).join('') + ' />');
28
        this.$choice = $('<button type="button" class="ms-choice"><span class="placeholder">' +
29
            options.placeholder + '</span><div></div></button>');
30
        this.$drop = $('<div class="ms-drop ' + options.position + '"></div>');
31
        this.$el.after(this.$parent);
32
        this.$parent.append(this.$choice);
33
        this.$parent.append(this.$drop);
34
35
        if (this.$el.prop('disabled')) {
36
            this.$choice.addClass('disabled');
37
        }
38
        this.$parent.css('width', options.width || elWidth);
39
40
        if (!this.options.keepOpen) {
41
            $('body').click(function (e) {
42
                if ($(e.target)[0] === that.$choice[0] ||
43
                    $(e.target).parents('.ms-choice')[0] === that.$choice[0]) {
44
                    return;
45
                }
46
                if (($(e.target)[0] === that.$drop[0] ||
47
                    $(e.target).parents('.ms-drop')[0] !== that.$drop[0]) &&
48
                    that.options.isOpen) {
49
                    that.close();
50
                }
51
            });
52
        }
53
54
        this.selectAllName = 'name="selectAll' + name + '"';
55
        this.selectGroupName = 'name="selectGroup' + name + '"';
56
        this.selectItemName = 'name="selectItem' + name + '"';
57
    }
58
59
    MultipleSelect.prototype = {
60
        constructor: MultipleSelect,
61
62
        init: function () {
63
            var that = this,
64
                html = [];
65
            if (this.options.filter) {
66
                html.push(
67
                    '<div class="ms-search">',
68
                    '<input type="text" autocomplete="off" autocorrect="off" autocapitilize="off" spellcheck="false">',
69
                    '</div>'
70
                );
71
            }
72
            html.push('<ul>');
73
            if (this.options.selectAll && !this.options.single) {
74
                html.push(
75
                    '<li class="ms-select-all">',
76
                    '<label>',
77
                    '<input type="checkbox" ' + this.selectAllName + ' /> ',
78
                    this.options.selectAllDelimiter[0] + this.options.selectAllText + this.options.selectAllDelimiter[1],
79
                    '</label>',
80
                    '</li>'
81
                );
82
            }
83
            $.each(this.$el.children(), function (i, elm) {
84
                html.push(that.optionToHtml(i, elm));
85
            });
86
            html.push('<li class="ms-no-results">' + this.options.noMatchesFound + '</li>');
87
            html.push('</ul>');
88
            this.$drop.html(html.join(''));
89
90
            this.$drop.find('ul').css('max-height', this.options.maxHeight + 'px');
91
            this.$drop.find('.multiple').css('width', this.options.multipleWidth + 'px');
92
93
            this.$searchInput = this.$drop.find('.ms-search input');
94
            this.$selectAll = this.$drop.find('input[' + this.selectAllName + ']');
95
            this.$selectGroups = this.$drop.find('input[' + this.selectGroupName + ']');
96
            this.$selectItems = this.$drop.find('input[' + this.selectItemName + ']:enabled');
97
            this.$disableItems = this.$drop.find('input[' + this.selectItemName + ']:disabled');
98
            this.$noResults = this.$drop.find('.ms-no-results');
99
            this.events();
100
            this.updateSelectAll(true);
101
            this.update(true);
102
103
            if (this.options.isOpen) {
104
                this.open();
105
            }
106
        },
107
108
        optionToHtml: function (i, elm, group, groupDisabled) {
109
            var that = this,
110
                $elm = $(elm),
111
                html = [],
112
                multiple = this.options.multiple,
113
                optAttributesToCopy = ['class', 'title'],
114
                clss = $.map(optAttributesToCopy, function (att, i) {
115
                    var isMultiple = att === 'class' && multiple;
116
                    var attValue = $elm.attr(att) || '';
117
                    return (isMultiple || attValue) ?
118
                        (' ' + att + '="' + (isMultiple ? ('multiple' + (attValue ? ' ' : '')) : '') + attValue + '"') :
119
                        '';
120
                }).join(''),
121
                disabled,
122
                type = this.options.single ? 'radio' : 'checkbox';
123
124
            if ($elm.is('option')) {
125
                var value = $elm.val(),
126
                    text = that.options.textTemplate($elm),
127
                    selected = (that.$el.attr('multiple') != undefined) ? $elm.prop('selected') : ($elm.attr('selected') == 'selected'),
128
                    style = this.options.styler(value) ? ' style="' + this.options.styler(value) + '"' : '';
129
130
                disabled = groupDisabled || $elm.prop('disabled');
131
                if ((this.options.blockSeparator > "") && (this.options.blockSeparator == $elm.val())) {
132
                    html.push(
133
                        '<li' + clss + style + '>',
134
                        '<label class="' + this.options.blockSeparator + (disabled ? 'disabled' : '') + '">',
135
                        text,
136
                        '</label>',
137
                        '</li>'
138
                    );
139
                } else {
140
                    html.push(
141
                        '<li' + clss + style + '>',
142
                        '<label' + (disabled ? ' class="disabled"' : '') + '>',
143
                        '<input type="' + type + '" ' + this.selectItemName + ' value="' + value + '"' +
144
                            (selected ? ' checked="checked"' : '') +
145
                            (disabled ? ' disabled="disabled"' : '') +
146
                            (group ? ' data-group="' + group + '"' : '') +
147
                            '/> ',
148
                        text,
149
                        '</label>',
150
                        '</li>'
151
                    );
152
                }
153
            } else if (!group && $elm.is('optgroup')) {
154
                var _group = 'group_' + i,
155
                    label = $elm.attr('label');
156
157
                disabled = $elm.prop('disabled');
158
                html.push(
159
                    '<li class="group">',
160
                    '<label class="optgroup' + (disabled ? ' disabled' : '') + '" data-group="' + _group + '">',
161
                    (this.options.hideOptgroupCheckboxes ? '' : '<input type="checkbox" ' + this.selectGroupName +
162
                        (disabled ? ' disabled="disabled"' : '') + ' /> '),
163
                    label,
164
                    '</label>',
165
                    '</li>');
166
                $.each($elm.children(), function (i, elm) {
167
                    html.push(that.optionToHtml(i, elm, _group, disabled));
168
                });
169
            }
170
            return html.join('');
171
        },
172
173
        events: function () {
174
            var that = this;
175
176
            function toggleOpen(e) {
177
                e.preventDefault();
178
                that[that.options.isOpen ? 'close' : 'open']();
179
            }
180
181
            var label = this.$el.parent().closest('label')[0] || $('label[for=' + this.$el.attr('id') + ']')[0];
182
            if (label) {
183
                $(label).off('click').on('click', function (e) {
184
                    if (e.target.nodeName.toLowerCase() !== 'label' || e.target !== this) {
185
                        return;
186
                    }
187
                    toggleOpen(e);
188
                    if (!that.options.filter || !that.options.isOpen) {
189
                        that.focus();
190
                    }
191
                    e.stopPropagation(); // Causes lost focus otherwise
192
                });
193
            }
194
            this.$choice.off('click').on('click', toggleOpen)
195
                .off('focus').on('focus', this.options.onFocus)
196
                .off('blur').on('blur', this.options.onBlur);
197
198
            this.$parent.off('keydown').on('keydown', function (e) {
199
                switch (e.which) {
200
                    case 27: // esc key
201
                        that.close();
202
                        that.$choice.focus();
203
                        break;
204
                }
205
            });
206
            this.$searchInput.off('keydown').on('keydown',function (e) {
207
                if (e.keyCode === 9 && e.shiftKey) { // Ensure shift-tab causes lost focus from filter as with clicking away
208
                    that.close();
209
                }
210
            }).off('keyup').on('keyup', function (e) {
211
                    if (that.options.filterAcceptOnEnter &&
212
                        (e.which === 13 || e.which == 32) && // enter or space
213
                        that.$searchInput.val() // Avoid selecting/deselecting if no choices made
214
                        ) {
215
                        that.$selectAll.click();
216
                        that.close();
217
                        that.focus();
218
                        return;
219
                    }
220
                    that.filter();
221
                });
222
            this.$selectAll.off('click').on('click', function () {
223
                var checked = $(this).prop('checked'),
224
                    $items = that.$selectItems.filter(':visible');
225
                if ($items.length === that.$selectItems.length) {
226
                    that[checked ? 'checkAll' : 'uncheckAll']();
227
                } else { // when the filter option is true
228
                    that.$selectGroups.prop('checked', checked);
229
                    $items.prop('checked', checked);
230
                    that.options[checked ? 'onCheckAll' : 'onUncheckAll']();
231
                    that.update();
232
                }
233
            });
234
            this.$selectGroups.off('click').on('click', function () {
235
                var group = $(this).parent().attr('data-group'),
236
                    $items = that.$selectItems.filter(':visible'),
237
                    $children = $items.filter('[data-group="' + group + '"]'),
238
                    checked = $children.length !== $children.filter(':checked').length;
239
                $children.prop('checked', checked);
240
                that.updateSelectAll();
241
                that.update();
242
                that.options.onOptgroupClick({
243
                    label: $(this).parent().text(),
244
                    checked: checked,
245
                    children: $children.get()
246
                });
247
            });
248
            this.$selectItems.off('click').on('click', function () {
249
                that.updateSelectAll();
250
                that.update();
251
                that.updateOptGroupSelect();
252
                that.options.onClick({
253
                    label: $(this).parent().text(),
254
                    value: $(this).val(),
255
                    checked: $(this).prop('checked')
256
                });
257
258
                if (that.options.single && that.options.isOpen && !that.options.keepOpen) {
259
                    that.close();
260
                }
261
            });
262
        },
263
264
        open: function () {
265
            if (this.$choice.hasClass('disabled')) {
266
                return;
267
            }
268
            this.options.isOpen = true;
269
            this.$choice.find('>div').addClass('open');
270
            this.$drop.show();
271
272
            // fix filter bug: no results show
273
            this.$selectAll.parent().show();
274
            this.$noResults.hide();
275
276
            // Fix #77: 'All selected' when no options
277
            if (this.$el.children().length === 0) {
278
                this.$selectAll.parent().hide();
279
                this.$noResults.show();
280
            }
281
282
            if (this.options.container) {
283
                var offset = this.$drop.offset();
284
                this.$drop.appendTo($(this.options.container));
285
                this.$drop.offset({ top: offset.top, left: offset.left });
286
            }
287
            if (this.options.filter) {
288
                this.$searchInput.val('');
289
                this.$searchInput.focus();
290
                this.filter();
291
            }
292
            this.options.onOpen();
293
        },
294
295
        close: function () {
296
            this.options.isOpen = false;
297
            this.$choice.find('>div').removeClass('open');
298
            this.$drop.hide();
299
            if (this.options.container) {
300
                this.$parent.append(this.$drop);
301
                this.$drop.css({
302
                    'top': 'auto',
303
                    'left': 'auto'
304
                });
305
            }
306
            this.options.onClose();
307
        },
308
309
        update: function (isInit) {
310
            var selects = this.getSelects(),
311
                $span = this.$choice.find('>span');
312
313
            if (selects.length === 0) {
314
                $span.addClass('placeholder').html(this.options.placeholder);
315
            } else if (this.options.countSelected && selects.length < this.options.minumimCountSelected) {
316
                $span.removeClass('placeholder').html(
317
                    (this.options.displayValues ? selects : this.getSelects('text'))
318
                        .join(this.options.delimiter));
319
            } else if (this.options.allSelected &&
320
                selects.length === this.$selectItems.length + this.$disableItems.length) {
321
                $span.removeClass('placeholder').html(this.options.allSelected);
322
            } else if ((this.options.countSelected || this.options.etcaetera) && selects.length > this.options.minumimCountSelected) {
323
                if (this.options.etcaetera) {
324
                    $span.removeClass('placeholder').html((this.options.displayValues ? selects : this.getSelects('text').slice(0, this.options.minumimCountSelected)).join(this.options.delimiter) + '...');
325
                }
326
                else {
327
                    $span.removeClass('placeholder').html(this.options.countSelected
328
                        .replace('#', selects.length)
329
                        .replace('%', this.$selectItems.length + this.$disableItems.length));
330
                }
331
            } else {
332
                $span.removeClass('placeholder').html(
333
                    (this.options.displayValues ? selects : this.getSelects('text'))
334
                        .join(this.options.delimiter));
335
            }
336
            // set selects to select
337
            this.$el.val(this.getSelects());
338
339
            // add selected class to selected li
340
            this.$drop.find('li').removeClass('selected');
341
            this.$drop.find('input[' + this.selectItemName + ']:checked').each(function () {
342
                $(this).parents('li').first().addClass('selected');
343
            });
344
345
            // trigger <select> change event
346
            if (!isInit) {
347
                this.$el.trigger('change');
348
            }
349
        },
350
351
        updateSelectAll: function (Init) {
352
            var $items = this.$selectItems;
353
            if (!Init) { $items = $items.filter(':visible'); }
354
            this.$selectAll.prop('checked', $items.length &&
355
                $items.length === $items.filter(':checked').length);
356
            if (this.$selectAll.prop('checked')) {
357
                this.options.onCheckAll();
358
            }
359
        },
360
361
        updateOptGroupSelect: function () {
362
            var $items = this.$selectItems.filter(':visible');
363
            $.each(this.$selectGroups, function (i, val) {
364
                var group = $(val).parent().attr('data-group'),
365
                    $children = $items.filter('[data-group="' + group + '"]');
366
                $(val).prop('checked', $children.length &&
367
                    $children.length === $children.filter(':checked').length);
368
            });
369
        },
370
371
        //value or text, default: 'value'
372
        getSelects: function (type) {
373
            var that = this,
374
                texts = [],
375
                values = [];
376
            this.$drop.find('input[' + this.selectItemName + ']:checked').each(function () {
377
                texts.push($(this).parents('li').first().text());
378
                values.push($(this).val());
379
            });
380
381
            if (type === 'text' && this.$selectGroups.length) {
382
                texts = [];
383
                this.$selectGroups.each(function () {
384
                    var html = [],
385
                        text = $.trim($(this).parent().text()),
386
                        group = $(this).parent().data('group'),
387
                        $children = that.$drop.find('[' + that.selectItemName + '][data-group="' + group + '"]'),
388
                        $selected = $children.filter(':checked');
389
390
                    if ($selected.length === 0) {
391
                        return;
392
                    }
393
394
                    html.push('[');
395
                    html.push(text);
396
                    if ($children.length > $selected.length) {
397
                        var list = [];
398
                        $selected.each(function () {
399
                            list.push($(this).parent().text());
400
                        });
401
                        html.push(': ' + list.join(', '));
402
                    }
403
                    html.push(']');
404
                    texts.push(html.join(''));
405
                });
406
            }
407
            return type === 'text' ? texts : values;
408
        },
409
410
        setSelects: function (values) {
411
            var that = this;
412
            this.$selectItems.prop('checked', false);
413
            $.each(values, function (i, value) {
414
                that.$selectItems.filter('[value="' + value + '"]').prop('checked', true);
415
            });
416
            this.$selectAll.prop('checked', this.$selectItems.length ===
417
                this.$selectItems.filter(':checked').length);
418
            this.update();
419
        },
420
421
        enable: function () {
422
            this.$choice.removeClass('disabled');
423
        },
424
425
        disable: function () {
426
            this.$choice.addClass('disabled');
427
        },
428
429
        checkAll: function () {
430
            this.$selectItems.prop('checked', true);
431
            this.$selectGroups.prop('checked', true);
432
            this.$selectAll.prop('checked', true);
433
            this.update();
434
            this.options.onCheckAll();
435
        },
436
437
        uncheckAll: function () {
438
            this.$selectItems.prop('checked', false);
439
            this.$selectGroups.prop('checked', false);
440
            this.$selectAll.prop('checked', false);
441
            this.update();
442
            this.options.onUncheckAll();
443
        },
444
445
        focus: function () {
446
            this.$choice.focus();
447
            this.options.onFocus();
448
        },
449
450
        blur: function () {
451
            this.$choice.blur();
452
            this.options.onBlur();
453
        },
454
455
        refresh: function () {
456
            this.init();
457
        },
458
459
        filter: function () {
460
            var that = this,
461
                text = $.trim(this.$searchInput.val()).toLowerCase();
462
            if (text.length === 0) {
463
                this.$selectItems.parent().show();
464
                this.$disableItems.parent().show();
465
                this.$selectGroups.parent().show();
466
            } else {
467
                this.$selectItems.each(function () {
468
                    var $parent = $(this).parent();
469
                    $parent[$parent.text().toLowerCase().indexOf(text) < 0 ? 'hide' : 'show']();
470
                });
471
                this.$disableItems.parent().hide();
472
                this.$selectGroups.each(function () {
473
                    var $parent = $(this).parent();
474
                    var group = $parent.attr('data-group'),
475
                        $items = that.$selectItems.filter(':visible');
476
                    $parent[$items.filter('[data-group="' + group + '"]').length === 0 ? 'hide' : 'show']();
477
                });
478
479
                //Check if no matches found
480
                if (this.$selectItems.filter(':visible').length) {
481
                    this.$selectAll.parent().show();
482
                    this.$noResults.hide();
483
                } else {
484
                    this.$selectAll.parent().hide();
485
                    this.$noResults.show();
486
                }
487
            }
488
            this.updateOptGroupSelect();
489
            this.updateSelectAll();
490
        }
491
    };
492
493
    $.fn.multipleSelect = function () {
494
        var option = arguments[0],
495
            args = arguments,
496
497
            value,
498
            allowedMethods = [
499
                'getSelects', 'setSelects',
500
                'enable', 'disable',
501
                'checkAll', 'uncheckAll',
502
                'focus', 'blur',
503
                'refresh'
504
            ];
505
506
        this.each(function () {
507
            var $this = $(this),
508
                data = $this.data('multipleSelect'),
509
                options = $.extend({}, $.fn.multipleSelect.defaults,
510
                    $this.data(), typeof option === 'object' && option);
511
512
            if (!data) {
513
                data = new MultipleSelect($this, options);
514
                $this.data('multipleSelect', data);
515
            }
516
517
            if (typeof option === 'string') {
518
                if ($.inArray(option, allowedMethods) < 0) {
519
                    throw "Unknown method: " + option;
520
                }
521
                value = data[option](args[1]);
522
            } else {
523
                data.init();
524
                if (args[1]) {
525
                    value = data[args[1]].apply(data, [].slice.call(args, 2));
526
                }
527
            }
528
        });
529
530
        return value ? value : this;
531
    };
532
533
    $.fn.multipleSelect.defaults = {
534
        name: '',
535
        isOpen: false,
536
        placeholder: '',
537
        selectAll: true,
538
        selectAllText: 'Select all',
539
        selectAllDelimiter: ['[', ']'],
540
        allSelected: 'All selected',
541
        minumimCountSelected: 3,
542
        countSelected: '# of % selected',
543
        noMatchesFound: 'No matches found',
544
        multiple: false,
545
        multipleWidth: 80,
546
        single: false,
547
        filter: false,
548
        width: undefined,
549
        maxHeight: 250,
550
        container: null,
551
        position: 'bottom',
552
        keepOpen: false,
553
        blockSeparator: '',
554
        displayValues: false,
555
        delimiter: ', ',
556
557
        styler: function () {
558
            return false;
559
        },
560
        textTemplate: function ($elm) {
561
            return $elm.text();
562
        },
563
564
        onOpen: function () {
565
            return false;
566
        },
567
        onClose: function () {
568
            return false;
569
        },
570
        onCheckAll: function () {
571
            return false;
572
        },
573
        onUncheckAll: function () {
574
            return false;
575
        },
576
        onFocus: function () {
577
            return false;
578
        },
579
        onBlur: function () {
580
            return false;
581
        },
582
        onOptgroupClick: function () {
583
            return false;
584
        },
585
        onClick: function () {
586
            return false;
587
        }
588
    };
589
})(jQuery);
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/multiple-select/multiple-select.css (-191 lines)
Lines 1-191 Link Here
1
/**
2
 * @author zhixin wen <wenzhixin2010@gmail.com>
3
 */
4
5
.ms-parent {
6
    display: inline-block;
7
    position: relative;
8
    vertical-align: middle;
9
}
10
11
.ms-choice {
12
    display: block;
13
    width: 100%;
14
    height: 26px;
15
    padding: 0;
16
    overflow: hidden;
17
    cursor: pointer;
18
    border: 1px solid #aaa;
19
    text-align: left;
20
    white-space: nowrap;
21
    line-height: 26px;
22
    color: #444;
23
    text-decoration: none;
24
    -webkit-border-radius: 4px;
25
    -moz-border-radius: 4px;
26
    border-radius: 4px;
27
    background-color: #fff;
28
}
29
30
.ms-choice.disabled {
31
    background-color: #f4f4f4;
32
    background-image: none;
33
    border: 1px solid #ddd;
34
    cursor: default;
35
}
36
37
.ms-choice > span {
38
    position: absolute;
39
    top: 0;
40
    left: 0;
41
    right: 20px;
42
    white-space: nowrap;
43
    overflow: hidden;
44
    text-overflow: ellipsis;
45
    display: block;
46
    padding-left: 8px;
47
}
48
49
.ms-choice > span.placeholder {
50
    color: #999;
51
}
52
53
.ms-choice > div {
54
    position: absolute;
55
    top: 0;
56
    right: 0;
57
    width: 20px;
58
    height: 25px;
59
    background: url('multiple-select.png') right top no-repeat;
60
}
61
62
.ms-choice > div.open {
63
    background: url('multiple-select.png') left top no-repeat;
64
}
65
66
.ms-drop {
67
    width: 100%;
68
    overflow: hidden;
69
    display: none;
70
    margin-top: -1px;
71
    padding: 0;
72
    position: absolute;
73
    z-index: 1000;
74
    background: #fff;
75
    color: #000;
76
    border: 1px solid #aaa;
77
    -webkit-border-radius: 4px;
78
    -moz-border-radius: 4px;
79
    border-radius: 4px;
80
}
81
82
.ms-drop.bottom {
83
    top: 100%;
84
    -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
85
    -moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
86
    box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
87
}
88
89
.ms-drop.top {
90
    bottom: 100%;
91
    -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
92
    -moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
93
    box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
94
}
95
96
.ms-search {
97
    display: inline-block;
98
    margin: 0;
99
    min-height: 26px;
100
    padding: 4px;
101
    position: relative;
102
    white-space: nowrap;
103
    width: 100%;
104
    z-index: 10000;
105
}
106
107
.ms-search input {
108
    width: 100%;
109
    height: auto !important;
110
    min-height: 24px;
111
    padding: 0 20px 0 5px;
112
    margin: 0;
113
    outline: 0;
114
    font-family: sans-serif;
115
    font-size: 1em;
116
    border: 1px solid #aaa;
117
    -webkit-border-radius: 0;
118
    -moz-border-radius: 0;
119
    border-radius: 0;
120
    -webkit-box-shadow: none;
121
    -moz-box-shadow: none;
122
    box-shadow: none;
123
    background: #fff url('multiple-select.png') no-repeat 100% -22px;
124
    background: url('multiple-select.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
125
    background: url('multiple-select.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
126
    background: url('multiple-select.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
127
    background: url('multiple-select.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
128
    background: url('multiple-select.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
129
    background: url('multiple-select.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
130
}
131
132
.ms-search, .ms-search input {
133
    -webkit-box-sizing: border-box;
134
    -khtml-box-sizing: border-box;
135
    -moz-box-sizing: border-box;
136
    -ms-box-sizing: border-box;
137
    box-sizing: border-box;
138
}
139
140
.ms-drop ul {
141
    overflow: auto;
142
    margin: 0;
143
    padding: 5px 8px;
144
}
145
146
.ms-drop ul > li {
147
    list-style: none;
148
    display: list-item;
149
    background-image: none;
150
    position: static;
151
}
152
153
.ms-drop ul > li .disabled {
154
    opacity: .35;
155
    filter: Alpha(Opacity=35);
156
}
157
158
.ms-drop ul > li.multiple {
159
    display: block;
160
    float: left;
161
}
162
163
.ms-drop ul > li.group {
164
    clear: both;
165
}
166
167
.ms-drop ul > li.multiple label {
168
    width: 100%;
169
    display: block;
170
    white-space: nowrap;
171
    overflow: hidden;
172
    text-overflow: ellipsis;
173
}
174
175
.ms-drop ul > li label {
176
    font-weight: normal;
177
    display: block;
178
    white-space: nowrap;
179
}
180
181
.ms-drop ul > li label.optgroup {
182
    font-weight: bold;
183
}
184
185
.ms-drop input[type="checkbox"] {
186
    vertical-align: middle;
187
}
188
189
.ms-drop .ms-no-results {
190
    display: none;
191
}
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/multiple-select/multiple-select.min.css (+10 lines)
Line 0 Link Here
1
/**
2
  * multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
3
  *
4
  * @version v1.6.0
5
  * @homepage http://multiple-select.wenzhixin.net.cn
6
  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
7
  * @license MIT
8
  */
9
10
@charset "UTF-8";.ms-offscreen{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:auto!important;top:auto!important}.ms-parent{display:inline-block;position:relative;vertical-align:middle}.ms-choice{display:block;width:100%;height:26px;padding:0;overflow:hidden;cursor:pointer;border:1px solid #aaa;text-align:left;white-space:nowrap;line-height:26px;color:#444;text-decoration:none;border-radius:4px;background-color:#fff}.ms-choice.disabled{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.ms-choice>span{position:absolute;top:0;left:0;right:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-left:8px}.ms-choice>span.placeholder{color:#999}.ms-choice>div.icon-close{position:absolute;top:0;right:16px;height:100%;width:16px}.ms-choice>div.icon-close:before{content:'×';color:#888;font-weight:bold}.ms-choice>div.icon-close:hover:before{color:#333}.ms-choice>div.icon-caret{position:absolute;width:0;height:0;top:50%;right:8px;margin-top:-2px;border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px}.ms-choice>div.icon-caret.open{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.ms-drop{width:auto;min-width:100%;overflow:hidden;display:none;margin-top:-1px;padding:0;position:absolute;z-index:1000;background:#fff;color:#000;border:1px solid #aaa;border-radius:4px}.ms-drop.bottom{top:100%;box-shadow:0 4px 5px rgba(0,0,0,0.15)}.ms-drop.top{bottom:100%;box-shadow:0 -4px 5px rgba(0,0,0,0.15)}.ms-search{display:inline-block;margin:0;min-height:26px;padding:2px;position:relative;white-space:nowrap;width:100%;z-index:10000;box-sizing:border-box}.ms-search input{width:100%;height:auto!important;min-height:24px;padding:0 5px;margin:0;outline:0;font-family:sans-serif;border:1px solid #aaa;border-radius:5px;box-shadow:none}.ms-drop ul{overflow:auto;margin:0;padding:0}.ms-drop ul>li{list-style:none;display:list-item;background-image:none;position:static;padding:.25rem 8px}.ms-drop ul>li .disabled{font-weight:normal!important;opacity:.35;filter:Alpha(Opacity=35);cursor:default}.ms-drop ul>li.multiple{display:block;float:left}.ms-drop ul>li.group{clear:both}.ms-drop ul>li.multiple label{width:100%;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-drop ul>li label{position:relative;padding-left:1.25rem;margin-bottom:0;font-weight:normal;display:block;white-space:nowrap;cursor:pointer}.ms-drop ul>li label.optgroup{font-weight:bold}.ms-drop ul>li.hide-radio{padding:0}.ms-drop ul>li.hide-radio:focus,.ms-drop ul>li.hide-radio:hover{background-color:#f8f9fa}.ms-drop ul>li.hide-radio.selected{color:#fff;background-color:#007bff}.ms-drop ul>li.hide-radio label{margin-bottom:0;padding:5px 8px}.ms-drop ul>li.hide-radio input{display:none}.ms-drop ul>li.option-level-1 label{padding-left:28px}.ms-drop ul>li.option-divider{padding:0;border-top:1px solid #e9ecef}.ms-drop input[type="radio"],.ms-drop input[type="checkbox"]{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.ms-drop .ms-no-results{display:none}
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/multiple-select/multiple-select.min.js (+10 lines)
Line 0 Link Here
1
/**
2
  * multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
3
  *
4
  * @version v1.6.0
5
  * @homepage http://multiple-select.wenzhixin.net.cn
6
  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
7
  * @license MIT
8
  */
9
10
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).jQuery)}(this,(function(t){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,(u=i.key,r=void 0,"symbol"==typeof(r=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(u,"string"))?r:String(r)),i)}var u,r}function u(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,u,r,o,s=[],a=!0,l=!1;try{if(r=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;a=!1}else for(;!(a=(i=r.call(n)).done)&&(s.push(i.value),s.length!==e);a=!0);}catch(t){l=!0,u=t}finally{try{if(!a&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw u}}return s}}(t,e)||s(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||s(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(t,e){if(t){if("string"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(t,e):void 0}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function l(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=s(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,u=function(){};return{s:u,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:u}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){a=!0,r=t},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw r}}}}var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},h=function(t){return t&&t.Math==Math&&t},f=h("object"==typeof globalThis&&globalThis)||h("object"==typeof window&&window)||h("object"==typeof self&&self)||h("object"==typeof c&&c)||function(){return this}()||c||Function("return this")(),d={},p=function(t){try{return!!t()}catch(t){return!0}},v=!p((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),g=!p((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),E=g,b=Function.prototype.call,y=E?b.bind(b):function(){return b.apply(b,arguments)},m={},A={}.propertyIsEnumerable,C=Object.getOwnPropertyDescriptor,F=C&&!A.call({1:2},1);m.f=F?function(t){var e=C(this,t);return!!e&&e.enumerable}:A;var S,D,k=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},x=g,O=Function.prototype,w=O.call,$=x&&O.bind.bind(w,w),B=x?$:function(t){return function(){return w.apply(t,arguments)}},j=B,T=j({}.toString),L=j("".slice),I=function(t){return L(T(t),8,-1)},R=p,_=I,M=Object,P=B("".split),N=R((function(){return!M("z").propertyIsEnumerable(0)}))?function(t){return"String"==_(t)?P(t,""):M(t)}:M,H=function(t){return null==t},U=H,G=TypeError,W=function(t){if(U(t))throw G("Can't call method on "+t);return t},z=N,K=W,V=function(t){return z(K(t))},q="object"==typeof document&&document.all,Y={all:q,IS_HTMLDDA:void 0===q&&void 0!==q},X=Y.all,J=Y.IS_HTMLDDA?function(t){return"function"==typeof t||t===X}:function(t){return"function"==typeof t},Z=J,Q=Y.all,tt=Y.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:Z(t)||t===Q}:function(t){return"object"==typeof t?null!==t:Z(t)},et=f,nt=J,it=function(t,e){return arguments.length<2?(n=et[t],nt(n)?n:void 0):et[t]&&et[t][e];var n},ut=B({}.isPrototypeOf),rt=f,ot="undefined"!=typeof navigator&&String(navigator.userAgent)||"",st=rt.process,at=rt.Deno,lt=st&&st.versions||at&&at.version,ct=lt&&lt.v8;ct&&(D=(S=ct.split("."))[0]>0&&S[0]<4?1:+(S[0]+S[1])),!D&&ot&&(!(S=ot.match(/Edge\/(\d+)/))||S[1]>=74)&&(S=ot.match(/Chrome\/(\d+)/))&&(D=+S[1]);var ht=D,ft=ht,dt=p,pt=f.String,vt=!!Object.getOwnPropertySymbols&&!dt((function(){var t=Symbol();return!pt(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&ft&&ft<41})),gt=vt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Et=it,bt=J,yt=ut,mt=Object,At=gt?function(t){return"symbol"==typeof t}:function(t){var e=Et("Symbol");return bt(e)&&yt(e.prototype,mt(t))},Ct=String,Ft=function(t){try{return Ct(t)}catch(t){return"Object"}},St=J,Dt=Ft,kt=TypeError,xt=function(t){if(St(t))return t;throw kt(Dt(t)+" is not a function")},Ot=xt,wt=H,$t=function(t,e){var n=t[e];return wt(n)?void 0:Ot(n)},Bt=y,jt=J,Tt=tt,Lt=TypeError,It={exports:{}},Rt=f,_t=Object.defineProperty,Mt=function(t,e){try{_t(Rt,t,{value:e,configurable:!0,writable:!0})}catch(n){Rt[t]=e}return e},Pt=Mt,Nt="__core-js_shared__",Ht=f[Nt]||Pt(Nt,{}),Ut=Ht;(It.exports=function(t,e){return Ut[t]||(Ut[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.30.2",mode:"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE",source:"https://github.com/zloirock/core-js"});var Gt=It.exports,Wt=W,zt=Object,Kt=function(t){return zt(Wt(t))},Vt=Kt,qt=B({}.hasOwnProperty),Yt=Object.hasOwn||function(t,e){return qt(Vt(t),e)},Xt=B,Jt=0,Zt=Math.random(),Qt=Xt(1..toString),te=function(t){return"Symbol("+(void 0===t?"":t)+")_"+Qt(++Jt+Zt,36)},ee=Gt,ne=Yt,ie=te,ue=vt,re=gt,oe=f.Symbol,se=ee("wks"),ae=re?oe.for||oe:oe&&oe.withoutSetter||ie,le=function(t){return ne(se,t)||(se[t]=ue&&ne(oe,t)?oe[t]:ae("Symbol."+t)),se[t]},ce=y,he=tt,fe=At,de=$t,pe=function(t,e){var n,i;if("string"===e&&jt(n=t.toString)&&!Tt(i=Bt(n,t)))return i;if(jt(n=t.valueOf)&&!Tt(i=Bt(n,t)))return i;if("string"!==e&&jt(n=t.toString)&&!Tt(i=Bt(n,t)))return i;throw Lt("Can't convert object to primitive value")},ve=TypeError,ge=le("toPrimitive"),Ee=function(t,e){if(!he(t)||fe(t))return t;var n,i=de(t,ge);if(i){if(void 0===e&&(e="default"),n=ce(i,t,e),!he(n)||fe(n))return n;throw ve("Can't convert object to primitive value")}return void 0===e&&(e="number"),pe(t,e)},be=At,ye=function(t){var e=Ee(t,"string");return be(e)?e:e+""},me=tt,Ae=f.document,Ce=me(Ae)&&me(Ae.createElement),Fe=function(t){return Ce?Ae.createElement(t):{}},Se=Fe,De=!v&&!p((function(){return 7!=Object.defineProperty(Se("div"),"a",{get:function(){return 7}}).a})),ke=v,xe=y,Oe=m,we=k,$e=V,Be=ye,je=Yt,Te=De,Le=Object.getOwnPropertyDescriptor;d.f=ke?Le:function(t,e){if(t=$e(t),e=Be(e),Te)try{return Le(t,e)}catch(t){}if(je(t,e))return we(!xe(Oe.f,t,e),t[e])};var Ie={},Re=v&&p((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),_e=tt,Me=String,Pe=TypeError,Ne=function(t){if(_e(t))return t;throw Pe(Me(t)+" is not an object")},He=v,Ue=De,Ge=Re,We=Ne,ze=ye,Ke=TypeError,Ve=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,Ye="enumerable",Xe="configurable",Je="writable";Ie.f=He?Ge?function(t,e,n){if(We(t),e=ze(e),We(n),"function"==typeof t&&"prototype"===e&&"value"in n&&Je in n&&!n[Je]){var i=qe(t,e);i&&i[Je]&&(t[e]=n.value,n={configurable:Xe in n?n[Xe]:i[Xe],enumerable:Ye in n?n[Ye]:i[Ye],writable:!1})}return Ve(t,e,n)}:Ve:function(t,e,n){if(We(t),e=ze(e),We(n),Ue)try{return Ve(t,e,n)}catch(t){}if("get"in n||"set"in n)throw Ke("Accessors not supported");return"value"in n&&(t[e]=n.value),t};var Ze=Ie,Qe=k,tn=v?function(t,e,n){return Ze.f(t,e,Qe(1,n))}:function(t,e,n){return t[e]=n,t},en={exports:{}},nn=v,un=Yt,rn=Function.prototype,on=nn&&Object.getOwnPropertyDescriptor,sn=un(rn,"name"),an={EXISTS:sn,PROPER:sn&&"something"===function(){}.name,CONFIGURABLE:sn&&(!nn||nn&&on(rn,"name").configurable)},ln=J,cn=Ht,hn=B(Function.toString);ln(cn.inspectSource)||(cn.inspectSource=function(t){return hn(t)});var fn,dn,pn,vn=cn.inspectSource,gn=J,En=f.WeakMap,bn=gn(En)&&/native code/.test(String(En)),yn=te,mn=Gt("keys"),An=function(t){return mn[t]||(mn[t]=yn(t))},Cn={},Fn=bn,Sn=f,Dn=tt,kn=tn,xn=Yt,On=Ht,wn=An,$n=Cn,Bn="Object already initialized",jn=Sn.TypeError,Tn=Sn.WeakMap;if(Fn||On.state){var Ln=On.state||(On.state=new Tn);Ln.get=Ln.get,Ln.has=Ln.has,Ln.set=Ln.set,fn=function(t,e){if(Ln.has(t))throw jn(Bn);return e.facade=t,Ln.set(t,e),e},dn=function(t){return Ln.get(t)||{}},pn=function(t){return Ln.has(t)}}else{var In=wn("state");$n[In]=!0,fn=function(t,e){if(xn(t,In))throw jn(Bn);return e.facade=t,kn(t,In,e),e},dn=function(t){return xn(t,In)?t[In]:{}},pn=function(t){return xn(t,In)}}var Rn={set:fn,get:dn,has:pn,enforce:function(t){return pn(t)?dn(t):fn(t,{})},getterFor:function(t){return function(e){var n;if(!Dn(e)||(n=dn(e)).type!==t)throw jn("Incompatible receiver, "+t+" required");return n}}},_n=B,Mn=p,Pn=J,Nn=Yt,Hn=v,Un=an.CONFIGURABLE,Gn=vn,Wn=Rn.enforce,zn=Rn.get,Kn=String,Vn=Object.defineProperty,qn=_n("".slice),Yn=_n("".replace),Xn=_n([].join),Jn=Hn&&!Mn((function(){return 8!==Vn((function(){}),"length",{value:8}).length})),Zn=String(String).split("String"),Qn=en.exports=function(t,e,n){"Symbol("===qn(Kn(e),0,7)&&(e="["+Yn(Kn(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!Nn(t,"name")||Un&&t.name!==e)&&(Hn?Vn(t,"name",{value:e,configurable:!0}):t.name=e),Jn&&n&&Nn(n,"arity")&&t.length!==n.arity&&Vn(t,"length",{value:n.arity});try{n&&Nn(n,"constructor")&&n.constructor?Hn&&Vn(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var i=Wn(t);return Nn(i,"source")||(i.source=Xn(Zn,"string"==typeof e?e:"")),t};Function.prototype.toString=Qn((function(){return Pn(this)&&zn(this).source||Gn(this)}),"toString");var ti=en.exports,ei=J,ni=Ie,ii=ti,ui=Mt,ri=function(t,e,n,i){i||(i={});var u=i.enumerable,r=void 0!==i.name?i.name:e;if(ei(n)&&ii(n,r,i),i.global)u?t[e]=n:ui(e,n);else{try{i.unsafe?t[e]&&(u=!0):delete t[e]}catch(t){}u?t[e]=n:ni.f(t,e,{value:n,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return t},oi={},si=Math.ceil,ai=Math.floor,li=Math.trunc||function(t){var e=+t;return(e>0?ai:si)(e)},ci=function(t){var e=+t;return e!=e||0===e?0:li(e)},hi=ci,fi=Math.max,di=Math.min,pi=function(t,e){var n=hi(t);return n<0?fi(n+e,0):di(n,e)},vi=ci,gi=Math.min,Ei=function(t){return t>0?gi(vi(t),9007199254740991):0},bi=Ei,yi=function(t){return bi(t.length)},mi=V,Ai=pi,Ci=yi,Fi=function(t){return function(e,n,i){var u,r=mi(e),o=Ci(r),s=Ai(i,o);if(t&&n!=n){for(;o>s;)if((u=r[s++])!=u)return!0}else for(;o>s;s++)if((t||s in r)&&r[s]===n)return t||s||0;return!t&&-1}},Si={includes:Fi(!0),indexOf:Fi(!1)},Di=Yt,ki=V,xi=Si.indexOf,Oi=Cn,wi=B([].push),$i=function(t,e){var n,i=ki(t),u=0,r=[];for(n in i)!Di(Oi,n)&&Di(i,n)&&wi(r,n);for(;e.length>u;)Di(i,n=e[u++])&&(~xi(r,n)||wi(r,n));return r},Bi=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ji=$i,Ti=Bi.concat("length","prototype");oi.f=Object.getOwnPropertyNames||function(t){return ji(t,Ti)};var Li={};Li.f=Object.getOwnPropertySymbols;var Ii=it,Ri=oi,_i=Li,Mi=Ne,Pi=B([].concat),Ni=Ii("Reflect","ownKeys")||function(t){var e=Ri.f(Mi(t)),n=_i.f;return n?Pi(e,n(t)):e},Hi=Yt,Ui=Ni,Gi=d,Wi=Ie,zi=p,Ki=J,Vi=/#|\.prototype\./,qi=function(t,e){var n=Xi[Yi(t)];return n==Zi||n!=Ji&&(Ki(e)?zi(e):!!e)},Yi=qi.normalize=function(t){return String(t).replace(Vi,".").toLowerCase()},Xi=qi.data={},Ji=qi.NATIVE="N",Zi=qi.POLYFILL="P",Qi=qi,tu=f,eu=d.f,nu=tn,iu=ri,uu=Mt,ru=function(t,e,n){for(var i=Ui(e),u=Wi.f,r=Gi.f,o=0;o<i.length;o++){var s=i[o];Hi(t,s)||n&&Hi(n,s)||u(t,s,r(e,s))}},ou=Qi,su=function(t,e){var n,i,u,r,o,s=t.target,a=t.global,l=t.stat;if(n=a?tu:l?tu[s]||uu(s,{}):(tu[s]||{}).prototype)for(i in e){if(r=e[i],u=t.dontCallGetSet?(o=eu(n,i))&&o.value:n[i],!ou(a?i:s+(l?".":"#")+i,t.forced)&&void 0!==u){if(typeof r==typeof u)continue;ru(r,u)}(t.sham||u&&u.sham)&&nu(r,"sham",!0),iu(n,i,r,t)}},au={};au[le("toStringTag")]="z";var lu="[object z]"===String(au),cu=lu,hu=J,fu=I,du=le("toStringTag"),pu=Object,vu="Arguments"==fu(function(){return arguments}()),gu=cu?fu:function(t){var e,n,i;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=pu(t),du))?n:vu?fu(e):"Object"==(i=fu(e))&&hu(e.callee)?"Arguments":i},Eu=gu,bu=String,yu=function(t){if("Symbol"===Eu(t))throw TypeError("Cannot convert a Symbol value to a string");return bu(t)},mu=Ne,Au=p,Cu=f.RegExp,Fu=Au((function(){var t=Cu("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),Su=Fu||Au((function(){return!Cu("a","y").sticky})),Du={BROKEN_CARET:Fu||Au((function(){var t=Cu("^r","gy");return t.lastIndex=2,null!=t.exec("str")})),MISSED_STICKY:Su,UNSUPPORTED_Y:Fu},ku={},xu=$i,Ou=Bi,wu=Object.keys||function(t){return xu(t,Ou)},$u=v,Bu=Re,ju=Ie,Tu=Ne,Lu=V,Iu=wu;ku.f=$u&&!Bu?Object.defineProperties:function(t,e){Tu(t);for(var n,i=Lu(e),u=Iu(e),r=u.length,o=0;r>o;)ju.f(t,n=u[o++],i[n]);return t};var Ru,_u=it("document","documentElement"),Mu=Ne,Pu=ku,Nu=Bi,Hu=Cn,Uu=_u,Gu=Fe,Wu="prototype",zu="script",Ku=An("IE_PROTO"),Vu=function(){},qu=function(t){return"<"+zu+">"+t+"</"+zu+">"},Yu=function(t){t.write(qu("")),t.close();var e=t.parentWindow.Object;return t=null,e},Xu=function(){try{Ru=new ActiveXObject("htmlfile")}catch(t){}var t,e,n;Xu="undefined"!=typeof document?document.domain&&Ru?Yu(Ru):(e=Gu("iframe"),n="java"+zu+":",e.style.display="none",Uu.appendChild(e),e.src=String(n),(t=e.contentWindow.document).open(),t.write(qu("document.F=Object")),t.close(),t.F):Yu(Ru);for(var i=Nu.length;i--;)delete Xu[Wu][Nu[i]];return Xu()};Hu[Ku]=!0;var Ju,Zu,Qu=Object.create||function(t,e){var n;return null!==t?(Vu[Wu]=Mu(t),n=new Vu,Vu[Wu]=null,n[Ku]=t):n=Xu(),void 0===e?n:Pu.f(n,e)},tr=p,er=f.RegExp,nr=tr((function(){var t=er(".","s");return!(t.dotAll&&t.exec("\n")&&"s"===t.flags)})),ir=p,ur=f.RegExp,rr=ir((function(){var t=ur("(?<a>b)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$<a>c")})),or=y,sr=B,ar=yu,lr=function(){var t=mu(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e},cr=Du,hr=Qu,fr=Rn.get,dr=nr,pr=rr,vr=Gt("native-string-replace",String.prototype.replace),gr=RegExp.prototype.exec,Er=gr,br=sr("".charAt),yr=sr("".indexOf),mr=sr("".replace),Ar=sr("".slice),Cr=(Zu=/b*/g,or(gr,Ju=/a/,"a"),or(gr,Zu,"a"),0!==Ju.lastIndex||0!==Zu.lastIndex),Fr=cr.BROKEN_CARET,Sr=void 0!==/()??/.exec("")[1];(Cr||Sr||Fr||dr||pr)&&(Er=function(t){var e,n,i,u,r,o,s,a=this,l=fr(a),c=ar(t),h=l.raw;if(h)return h.lastIndex=a.lastIndex,e=or(Er,h,c),a.lastIndex=h.lastIndex,e;var f=l.groups,d=Fr&&a.sticky,p=or(lr,a),v=a.source,g=0,E=c;if(d&&(p=mr(p,"y",""),-1===yr(p,"g")&&(p+="g"),E=Ar(c,a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==br(c,a.lastIndex-1))&&(v="(?: "+v+")",E=" "+E,g++),n=new RegExp("^(?:"+v+")",p)),Sr&&(n=new RegExp("^"+v+"$(?!\\s)",p)),Cr&&(i=a.lastIndex),u=or(gr,d?n:a,E),d?u?(u.input=Ar(u.input,g),u[0]=Ar(u[0],g),u.index=a.lastIndex,a.lastIndex+=u[0].length):a.lastIndex=0:Cr&&u&&(a.lastIndex=a.global?u.index+u[0].length:i),Sr&&u&&u.length>1&&or(vr,u[0],n,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(u[r]=void 0)})),u&&f)for(u.groups=o=hr(null),r=0;r<f.length;r++)o[(s=f[r])[0]]=u[s[1]];return u});var Dr=Er;su({target:"RegExp",proto:!0,forced:/./.exec!==Dr},{exec:Dr});var kr=I,xr=B,Or=function(t){if("Function"===kr(t))return xr(t)},wr=Or,$r=ri,Br=Dr,jr=p,Tr=le,Lr=tn,Ir=Tr("species"),Rr=RegExp.prototype,_r=function(t,e,n,i){var u=Tr(t),r=!jr((function(){var e={};return e[u]=function(){return 7},7!=""[t](e)})),o=r&&!jr((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[Ir]=function(){return n},n.flags="",n[u]=/./[u]),n.exec=function(){return e=!0,null},n[u](""),!e}));if(!r||!o||n){var s=wr(/./[u]),a=e(u,""[t],(function(t,e,n,i,u){var o=wr(t),a=e.exec;return a===Br||a===Rr.exec?r&&!u?{done:!0,value:s(e,n,i)}:{done:!0,value:o(n,e,i)}:{done:!1}}));$r(String.prototype,t,a[0]),$r(Rr,u,a[1])}i&&Lr(Rr[u],"sham",!0)},Mr=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e},Pr=y,Nr=Ne,Hr=J,Ur=I,Gr=Dr,Wr=TypeError,zr=function(t,e){var n=t.exec;if(Hr(n)){var i=Pr(n,t,e);return null!==i&&Nr(i),i}if("RegExp"===Ur(t))return Pr(Gr,t,e);throw Wr("RegExp#exec called on incompatible receiver")},Kr=y,Vr=Ne,qr=H,Yr=W,Xr=Mr,Jr=yu,Zr=$t,Qr=zr;_r("search",(function(t,e,n){return[function(e){var n=Yr(this),i=qr(e)?void 0:Zr(e,t);return i?Kr(i,e,n):new RegExp(e)[t](Jr(n))},function(t){var i=Vr(this),u=Jr(t),r=n(e,i,u);if(r.done)return r.value;var o=i.lastIndex;Xr(o,0)||(i.lastIndex=0);var s=Qr(i,u);return Xr(i.lastIndex,o)||(i.lastIndex=o),null===s?-1:s.index}]}));var to=le,eo=Qu,no=Ie.f,io=to("unscopables"),uo=Array.prototype;null==uo[io]&&no(uo,io,{configurable:!0,value:eo(null)});var ro=function(t){uo[io][t]=!0},oo=Si.includes,so=ro;su({target:"Array",proto:!0,forced:p((function(){return!Array(1).includes()}))},{includes:function(t){return oo(this,t,arguments.length>1?arguments[1]:void 0)}}),so("includes");var ao=tt,lo=I,co=le("match"),ho=function(t){var e;return ao(t)&&(void 0!==(e=t[co])?!!e:"RegExp"==lo(t))},fo=ho,po=TypeError,vo=le("match"),go=su,Eo=function(t){if(fo(t))throw po("The method doesn't accept regular expressions");return t},bo=W,yo=yu,mo=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[vo]=!1,"/./"[t](e)}catch(t){}}return!1},Ao=B("".indexOf);go({target:"String",proto:!0,forced:!mo("includes")},{includes:function(t){return!!~Ao(yo(bo(this)),yo(Eo(t)),arguments.length>1?arguments[1]:void 0)}});var Co="\t\n\v\f\r                 \u2028\u2029\ufeff",Fo=W,So=yu,Do=Co,ko=B("".replace),xo=RegExp("^["+Do+"]+"),Oo=RegExp("(^|[^"+Do+"])["+Do+"]+$"),wo=function(t){return function(e){var n=So(Fo(e));return 1&t&&(n=ko(n,xo,"")),2&t&&(n=ko(n,Oo,"$1")),n}},$o={start:wo(1),end:wo(2),trim:wo(3)},Bo=an.PROPER,jo=p,To=Co,Lo=$o.trim;su({target:"String",proto:!0,forced:function(t){return jo((function(){return!!To[t]()||"​᠎"!=="​᠎"[t]()||Bo&&To[t].name!==t}))}("trim")},{trim:function(){return Lo(this)}});var Io=I,Ro=Array.isArray||function(t){return"Array"==Io(t)},_o=TypeError,Mo=ye,Po=Ie,No=k,Ho=function(t,e,n){var i=Mo(e);i in t?Po.f(t,i,No(0,n)):t[i]=n},Uo=B,Go=p,Wo=J,zo=gu,Ko=vn,Vo=function(){},qo=[],Yo=it("Reflect","construct"),Xo=/^\s*(?:class|function)\b/,Jo=Uo(Xo.exec),Zo=!Xo.exec(Vo),Qo=function(t){if(!Wo(t))return!1;try{return Yo(Vo,qo,t),!0}catch(t){return!1}},ts=function(t){if(!Wo(t))return!1;switch(zo(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Zo||!!Jo(Xo,Ko(t))}catch(t){return!0}};ts.sham=!0;var es=!Yo||Go((function(){var t;return Qo(Qo.call)||!Qo(Object)||!Qo((function(){t=!0}))||t}))?ts:Qo,ns=Ro,is=es,us=tt,rs=le("species"),os=Array,ss=function(t){var e;return ns(t)&&(e=t.constructor,(is(e)&&(e===os||ns(e.prototype))||us(e)&&null===(e=e[rs]))&&(e=void 0)),void 0===e?os:e},as=function(t,e){return new(ss(t))(0===e?0:e)},ls=p,cs=ht,hs=le("species"),fs=function(t){return cs>=51||!ls((function(){var e=[];return(e.constructor={})[hs]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},ds=su,ps=p,vs=Ro,gs=tt,Es=Kt,bs=yi,ys=function(t){if(t>9007199254740991)throw _o("Maximum allowed index exceeded");return t},ms=Ho,As=as,Cs=fs,Fs=ht,Ss=le("isConcatSpreadable"),Ds=Fs>=51||!ps((function(){var t=[];return t[Ss]=!1,t.concat()[0]!==t})),ks=function(t){if(!gs(t))return!1;var e=t[Ss];return void 0!==e?!!e:vs(t)};ds({target:"Array",proto:!0,arity:1,forced:!Ds||!Cs("concat")},{concat:function(t){var e,n,i,u,r,o=Es(this),s=As(o,0),a=0;for(e=-1,i=arguments.length;e<i;e++)if(ks(r=-1===e?o:arguments[e]))for(u=bs(r),ys(a+u),n=0;n<u;n++,a++)n in r&&ms(s,a,r[n]);else ys(a+1),ms(s,a++,r);return s.length=a,s}});var xs=v,Os=B,ws=y,$s=p,Bs=wu,js=Li,Ts=m,Ls=Kt,Is=N,Rs=Object.assign,_s=Object.defineProperty,Ms=Os([].concat),Ps=!Rs||$s((function(){if(xs&&1!==Rs({b:1},Rs(_s({},"a",{enumerable:!0,get:function(){_s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),i="abcdefghijklmnopqrst";return t[n]=7,i.split("").forEach((function(t){e[t]=t})),7!=Rs({},t)[n]||Bs(Rs({},e)).join("")!=i}))?function(t,e){for(var n=Ls(t),i=arguments.length,u=1,r=js.f,o=Ts.f;i>u;)for(var s,a=Is(arguments[u++]),l=r?Ms(Bs(a),r(a)):Bs(a),c=l.length,h=0;c>h;)s=l[h++],xs&&!ws(o,a,s)||(n[s]=a[s]);return n}:Rs,Ns=Ps;su({target:"Object",stat:!0,arity:2,forced:Object.assign!==Ns},{assign:Ns});var Hs={name:"",placeholder:"",classes:"",classPrefix:"",data:void 0,locale:void 0,selectAll:!0,single:void 0,singleRadio:!1,multiple:!1,hideOptgroupCheckboxes:!1,multipleWidth:80,width:void 0,size:void 0,dropWidth:void 0,maxHeight:250,maxHeightUnit:"px",position:"bottom",displayValues:!1,displayTitle:!1,displayDelimiter:", ",minimumCountSelected:3,ellipsis:!1,isOpen:!1,keepOpen:!1,openOnHover:!1,container:null,filter:!1,filterGroup:!1,filterPlaceholder:"",filterAcceptOnEnter:!1,filterByDataLength:void 0,customFilter:function(t){var e=t.text,n=t.label,i=t.search;return(n||e).includes(i)},showClear:!1,animate:void 0,styler:function(){return!1},textTemplate:function(t){return t[0].innerHTML.trim()},labelTemplate:function(t){return t[0].getAttribute("label")},onOpen:function(){return!1},onClose:function(){return!1},onCheckAll:function(){return!1},onUncheckAll:function(){return!1},onFocus:function(){return!1},onBlur:function(){return!1},onOptgroupClick:function(){return!1},onClick:function(){return!1},onFilter:function(){return!1},onClear:function(){return!1},onAfterCreate:function(){return!1}},Us={formatSelectAll:function(){return"[Select all]"},formatAllSelected:function(){return"All selected"},formatCountSelected:function(t,e){return"".concat(t," of ").concat(e," selected")},formatNoMatchesFound:function(){return"No matches found"}};Object.assign(Hs,Us);var Gs={VERSION:"1.6.0",BLOCK_ROWS:500,CLUSTER_BLOCKS:4,DEFAULTS:Hs,METHODS:["getOptions","refreshOptions","getData","getSelects","setSelects","enable","disable","open","close","check","uncheck","checkAll","uncheckAll","checkInvert","focus","blur","refresh","destroy"],LOCALES:{en:Us,"en-US":Us}},Ws=g,zs=Function.prototype,Ks=zs.apply,Vs=zs.call,qs="object"==typeof Reflect&&Reflect.apply||(Ws?Vs.bind(Ks):function(){return Vs.apply(Ks,arguments)}),Ys=es,Xs=Ft,Js=TypeError,Zs=Ne,Qs=function(t){if(Ys(t))return t;throw Js(Xs(t)+" is not a constructor")},ta=H,ea=le("species"),na=B,ia=ci,ua=yu,ra=W,oa=na("".charAt),sa=na("".charCodeAt),aa=na("".slice),la=function(t){return function(e,n){var i,u,r=ua(ra(e)),o=ia(n),s=r.length;return o<0||o>=s?t?"":void 0:(i=sa(r,o))<55296||i>56319||o+1===s||(u=sa(r,o+1))<56320||u>57343?t?oa(r,o):i:t?aa(r,o,o+2):u-56320+(i-55296<<10)+65536}},ca={codeAt:la(!1),charAt:la(!0)}.charAt,ha=function(t,e,n){return e+(n?ca(t,e).length:1)},fa=pi,da=yi,pa=Ho,va=Array,ga=Math.max,Ea=qs,ba=y,ya=B,ma=_r,Aa=Ne,Ca=H,Fa=ho,Sa=W,Da=function(t,e){var n,i=Zs(t).constructor;return void 0===i||ta(n=Zs(i)[ea])?e:Qs(n)},ka=ha,xa=Ei,Oa=yu,wa=$t,$a=function(t,e,n){for(var i=da(t),u=fa(e,i),r=fa(void 0===n?i:n,i),o=va(ga(r-u,0)),s=0;u<r;u++,s++)pa(o,s,t[u]);return o.length=s,o},Ba=zr,ja=Dr,Ta=p,La=Du.UNSUPPORTED_Y,Ia=4294967295,Ra=Math.min,_a=[].push,Ma=ya(/./.exec),Pa=ya(_a),Na=ya("".slice),Ha=!Ta((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));ma("split",(function(t,e,n){var i;return i="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var i=Oa(Sa(this)),u=void 0===n?Ia:n>>>0;if(0===u)return[];if(void 0===t)return[i];if(!Fa(t))return ba(e,i,t,u);for(var r,o,s,a=[],l=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),c=0,h=new RegExp(t.source,l+"g");(r=ba(ja,h,i))&&!((o=h.lastIndex)>c&&(Pa(a,Na(i,c,r.index)),r.length>1&&r.index<i.length&&Ea(_a,a,$a(r,1)),s=r[0].length,c=o,a.length>=u));)h.lastIndex===r.index&&h.lastIndex++;return c===i.length?!s&&Ma(h,"")||Pa(a,""):Pa(a,Na(i,c)),a.length>u?$a(a,0,u):a}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:ba(e,this,t,n)}:e,[function(e,n){var u=Sa(this),r=Ca(e)?void 0:wa(e,t);return r?ba(r,e,u,n):ba(i,Oa(u),e,n)},function(t,u){var r=Aa(this),o=Oa(t),s=n(i,r,o,u,i!==e);if(s.done)return s.value;var a=Da(r,RegExp),l=r.unicode,c=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(La?"g":"y"),h=new a(La?"^(?:"+r.source+")":r,c),f=void 0===u?Ia:u>>>0;if(0===f)return[];if(0===o.length)return null===Ba(h,o)?[o]:[];for(var d=0,p=0,v=[];p<o.length;){h.lastIndex=La?0:p;var g,E=Ba(h,La?Na(o,p):o);if(null===E||(g=Ra(xa(h.lastIndex+(La?p:0)),o.length))===d)p=ka(o,p,l);else{if(Pa(v,Na(o,d,p)),v.length===f)return v;for(var b=1;b<=E.length-1;b++)if(Pa(v,E[b]),v.length===f)return v;p=d=g}}return Pa(v,Na(o,d)),v}]}),!Ha,La);var Ua=p,Ga=function(t,e){var n=[][t];return!!n&&Ua((function(){n.call(null,e||function(){return 1},1)}))},Wa=su,za=N,Ka=V,Va=Ga,qa=B([].join);Wa({target:"Array",proto:!0,forced:za!=Object||!Va("join",",")},{join:function(t){return qa(Ka(this),void 0===t?",":t)}});var Ya=ti,Xa=Ie,Ja=v,Za=an.EXISTS,Qa=B,tl=function(t,e,n){return n.get&&Ya(n.get,e,{getter:!0}),n.set&&Ya(n.set,e,{setter:!0}),Xa.f(t,e,n)},el=Function.prototype,nl=Qa(el.toString),il=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,ul=Qa(il.exec);Ja&&!Za&&tl(el,"name",{configurable:!0,get:function(){try{return ul(il,nl(this))[1]}catch(t){return""}}});var rl=xt,ol=g,sl=Or(Or.bind),al=function(t,e){return rl(t),void 0===e?t:ol?sl(t,e):function(){return t.apply(e,arguments)}},ll=N,cl=Kt,hl=yi,fl=as,dl=B([].push),pl=function(t){var e=1==t,n=2==t,i=3==t,u=4==t,r=6==t,o=7==t,s=5==t||r;return function(a,l,c,h){for(var f,d,p=cl(a),v=ll(p),g=al(l,c),E=hl(v),b=0,y=h||fl,m=e?y(a,E):n||o?y(a,0):void 0;E>b;b++)if((s||b in v)&&(d=g(f=v[b],b,p),t))if(e)m[b]=d;else if(d)switch(t){case 3:return!0;case 5:return f;case 6:return b;case 2:dl(m,f)}else switch(t){case 4:return!1;case 7:dl(m,f)}return r?-1:i||u?u:m}},vl={forEach:pl(0),map:pl(1),filter:pl(2),some:pl(3),every:pl(4),find:pl(5),findIndex:pl(6),filterReject:pl(7)},gl=su,El=vl.find,bl=ro,yl="find",ml=!0;yl in[]&&Array(1)[yl]((function(){ml=!1})),gl({target:"Array",proto:!0,forced:ml},{find:function(t){return El(this,t,arguments.length>1?arguments[1]:void 0)}}),bl(yl);var Al=gu,Cl=lu?{}.toString:function(){return"[object "+Al(this)+"]"};lu||ri(Object.prototype,"toString",Cl,{unsafe:!0});var Fl=vl.map;su({target:"Array",proto:!0,forced:!fs("map")},{map:function(t){return Fl(this,t,arguments.length>1?arguments[1]:void 0)}});var Sl=v,Dl=B,kl=wu,xl=V,Ol=Dl(m.f),wl=Dl([].push),$l=function(t){return function(e){for(var n,i=xl(e),u=kl(i),r=u.length,o=0,s=[];r>o;)n=u[o++],Sl&&!Ol(i,n)||wl(s,t?[n,i[n]]:i[n]);return s}},Bl={entries:$l(!0),values:$l(!1)}.entries;su({target:"Object",stat:!0},{entries:function(t){return Bl(t)}});var jl=Kt,Tl=wu;su({target:"Object",stat:!0,forced:p((function(){Tl(1)}))},{keys:function(t){return Tl(jl(t))}});var Ll=vl.filter;su({target:"Array",proto:!0,forced:!fs("filter")},{filter:function(t){return Ll(this,t,arguments.length>1?arguments[1]:void 0)}});var Il=Fe("span").classList,Rl=Il&&Il.constructor&&Il.constructor.prototype,_l=Rl===Object.prototype?void 0:Rl,Ml=vl.forEach,Pl=Ga("forEach")?[].forEach:function(t){return Ml(this,t,arguments.length>1?arguments[1]:void 0)},Nl=f,Hl={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Ul=_l,Gl=Pl,Wl=tn,zl=function(t){if(t&&t.forEach!==Gl)try{Wl(t,"forEach",Gl)}catch(e){t.forEach=Gl}};for(var Kl in Hl)Hl[Kl]&&zl(Nl[Kl]&&Nl[Kl].prototype);zl(Ul);var Vl=B([].slice),ql=su,Yl=Ro,Xl=es,Jl=tt,Zl=pi,Ql=yi,tc=V,ec=Ho,nc=le,ic=Vl,uc=fs("slice"),rc=nc("species"),oc=Array,sc=Math.max;ql({target:"Array",proto:!0,forced:!uc},{slice:function(t,e){var n,i,u,r=tc(this),o=Ql(r),s=Zl(t,o),a=Zl(void 0===e?o:e,o);if(Yl(r)&&(n=r.constructor,(Xl(n)&&(n===oc||Yl(n.prototype))||Jl(n)&&null===(n=n[rc]))&&(n=void 0),n===oc||void 0===n))return ic(r,s,a);for(i=new(void 0===n?oc:n)(sc(a-s,0)),u=0;s<a;s++,u++)s in r&&ec(i,u,r[s]);return i.length=u,i}});var ac=function(){function t(e){var i=this;n(this,t),this.rows=e.rows,this.scrollEl=e.scrollEl,this.contentEl=e.contentEl,this.callback=e.callback,this.cache={},this.scrollTop=this.scrollEl.scrollTop,this.initDOM(this.rows),this.scrollEl.scrollTop=this.scrollTop,this.lastCluster=0;var u=function(){i.lastCluster!==(i.lastCluster=i.getNum())&&(i.initDOM(i.rows),i.callback())};this.scrollEl.addEventListener("scroll",u,!1),this.destroy=function(){i.contentEl.innerHtml="",i.scrollEl.removeEventListener("scroll",u,!1)}}return u(t,[{key:"initDOM",value:function(t){void 0===this.clusterHeight&&(this.cache.scrollTop=this.scrollEl.scrollTop,this.cache.data=this.contentEl.innerHTML=t[0]+t[0]+t[0],this.getRowsHeight(t));var e=this.initData(t,this.getNum()),n=e.rows.join(""),i=this.checkChanges("data",n),u=this.checkChanges("top",e.topOffset),r=this.checkChanges("bottom",e.bottomOffset),o=[];i&&u?(e.topOffset&&o.push(this.getExtra("top",e.topOffset)),o.push(n),e.bottomOffset&&o.push(this.getExtra("bottom",e.bottomOffset)),this.contentEl.innerHTML=o.join("")):r&&(this.contentEl.lastChild.style.height="".concat(e.bottomOffset,"px"))}},{key:"getRowsHeight",value:function(){if(void 0===this.itemHeight){var t=this.contentEl.children,e=t[Math.floor(t.length/2)];this.itemHeight=e.offsetHeight}this.blockHeight=this.itemHeight*Gs.BLOCK_ROWS,this.clusterRows=Gs.BLOCK_ROWS*Gs.CLUSTER_BLOCKS,this.clusterHeight=this.blockHeight*Gs.CLUSTER_BLOCKS}},{key:"getNum",value:function(){return this.scrollTop=this.scrollEl.scrollTop,Math.floor(this.scrollTop/(this.clusterHeight-this.blockHeight))||0}},{key:"initData",value:function(t,e){if(t.length<Gs.BLOCK_ROWS)return{topOffset:0,bottomOffset:0,rowsAbove:0,rows:t};var n=Math.max((this.clusterRows-Gs.BLOCK_ROWS)*e,0),i=n+this.clusterRows,u=Math.max(n*this.itemHeight,0),r=Math.max((t.length-i)*this.itemHeight,0),o=[],s=n;u<1&&s++;for(var a=n;a<i;a++)t[a]&&o.push(t[a]);return this.dataStart=n,this.dataEnd=i,{topOffset:u,bottomOffset:r,rowsAbove:s,rows:o}}},{key:"checkChanges",value:function(t,e){var n=e!==this.cache[t];return this.cache[t]=e,n}},{key:"getExtra",value:function(t,e){var n=document.createElement("li");return n.className="virtual-scroll-".concat(t),e&&(n.style.height="".concat(e,"px")),n.outerHTML}}]),t}(),lc=B,cc=Kt,hc=Math.floor,fc=lc("".charAt),dc=lc("".replace),pc=lc("".slice),vc=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,gc=/\$([$&'`]|\d{1,2})/g,Ec=qs,bc=y,yc=B,mc=_r,Ac=p,Cc=Ne,Fc=J,Sc=H,Dc=ci,kc=Ei,xc=yu,Oc=W,wc=ha,$c=$t,Bc=function(t,e,n,i,u,r){var o=n+t.length,s=i.length,a=gc;return void 0!==u&&(u=cc(u),a=vc),dc(r,a,(function(r,a){var l;switch(fc(a,0)){case"$":return"$";case"&":return t;case"`":return pc(e,0,n);case"'":return pc(e,o);case"<":l=u[pc(a,1,-1)];break;default:var c=+a;if(0===c)return r;if(c>s){var h=hc(c/10);return 0===h?r:h<=s?void 0===i[h-1]?fc(a,1):i[h-1]+fc(a,1):r}l=i[c-1]}return void 0===l?"":l}))},jc=zr,Tc=le("replace"),Lc=Math.max,Ic=Math.min,Rc=yc([].concat),_c=yc([].push),Mc=yc("".indexOf),Pc=yc("".slice),Nc="$0"==="a".replace(/./,"$0"),Hc=!!/./[Tc]&&""===/./[Tc]("a","$0");mc("replace",(function(t,e,n){var i=Hc?"$":"$0";return[function(t,n){var i=Oc(this),u=Sc(t)?void 0:$c(t,Tc);return u?bc(u,t,i,n):bc(e,xc(i),t,n)},function(t,u){var r=Cc(this),o=xc(t);if("string"==typeof u&&-1===Mc(u,i)&&-1===Mc(u,"$<")){var s=n(e,r,o,u);if(s.done)return s.value}var a=Fc(u);a||(u=xc(u));var l=r.global;if(l){var c=r.unicode;r.lastIndex=0}for(var h=[];;){var f=jc(r,o);if(null===f)break;if(_c(h,f),!l)break;""===xc(f[0])&&(r.lastIndex=wc(o,kc(r.lastIndex),c))}for(var d,p="",v=0,g=0;g<h.length;g++){for(var E=xc((f=h[g])[0]),b=Lc(Ic(Dc(f.index),o.length),0),y=[],m=1;m<f.length;m++)_c(y,void 0===(d=f[m])?d:String(d));var A=f.groups;if(a){var C=Rc([E],y,b,o);void 0!==A&&_c(C,A);var F=xc(Ec(u,void 0,C))}else F=Bc(E,o,b,y,A,u);b>=v&&(p+=Pc(o,v,b)+F,v=b+E.length)}return p+Pc(o,v)}]}),!!Ac((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}))||!Nc||Hc);var Uc=xt,Gc=Kt,Wc=N,zc=yi,Kc=TypeError,Vc=function(t){return function(e,n,i,u){Uc(n);var r=Gc(e),o=Wc(r),s=zc(r),a=t?s-1:0,l=t?-1:1;if(i<2)for(;;){if(a in o){u=o[a],a+=l;break}if(a+=l,t?a<0:s<=a)throw Kc("Reduce of empty array with no initial value")}for(;t?a>=0:s>a;a+=l)a in o&&(u=n(u,o[a],a,r));return u}},qc={left:Vc(!1),right:Vc(!0)},Yc="undefined"!=typeof process&&"process"==I(process),Xc=qc.left;su({target:"Array",proto:!0,forced:!Yc&&ht>79&&ht<83||!Ga("reduce")},{reduce:function(t){var e=arguments.length;return Xc(this,t,e,e>1?arguments[1]:void 0)}});var Jc=function(t){if(t.normalize)return t.normalize("NFD").replace(/[\u0300-\u036F]/g,"");return[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}].reduce((function(t,e){var n=e.letters,i=e.base;return t.replace(n,i)}),t)},Zc=function(t,e,n){var i,u=l(t);try{for(u.s();!(i=u.n()).done;){var r=i.value;if(r[e]===n||r[e]==="".concat(+r[e])&&+r[e]===n)return r;if("optgroup"===r.type){var o,s=l(r.children);try{for(s.s();!(o=s.n()).done;){var a=o.value;if(a[e]===n||a[e]==="".concat(+a[e])&&+a[e]===n)return a}}catch(t){s.e(t)}finally{s.f()}}}}catch(t){u.e(t)}finally{u.f()}},Qc=function(t){return Object.keys(t).forEach((function(e){return void 0===t[e]?delete t[e]:""})),t},th=function(){function i(e,u){n(this,i),this.$el=e,this.options=t.extend({},Gs.DEFAULTS,u)}return u(i,[{key:"init",value:function(){this.initLocale(),this.initContainer(),this.initData(),this.initSelected(!0),this.initFilter(),this.initDrop(),this.initView(),this.options.onAfterCreate()}},{key:"initLocale",value:function(){if(this.options.locale){var e=t.fn.multipleSelect.locales,n=this.options.locale.split(/-|_/);n[0]=n[0].toLowerCase(),n[1]&&(n[1]=n[1].toUpperCase()),e[this.options.locale]?t.extend(this.options,e[this.options.locale]):e[n.join("-")]?t.extend(this.options,e[n.join("-")]):e[n[0]]&&t.extend(this.options,e[n[0]])}}},{key:"initContainer",value:function(){var e=this,n=this.$el[0],i=n.getAttribute("name")||this.options.name||"";this.options.classes&&this.$el.addClass(this.options.classes),this.options.classPrefix&&(this.$el.addClass(this.options.classPrefix),this.options.size&&this.$el.addClass("".concat(this.options.classPrefix,"-").concat(this.options.size))),this.$el.hide(),this.$label=this.$el.closest("label"),!this.$label.length&&this.$el.attr("id")&&(this.$label=t('label[for="'.concat(this.$el.attr("id"),'"]'))),this.$label.find(">input").length&&(this.$label=null),void 0===this.options.single&&(this.options.single=null===n.getAttribute("multiple")),this.$parent=t('\n      <div class="ms-parent '.concat(n.getAttribute("class")||""," ").concat(this.options.classes,'"\n      title="').concat(n.getAttribute("title")||"",'" />\n    ')),this.options.placeholder=this.options.placeholder||n.getAttribute("placeholder")||"",this.tabIndex=n.getAttribute("tabindex");var u="";if(null!==this.tabIndex&&(this.$el.attr("tabindex",-1),u=this.tabIndex&&'tabindex="'.concat(this.tabIndex,'"')),this.$choice=t('\n      <button type="button" class="ms-choice"'.concat(u,'>\n      <span class="placeholder">').concat(this.options.placeholder,"</span>\n      ").concat(this.options.showClear?'<div class="icon-close"></div>':"",'\n      <div class="icon-caret"></div>\n      </button>\n    ')),this.$drop=t('<div class="ms-drop '.concat(this.options.position,'" />')),this.$close=this.$choice.find(".icon-close"),this.options.dropWidth&&this.$drop.css("width",this.options.dropWidth),this.$el.after(this.$parent),this.$parent.append(this.$choice),this.$parent.append(this.$drop),n.disabled&&this.$choice.addClass("disabled"),this.selectAllName='data-name="selectAll'.concat(i,'"'),this.selectGroupName='data-name="selectGroup'.concat(i,'"'),this.selectItemName='data-name="selectItem'.concat(i,'"'),!this.options.keepOpen){var r=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t=t||"".concat(+new Date).concat(~~(1e6*Math.random())),"click.multiple-select-".concat(t)}(this.$el.attr("id"));t(document).off(r).on(r,(function(i){t(i.target)[0]!==e.$choice[0]&&t(i.target).parents(".ms-choice")[0]!==e.$choice[0]&&(t(i.target)[0]===e.$drop[0]||t(i.target).parents(".ms-drop")[0]!==e.$drop[0]&&i.target!==n)&&e.options.isOpen&&e.close()}))}}},{key:"initData",value:function(){var n=this,i=[];if(this.options.data){if(Array.isArray(this.options.data))this.data=this.options.data.map((function(t){return"string"==typeof t||"number"==typeof t?{text:t,value:t}:t}));else if("object"===e(this.options.data)){for(var u=0,o=Object.entries(this.options.data);u<o.length;u++){var s=r(o[u],2),a=s[0],l=s[1];i.push({value:a,text:l})}this.data=i}}else t.each(this.$el.children(),(function(t,e){n.initRow(t,e)&&i.push(n.initRow(t,e))})),this.options.data=i,this.data=i,this.fromHtml=!0;this.dataTotal=function(t){var e=0;return t.forEach((function(t,n){"optgroup"===t.type?(t._key="group_".concat(n),t.visible=void 0===t.visible||t.visible,t.children.forEach((function(t,i){t.visible=void 0===t.visible||t.visible,t.divider||(t._key="option_".concat(n,"_").concat(i),e+=1)}))):(t.visible=void 0===t.visible||t.visible,t.divider||(t._key="option_".concat(n),e+=1))})),e}(this.data)}},{key:"initRow",value:function(e,n,i){var u=this,r={},o=t(n);return o.is("option")?(r.type="option",r.text=this.options.textTemplate(o),r.value=n.value,r.visible=!0,r.selected=!!n.selected,r.disabled=i||n.disabled,r.classes=n.getAttribute("class")||"",r.title=n.getAttribute("title")||"",o.data("value")&&(r._value=o.data("value")),Object.keys(o.data()).length&&(r._data=o.data(),r._data.divider&&(r.divider=r._data.divider)),r):o.is("optgroup")?(r.type="optgroup",r.label=this.options.labelTemplate(o),r.visible=!0,r.selected=!!n.selected,r.disabled=n.disabled,r.children=[],Object.keys(o.data()).length&&(r._data=o.data()),t.each(o.children(),(function(t,e){r.children.push(u.initRow(t,e,r.disabled))})),r):null}},{key:"initSelected",value:function(t){var e,n=0,i=l(this.data);try{for(i.s();!(e=i.n()).done;){var u=e.value;if("optgroup"===u.type){var r=u.children.filter((function(t){return t.selected&&!t.disabled&&t.visible})).length;u.children.length&&(u.selected=!this.options.single&&r&&r===u.children.filter((function(t){return!t.disabled&&t.visible&&!t.divider})).length),n+=r}else n+=u.selected&&!u.disabled&&u.visible?1:0}}catch(t){i.e(t)}finally{i.f()}this.allSelected=this.data.filter((function(t){return t.selected&&!t.disabled&&t.visible})).length===this.data.filter((function(t){return!t.disabled&&t.visible&&!t.divider})).length,t||(this.allSelected?this.options.onCheckAll():0===n&&this.options.onUncheckAll())}},{key:"initFilter",value:function(){if(this.filterText="",!this.options.filter&&this.options.filterByDataLength){var t,e=0,n=l(this.data);try{for(n.s();!(t=n.n()).done;){var i=t.value;"optgroup"===i.type?e+=i.children.length:e+=1}}catch(t){n.e(t)}finally{n.f()}this.options.filter=e>this.options.filterByDataLength}}},{key:"initDrop",value:function(){var t=this;this.initList(),this.update(!0),this.options.isOpen&&setTimeout((function(){t.open()}),50),this.options.openOnHover&&this.$parent.hover((function(){t.open()}),(function(){t.close()}))}},{key:"initList",value:function(){var t=[];this.options.filter&&t.push('\n        <div class="ms-search">\n          <input type="text" autocomplete="off" autocorrect="off"\n            autocapitalize="off" spellcheck="false"\n            placeholder="'.concat(this.options.filterPlaceholder,'">\n        </div>\n      ')),t.push("<ul></ul>"),this.$drop.html(t.join("")),this.$ul=this.$drop.find(">ul"),this.initListItems()}},{key:"initListItems",value:function(){var t=this,e=this.getListRows(),n=0;if(this.options.selectAll&&!this.options.single&&(n=-1),e.length>Gs.BLOCK_ROWS*Gs.CLUSTER_BLOCKS){this.virtualScroll&&this.virtualScroll.destroy();var i=this.$drop.is(":visible");i||this.$drop.css("left",-1e4).show();var u=function(){t.updateDataStart=t.virtualScroll.dataStart+n,t.updateDataEnd=t.virtualScroll.dataEnd+n,t.updateDataStart<0&&(t.updateDataStart=0),t.updateDataEnd>t.data.length&&(t.updateDataEnd=t.data.length)};this.virtualScroll=new ac({rows:e,scrollEl:this.$ul[0],contentEl:this.$ul[0],callback:function(){u(),t.events()}}),u(),i||this.$drop.css("left",0).hide()}else this.$ul.html(e.join("")),this.updateDataStart=0,this.updateDataEnd=this.updateData.length,this.virtualScroll=null;this.events()}},{key:"getListRows",value:function(){var t=this,e=[];return this.options.selectAll&&!this.options.single&&e.push('\n        <li class="ms-select-all">\n        <label>\n        <input type="checkbox" '.concat(this.selectAllName).concat(this.allSelected?' checked="checked"':""," />\n        <span>").concat(this.options.formatSelectAll(),"</span>\n        </label>\n        </li>\n      ")),this.updateData=[],this.data.forEach((function(n){e.push.apply(e,o(t.initListItem(n)))})),e.push('<li class="ms-no-results">'.concat(this.options.formatNoMatchesFound(),"</li>")),e}},{key:"initListItem",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=t.title?'title="'.concat(t.title,'"'):"",u=this.options.multiple?"multiple":"",r=this.options.single?"radio":"checkbox",s="";if(!t.visible)return[];if(this.updateData.push(t),this.options.single&&!this.options.singleRadio&&(s="hide-radio "),t.selected&&(s+="selected "),"optgroup"===t.type){var a=this.options.styler(t),l=a?'style="'.concat(a,'"'):"",c=[],h=this.options.hideOptgroupCheckboxes||this.options.single?"<span ".concat(this.selectGroupName,' data-key="').concat(t._key,'"></span>'):'<input type="checkbox"\n          '.concat(this.selectGroupName,'\n          data-key="').concat(t._key,'"\n          ').concat(t.selected?' checked="checked"':"","\n          ").concat(t.disabled?' disabled="disabled"':"","\n        >");return s.includes("hide-radio")||!this.options.hideOptgroupCheckboxes&&!this.options.single||(s+="hide-radio "),c.push('\n        <li class="group '.concat(s,'" ').concat(l,'>\n        <label class="optgroup').concat(this.options.single||t.disabled?" disabled":"",'">\n        ').concat(h).concat(t.label,"\n        </label>\n        </li>\n      ")),t.children.forEach((function(t){c.push.apply(c,o(e.initListItem(t,1)))})),c}var f=this.options.styler(t),d=f?'style="'.concat(f,'"'):"";return s+=t.classes||"",n&&this.options.single&&(s+="option-level-".concat(n," ")),t.divider?'<li class="option-divider"/>':['\n      <li class="'.concat(u," ").concat(s,'" ').concat(i," ").concat(d,'>\n      <label class="').concat(t.disabled?"disabled":"",'">\n      <input type="').concat(r,'"\n        value="').concat(t.value,'"\n        data-key="').concat(t._key,'"\n        ').concat(this.selectItemName,"\n        ").concat(t.selected?' checked="checked"':"","\n        ").concat(t.disabled?' disabled="disabled"':"","\n      >\n      <span>").concat(t.text,"</span>\n      </label>\n      </li>\n    ")]}},{key:"events",value:function(){var e=this;this.$searchInput=this.$drop.find(".ms-search input"),this.$selectAll=this.$drop.find("input[".concat(this.selectAllName,"]")),this.$selectGroups=this.$drop.find("input[".concat(this.selectGroupName,"],span[").concat(this.selectGroupName,"]")),this.$selectItems=this.$drop.find("input[".concat(this.selectItemName,"]:enabled")),this.$disableItems=this.$drop.find("input[".concat(this.selectItemName,"]:disabled")),this.$noResults=this.$drop.find(".ms-no-results");var n=function(n){n.preventDefault(),t(n.target).hasClass("icon-close")||e[e.options.isOpen?"close":"open"]()};this.$label&&this.$label.length&&this.$label.off("click").on("click",(function(t){"label"===t.target.nodeName.toLowerCase()&&(n(t),e.options.filter&&e.options.isOpen||e.focus(),t.stopPropagation())})),this.$choice.off("click").on("click",n).off("focus").on("focus",this.options.onFocus).off("blur").on("blur",this.options.onBlur),this.$parent.off("keydown").on("keydown",(function(t){27!==t.which||e.options.keepOpen||(e.close(),e.$choice.focus())})),this.$close.off("click").on("click",(function(t){t.preventDefault(),e._checkAll(!1,!0),e.initSelected(!1),e.updateSelected(),e.update(),e.options.onClear()})),this.$searchInput.off("keydown").on("keydown",(function(t){9===t.keyCode&&t.shiftKey&&e.close()})).off("keyup").on("keyup",(function(t){if(e.options.filterAcceptOnEnter&&[13,32].includes(t.which)&&e.$searchInput.val()){if(e.options.single){var n=e.$selectItems.closest("li").filter(":visible");n.length&&e.setSelects([n.first().find("input[".concat(e.selectItemName,"]")).val()])}else e.$selectAll.click();return e.close(),void e.focus()}e.filter()})),this.$selectAll.off("click").on("click",(function(n){e._checkAll(t(n.currentTarget).prop("checked"))})),this.$selectGroups.off("click").on("click",(function(n){var i=t(n.currentTarget),u=i.prop("checked"),r=Zc(e.data,"_key",i.data("key"));e._checkGroup(r,u),e.options.onOptgroupClick(Qc({label:r.label,selected:r.selected,data:r._data,children:r.children.map((function(t){return Qc({text:t.text,value:t.value,selected:t.selected,disabled:t.disabled,data:t._data})}))}))})),this.$selectItems.off("click").on("click",(function(n){var i=t(n.currentTarget),u=i.prop("checked"),r=Zc(e.data,"_key",i.data("key"));e._check(r,u),e.options.onClick(Qc({text:r.text,value:r.value,selected:r.selected,data:r._data})),e.options.single&&e.options.isOpen&&!e.options.keepOpen&&e.close()}))}},{key:"initView",value:function(){var t;window.getComputedStyle?"auto"===(t=window.getComputedStyle(this.$el[0]).width)&&(t=this.$drop.outerWidth()+20):t=this.$el.outerWidth()+20,this.$parent.css("width",this.options.width||t),this.$el.show().addClass("ms-offscreen")}},{key:"open",value:function(){if(!this.$choice.hasClass("disabled")){if(this.options.isOpen=!0,this.$parent.addClass("ms-parent-open"),this.$choice.find(">div").addClass("open"),this.$drop[this.animateMethod("show")](),this.$selectAll.parent().show(),this.$noResults.hide(),this.data.length||(this.$selectAll.parent().hide(),this.$noResults.show()),this.options.container){var e=this.$drop.offset();this.$drop.appendTo(t(this.options.container)),this.$drop.offset({top:e.top,left:e.left}).css("min-width","auto").outerWidth(this.$parent.outerWidth())}var n=this.options.maxHeight;"row"===this.options.maxHeightUnit&&(n=this.$drop.find(">ul>li").first().outerHeight()*this.options.maxHeight),this.$drop.find(">ul").css("max-height","".concat(n,"px")),this.$drop.find(".multiple").css("width","".concat(this.options.multipleWidth,"px")),this.data.length&&this.options.filter&&(this.$searchInput.val(""),this.$searchInput.focus(),this.filter(!0)),this.options.onOpen()}}},{key:"close",value:function(){this.options.isOpen=!1,this.$parent.removeClass("ms-parent-open"),this.$choice.find(">div").removeClass("open"),this.$drop[this.animateMethod("hide")](),this.options.container&&(this.$parent.append(this.$drop),this.$drop.css({top:"auto",left:"auto"})),this.options.onClose()}},{key:"animateMethod",value:function(t){return{show:{fade:"fadeIn",slide:"slideDown"},hide:{fade:"fadeOut",slide:"slideUp"}}[t][this.options.animate]||t}},{key:"update",value:function(t){var e=this.getSelects(),n=this.getSelects("text");this.options.displayValues&&(n=e);var i=this.$choice.find(">span"),u=e.length,r="";0===u?i.addClass("placeholder").html(this.options.placeholder):r=u<this.options.minimumCountSelected?n.join(this.options.displayDelimiter):this.options.formatAllSelected()&&u===this.dataTotal?this.options.formatAllSelected():this.options.ellipsis&&u>this.options.minimumCountSelected?"".concat(n.slice(0,this.options.minimumCountSelected).join(this.options.displayDelimiter),"..."):this.options.formatCountSelected()&&u>this.options.minimumCountSelected?this.options.formatCountSelected(u,this.dataTotal):n.join(this.options.displayDelimiter),r&&i.removeClass("placeholder").html(r),this.options.displayTitle&&i.prop("title",this.getSelects("text")),this.$el.val(this.getSelects()),t||this.$el.trigger("change")}},{key:"updateSelected",value:function(){for(var t=this.updateDataStart;t<this.updateDataEnd;t++){var e=this.updateData[t];this.$drop.find("input[data-key=".concat(e._key,"]")).prop("checked",e.selected).closest("li").toggleClass("selected",e.selected)}var n=0===this.data.filter((function(t){return t.visible})).length;this.$selectAll.length&&this.$selectAll.prop("checked",this.allSelected).closest("li").toggle(!n),this.$noResults.toggle(n),this.virtualScroll&&(this.virtualScroll.rows=this.getListRows())}},{key:"getData",value:function(){return this.options.data}},{key:"getOptions",value:function(){var e=t.extend({},this.options);return delete e.data,t.extend(!0,{},e)}},{key:"refreshOptions",value:function(e){(function(t,e,n){var i=Object.keys(t),u=Object.keys(e);if(n&&i.length!==u.length)return!1;for(var r=0,o=i;r<o.length;r++){var s=o[r];if(u.includes(s)&&t[s]!==e[s])return!1}return!0})(this.options,e,!0)||(this.options=t.extend(this.options,e),this.destroy(),this.init())}},{key:"getSelects",value:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"value",n=[],i=l(this.data);try{for(i.s();!(t=i.n()).done;){var u=t.value;if("optgroup"===u.type){var r=u.children.filter((function(t){return t.selected}));if(!r.length)continue;if("value"===e||this.options.single)n.push.apply(n,o(r.map((function(t){return"value"===e&&t._value||t[e]}))));else{var s=[];s.push("["),s.push(u.label),s.push(": ".concat(r.map((function(t){return t[e]})).join(", "))),s.push("]"),n.push(s.join(""))}}else u.selected&&n.push("value"===e&&u._value||u[e])}}catch(t){i.e(t)}finally{i.f()}return n}},{key:"setSelects",value:function(e){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"value",u=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!1,o=function(n){var u,o=l(n);try{for(o.s();!(u=o.n()).done;){var s=u.value,a=!1;"text"===i?a=e.includes(t("<div>").html(s.text).text().trim()):(a=e.includes(s._value||s.value))||s.value!=="".concat(+s.value)||(a=e.includes(+s.value)),s.selected!==a&&(r=!0),s.selected=a}}catch(t){o.e(t)}finally{o.f()}},s=l(this.data);try{for(s.s();!(n=s.n()).done;){var a=n.value;"optgroup"===a.type?o(a.children):o([a])}}catch(t){s.e(t)}finally{s.f()}r&&(this.initSelected(u),this.updateSelected(),this.update(u))}},{key:"enable",value:function(){this.$choice.removeClass("disabled")}},{key:"disable",value:function(){this.$choice.addClass("disabled")}},{key:"check",value:function(t){var e=Zc(this.data,"value",t);e&&this._check(e,!0)}},{key:"uncheck",value:function(t){var e=Zc(this.data,"value",t);e&&this._check(e,!1)}},{key:"_check",value:function(t,e){this.options.single&&this._checkAll(!1,!0),t.selected=e,this.initSelected(),this.updateSelected(),this.update()}},{key:"checkAll",value:function(){this._checkAll(!0)}},{key:"uncheckAll",value:function(){this._checkAll(!1)}},{key:"_checkAll",value:function(t,e){var n,i=l(this.data);try{for(i.s();!(n=i.n()).done;){var u=n.value;"optgroup"===u.type?this._checkGroup(u,t,!0):u.disabled||u.divider||!e&&!u.visible||(u.selected=t)}}catch(t){i.e(t)}finally{i.f()}e||(this.initSelected(),this.updateSelected(),this.update())}},{key:"_checkGroup",value:function(t,e,n){t.selected=e,t.children.forEach((function(t){t.disabled||t.divider||!n&&!t.visible||(t.selected=e)})),n||(this.initSelected(),this.updateSelected(),this.update())}},{key:"checkInvert",value:function(){if(!this.options.single){var t,e=l(this.data);try{for(e.s();!(t=e.n()).done;){var n=t.value;if("optgroup"===n.type){var i,u=l(n.children);try{for(u.s();!(i=u.n()).done;){var r=i.value;r.divider||(r.selected=!r.selected)}}catch(t){u.e(t)}finally{u.f()}}else n.divider||(n.selected=!n.selected)}}catch(t){e.e(t)}finally{e.f()}this.initSelected(),this.updateSelected(),this.update()}}},{key:"focus",value:function(){this.$choice.focus(),this.options.onFocus()}},{key:"blur",value:function(){this.$choice.blur(),this.options.onBlur()}},{key:"refresh",value:function(){this.destroy(),this.init()}},{key:"filter",value:function(e){var n=t.trim(this.$searchInput.val()),i=n.toLowerCase();if(this.filterText!==i){this.filterText=i;var u,r=l(this.data);try{for(r.s();!(u=r.n()).done;){var o=u.value;if("optgroup"===o.type)if(this.options.filterGroup){var s=this.options.customFilter({label:Jc(o.label.toLowerCase()),search:Jc(i),originalLabel:o.label,originalSearch:n,row:o});o.visible=s;var a,c=l(o.children);try{for(c.s();!(a=c.n()).done;){a.value.visible=s}}catch(t){c.e(t)}finally{c.f()}}else{var h,f=l(o.children);try{for(f.s();!(h=f.n()).done;){var d=h.value;d.visible=this.options.customFilter({text:Jc(d.text.toLowerCase()),search:Jc(i),originalText:d.text,originalSearch:n,row:d,parent:o})}}catch(t){f.e(t)}finally{f.f()}o.visible=o.children.filter((function(t){return t.visible})).length>0}else o.visible=this.options.customFilter({text:Jc(o.text.toLowerCase()),search:Jc(i),originalText:o.text,originalSearch:n,row:o})}}catch(t){r.e(t)}finally{r.f()}this.initListItems(),this.initSelected(e),this.updateSelected(),e||this.options.onFilter(i)}}},{key:"destroy",value:function(){this.$parent&&(this.$el.before(this.$parent).removeClass("ms-offscreen"),null!==this.tabIndex&&this.$el.attr("tabindex",this.tabIndex),this.$parent.remove(),this.fromHtml&&(delete this.options.data,this.fromHtml=!1))}}]),i}();t.fn.multipleSelect=function(n){for(var i=arguments.length,u=new Array(i>1?i-1:0),r=1;r<i;r++)u[r-1]=arguments[r];var o;return this.each((function(i,r){var s=t(r),a=s.data("multipleSelect"),l=t.extend({},s.data(),"object"===e(n)&&n);if(a||(a=new th(s,l),s.data("multipleSelect",a)),"string"==typeof n){var c;if(t.inArray(n,Gs.METHODS)<0)throw new Error("Unknown method: ".concat(n));o=(c=a)[n].apply(c,u),"destroy"===n&&s.removeData("multipleSelect")}else a.init()})),void 0!==o?o:this},t.fn.multipleSelect.defaults=Gs.DEFAULTS,t.fn.multipleSelect.locales=Gs.LOCALES,t.fn.multipleSelect.methods=Gs.METHODS}));
(-)a/koha-tmpl/intranet-tmpl/prog/css/preferences.css (+8 lines)
Lines 183-185 span.overridden { Link Here
183
#menu ul ul {
183
#menu ul ul {
184
    padding-left: 0;
184
    padding-left: 0;
185
}
185
}
186
187
#admin_preferences .ms-drop ul {
188
    padding: 5px 0;
189
}
190
191
#admin_preferences .ms-drop label span {
192
    margin-left: 5px;
193
}
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt (-2 / +2 lines)
Lines 983-991 Link Here
983
                            by Allan Jardine is licensed under the BSD 3 and GPL v2 license.
983
                            by Allan Jardine is licensed under the BSD 3 and GPL v2 license.
984
                        </p>
984
                        </p>
985
985
986
                        <h2>jquery.multiple.select.js</h2>
986
                        <h2>jQuery Multiple Select Plugin</h2>
987
                        <p>
987
                        <p>
988
                            The <a href="http://wenzhixin.net.cn/p/multiple-select/">jQuery multiple select plugin</a> by Zhixin Wen is licensed under the MIT license.
988
                            The <a href="https://multiple-select.wenzhixin.net.cn/">jQuery Multiple Select plugin</a> by Zhixin Wen is licensed under the MIT license.
989
                        </p>
989
                        </p>
990
990
991
                        <h2>Javascript Diff Algorithm</h2>
991
                        <h2>Javascript Diff Algorithm</h2>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt (-3 / +2 lines)
Lines 7-14 Link Here
7
[% INCLUDE 'doc-head-open.inc' %]
7
[% INCLUDE 'doc-head-open.inc' %]
8
<title>System preferences &rsaquo; Administration &rsaquo; Koha</title>
8
<title>System preferences &rsaquo; Administration &rsaquo; Koha</title>
9
[% INCLUDE 'doc-head-close.inc' %]
9
[% INCLUDE 'doc-head-close.inc' %]
10
[% Asset.css("lib/jquery/plugins/multiple-select/multiple-select.min.css") | $raw %]
10
[% Asset.css("css/preferences.css") | $raw %]
11
[% Asset.css("css/preferences.css") | $raw %]
11
[% Asset.css("lib/jquery/plugins/multiple-select/multiple-select.css") | $raw %]
12
[% Asset.css("css/humanmsg.css") | $raw %]
12
[% Asset.css("css/humanmsg.css") | $raw %]
13
[% Asset.css("lib/codemirror/codemirror.min.css") | $raw %]
13
[% Asset.css("lib/codemirror/codemirror.min.css") | $raw %]
14
[% Asset.css("lib/codemirror/lint.min.css") | $raw %]
14
[% Asset.css("lib/codemirror/lint.min.css") | $raw %]
Lines 239-245 Link Here
239
[% MACRO jsinclude BLOCK %]
239
[% MACRO jsinclude BLOCK %]
240
    [% INCLUDE 'datatables.inc' %]
240
    [% INCLUDE 'datatables.inc' %]
241
    [% Asset.js("lib/hc-sticky.js") | $raw %]
241
    [% Asset.js("lib/hc-sticky.js") | $raw %]
242
    [% Asset.js("lib/jquery/plugins/multiple-select/jquery.multiple.select.js") | $raw %]
242
    [% Asset.js("lib/jquery/plugins/multiple-select/multiple-select.min.js") | $raw %]
243
    [% Asset.js( "lib/codemirror/codemirror.min.js" ) | $raw %]
243
    [% Asset.js( "lib/codemirror/codemirror.min.js" ) | $raw %]
244
    [% Asset.js( "lib/codemirror/css.min.js" ) | $raw %]
244
    [% Asset.js( "lib/codemirror/css.min.js" ) | $raw %]
245
    [% Asset.js( "lib/codemirror/javascript.min.js" ) | $raw %]
245
    [% Asset.js( "lib/codemirror/javascript.min.js" ) | $raw %]
246
- 

Return to bug 33868