1Selectize.define('selectize-disabled', function(options) { 2 3 options = $.extend({ 4 disableFieldName: 'disabled', 5 disableClassName: 'selectize-disabled' 6 }, options); 7 8 var selectizeDisabled = function (thisRef, options) { 9 var self = thisRef; 10 11 self.setup = (function() { 12 var originalSetup = self.setup; 13 return function() { 14 // // override the item rendering method to add the button to each 15 var originalRenderOption = self.settings.render.option; 16 self.settings.render.option = function(data) { 17 var $option = $(originalRenderOption.apply(self, arguments)); 18 if(!(self.items.indexOf(data[self.settings.valueField]) >= 0 || self.items.indexOf("" + data[self.settings.valueField]) >= 0) && data[options.disableFieldName] && data[options.disableFieldName] === true) { 19 $option.addClass(options.disableClassName); 20 } 21 return $option; 22 }; 23 24 originalSetup.apply(self, arguments); 25 }; 26 })(); 27 28 self.addItem = (function() { 29 self.forceAddItem = self.addItem; 30 return function (value) { 31 if (self.options.hasOwnProperty(value) && (!self.options[value][options.disableFieldName] || self.items.indexOf(value) >= 0 || self.items.indexOf("" + value) >= 0)){ 32 return self.forceAddItem.apply(self, arguments); 33 } 34 return null; 35 }; 36 })(); 37 }; 38 selectizeDisabled(this, options); 39});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.