소스 검색

Fix undefined variable, rebuild dist

Kevin Brown 10 년 전
부모
커밋
26986cacb6
5개의 변경된 파일531개의 추가작업 그리고 531개의 파일을 삭제
  1. 132 132
      dist/js/select2.amd.full.js
  2. 132 132
      dist/js/select2.amd.js
  3. 132 132
      dist/js/select2.full.js
  4. 134 134
      dist/js/select2.js
  5. 1 1
      src/js/select2/utils.js

+ 132 - 132
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];
+      }
 
-        if (methodName in DecoratedClass.prototype) {
-          originalMethod = DecoratedClass.prototype[methodName];
-        }
+      var decoratedMethod = DecoratorClass.prototype[methodName];
 
-        var decoratedMethod = DecoratorClass.prototype[methodName];
+      return function () {
+        var unshift = Array.prototype.unshift;
 
-        return function () {
-          var unshift = Array.prototype.unshift;
+        unshift.call(arguments, originalMethod);
 
-          unshift.call(arguments, originalMethod);
+        return decoratedMethod.apply(this, arguments);
+      };
+    };
 
-          return decoratedMethod.apply(this, arguments);
-        }
-      }
+    for (var d = 0; d < decoratedMethods.length; d++) {
+      var decoratedMethod = decoratedMethods[d];
 
-      DecoratedClass.prototype[methodName] = calledMethod(methodName);
+      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 = $('<ul class="choice"></ul>');
 
       $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 = $("<option></option>");
+    var $option = $('<option></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 = $(

+ 132 - 132
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];
+      }
 
-        if (methodName in DecoratedClass.prototype) {
-          originalMethod = DecoratedClass.prototype[methodName];
-        }
+      var decoratedMethod = DecoratorClass.prototype[methodName];
 
-        var decoratedMethod = DecoratorClass.prototype[methodName];
+      return function () {
+        var unshift = Array.prototype.unshift;
 
-        return function () {
-          var unshift = Array.prototype.unshift;
+        unshift.call(arguments, originalMethod);
 
-          unshift.call(arguments, originalMethod);
+        return decoratedMethod.apply(this, arguments);
+      };
+    };
 
-          return decoratedMethod.apply(this, arguments);
-        }
-      }
+    for (var d = 0; d < decoratedMethods.length; d++) {
+      var decoratedMethod = decoratedMethods[d];
 
-      DecoratedClass.prototype[methodName] = calledMethod(methodName);
+      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 = $('<ul class="choice"></ul>');
 
       $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 = $("<option></option>");
+    var $option = $('<option></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 = $(

+ 132 - 132
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];
+      }
 
-        if (methodName in DecoratedClass.prototype) {
-          originalMethod = DecoratedClass.prototype[methodName];
-        }
+      var decoratedMethod = DecoratorClass.prototype[methodName];
 
-        var decoratedMethod = DecoratorClass.prototype[methodName];
+      return function () {
+        var unshift = Array.prototype.unshift;
 
-        return function () {
-          var unshift = Array.prototype.unshift;
+        unshift.call(arguments, originalMethod);
 
-          unshift.call(arguments, originalMethod);
+        return decoratedMethod.apply(this, arguments);
+      };
+    };
 
-          return decoratedMethod.apply(this, arguments);
-        }
-      }
+    for (var d = 0; d < decoratedMethods.length; d++) {
+      var decoratedMethod = decoratedMethods[d];
 
-      DecoratedClass.prototype[methodName] = calledMethod(methodName);
+      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 = $('<ul class="choice"></ul>');
 
       $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 = $("<option></option>");
+    var $option = $('<option></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 = $(

+ 134 - 134
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];
+      }
 
-        if (methodName in DecoratedClass.prototype) {
-          originalMethod = DecoratedClass.prototype[methodName];
-        }
+      var decoratedMethod = DecoratorClass.prototype[methodName];
 
-        var decoratedMethod = DecoratorClass.prototype[methodName];
+      return function () {
+        var unshift = Array.prototype.unshift;
 
-        return function () {
-          var unshift = Array.prototype.unshift;
+        unshift.call(arguments, originalMethod);
 
-          unshift.call(arguments, originalMethod);
+        return decoratedMethod.apply(this, arguments);
+      };
+    };
 
-          return decoratedMethod.apply(this, arguments);
-        }
-      }
+    for (var d = 0; d < decoratedMethods.length; d++) {
+      var decoratedMethod = decoratedMethods[d];
 
-      DecoratedClass.prototype[methodName] = calledMethod(methodName);
+      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 = $('<ul class="choice"></ul>');
 
       $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 = $("<option></option>");
+    var $option = $('<option></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 = $(

+ 1 - 1
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) {