diff --git a/dist/js/select2.amd.full.js b/dist/js/select2.amd.full.js
index 517d024c..211a52fb 100644
--- a/dist/js/select2.amd.full.js
+++ b/dist/js/select2.amd.full.js
@@ -2,7 +2,7 @@ define('select2/utils',[], function () {
var Utils = {};
Utils.Extend = function (ChildClass, SuperClass) {
- var __hasProp = {}.hasOwnProperty
+ var __hasProp = {}.hasOwnProperty;
function BaseConstructor () {
this.constructor = ChildClass;
@@ -29,7 +29,7 @@ define('select2/utils',[], function () {
for (var methodName in proto) {
var m = proto[methodName];
- if (typeof m !== "function") {
+ if (typeof m !== 'function') {
continue;
}
@@ -68,38 +68,39 @@ define('select2/utils',[], function () {
DecoratedClass.prototype = new ctr();
for (var m = 0; m < superMethods.length; m++) {
- var methodName = superMethods[m];
+ var superMethod = superMethods[m];
- DecoratedClass.prototype[methodName] = SuperClass.prototype[methodName];
+ DecoratedClass.prototype[superMethod] =
+ SuperClass.prototype[superMethod];
}
- for (var m = 0; m < decoratedMethods.length; m++) {
- var methodName = decoratedMethods[m];
+ var calledMethod = function (methodName) {
+ // Stub out the original method if it's not decorating an actual method
+ var originalMethod = function () {};
- function calledMethod (methodName) {
- // Stub out the original method if it's not decorating an actual method
- var originalMethod = function () {};
-
- if (methodName in DecoratedClass.prototype) {
- originalMethod = DecoratedClass.prototype[methodName];
- }
-
- var decoratedMethod = DecoratorClass.prototype[methodName];
-
- return function () {
- var unshift = Array.prototype.unshift;
-
- unshift.call(arguments, originalMethod);
-
- return decoratedMethod.apply(this, arguments);
- }
+ if (methodName in DecoratedClass.prototype) {
+ originalMethod = DecoratedClass.prototype[methodName];
}
- DecoratedClass.prototype[methodName] = calledMethod(methodName);
+ var decoratedMethod = DecoratorClass.prototype[methodName];
+
+ return function () {
+ var unshift = Array.prototype.unshift;
+
+ unshift.call(arguments, originalMethod);
+
+ return decoratedMethod.apply(this, arguments);
+ };
+ };
+
+ for (var d = 0; d < decoratedMethods.length; d++) {
+ var decoratedMethod = decoratedMethods[d];
+
+ DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
}
return DecoratedClass;
- }
+ };
var Observable = function () {
this.listeners = {};
@@ -120,8 +121,8 @@ define('select2/utils',[], function () {
this.invoke(this.listeners[event], slice.call(arguments, 1));
}
- if ("*" in this.listeners) {
- this.invoke(this.listeners["*"], arguments);
+ if ('*' in this.listeners) {
+ this.invoke(this.listeners['*'], arguments);
}
};
@@ -146,12 +147,12 @@ define('select2/data/base',[
Utils.Extend(BaseAdapter, Utils.Observable);
BaseAdapter.prototype.current = function (callback) {
- throw new Error("The `current` method must be defined in child classes.");
- }
+ throw new Error('The `current` method must be defined in child classes.');
+ };
BaseAdapter.prototype.query = function (params, callback) {
- throw new Error("The `query` method must be defined in child classes.");
- }
+ throw new Error('The `query` method must be defined in child classes.');
+ };
return BaseAdapter;
});
@@ -173,7 +174,7 @@ define('select2/data/select',[
var data = [];
var self = this;
- this.$element.find(":selected").each(function () {
+ this.$element.find(':selected').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -187,7 +188,7 @@ define('select2/data/select',[
SelectAdapter.prototype.select = function (data) {
var self = this;
- if (this.$element.prop("multiple")) {
+ if (this.$element.prop('multiple')) {
this.current(function (currentData) {
var val = [];
@@ -203,20 +204,20 @@ define('select2/data/select',[
}
self.$element.val(val);
- self.$element.trigger("change");
+ self.$element.trigger('change');
});
} else {
var val = data.id;
this.$element.val(val);
- this.$element.trigger("change");
+ this.$element.trigger('change');
}
};
SelectAdapter.prototype.unselect = function (data) {
var self = this;
- if (!this.$element.prop("multiple")) {
+ if (!this.$element.prop('multiple')) {
return;
}
@@ -232,27 +233,27 @@ define('select2/data/select',[
}
self.$element.val(val);
- self.$element.trigger("change");
+ self.$element.trigger('change');
});
- }
+ };
SelectAdapter.prototype.bind = function (container, $container) {
var self = this;
- container.on("select", function (params) {
+ container.on('select', function (params) {
self.select(params.data);
});
- container.on("unselect", function (params) {
+ container.on('unselect', function (params) {
self.unselect(params.data);
});
- }
+ };
SelectAdapter.prototype.query = function (params, callback) {
var data = [];
var self = this;
- this.$element.find("option").each(function () {
+ this.$element.find('option').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -266,7 +267,7 @@ define('select2/data/select',[
};
SelectAdapter.prototype.item = function ($option) {
- var data = $option.data("data");
+ var data = $option.data('data');
// If the data has already be generated, use it
if (data == null) {
@@ -275,14 +276,14 @@ define('select2/data/select',[
text: $option.html()
};
- $option.data("data", data);
+ $option.data('data', data);
}
return data;
};
SelectAdapter.prototype.matches = function (params, data) {
- if ($.trim(params.term) == "") {
+ if ($.trim(params.term) === '') {
return true;
}
@@ -291,7 +292,7 @@ define('select2/data/select',[
}
return false;
- }
+ };
return SelectAdapter;
});
@@ -342,16 +343,16 @@ define('select2/results',[
this.data.current(function (selected) {
selected = $.map(selected, function (s) { return s.id; });
- self.$results.find(".option.selected").removeClass("selected");
+ self.$results.find('.option.selected').removeClass('selected');
- var $options = self.$results.find(".option");
+ var $options = self.$results.find('.option');
$options.each(function () {
var $option = $(this);
- var item = $option.data("data");
+ var item = $option.data('data');
if (selected.indexOf(item.id) > -1) {
- $option.addClass("selected");
+ $option.addClass('selected');
}
});
});
@@ -363,43 +364,43 @@ define('select2/results',[
);
$option.html(data.text);
- $option.data("data", data);
+ $option.data('data', data);
return $option;
- }
+ };
Results.prototype.bind = function (container, $container) {
var self = this;
- this.on("results:all", function (data) {
+ this.on('results:all', function (data) {
self.clear();
self.append(data);
self.setClasses();
});
- this.on("results:append", function (data) {
+ this.on('results:append', function (data) {
self.append(data);
self.setClasses();
- })
+ });
- this.$results.on("mouseup", ".option", function (evt) {
+ this.$results.on('mouseup', '.option', function (evt) {
var $this = $(this);
- var data = $this.data("data");
- if ($this.hasClass("selected")) {
- self.trigger("unselected", {
+ var data = $this.data('data');
+ if ($this.hasClass('selected')) {
+ self.trigger('unselected', {
originalEvent: evt,
data: data
- })
+ });
self.setClasses();
return;
}
- self.trigger("selected", {
+ self.trigger('selected', {
originalEvent: evt,
data: data
});
@@ -407,19 +408,19 @@ define('select2/results',[
self.setClasses();
});
- this.$results.on("mouseenter", ".option", function (evt) {
- self.$results.find(".option.highlighted").removeClass("highlighted");
- $(this).addClass("highlighted");
+ this.$results.on('mouseenter', '.option', function (evt) {
+ self.$results.find('.option.highlighted').removeClass('highlighted');
+ $(this).addClass('highlighted');
});
- this.$results.on("mouseleave", ".option", function (evt) {
- $(this).removeClass("highlighted");
+ this.$results.on('mouseleave', '.option', function (evt) {
+ $(this).removeClass('highlighted');
});
};
return Results;
-})
-;
+});
+
define('select2/dropdown',[
'./utils'
], function (Utils) {
@@ -437,11 +438,11 @@ define('select2/dropdown',[
);
return $dropdown;
- }
+ };
return Dropdown;
-})
-;
+});
+
define('select2/selection/single',[
'../utils'
], function (Utils) {
@@ -464,7 +465,7 @@ define('select2/selection/single',[
this.$selection = $selection;
return $selection;
- }
+ };
SingleSelection.prototype.bind = function (container, $container) {
var self = this;
@@ -475,26 +476,26 @@ define('select2/selection/single',[
return;
}
- self.trigger("toggle", {
+ self.trigger('toggle', {
originalEvent: evt
});
});
- container.on("selection:update", function (params) {
+ container.on('selection:update', function (params) {
self.update(params.data);
- })
- }
+ });
+ };
SingleSelection.prototype.clear = function () {
- this.$selection.find(".rendered-selection").empty();
- }
+ this.$selection.find('.rendered-selection').empty();
+ };
SingleSelection.prototype.display = function (data) {
return data.text;
- }
+ };
SingleSelection.prototype.update = function (data) {
- if (data.length == 0) {
+ if (data.length === 0) {
this.clear();
return;
}
@@ -503,8 +504,8 @@ define('select2/selection/single',[
var formatted = this.display(selection);
- this.$selection.find(".rendered-selection").html(formatted);
- }
+ this.$selection.find('.rendered-selection').html(formatted);
+ };
return SingleSelection;
});
@@ -531,34 +532,34 @@ define('select2/selection/multiple',[
this.$selection = $selection;
return $selection;
- }
+ };
MultipleSelection.prototype.bind = function (container, $container) {
var self = this;
this.$selection.on('click', function (evt) {
- self.trigger("toggle", {
+ self.trigger('toggle', {
originalEvent: evt
});
});
- container.on("selection:update", function (params) {
+ container.on('selection:update', function (params) {
self.update(params.data);
});
- }
+ };
MultipleSelection.prototype.clear = function () {
- this.$selection.find(".rendered-selection").empty();
- }
+ this.$selection.find('.rendered-selection').empty();
+ };
MultipleSelection.prototype.display = function (data) {
return data.text;
- }
+ };
MultipleSelection.prototype.update = function (data) {
this.clear();
- if (data.length == 0) {
+ if (data.length === 0) {
return;
}
@@ -572,20 +573,20 @@ define('select2/selection/multiple',[
var $selection = $('
');
$selection.text(formatted);
- $selection.data("data", data);
+ $selection.data('data', data);
$selections.push($selection);
}
- this.$selection.find(".rendered-selection").append($selections);
- }
+ this.$selection.find('.rendered-selection').append($selections);
+ };
return MultipleSelection;
});
define('select2/data/array',[
- "./select",
- "../utils"
+ './select',
+ '../utils'
], function (SelectAdapter, Utils) {
function ArrayAdapter ($element, options) {
this.data = options.options.data;
@@ -598,7 +599,7 @@ define('select2/data/array',[
ArrayAdapter.prototype.select = function (data) {
var self = this;
- this.$element.find("option").each(function () {
+ this.$element.find('option').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -612,17 +613,17 @@ define('select2/data/array',[
this.$element.append($option);
ArrayAdapter.__super__.select.call(this, data);
- }
+ };
ArrayAdapter.prototype.option = function (data) {
- var $option = $("");
+ var $option = $('');
$option.text(data.text);
$option.val(data.id);
- $option.data("data", data);
+ $option.data('data', data);
return $option;
- }
+ };
ArrayAdapter.prototype.query = function (params, callback) {
var matches = [];
@@ -637,22 +638,22 @@ define('select2/data/array',[
});
callback(matches);
- }
+ };
return ArrayAdapter;
});
define('select2/data/ajax',[
- "./array",
- "../utils",
- "jquery"
+ './array',
+ '../utils',
+ 'jquery'
], function (ArrayAdapter, Utils, $) {
function AjaxAdapter ($element, options) {
this.ajaxOptions = options.options.ajax;
this.processResults = this.ajaxOptions.processResults ||
function (results) {
- return results
+ return results;
};
ArrayAdapter.__super__.constructor.call(this, $element, options);
@@ -665,14 +666,14 @@ define('select2/data/ajax',[
var self = this;
var options = $.extend({
- type: "GET",
+ type: 'GET',
}, this.ajaxOptions);
- if (typeof options.url === "function") {
+ if (typeof options.url === 'function') {
options.url = options.url(params);
}
- if (typeof options.data === "function") {
+ if (typeof options.data === 'function') {
options.data = options.data(params);
}
@@ -681,8 +682,6 @@ define('select2/data/ajax',[
$request.success(function (data) {
var results = self.processResults(data);
- console.log(results)
-
callback(results);
});
};
@@ -719,8 +718,8 @@ define('select2/options',[
}
return Options;
-})
-;
+});
+
define('select2/core',[
'jquery',
'./options',
@@ -731,7 +730,7 @@ define('select2/core',[
options = options || {};
- options.multiple = options.multiple || $element.prop("multiple");
+ options.multiple = options.multiple || $element.prop('multiple');
this.options = new Options(options);
@@ -750,21 +749,22 @@ define('select2/core',[
this.selection = new this.options.selectionAdapter($element, this.options);
- var $selectionContainer = $container.find(".selection");
+ var $selectionContainer = $container.find('.selection');
var $selection = this.selection.render();
$selectionContainer.append($selection);
this.dropdown = new this.options.dropdownAdapter($element, this.options);
- var $dropdownContainer = $container.find(".dropdown");
+ var $dropdownContainer = $container.find('.dropdown');
var $dropdown = this.dropdown.render();
$dropdownContainer.append($dropdown);
- this.results = new this.options.resultsAdapter($element, this.options, this.data);
+ this.results = new this.options.resultsAdapter(
+ $element, this.options, this.data);
- var $resultsContainer = $dropdown.find(".results");
+ var $resultsContainer = $dropdown.find('.results');
var $results = this.results.render();
$resultsContainer.append($results);
@@ -777,48 +777,48 @@ define('select2/core',[
this.selection.bind(this, $container);
this.results.bind(this, $container);
- this.$element.on("change", function () {
+ this.$element.on('change', function () {
self.data.current(function (data) {
- self.trigger("selection:update", {
+ self.trigger('selection:update', {
data: data
});
});
});
- this.selection.on("toggle", function () {
+ this.selection.on('toggle', function () {
self.toggleDropdown();
});
- this.results.on("selected", function (params) {
- self.trigger("select", params);
+ this.results.on('selected', function (params) {
+ self.trigger('select', params);
- self.trigger("close");
+ self.trigger('close');
});
- this.results.on("unselected", function (params) {
- self.trigger("unselect", params);
+ this.results.on('unselected', function (params) {
+ self.trigger('unselect', params);
- self.trigger("close");
+ self.trigger('close');
});
- this.on("open", function () {
- $container.addClass("open");
+ this.on('open', function () {
+ $container.addClass('open');
});
- this.on("close", function () {
- $container.removeClass("open");
+ this.on('close', function () {
+ $container.removeClass('open');
});
// Set the initial state
this.data.current(function (initialData) {
- self.trigger("selection:update", {
+ self.trigger('selection:update', {
data: initialData
});
});
this.data.query({}, function (data) {
- self.results.trigger("results:all", data);
+ self.results.trigger('results:all', data);
});
// Hide the original select
@@ -829,12 +829,12 @@ define('select2/core',[
Utils.Extend(Select2, Utils.Observable);
Select2.prototype.toggleDropdown = function () {
- if (this.$container.hasClass("open")) {
- this.trigger("close");
+ if (this.$container.hasClass('open')) {
+ this.trigger('close');
} else {
- this.trigger("open");
+ this.trigger('open');
}
- }
+ };
Select2.prototype.render = function () {
var $container = $(
diff --git a/dist/js/select2.amd.js b/dist/js/select2.amd.js
index 517d024c..211a52fb 100644
--- a/dist/js/select2.amd.js
+++ b/dist/js/select2.amd.js
@@ -2,7 +2,7 @@ define('select2/utils',[], function () {
var Utils = {};
Utils.Extend = function (ChildClass, SuperClass) {
- var __hasProp = {}.hasOwnProperty
+ var __hasProp = {}.hasOwnProperty;
function BaseConstructor () {
this.constructor = ChildClass;
@@ -29,7 +29,7 @@ define('select2/utils',[], function () {
for (var methodName in proto) {
var m = proto[methodName];
- if (typeof m !== "function") {
+ if (typeof m !== 'function') {
continue;
}
@@ -68,38 +68,39 @@ define('select2/utils',[], function () {
DecoratedClass.prototype = new ctr();
for (var m = 0; m < superMethods.length; m++) {
- var methodName = superMethods[m];
+ var superMethod = superMethods[m];
- DecoratedClass.prototype[methodName] = SuperClass.prototype[methodName];
+ DecoratedClass.prototype[superMethod] =
+ SuperClass.prototype[superMethod];
}
- for (var m = 0; m < decoratedMethods.length; m++) {
- var methodName = decoratedMethods[m];
+ var calledMethod = function (methodName) {
+ // Stub out the original method if it's not decorating an actual method
+ var originalMethod = function () {};
- function calledMethod (methodName) {
- // Stub out the original method if it's not decorating an actual method
- var originalMethod = function () {};
-
- if (methodName in DecoratedClass.prototype) {
- originalMethod = DecoratedClass.prototype[methodName];
- }
-
- var decoratedMethod = DecoratorClass.prototype[methodName];
-
- return function () {
- var unshift = Array.prototype.unshift;
-
- unshift.call(arguments, originalMethod);
-
- return decoratedMethod.apply(this, arguments);
- }
+ if (methodName in DecoratedClass.prototype) {
+ originalMethod = DecoratedClass.prototype[methodName];
}
- DecoratedClass.prototype[methodName] = calledMethod(methodName);
+ var decoratedMethod = DecoratorClass.prototype[methodName];
+
+ return function () {
+ var unshift = Array.prototype.unshift;
+
+ unshift.call(arguments, originalMethod);
+
+ return decoratedMethod.apply(this, arguments);
+ };
+ };
+
+ for (var d = 0; d < decoratedMethods.length; d++) {
+ var decoratedMethod = decoratedMethods[d];
+
+ DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
}
return DecoratedClass;
- }
+ };
var Observable = function () {
this.listeners = {};
@@ -120,8 +121,8 @@ define('select2/utils',[], function () {
this.invoke(this.listeners[event], slice.call(arguments, 1));
}
- if ("*" in this.listeners) {
- this.invoke(this.listeners["*"], arguments);
+ if ('*' in this.listeners) {
+ this.invoke(this.listeners['*'], arguments);
}
};
@@ -146,12 +147,12 @@ define('select2/data/base',[
Utils.Extend(BaseAdapter, Utils.Observable);
BaseAdapter.prototype.current = function (callback) {
- throw new Error("The `current` method must be defined in child classes.");
- }
+ throw new Error('The `current` method must be defined in child classes.');
+ };
BaseAdapter.prototype.query = function (params, callback) {
- throw new Error("The `query` method must be defined in child classes.");
- }
+ throw new Error('The `query` method must be defined in child classes.');
+ };
return BaseAdapter;
});
@@ -173,7 +174,7 @@ define('select2/data/select',[
var data = [];
var self = this;
- this.$element.find(":selected").each(function () {
+ this.$element.find(':selected').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -187,7 +188,7 @@ define('select2/data/select',[
SelectAdapter.prototype.select = function (data) {
var self = this;
- if (this.$element.prop("multiple")) {
+ if (this.$element.prop('multiple')) {
this.current(function (currentData) {
var val = [];
@@ -203,20 +204,20 @@ define('select2/data/select',[
}
self.$element.val(val);
- self.$element.trigger("change");
+ self.$element.trigger('change');
});
} else {
var val = data.id;
this.$element.val(val);
- this.$element.trigger("change");
+ this.$element.trigger('change');
}
};
SelectAdapter.prototype.unselect = function (data) {
var self = this;
- if (!this.$element.prop("multiple")) {
+ if (!this.$element.prop('multiple')) {
return;
}
@@ -232,27 +233,27 @@ define('select2/data/select',[
}
self.$element.val(val);
- self.$element.trigger("change");
+ self.$element.trigger('change');
});
- }
+ };
SelectAdapter.prototype.bind = function (container, $container) {
var self = this;
- container.on("select", function (params) {
+ container.on('select', function (params) {
self.select(params.data);
});
- container.on("unselect", function (params) {
+ container.on('unselect', function (params) {
self.unselect(params.data);
});
- }
+ };
SelectAdapter.prototype.query = function (params, callback) {
var data = [];
var self = this;
- this.$element.find("option").each(function () {
+ this.$element.find('option').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -266,7 +267,7 @@ define('select2/data/select',[
};
SelectAdapter.prototype.item = function ($option) {
- var data = $option.data("data");
+ var data = $option.data('data');
// If the data has already be generated, use it
if (data == null) {
@@ -275,14 +276,14 @@ define('select2/data/select',[
text: $option.html()
};
- $option.data("data", data);
+ $option.data('data', data);
}
return data;
};
SelectAdapter.prototype.matches = function (params, data) {
- if ($.trim(params.term) == "") {
+ if ($.trim(params.term) === '') {
return true;
}
@@ -291,7 +292,7 @@ define('select2/data/select',[
}
return false;
- }
+ };
return SelectAdapter;
});
@@ -342,16 +343,16 @@ define('select2/results',[
this.data.current(function (selected) {
selected = $.map(selected, function (s) { return s.id; });
- self.$results.find(".option.selected").removeClass("selected");
+ self.$results.find('.option.selected').removeClass('selected');
- var $options = self.$results.find(".option");
+ var $options = self.$results.find('.option');
$options.each(function () {
var $option = $(this);
- var item = $option.data("data");
+ var item = $option.data('data');
if (selected.indexOf(item.id) > -1) {
- $option.addClass("selected");
+ $option.addClass('selected');
}
});
});
@@ -363,43 +364,43 @@ define('select2/results',[
);
$option.html(data.text);
- $option.data("data", data);
+ $option.data('data', data);
return $option;
- }
+ };
Results.prototype.bind = function (container, $container) {
var self = this;
- this.on("results:all", function (data) {
+ this.on('results:all', function (data) {
self.clear();
self.append(data);
self.setClasses();
});
- this.on("results:append", function (data) {
+ this.on('results:append', function (data) {
self.append(data);
self.setClasses();
- })
+ });
- this.$results.on("mouseup", ".option", function (evt) {
+ this.$results.on('mouseup', '.option', function (evt) {
var $this = $(this);
- var data = $this.data("data");
- if ($this.hasClass("selected")) {
- self.trigger("unselected", {
+ var data = $this.data('data');
+ if ($this.hasClass('selected')) {
+ self.trigger('unselected', {
originalEvent: evt,
data: data
- })
+ });
self.setClasses();
return;
}
- self.trigger("selected", {
+ self.trigger('selected', {
originalEvent: evt,
data: data
});
@@ -407,19 +408,19 @@ define('select2/results',[
self.setClasses();
});
- this.$results.on("mouseenter", ".option", function (evt) {
- self.$results.find(".option.highlighted").removeClass("highlighted");
- $(this).addClass("highlighted");
+ this.$results.on('mouseenter', '.option', function (evt) {
+ self.$results.find('.option.highlighted').removeClass('highlighted');
+ $(this).addClass('highlighted');
});
- this.$results.on("mouseleave", ".option", function (evt) {
- $(this).removeClass("highlighted");
+ this.$results.on('mouseleave', '.option', function (evt) {
+ $(this).removeClass('highlighted');
});
};
return Results;
-})
-;
+});
+
define('select2/dropdown',[
'./utils'
], function (Utils) {
@@ -437,11 +438,11 @@ define('select2/dropdown',[
);
return $dropdown;
- }
+ };
return Dropdown;
-})
-;
+});
+
define('select2/selection/single',[
'../utils'
], function (Utils) {
@@ -464,7 +465,7 @@ define('select2/selection/single',[
this.$selection = $selection;
return $selection;
- }
+ };
SingleSelection.prototype.bind = function (container, $container) {
var self = this;
@@ -475,26 +476,26 @@ define('select2/selection/single',[
return;
}
- self.trigger("toggle", {
+ self.trigger('toggle', {
originalEvent: evt
});
});
- container.on("selection:update", function (params) {
+ container.on('selection:update', function (params) {
self.update(params.data);
- })
- }
+ });
+ };
SingleSelection.prototype.clear = function () {
- this.$selection.find(".rendered-selection").empty();
- }
+ this.$selection.find('.rendered-selection').empty();
+ };
SingleSelection.prototype.display = function (data) {
return data.text;
- }
+ };
SingleSelection.prototype.update = function (data) {
- if (data.length == 0) {
+ if (data.length === 0) {
this.clear();
return;
}
@@ -503,8 +504,8 @@ define('select2/selection/single',[
var formatted = this.display(selection);
- this.$selection.find(".rendered-selection").html(formatted);
- }
+ this.$selection.find('.rendered-selection').html(formatted);
+ };
return SingleSelection;
});
@@ -531,34 +532,34 @@ define('select2/selection/multiple',[
this.$selection = $selection;
return $selection;
- }
+ };
MultipleSelection.prototype.bind = function (container, $container) {
var self = this;
this.$selection.on('click', function (evt) {
- self.trigger("toggle", {
+ self.trigger('toggle', {
originalEvent: evt
});
});
- container.on("selection:update", function (params) {
+ container.on('selection:update', function (params) {
self.update(params.data);
});
- }
+ };
MultipleSelection.prototype.clear = function () {
- this.$selection.find(".rendered-selection").empty();
- }
+ this.$selection.find('.rendered-selection').empty();
+ };
MultipleSelection.prototype.display = function (data) {
return data.text;
- }
+ };
MultipleSelection.prototype.update = function (data) {
this.clear();
- if (data.length == 0) {
+ if (data.length === 0) {
return;
}
@@ -572,20 +573,20 @@ define('select2/selection/multiple',[
var $selection = $('');
$selection.text(formatted);
- $selection.data("data", data);
+ $selection.data('data', data);
$selections.push($selection);
}
- this.$selection.find(".rendered-selection").append($selections);
- }
+ this.$selection.find('.rendered-selection').append($selections);
+ };
return MultipleSelection;
});
define('select2/data/array',[
- "./select",
- "../utils"
+ './select',
+ '../utils'
], function (SelectAdapter, Utils) {
function ArrayAdapter ($element, options) {
this.data = options.options.data;
@@ -598,7 +599,7 @@ define('select2/data/array',[
ArrayAdapter.prototype.select = function (data) {
var self = this;
- this.$element.find("option").each(function () {
+ this.$element.find('option').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -612,17 +613,17 @@ define('select2/data/array',[
this.$element.append($option);
ArrayAdapter.__super__.select.call(this, data);
- }
+ };
ArrayAdapter.prototype.option = function (data) {
- var $option = $("");
+ var $option = $('');
$option.text(data.text);
$option.val(data.id);
- $option.data("data", data);
+ $option.data('data', data);
return $option;
- }
+ };
ArrayAdapter.prototype.query = function (params, callback) {
var matches = [];
@@ -637,22 +638,22 @@ define('select2/data/array',[
});
callback(matches);
- }
+ };
return ArrayAdapter;
});
define('select2/data/ajax',[
- "./array",
- "../utils",
- "jquery"
+ './array',
+ '../utils',
+ 'jquery'
], function (ArrayAdapter, Utils, $) {
function AjaxAdapter ($element, options) {
this.ajaxOptions = options.options.ajax;
this.processResults = this.ajaxOptions.processResults ||
function (results) {
- return results
+ return results;
};
ArrayAdapter.__super__.constructor.call(this, $element, options);
@@ -665,14 +666,14 @@ define('select2/data/ajax',[
var self = this;
var options = $.extend({
- type: "GET",
+ type: 'GET',
}, this.ajaxOptions);
- if (typeof options.url === "function") {
+ if (typeof options.url === 'function') {
options.url = options.url(params);
}
- if (typeof options.data === "function") {
+ if (typeof options.data === 'function') {
options.data = options.data(params);
}
@@ -681,8 +682,6 @@ define('select2/data/ajax',[
$request.success(function (data) {
var results = self.processResults(data);
- console.log(results)
-
callback(results);
});
};
@@ -719,8 +718,8 @@ define('select2/options',[
}
return Options;
-})
-;
+});
+
define('select2/core',[
'jquery',
'./options',
@@ -731,7 +730,7 @@ define('select2/core',[
options = options || {};
- options.multiple = options.multiple || $element.prop("multiple");
+ options.multiple = options.multiple || $element.prop('multiple');
this.options = new Options(options);
@@ -750,21 +749,22 @@ define('select2/core',[
this.selection = new this.options.selectionAdapter($element, this.options);
- var $selectionContainer = $container.find(".selection");
+ var $selectionContainer = $container.find('.selection');
var $selection = this.selection.render();
$selectionContainer.append($selection);
this.dropdown = new this.options.dropdownAdapter($element, this.options);
- var $dropdownContainer = $container.find(".dropdown");
+ var $dropdownContainer = $container.find('.dropdown');
var $dropdown = this.dropdown.render();
$dropdownContainer.append($dropdown);
- this.results = new this.options.resultsAdapter($element, this.options, this.data);
+ this.results = new this.options.resultsAdapter(
+ $element, this.options, this.data);
- var $resultsContainer = $dropdown.find(".results");
+ var $resultsContainer = $dropdown.find('.results');
var $results = this.results.render();
$resultsContainer.append($results);
@@ -777,48 +777,48 @@ define('select2/core',[
this.selection.bind(this, $container);
this.results.bind(this, $container);
- this.$element.on("change", function () {
+ this.$element.on('change', function () {
self.data.current(function (data) {
- self.trigger("selection:update", {
+ self.trigger('selection:update', {
data: data
});
});
});
- this.selection.on("toggle", function () {
+ this.selection.on('toggle', function () {
self.toggleDropdown();
});
- this.results.on("selected", function (params) {
- self.trigger("select", params);
+ this.results.on('selected', function (params) {
+ self.trigger('select', params);
- self.trigger("close");
+ self.trigger('close');
});
- this.results.on("unselected", function (params) {
- self.trigger("unselect", params);
+ this.results.on('unselected', function (params) {
+ self.trigger('unselect', params);
- self.trigger("close");
+ self.trigger('close');
});
- this.on("open", function () {
- $container.addClass("open");
+ this.on('open', function () {
+ $container.addClass('open');
});
- this.on("close", function () {
- $container.removeClass("open");
+ this.on('close', function () {
+ $container.removeClass('open');
});
// Set the initial state
this.data.current(function (initialData) {
- self.trigger("selection:update", {
+ self.trigger('selection:update', {
data: initialData
});
});
this.data.query({}, function (data) {
- self.results.trigger("results:all", data);
+ self.results.trigger('results:all', data);
});
// Hide the original select
@@ -829,12 +829,12 @@ define('select2/core',[
Utils.Extend(Select2, Utils.Observable);
Select2.prototype.toggleDropdown = function () {
- if (this.$container.hasClass("open")) {
- this.trigger("close");
+ if (this.$container.hasClass('open')) {
+ this.trigger('close');
} else {
- this.trigger("open");
+ this.trigger('open');
}
- }
+ };
Select2.prototype.render = function () {
var $container = $(
diff --git a/dist/js/select2.full.js b/dist/js/select2.full.js
index 8ab296bc..10700936 100644
--- a/dist/js/select2.full.js
+++ b/dist/js/select2.full.js
@@ -9539,7 +9539,7 @@ define('select2/utils',[], function () {
var Utils = {};
Utils.Extend = function (ChildClass, SuperClass) {
- var __hasProp = {}.hasOwnProperty
+ var __hasProp = {}.hasOwnProperty;
function BaseConstructor () {
this.constructor = ChildClass;
@@ -9566,7 +9566,7 @@ define('select2/utils',[], function () {
for (var methodName in proto) {
var m = proto[methodName];
- if (typeof m !== "function") {
+ if (typeof m !== 'function') {
continue;
}
@@ -9605,38 +9605,39 @@ define('select2/utils',[], function () {
DecoratedClass.prototype = new ctr();
for (var m = 0; m < superMethods.length; m++) {
- var methodName = superMethods[m];
+ var superMethod = superMethods[m];
- DecoratedClass.prototype[methodName] = SuperClass.prototype[methodName];
+ DecoratedClass.prototype[superMethod] =
+ SuperClass.prototype[superMethod];
}
- for (var m = 0; m < decoratedMethods.length; m++) {
- var methodName = decoratedMethods[m];
+ var calledMethod = function (methodName) {
+ // Stub out the original method if it's not decorating an actual method
+ var originalMethod = function () {};
- function calledMethod (methodName) {
- // Stub out the original method if it's not decorating an actual method
- var originalMethod = function () {};
-
- if (methodName in DecoratedClass.prototype) {
- originalMethod = DecoratedClass.prototype[methodName];
- }
-
- var decoratedMethod = DecoratorClass.prototype[methodName];
-
- return function () {
- var unshift = Array.prototype.unshift;
-
- unshift.call(arguments, originalMethod);
-
- return decoratedMethod.apply(this, arguments);
- }
+ if (methodName in DecoratedClass.prototype) {
+ originalMethod = DecoratedClass.prototype[methodName];
}
- DecoratedClass.prototype[methodName] = calledMethod(methodName);
+ var decoratedMethod = DecoratorClass.prototype[methodName];
+
+ return function () {
+ var unshift = Array.prototype.unshift;
+
+ unshift.call(arguments, originalMethod);
+
+ return decoratedMethod.apply(this, arguments);
+ };
+ };
+
+ for (var d = 0; d < decoratedMethods.length; d++) {
+ var decoratedMethod = decoratedMethods[d];
+
+ DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
}
return DecoratedClass;
- }
+ };
var Observable = function () {
this.listeners = {};
@@ -9657,8 +9658,8 @@ define('select2/utils',[], function () {
this.invoke(this.listeners[event], slice.call(arguments, 1));
}
- if ("*" in this.listeners) {
- this.invoke(this.listeners["*"], arguments);
+ if ('*' in this.listeners) {
+ this.invoke(this.listeners['*'], arguments);
}
};
@@ -9683,12 +9684,12 @@ define('select2/data/base',[
Utils.Extend(BaseAdapter, Utils.Observable);
BaseAdapter.prototype.current = function (callback) {
- throw new Error("The `current` method must be defined in child classes.");
- }
+ throw new Error('The `current` method must be defined in child classes.');
+ };
BaseAdapter.prototype.query = function (params, callback) {
- throw new Error("The `query` method must be defined in child classes.");
- }
+ throw new Error('The `query` method must be defined in child classes.');
+ };
return BaseAdapter;
});
@@ -9710,7 +9711,7 @@ define('select2/data/select',[
var data = [];
var self = this;
- this.$element.find(":selected").each(function () {
+ this.$element.find(':selected').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -9724,7 +9725,7 @@ define('select2/data/select',[
SelectAdapter.prototype.select = function (data) {
var self = this;
- if (this.$element.prop("multiple")) {
+ if (this.$element.prop('multiple')) {
this.current(function (currentData) {
var val = [];
@@ -9740,20 +9741,20 @@ define('select2/data/select',[
}
self.$element.val(val);
- self.$element.trigger("change");
+ self.$element.trigger('change');
});
} else {
var val = data.id;
this.$element.val(val);
- this.$element.trigger("change");
+ this.$element.trigger('change');
}
};
SelectAdapter.prototype.unselect = function (data) {
var self = this;
- if (!this.$element.prop("multiple")) {
+ if (!this.$element.prop('multiple')) {
return;
}
@@ -9769,27 +9770,27 @@ define('select2/data/select',[
}
self.$element.val(val);
- self.$element.trigger("change");
+ self.$element.trigger('change');
});
- }
+ };
SelectAdapter.prototype.bind = function (container, $container) {
var self = this;
- container.on("select", function (params) {
+ container.on('select', function (params) {
self.select(params.data);
});
- container.on("unselect", function (params) {
+ container.on('unselect', function (params) {
self.unselect(params.data);
});
- }
+ };
SelectAdapter.prototype.query = function (params, callback) {
var data = [];
var self = this;
- this.$element.find("option").each(function () {
+ this.$element.find('option').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -9803,7 +9804,7 @@ define('select2/data/select',[
};
SelectAdapter.prototype.item = function ($option) {
- var data = $option.data("data");
+ var data = $option.data('data');
// If the data has already be generated, use it
if (data == null) {
@@ -9812,14 +9813,14 @@ define('select2/data/select',[
text: $option.html()
};
- $option.data("data", data);
+ $option.data('data', data);
}
return data;
};
SelectAdapter.prototype.matches = function (params, data) {
- if ($.trim(params.term) == "") {
+ if ($.trim(params.term) === '') {
return true;
}
@@ -9828,7 +9829,7 @@ define('select2/data/select',[
}
return false;
- }
+ };
return SelectAdapter;
});
@@ -9879,16 +9880,16 @@ define('select2/results',[
this.data.current(function (selected) {
selected = $.map(selected, function (s) { return s.id; });
- self.$results.find(".option.selected").removeClass("selected");
+ self.$results.find('.option.selected').removeClass('selected');
- var $options = self.$results.find(".option");
+ var $options = self.$results.find('.option');
$options.each(function () {
var $option = $(this);
- var item = $option.data("data");
+ var item = $option.data('data');
if (selected.indexOf(item.id) > -1) {
- $option.addClass("selected");
+ $option.addClass('selected');
}
});
});
@@ -9900,43 +9901,43 @@ define('select2/results',[
);
$option.html(data.text);
- $option.data("data", data);
+ $option.data('data', data);
return $option;
- }
+ };
Results.prototype.bind = function (container, $container) {
var self = this;
- this.on("results:all", function (data) {
+ this.on('results:all', function (data) {
self.clear();
self.append(data);
self.setClasses();
});
- this.on("results:append", function (data) {
+ this.on('results:append', function (data) {
self.append(data);
self.setClasses();
- })
+ });
- this.$results.on("mouseup", ".option", function (evt) {
+ this.$results.on('mouseup', '.option', function (evt) {
var $this = $(this);
- var data = $this.data("data");
- if ($this.hasClass("selected")) {
- self.trigger("unselected", {
+ var data = $this.data('data');
+ if ($this.hasClass('selected')) {
+ self.trigger('unselected', {
originalEvent: evt,
data: data
- })
+ });
self.setClasses();
return;
}
- self.trigger("selected", {
+ self.trigger('selected', {
originalEvent: evt,
data: data
});
@@ -9944,19 +9945,19 @@ define('select2/results',[
self.setClasses();
});
- this.$results.on("mouseenter", ".option", function (evt) {
- self.$results.find(".option.highlighted").removeClass("highlighted");
- $(this).addClass("highlighted");
+ this.$results.on('mouseenter', '.option', function (evt) {
+ self.$results.find('.option.highlighted').removeClass('highlighted');
+ $(this).addClass('highlighted');
});
- this.$results.on("mouseleave", ".option", function (evt) {
- $(this).removeClass("highlighted");
+ this.$results.on('mouseleave', '.option', function (evt) {
+ $(this).removeClass('highlighted');
});
};
return Results;
-})
-;
+});
+
define('select2/dropdown',[
'./utils'
], function (Utils) {
@@ -9974,11 +9975,11 @@ define('select2/dropdown',[
);
return $dropdown;
- }
+ };
return Dropdown;
-})
-;
+});
+
define('select2/selection/single',[
'../utils'
], function (Utils) {
@@ -10001,7 +10002,7 @@ define('select2/selection/single',[
this.$selection = $selection;
return $selection;
- }
+ };
SingleSelection.prototype.bind = function (container, $container) {
var self = this;
@@ -10012,26 +10013,26 @@ define('select2/selection/single',[
return;
}
- self.trigger("toggle", {
+ self.trigger('toggle', {
originalEvent: evt
});
});
- container.on("selection:update", function (params) {
+ container.on('selection:update', function (params) {
self.update(params.data);
- })
- }
+ });
+ };
SingleSelection.prototype.clear = function () {
- this.$selection.find(".rendered-selection").empty();
- }
+ this.$selection.find('.rendered-selection').empty();
+ };
SingleSelection.prototype.display = function (data) {
return data.text;
- }
+ };
SingleSelection.prototype.update = function (data) {
- if (data.length == 0) {
+ if (data.length === 0) {
this.clear();
return;
}
@@ -10040,8 +10041,8 @@ define('select2/selection/single',[
var formatted = this.display(selection);
- this.$selection.find(".rendered-selection").html(formatted);
- }
+ this.$selection.find('.rendered-selection').html(formatted);
+ };
return SingleSelection;
});
@@ -10068,34 +10069,34 @@ define('select2/selection/multiple',[
this.$selection = $selection;
return $selection;
- }
+ };
MultipleSelection.prototype.bind = function (container, $container) {
var self = this;
this.$selection.on('click', function (evt) {
- self.trigger("toggle", {
+ self.trigger('toggle', {
originalEvent: evt
});
});
- container.on("selection:update", function (params) {
+ container.on('selection:update', function (params) {
self.update(params.data);
});
- }
+ };
MultipleSelection.prototype.clear = function () {
- this.$selection.find(".rendered-selection").empty();
- }
+ this.$selection.find('.rendered-selection').empty();
+ };
MultipleSelection.prototype.display = function (data) {
return data.text;
- }
+ };
MultipleSelection.prototype.update = function (data) {
this.clear();
- if (data.length == 0) {
+ if (data.length === 0) {
return;
}
@@ -10109,20 +10110,20 @@ define('select2/selection/multiple',[
var $selection = $('');
$selection.text(formatted);
- $selection.data("data", data);
+ $selection.data('data', data);
$selections.push($selection);
}
- this.$selection.find(".rendered-selection").append($selections);
- }
+ this.$selection.find('.rendered-selection').append($selections);
+ };
return MultipleSelection;
});
define('select2/data/array',[
- "./select",
- "../utils"
+ './select',
+ '../utils'
], function (SelectAdapter, Utils) {
function ArrayAdapter ($element, options) {
this.data = options.options.data;
@@ -10135,7 +10136,7 @@ define('select2/data/array',[
ArrayAdapter.prototype.select = function (data) {
var self = this;
- this.$element.find("option").each(function () {
+ this.$element.find('option').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -10149,17 +10150,17 @@ define('select2/data/array',[
this.$element.append($option);
ArrayAdapter.__super__.select.call(this, data);
- }
+ };
ArrayAdapter.prototype.option = function (data) {
- var $option = $("");
+ var $option = $('');
$option.text(data.text);
$option.val(data.id);
- $option.data("data", data);
+ $option.data('data', data);
return $option;
- }
+ };
ArrayAdapter.prototype.query = function (params, callback) {
var matches = [];
@@ -10174,22 +10175,22 @@ define('select2/data/array',[
});
callback(matches);
- }
+ };
return ArrayAdapter;
});
define('select2/data/ajax',[
- "./array",
- "../utils",
- "jquery"
+ './array',
+ '../utils',
+ 'jquery'
], function (ArrayAdapter, Utils, $) {
function AjaxAdapter ($element, options) {
this.ajaxOptions = options.options.ajax;
this.processResults = this.ajaxOptions.processResults ||
function (results) {
- return results
+ return results;
};
ArrayAdapter.__super__.constructor.call(this, $element, options);
@@ -10202,14 +10203,14 @@ define('select2/data/ajax',[
var self = this;
var options = $.extend({
- type: "GET",
+ type: 'GET',
}, this.ajaxOptions);
- if (typeof options.url === "function") {
+ if (typeof options.url === 'function') {
options.url = options.url(params);
}
- if (typeof options.data === "function") {
+ if (typeof options.data === 'function') {
options.data = options.data(params);
}
@@ -10218,8 +10219,6 @@ define('select2/data/ajax',[
$request.success(function (data) {
var results = self.processResults(data);
- console.log(results)
-
callback(results);
});
};
@@ -10256,8 +10255,8 @@ define('select2/options',[
}
return Options;
-})
-;
+});
+
define('select2/core',[
'jquery',
'./options',
@@ -10268,7 +10267,7 @@ define('select2/core',[
options = options || {};
- options.multiple = options.multiple || $element.prop("multiple");
+ options.multiple = options.multiple || $element.prop('multiple');
this.options = new Options(options);
@@ -10287,21 +10286,22 @@ define('select2/core',[
this.selection = new this.options.selectionAdapter($element, this.options);
- var $selectionContainer = $container.find(".selection");
+ var $selectionContainer = $container.find('.selection');
var $selection = this.selection.render();
$selectionContainer.append($selection);
this.dropdown = new this.options.dropdownAdapter($element, this.options);
- var $dropdownContainer = $container.find(".dropdown");
+ var $dropdownContainer = $container.find('.dropdown');
var $dropdown = this.dropdown.render();
$dropdownContainer.append($dropdown);
- this.results = new this.options.resultsAdapter($element, this.options, this.data);
+ this.results = new this.options.resultsAdapter(
+ $element, this.options, this.data);
- var $resultsContainer = $dropdown.find(".results");
+ var $resultsContainer = $dropdown.find('.results');
var $results = this.results.render();
$resultsContainer.append($results);
@@ -10314,48 +10314,48 @@ define('select2/core',[
this.selection.bind(this, $container);
this.results.bind(this, $container);
- this.$element.on("change", function () {
+ this.$element.on('change', function () {
self.data.current(function (data) {
- self.trigger("selection:update", {
+ self.trigger('selection:update', {
data: data
});
});
});
- this.selection.on("toggle", function () {
+ this.selection.on('toggle', function () {
self.toggleDropdown();
});
- this.results.on("selected", function (params) {
- self.trigger("select", params);
+ this.results.on('selected', function (params) {
+ self.trigger('select', params);
- self.trigger("close");
+ self.trigger('close');
});
- this.results.on("unselected", function (params) {
- self.trigger("unselect", params);
+ this.results.on('unselected', function (params) {
+ self.trigger('unselect', params);
- self.trigger("close");
+ self.trigger('close');
});
- this.on("open", function () {
- $container.addClass("open");
+ this.on('open', function () {
+ $container.addClass('open');
});
- this.on("close", function () {
- $container.removeClass("open");
+ this.on('close', function () {
+ $container.removeClass('open');
});
// Set the initial state
this.data.current(function (initialData) {
- self.trigger("selection:update", {
+ self.trigger('selection:update', {
data: initialData
});
});
this.data.query({}, function (data) {
- self.results.trigger("results:all", data);
+ self.results.trigger('results:all', data);
});
// Hide the original select
@@ -10366,12 +10366,12 @@ define('select2/core',[
Utils.Extend(Select2, Utils.Observable);
Select2.prototype.toggleDropdown = function () {
- if (this.$container.hasClass("open")) {
- this.trigger("close");
+ if (this.$container.hasClass('open')) {
+ this.trigger('close');
} else {
- this.trigger("open");
+ this.trigger('open');
}
- }
+ };
Select2.prototype.render = function () {
var $container = $(
diff --git a/dist/js/select2.js b/dist/js/select2.js
index 7bff98ee..458f1c6f 100644
--- a/dist/js/select2.js
+++ b/dist/js/select2.js
@@ -424,13 +424,13 @@ define("almond", function(){});
define('jquery',[],function () {
return jQuery;
-})
-;
+});
+
define('select2/utils',[], function () {
var Utils = {};
Utils.Extend = function (ChildClass, SuperClass) {
- var __hasProp = {}.hasOwnProperty
+ var __hasProp = {}.hasOwnProperty;
function BaseConstructor () {
this.constructor = ChildClass;
@@ -457,7 +457,7 @@ define('select2/utils',[], function () {
for (var methodName in proto) {
var m = proto[methodName];
- if (typeof m !== "function") {
+ if (typeof m !== 'function') {
continue;
}
@@ -496,38 +496,39 @@ define('select2/utils',[], function () {
DecoratedClass.prototype = new ctr();
for (var m = 0; m < superMethods.length; m++) {
- var methodName = superMethods[m];
+ var superMethod = superMethods[m];
- DecoratedClass.prototype[methodName] = SuperClass.prototype[methodName];
+ DecoratedClass.prototype[superMethod] =
+ SuperClass.prototype[superMethod];
}
- for (var m = 0; m < decoratedMethods.length; m++) {
- var methodName = decoratedMethods[m];
+ var calledMethod = function (methodName) {
+ // Stub out the original method if it's not decorating an actual method
+ var originalMethod = function () {};
- function calledMethod (methodName) {
- // Stub out the original method if it's not decorating an actual method
- var originalMethod = function () {};
-
- if (methodName in DecoratedClass.prototype) {
- originalMethod = DecoratedClass.prototype[methodName];
- }
-
- var decoratedMethod = DecoratorClass.prototype[methodName];
-
- return function () {
- var unshift = Array.prototype.unshift;
-
- unshift.call(arguments, originalMethod);
-
- return decoratedMethod.apply(this, arguments);
- }
+ if (methodName in DecoratedClass.prototype) {
+ originalMethod = DecoratedClass.prototype[methodName];
}
- DecoratedClass.prototype[methodName] = calledMethod(methodName);
+ var decoratedMethod = DecoratorClass.prototype[methodName];
+
+ return function () {
+ var unshift = Array.prototype.unshift;
+
+ unshift.call(arguments, originalMethod);
+
+ return decoratedMethod.apply(this, arguments);
+ };
+ };
+
+ for (var d = 0; d < decoratedMethods.length; d++) {
+ var decoratedMethod = decoratedMethods[d];
+
+ DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
}
return DecoratedClass;
- }
+ };
var Observable = function () {
this.listeners = {};
@@ -548,8 +549,8 @@ define('select2/utils',[], function () {
this.invoke(this.listeners[event], slice.call(arguments, 1));
}
- if ("*" in this.listeners) {
- this.invoke(this.listeners["*"], arguments);
+ if ('*' in this.listeners) {
+ this.invoke(this.listeners['*'], arguments);
}
};
@@ -574,12 +575,12 @@ define('select2/data/base',[
Utils.Extend(BaseAdapter, Utils.Observable);
BaseAdapter.prototype.current = function (callback) {
- throw new Error("The `current` method must be defined in child classes.");
- }
+ throw new Error('The `current` method must be defined in child classes.');
+ };
BaseAdapter.prototype.query = function (params, callback) {
- throw new Error("The `query` method must be defined in child classes.");
- }
+ throw new Error('The `query` method must be defined in child classes.');
+ };
return BaseAdapter;
});
@@ -601,7 +602,7 @@ define('select2/data/select',[
var data = [];
var self = this;
- this.$element.find(":selected").each(function () {
+ this.$element.find(':selected').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -615,7 +616,7 @@ define('select2/data/select',[
SelectAdapter.prototype.select = function (data) {
var self = this;
- if (this.$element.prop("multiple")) {
+ if (this.$element.prop('multiple')) {
this.current(function (currentData) {
var val = [];
@@ -631,20 +632,20 @@ define('select2/data/select',[
}
self.$element.val(val);
- self.$element.trigger("change");
+ self.$element.trigger('change');
});
} else {
var val = data.id;
this.$element.val(val);
- this.$element.trigger("change");
+ this.$element.trigger('change');
}
};
SelectAdapter.prototype.unselect = function (data) {
var self = this;
- if (!this.$element.prop("multiple")) {
+ if (!this.$element.prop('multiple')) {
return;
}
@@ -660,27 +661,27 @@ define('select2/data/select',[
}
self.$element.val(val);
- self.$element.trigger("change");
+ self.$element.trigger('change');
});
- }
+ };
SelectAdapter.prototype.bind = function (container, $container) {
var self = this;
- container.on("select", function (params) {
+ container.on('select', function (params) {
self.select(params.data);
});
- container.on("unselect", function (params) {
+ container.on('unselect', function (params) {
self.unselect(params.data);
});
- }
+ };
SelectAdapter.prototype.query = function (params, callback) {
var data = [];
var self = this;
- this.$element.find("option").each(function () {
+ this.$element.find('option').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -694,7 +695,7 @@ define('select2/data/select',[
};
SelectAdapter.prototype.item = function ($option) {
- var data = $option.data("data");
+ var data = $option.data('data');
// If the data has already be generated, use it
if (data == null) {
@@ -703,14 +704,14 @@ define('select2/data/select',[
text: $option.html()
};
- $option.data("data", data);
+ $option.data('data', data);
}
return data;
};
SelectAdapter.prototype.matches = function (params, data) {
- if ($.trim(params.term) == "") {
+ if ($.trim(params.term) === '') {
return true;
}
@@ -719,7 +720,7 @@ define('select2/data/select',[
}
return false;
- }
+ };
return SelectAdapter;
});
@@ -770,16 +771,16 @@ define('select2/results',[
this.data.current(function (selected) {
selected = $.map(selected, function (s) { return s.id; });
- self.$results.find(".option.selected").removeClass("selected");
+ self.$results.find('.option.selected').removeClass('selected');
- var $options = self.$results.find(".option");
+ var $options = self.$results.find('.option');
$options.each(function () {
var $option = $(this);
- var item = $option.data("data");
+ var item = $option.data('data');
if (selected.indexOf(item.id) > -1) {
- $option.addClass("selected");
+ $option.addClass('selected');
}
});
});
@@ -791,43 +792,43 @@ define('select2/results',[
);
$option.html(data.text);
- $option.data("data", data);
+ $option.data('data', data);
return $option;
- }
+ };
Results.prototype.bind = function (container, $container) {
var self = this;
- this.on("results:all", function (data) {
+ this.on('results:all', function (data) {
self.clear();
self.append(data);
self.setClasses();
});
- this.on("results:append", function (data) {
+ this.on('results:append', function (data) {
self.append(data);
self.setClasses();
- })
+ });
- this.$results.on("mouseup", ".option", function (evt) {
+ this.$results.on('mouseup', '.option', function (evt) {
var $this = $(this);
- var data = $this.data("data");
- if ($this.hasClass("selected")) {
- self.trigger("unselected", {
+ var data = $this.data('data');
+ if ($this.hasClass('selected')) {
+ self.trigger('unselected', {
originalEvent: evt,
data: data
- })
+ });
self.setClasses();
return;
}
- self.trigger("selected", {
+ self.trigger('selected', {
originalEvent: evt,
data: data
});
@@ -835,19 +836,19 @@ define('select2/results',[
self.setClasses();
});
- this.$results.on("mouseenter", ".option", function (evt) {
- self.$results.find(".option.highlighted").removeClass("highlighted");
- $(this).addClass("highlighted");
+ this.$results.on('mouseenter', '.option', function (evt) {
+ self.$results.find('.option.highlighted').removeClass('highlighted');
+ $(this).addClass('highlighted');
});
- this.$results.on("mouseleave", ".option", function (evt) {
- $(this).removeClass("highlighted");
+ this.$results.on('mouseleave', '.option', function (evt) {
+ $(this).removeClass('highlighted');
});
};
return Results;
-})
-;
+});
+
define('select2/dropdown',[
'./utils'
], function (Utils) {
@@ -865,11 +866,11 @@ define('select2/dropdown',[
);
return $dropdown;
- }
+ };
return Dropdown;
-})
-;
+});
+
define('select2/selection/single',[
'../utils'
], function (Utils) {
@@ -892,7 +893,7 @@ define('select2/selection/single',[
this.$selection = $selection;
return $selection;
- }
+ };
SingleSelection.prototype.bind = function (container, $container) {
var self = this;
@@ -903,26 +904,26 @@ define('select2/selection/single',[
return;
}
- self.trigger("toggle", {
+ self.trigger('toggle', {
originalEvent: evt
});
});
- container.on("selection:update", function (params) {
+ container.on('selection:update', function (params) {
self.update(params.data);
- })
- }
+ });
+ };
SingleSelection.prototype.clear = function () {
- this.$selection.find(".rendered-selection").empty();
- }
+ this.$selection.find('.rendered-selection').empty();
+ };
SingleSelection.prototype.display = function (data) {
return data.text;
- }
+ };
SingleSelection.prototype.update = function (data) {
- if (data.length == 0) {
+ if (data.length === 0) {
this.clear();
return;
}
@@ -931,8 +932,8 @@ define('select2/selection/single',[
var formatted = this.display(selection);
- this.$selection.find(".rendered-selection").html(formatted);
- }
+ this.$selection.find('.rendered-selection').html(formatted);
+ };
return SingleSelection;
});
@@ -959,34 +960,34 @@ define('select2/selection/multiple',[
this.$selection = $selection;
return $selection;
- }
+ };
MultipleSelection.prototype.bind = function (container, $container) {
var self = this;
this.$selection.on('click', function (evt) {
- self.trigger("toggle", {
+ self.trigger('toggle', {
originalEvent: evt
});
});
- container.on("selection:update", function (params) {
+ container.on('selection:update', function (params) {
self.update(params.data);
});
- }
+ };
MultipleSelection.prototype.clear = function () {
- this.$selection.find(".rendered-selection").empty();
- }
+ this.$selection.find('.rendered-selection').empty();
+ };
MultipleSelection.prototype.display = function (data) {
return data.text;
- }
+ };
MultipleSelection.prototype.update = function (data) {
this.clear();
- if (data.length == 0) {
+ if (data.length === 0) {
return;
}
@@ -1000,20 +1001,20 @@ define('select2/selection/multiple',[
var $selection = $('');
$selection.text(formatted);
- $selection.data("data", data);
+ $selection.data('data', data);
$selections.push($selection);
}
- this.$selection.find(".rendered-selection").append($selections);
- }
+ this.$selection.find('.rendered-selection').append($selections);
+ };
return MultipleSelection;
});
define('select2/data/array',[
- "./select",
- "../utils"
+ './select',
+ '../utils'
], function (SelectAdapter, Utils) {
function ArrayAdapter ($element, options) {
this.data = options.options.data;
@@ -1026,7 +1027,7 @@ define('select2/data/array',[
ArrayAdapter.prototype.select = function (data) {
var self = this;
- this.$element.find("option").each(function () {
+ this.$element.find('option').each(function () {
var $option = $(this);
var option = self.item($option);
@@ -1040,17 +1041,17 @@ define('select2/data/array',[
this.$element.append($option);
ArrayAdapter.__super__.select.call(this, data);
- }
+ };
ArrayAdapter.prototype.option = function (data) {
- var $option = $("");
+ var $option = $('');
$option.text(data.text);
$option.val(data.id);
- $option.data("data", data);
+ $option.data('data', data);
return $option;
- }
+ };
ArrayAdapter.prototype.query = function (params, callback) {
var matches = [];
@@ -1065,22 +1066,22 @@ define('select2/data/array',[
});
callback(matches);
- }
+ };
return ArrayAdapter;
});
define('select2/data/ajax',[
- "./array",
- "../utils",
- "jquery"
+ './array',
+ '../utils',
+ 'jquery'
], function (ArrayAdapter, Utils, $) {
function AjaxAdapter ($element, options) {
this.ajaxOptions = options.options.ajax;
this.processResults = this.ajaxOptions.processResults ||
function (results) {
- return results
+ return results;
};
ArrayAdapter.__super__.constructor.call(this, $element, options);
@@ -1093,14 +1094,14 @@ define('select2/data/ajax',[
var self = this;
var options = $.extend({
- type: "GET",
+ type: 'GET',
}, this.ajaxOptions);
- if (typeof options.url === "function") {
+ if (typeof options.url === 'function') {
options.url = options.url(params);
}
- if (typeof options.data === "function") {
+ if (typeof options.data === 'function') {
options.data = options.data(params);
}
@@ -1109,8 +1110,6 @@ define('select2/data/ajax',[
$request.success(function (data) {
var results = self.processResults(data);
- console.log(results)
-
callback(results);
});
};
@@ -1147,8 +1146,8 @@ define('select2/options',[
}
return Options;
-})
-;
+});
+
define('select2/core',[
'jquery',
'./options',
@@ -1159,7 +1158,7 @@ define('select2/core',[
options = options || {};
- options.multiple = options.multiple || $element.prop("multiple");
+ options.multiple = options.multiple || $element.prop('multiple');
this.options = new Options(options);
@@ -1178,21 +1177,22 @@ define('select2/core',[
this.selection = new this.options.selectionAdapter($element, this.options);
- var $selectionContainer = $container.find(".selection");
+ var $selectionContainer = $container.find('.selection');
var $selection = this.selection.render();
$selectionContainer.append($selection);
this.dropdown = new this.options.dropdownAdapter($element, this.options);
- var $dropdownContainer = $container.find(".dropdown");
+ var $dropdownContainer = $container.find('.dropdown');
var $dropdown = this.dropdown.render();
$dropdownContainer.append($dropdown);
- this.results = new this.options.resultsAdapter($element, this.options, this.data);
+ this.results = new this.options.resultsAdapter(
+ $element, this.options, this.data);
- var $resultsContainer = $dropdown.find(".results");
+ var $resultsContainer = $dropdown.find('.results');
var $results = this.results.render();
$resultsContainer.append($results);
@@ -1205,48 +1205,48 @@ define('select2/core',[
this.selection.bind(this, $container);
this.results.bind(this, $container);
- this.$element.on("change", function () {
+ this.$element.on('change', function () {
self.data.current(function (data) {
- self.trigger("selection:update", {
+ self.trigger('selection:update', {
data: data
});
});
});
- this.selection.on("toggle", function () {
+ this.selection.on('toggle', function () {
self.toggleDropdown();
});
- this.results.on("selected", function (params) {
- self.trigger("select", params);
+ this.results.on('selected', function (params) {
+ self.trigger('select', params);
- self.trigger("close");
+ self.trigger('close');
});
- this.results.on("unselected", function (params) {
- self.trigger("unselect", params);
+ this.results.on('unselected', function (params) {
+ self.trigger('unselect', params);
- self.trigger("close");
+ self.trigger('close');
});
- this.on("open", function () {
- $container.addClass("open");
+ this.on('open', function () {
+ $container.addClass('open');
});
- this.on("close", function () {
- $container.removeClass("open");
+ this.on('close', function () {
+ $container.removeClass('open');
});
// Set the initial state
this.data.current(function (initialData) {
- self.trigger("selection:update", {
+ self.trigger('selection:update', {
data: initialData
});
});
this.data.query({}, function (data) {
- self.results.trigger("results:all", data);
+ self.results.trigger('results:all', data);
});
// Hide the original select
@@ -1257,12 +1257,12 @@ define('select2/core',[
Utils.Extend(Select2, Utils.Observable);
Select2.prototype.toggleDropdown = function () {
- if (this.$container.hasClass("open")) {
- this.trigger("close");
+ if (this.$container.hasClass('open')) {
+ this.trigger('close');
} else {
- this.trigger("open");
+ this.trigger('open');
}
- }
+ };
Select2.prototype.render = function () {
var $container = $(
diff --git a/src/js/select2/utils.js b/src/js/select2/utils.js
index 73fc5985..13fe5ff5 100644
--- a/src/js/select2/utils.js
+++ b/src/js/select2/utils.js
@@ -71,7 +71,7 @@ define([], function () {
var superMethod = superMethods[m];
DecoratedClass.prototype[superMethod] =
- SuperClass.prototype[methodName];
+ SuperClass.prototype[superMethod];
}
var calledMethod = function (methodName) {