Skip to content

Commit be61c25

Browse files
committed
Updated selectize.js to latest version.
1 parent eb0c4c2 commit be61c25

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

js/selectize.js

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -425,17 +425,17 @@
425425
};
426426

427427
var DIACRITICS = {
428-
'a': '[aÀÁÂÃÄÅàáâãäå]',
428+
'a': '[aÀÁÂÃÄÅàáâãäåĀā]',
429429
'c': '[cÇçćĆčČ]',
430430
'd': '[dđĐďĎ]',
431-
'e': '[eÈÉÊËèéêëěĚ]',
432-
'i': '[iÌÍÎÏìíîï]',
431+
'e': '[eÈÉÊËèéêëěĚĒē]',
432+
'i': '[iÌÍÎÏìíîïĪī]',
433433
'n': '[nÑñňŇ]',
434-
'o': '[oÒÓÔÕÕÖØòóôõöø]',
434+
'o': '[oÒÓÔÕÕÖØòóôõöøŌō]',
435435
'r': '[rřŘ]',
436436
's': '[sŠš]',
437437
't': '[tťŤ]',
438-
'u': '[uÙÚÛÜùúûüůŮ]',
438+
'u': '[uÙÚÛÜùúûüůŮŪū]',
439439
'y': '[yŸÿýÝ]',
440440
'z': '[zŽž]'
441441
};
@@ -585,7 +585,7 @@
585585
}));
586586

587587
/**
588-
* selectize.js (v0.10.1)
588+
* selectize.js (v0.11.0)
589589
* Copyright (c) 2013 Brian Reavis & contributors
590590
*
591591
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
@@ -726,10 +726,10 @@
726726
* 1 -> '1'
727727
*
728728
* @param {string} value
729-
* @returns {string}
729+
* @returns {string|null}
730730
*/
731731
var hash_key = function(value) {
732-
if (typeof value === 'undefined' || value === null) return '';
732+
if (typeof value === 'undefined' || value === null) return null;
733733
if (typeof value === 'boolean') return value ? '1' : '0';
734734
return value + '';
735735
};
@@ -1668,7 +1668,7 @@
16681668
self.createItem();
16691669
} else {
16701670
value = $target.attr('data-value');
1671-
if (value) {
1671+
if (typeof value !== 'undefined') {
16721672
self.lastQuery = null;
16731673
self.setTextboxValue('');
16741674
self.addItem(value);
@@ -2159,7 +2159,7 @@
21592159
}
21602160

21612161
value = hash_key(data[self.settings.valueField]);
2162-
if (!value || self.options.hasOwnProperty(value)) return;
2162+
if (typeof value !== 'string' || self.options.hasOwnProperty(value)) return;
21632163

21642164
self.userOptions[value] = true;
21652165
self.options[value] = data;
@@ -2196,8 +2196,9 @@
21962196
value_new = hash_key(data[self.settings.valueField]);
21972197

21982198
// sanity checks
2199+
if (value === null) return;
21992200
if (!self.options.hasOwnProperty(value)) return;
2200-
if (!value_new) throw new Error('Value must be set in option data');
2201+
if (typeof value_new !== 'string') throw new Error('Value must be set in option data');
22012202

22022203
// update references
22032204
if (value_new !== value) {
@@ -2309,7 +2310,7 @@
23092310
getElementWithValue: function(value, $els) {
23102311
value = hash_key(value);
23112312

2312-
if (value) {
2313+
if (typeof value !== 'undefined' && value !== null) {
23132314
for (var i = 0, n = $els.length; i < n; i++) {
23142315
if ($els[i].getAttribute('data-value') === value) {
23152316
return $($els[i]);
@@ -2475,7 +2476,7 @@
24752476

24762477
if (!data || typeof data !== 'object') return;
24772478
var value = hash_key(data[self.settings.valueField]);
2478-
if (!value) return;
2479+
if (typeof value !== 'string') return;
24792480

24802481
self.setTextboxValue('');
24812482
self.addOption(data);
@@ -3014,6 +3015,7 @@
30143015
addPrecedence: false,
30153016
selectOnTab: false,
30163017
preload: false,
3018+
allowEmptyOption: false,
30173019

30183020
scrollDuration: 60,
30193021
loadThrottle: 300,
@@ -3084,7 +3086,7 @@
30843086
*/
30853087
var init_textbox = function($input, settings_element) {
30863088
var i, n, values, option, value = $.trim($input.val() || '');
3087-
if (!value.length) return;
3089+
if (!settings.allowEmptyOption && !value.length) return;
30883090

30893091
values = value.split(settings.delimiter);
30903092
for (i = 0, n = values.length; i < n; i++) {
@@ -3122,7 +3124,7 @@
31223124
$option = $($option);
31233125

31243126
value = $option.attr('value') || '';
3125-
if (!value.length) return;
3127+
if (!value.length && !settings.allowEmptyOption) return;
31263128

31273129
// if the option already exists, it's probably been
31283130
// duplicated in another optgroup. in this case, push
@@ -3192,8 +3194,13 @@
31923194
var instance;
31933195
var $input = $(this);
31943196
var tag_name = this.tagName.toLowerCase();
3197+
var placeholder = $input.attr('placeholder') || $input.attr('data-placeholder');
3198+
if (!placeholder && !settings.allowEmptyOption) {
3199+
placeholder = $input.children('option[value=""]').text();
3200+
}
3201+
31953202
var settings_element = {
3196-
'placeholder' : $input.children('option[value=""]').text() || $input.attr('placeholder'),
3203+
'placeholder' : placeholder,
31973204
'options' : {},
31983205
'optgroups' : {},
31993206
'items' : []

0 commit comments

Comments
 (0)