Skip to content

Commit

Permalink
Fixed bug select2#4014
Browse files Browse the repository at this point in the history
  • Loading branch information
Nadim Afana committed May 5, 2016
1 parent 07aa8a4 commit 54e126a
Show file tree
Hide file tree
Showing 12 changed files with 2,700 additions and 2,636 deletions.
115 changes: 58 additions & 57 deletions src/js/jquery.select2.js
@@ -1,57 +1,58 @@
define([
'jquery',
'jquery-mousewheel',

'./select2/core',
'./select2/defaults'
], function ($, _, Select2, Defaults) {
if ($.fn.select2 == null) {
// All methods that should return the element
var thisMethods = ['open', 'close', 'destroy'];

$.fn.select2 = function (options) {
options = options || {};

if (typeof options === 'object') {
this.each(function () {
var instanceOptions = $.extend(true, {}, options);

var instance = new Select2($(this), instanceOptions);
});

return this;
} else if (typeof options === 'string') {
var ret;
var args = Array.prototype.slice.call(arguments, 1);

this.each(function () {
var instance = $(this).data('select2');

if (instance == null && window.console && console.error) {
console.error(
'The select2(\'' + options + '\') method was called on an ' +
'element that is not using Select2.'
);
}

ret = instance[options].apply(instance, args);
});

// Check if we should be returning `this`
if ($.inArray(options, thisMethods) > -1) {
return this;
}

return ret;
} else {
throw new Error('Invalid arguments for Select2: ' + options);
}
};
}

if ($.fn.select2.defaults == null) {
$.fn.select2.defaults = Defaults;
}

return Select2;
});
define([
'jquery',
'jquery-mousewheel',

'./select2/core',
'./select2/defaults',
'./select2/utils'
], function ($, _, Select2, Defaults, Utils) {
if ($.fn.select2 == null) {
// All methods that should return the element
var thisMethods = ['open', 'close', 'destroy'];

$.fn.select2 = function (options) {
options = options || {};

if (typeof options === 'object') {
this.each(function () {
var instanceOptions = $.extend(true, {}, options);

var instance = new Select2($(this), instanceOptions);
});

return this;
} else if (typeof options === 'string') {
var ret;
var args = Array.prototype.slice.call(arguments, 1);

this.each(function () {
var instance = Utils.GetData(this, 'select2');

if (instance == null && window.console && console.error) {
console.error(
'The select2(\'' + options + '\') method was called on an ' +
'element that is not using Select2.'
);
}

ret = instance[options].apply(instance, args);
});

// Check if we should be returning `this`
if ($.inArray(options, thisMethods) > -1) {
return this;
}

return ret;
} else {
throw new Error('Invalid arguments for Select2: ' + options);
}
};
}

if ($.fn.select2.defaults == null) {
$.fn.select2.defaults = Defaults;
}

return Select2;
});

0 comments on commit 54e126a

Please sign in to comment.