@@ -65,16 +65,6 @@ var Selectize = function($input, settings) {
65
65
self . settings . hideSelected = self . settings . mode === 'multi' ;
66
66
}
67
67
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
-
78
68
self . initializePlugins ( self . settings . plugins ) ;
79
69
self . setupCallbacks ( ) ;
80
70
self . setupTemplates ( ) ;
@@ -1054,7 +1044,7 @@ $.extend(Selectize.prototype, {
1054
1044
}
1055
1045
1056
1046
// add create option
1057
- has_create_option = self . settings . create && self . canCreate ( results . query ) ;
1047
+ has_create_option = self . canCreate ( results . query ) ;
1058
1048
if ( has_create_option ) {
1059
1049
$dropdown_content . prepend ( self . render ( 'option_create' , { input : query } ) ) ;
1060
1050
$create = $ ( $dropdown_content [ 0 ] . childNodes [ 0 ] ) ;
@@ -1944,7 +1934,23 @@ $.extend(Selectize.prototype, {
1944
1934
} else {
1945
1935
delete self . renderCache [ templateName ] ;
1946
1936
}
1947
- }
1937
+ } ,
1948
1938
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
+ }
1949
1955
1950
1956
} ) ;
0 commit comments