Skip to content

Commit c7cb6c1

Browse files
committed
Fix for selectize#532.
1 parent 851f08a commit c7cb6c1

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

src/selectize.js

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,6 @@ var Selectize = function($input, settings) {
6565
self.settings.hideSelected = self.settings.mode === 'multi';
6666
}
6767

68-
if (self.settings.create) {
69-
self.canCreate = function(input) {
70-
var filter = self.settings.createFilter;
71-
return input.length
72-
&& (typeof filter !== 'function' || filter.apply(self, [input]))
73-
&& (typeof filter !== 'string' || new RegExp(filter).test(input))
74-
&& (!(filter instanceof RegExp) || filter.test(input));
75-
};
76-
}
77-
7868
self.initializePlugins(self.settings.plugins);
7969
self.setupCallbacks();
8070
self.setupTemplates();
@@ -1054,7 +1044,7 @@ $.extend(Selectize.prototype, {
10541044
}
10551045

10561046
// add create option
1057-
has_create_option = self.settings.create && self.canCreate(results.query);
1047+
has_create_option = self.canCreate(results.query);
10581048
if (has_create_option) {
10591049
$dropdown_content.prepend(self.render('option_create', {input: query}));
10601050
$create = $($dropdown_content[0].childNodes[0]);
@@ -1944,7 +1934,23 @@ $.extend(Selectize.prototype, {
19441934
} else {
19451935
delete self.renderCache[templateName];
19461936
}
1947-
}
1937+
},
19481938

1939+
/**
1940+
* Determines whether or not to display the
1941+
* create item prompt, given a user input.
1942+
*
1943+
* @param {string} input
1944+
* @return {boolean}
1945+
*/
1946+
canCreate: function(input) {
1947+
var self = this;
1948+
if (!self.settings.create) return false;
1949+
var filter = self.settings.createFilter;
1950+
return input.length
1951+
&& (typeof filter !== 'function' || filter.apply(self, [input]))
1952+
&& (typeof filter !== 'string' || new RegExp(filter).test(input))
1953+
&& (!(filter instanceof RegExp) || filter.test(input));
1954+
}
19491955

19501956
});

0 commit comments

Comments
 (0)