1
0
mirror of synced 2025-02-09 16:49:24 +03:00

Trigger events when the dropdown opens and closes

This commit is contained in:
Kevin Brown 2014-08-30 20:42:46 -04:00
parent 315b1b3c12
commit cbc2d2f3ec
5 changed files with 95 additions and 10 deletions

View File

@ -673,6 +673,7 @@ define('select2/core',[
this.data = new this.options.dataAdapter($element, this.options);
var $container = this.render();
this.$container = $container;
$container.insertAfter(this.$element);
@ -716,18 +717,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");
});
@ -750,6 +759,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">' +

View File

@ -673,6 +673,7 @@ define('select2/core',[
this.data = new this.options.dataAdapter($element, this.options);
var $container = this.render();
this.$container = $container;
$container.insertAfter(this.$element);
@ -716,18 +717,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");
});
@ -750,6 +759,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">' +

View File

@ -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">' +

21
dist/js/select2.js vendored
View File

@ -1101,6 +1101,7 @@ define('select2/core',[
this.data = new this.options.dataAdapter($element, this.options);
var $container = this.render();
this.$container = $container;
$container.insertAfter(this.$element);
@ -1144,18 +1145,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");
});
@ -1178,6 +1187,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">' +

View File

@ -19,6 +19,7 @@ define([
this.data = new this.options.dataAdapter($element, this.options);
var $container = this.render();
this.$container = $container;
$container.insertAfter(this.$element);
@ -62,18 +63,26 @@ define([
});
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");
});
@ -96,6 +105,14 @@ define([
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">' +