define([ 'jquery', './select2/core', './select2/defaults' ], function ($, Select2, Defaults) { // Force jQuery.mousewheel to be loaded if it hasn't already try { require('jquery.mousewheel'); } catch (Exception) { } if ($.fn.select2 == null) { $.fn.select2 = function (options) { options = options || {}; if (typeof options === 'object') { this.each(function () { var instanceOptions = $.extend({}, options, true); var instance = new Select2($(this), instanceOptions); }); return this; } else if (typeof options === 'string') { var instance = this.data('select2'); var args = Array.prototype.slice.call(arguments, 1); return instance[options](args); } else { throw new Error('Invalid arguments for Select2: ' + options); } }; } if ($.fn.select2.defaults == null) { $.fn.select2.defaults = Defaults; } return Select2; });