|
@@ -10210,6 +10210,7 @@ define('select2/core',[
|
|
|
this.data = new this.options.dataAdapter($element, this.options);
|
|
|
|
|
|
var $container = this.render();
|
|
|
+ this.$container = $container;
|
|
|
|
|
|
$container.insertAfter(this.$element);
|
|
|
|
|
@@ -10253,18 +10254,26 @@ define('select2/core',[
|
|
|
});
|
|
|
|
|
|
this.selection.on("toggle", function () {
|
|
|
- $container.toggleClass("open");
|
|
|
+ self.toggleDropdown();
|
|
|
});
|
|
|
|
|
|
this.results.on("selected", function (params) {
|
|
|
self.trigger("select", params);
|
|
|
|
|
|
- $container.removeClass("open");
|
|
|
+ self.trigger("close");
|
|
|
});
|
|
|
|
|
|
this.results.on("unselected", function (params) {
|
|
|
self.trigger("unselect", params);
|
|
|
|
|
|
+ self.trigger("close");
|
|
|
+ });
|
|
|
+
|
|
|
+ this.on("open", function () {
|
|
|
+ $container.addClass("open");
|
|
|
+ });
|
|
|
+
|
|
|
+ this.on("close", function () {
|
|
|
$container.removeClass("open");
|
|
|
});
|
|
|
|
|
@@ -10287,6 +10296,14 @@ define('select2/core',[
|
|
|
|
|
|
Utils.Extend(Select2, Utils.Observable);
|
|
|
|
|
|
+ Select2.prototype.toggleDropdown = function () {
|
|
|
+ if (this.$container.hasClass("open")) {
|
|
|
+ this.trigger("close");
|
|
|
+ } else {
|
|
|
+ this.trigger("open");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
Select2.prototype.render = function () {
|
|
|
var $container = $(
|
|
|
'<span class="select2 select2-container select2-theme-default">' +
|