Move all of the event binding into separate methods
This should make it easier to override in subclasses.
This commit is contained in:
parent
47d0bc4fe1
commit
f8ca597f02
169
dist/js/select2.amd.full.js
vendored
169
dist/js/select2.amd.full.js
vendored
@ -1666,69 +1666,16 @@ define('select2/core',[
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.data.bind(this, $container);
|
// Bind the container to all of the adapters
|
||||||
this.selection.bind(this, $container);
|
this._bindAdapters();
|
||||||
|
|
||||||
this.dropdown.bind(this, $container);
|
// Register any DOM event handler
|
||||||
this.results.bind(this, $container);
|
this._registerDomEvents();
|
||||||
|
|
||||||
this.$element.on('change', function () {
|
// Register any internal event handlers
|
||||||
self.data.current(function (data) {
|
this._registerSelectionEvents();
|
||||||
self.trigger('selection:update', {
|
this._registerResultsEvents();
|
||||||
data: data
|
this._registerEvents();
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('open', function () {
|
|
||||||
self.open();
|
|
||||||
});
|
|
||||||
this.selection.on('close', function () {
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
this.selection.on('toggle', function () {
|
|
||||||
self.toggleDropdown();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('results:select', function () {
|
|
||||||
self.trigger('results:select');
|
|
||||||
});
|
|
||||||
this.selection.on('results:previous', function () {
|
|
||||||
self.trigger('results:previous');
|
|
||||||
});
|
|
||||||
this.selection.on('results:next', function () {
|
|
||||||
self.trigger('results:next');
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('unselected', function (params) {
|
|
||||||
self.trigger('unselect', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('selected', function (params) {
|
|
||||||
self.trigger('select', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('unselected', function (params) {
|
|
||||||
self.trigger('unselect', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('results:focus', function (params) {
|
|
||||||
self.trigger('results:focus', params);
|
|
||||||
});
|
|
||||||
|
|
||||||
this.on('open', function () {
|
|
||||||
$container.addClass('open');
|
|
||||||
});
|
|
||||||
|
|
||||||
this.on('close', function () {
|
|
||||||
$container.removeClass('open');
|
|
||||||
});
|
|
||||||
|
|
||||||
// Set the initial state
|
// Set the initial state
|
||||||
|
|
||||||
@ -1738,15 +1685,6 @@ define('select2/core',[
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this.on('query', function (params) {
|
|
||||||
this.data.query(params, function (data) {
|
|
||||||
self.trigger('results:all', {
|
|
||||||
data: data,
|
|
||||||
query: params
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.trigger('query', {});
|
this.trigger('query', {});
|
||||||
|
|
||||||
// Hide the original select
|
// Hide the original select
|
||||||
@ -1797,6 +1735,97 @@ define('select2/core',[
|
|||||||
$resultsContainer.append($results);
|
$resultsContainer.append($results);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Select2.prototype._bindAdapters = function () {
|
||||||
|
this.data.bind(this, this.$container);
|
||||||
|
this.selection.bind(this, this.$container);
|
||||||
|
|
||||||
|
this.dropdown.bind(this, this.$container);
|
||||||
|
this.results.bind(this, this.$container);
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerDomEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$element.on('change', function () {
|
||||||
|
self.data.current(function (data) {
|
||||||
|
self.trigger('selection:update', {
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerSelectionEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.selection.on('open', function () {
|
||||||
|
self.open();
|
||||||
|
});
|
||||||
|
this.selection.on('close', function () {
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
this.selection.on('toggle', function () {
|
||||||
|
self.toggleDropdown();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.selection.on('results:select', function () {
|
||||||
|
self.trigger('results:select');
|
||||||
|
});
|
||||||
|
this.selection.on('results:previous', function () {
|
||||||
|
self.trigger('results:previous');
|
||||||
|
});
|
||||||
|
this.selection.on('results:next', function () {
|
||||||
|
self.trigger('results:next');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.selection.on('unselected', function (params) {
|
||||||
|
self.trigger('unselect', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerResultsEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.results.on('selected', function (params) {
|
||||||
|
self.trigger('select', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.results.on('unselected', function (params) {
|
||||||
|
self.trigger('unselect', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.results.on('results:focus', function (params) {
|
||||||
|
self.trigger('results:focus', params);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.on('open', function () {
|
||||||
|
self.$container.addClass('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on('close', function () {
|
||||||
|
self.$container.removeClass('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on('query', function (params) {
|
||||||
|
this.data.query(params, function (data) {
|
||||||
|
self.trigger('results:all', {
|
||||||
|
data: data,
|
||||||
|
query: params
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
Select2.prototype.toggleDropdown = function () {
|
Select2.prototype.toggleDropdown = function () {
|
||||||
if (this.isOpen()) {
|
if (this.isOpen()) {
|
||||||
this.close();
|
this.close();
|
||||||
|
169
dist/js/select2.amd.js
vendored
169
dist/js/select2.amd.js
vendored
@ -1666,69 +1666,16 @@ define('select2/core',[
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.data.bind(this, $container);
|
// Bind the container to all of the adapters
|
||||||
this.selection.bind(this, $container);
|
this._bindAdapters();
|
||||||
|
|
||||||
this.dropdown.bind(this, $container);
|
// Register any DOM event handler
|
||||||
this.results.bind(this, $container);
|
this._registerDomEvents();
|
||||||
|
|
||||||
this.$element.on('change', function () {
|
// Register any internal event handlers
|
||||||
self.data.current(function (data) {
|
this._registerSelectionEvents();
|
||||||
self.trigger('selection:update', {
|
this._registerResultsEvents();
|
||||||
data: data
|
this._registerEvents();
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('open', function () {
|
|
||||||
self.open();
|
|
||||||
});
|
|
||||||
this.selection.on('close', function () {
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
this.selection.on('toggle', function () {
|
|
||||||
self.toggleDropdown();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('results:select', function () {
|
|
||||||
self.trigger('results:select');
|
|
||||||
});
|
|
||||||
this.selection.on('results:previous', function () {
|
|
||||||
self.trigger('results:previous');
|
|
||||||
});
|
|
||||||
this.selection.on('results:next', function () {
|
|
||||||
self.trigger('results:next');
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('unselected', function (params) {
|
|
||||||
self.trigger('unselect', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('selected', function (params) {
|
|
||||||
self.trigger('select', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('unselected', function (params) {
|
|
||||||
self.trigger('unselect', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('results:focus', function (params) {
|
|
||||||
self.trigger('results:focus', params);
|
|
||||||
});
|
|
||||||
|
|
||||||
this.on('open', function () {
|
|
||||||
$container.addClass('open');
|
|
||||||
});
|
|
||||||
|
|
||||||
this.on('close', function () {
|
|
||||||
$container.removeClass('open');
|
|
||||||
});
|
|
||||||
|
|
||||||
// Set the initial state
|
// Set the initial state
|
||||||
|
|
||||||
@ -1738,15 +1685,6 @@ define('select2/core',[
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this.on('query', function (params) {
|
|
||||||
this.data.query(params, function (data) {
|
|
||||||
self.trigger('results:all', {
|
|
||||||
data: data,
|
|
||||||
query: params
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.trigger('query', {});
|
this.trigger('query', {});
|
||||||
|
|
||||||
// Hide the original select
|
// Hide the original select
|
||||||
@ -1797,6 +1735,97 @@ define('select2/core',[
|
|||||||
$resultsContainer.append($results);
|
$resultsContainer.append($results);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Select2.prototype._bindAdapters = function () {
|
||||||
|
this.data.bind(this, this.$container);
|
||||||
|
this.selection.bind(this, this.$container);
|
||||||
|
|
||||||
|
this.dropdown.bind(this, this.$container);
|
||||||
|
this.results.bind(this, this.$container);
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerDomEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$element.on('change', function () {
|
||||||
|
self.data.current(function (data) {
|
||||||
|
self.trigger('selection:update', {
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerSelectionEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.selection.on('open', function () {
|
||||||
|
self.open();
|
||||||
|
});
|
||||||
|
this.selection.on('close', function () {
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
this.selection.on('toggle', function () {
|
||||||
|
self.toggleDropdown();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.selection.on('results:select', function () {
|
||||||
|
self.trigger('results:select');
|
||||||
|
});
|
||||||
|
this.selection.on('results:previous', function () {
|
||||||
|
self.trigger('results:previous');
|
||||||
|
});
|
||||||
|
this.selection.on('results:next', function () {
|
||||||
|
self.trigger('results:next');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.selection.on('unselected', function (params) {
|
||||||
|
self.trigger('unselect', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerResultsEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.results.on('selected', function (params) {
|
||||||
|
self.trigger('select', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.results.on('unselected', function (params) {
|
||||||
|
self.trigger('unselect', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.results.on('results:focus', function (params) {
|
||||||
|
self.trigger('results:focus', params);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.on('open', function () {
|
||||||
|
self.$container.addClass('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on('close', function () {
|
||||||
|
self.$container.removeClass('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on('query', function (params) {
|
||||||
|
this.data.query(params, function (data) {
|
||||||
|
self.trigger('results:all', {
|
||||||
|
data: data,
|
||||||
|
query: params
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
Select2.prototype.toggleDropdown = function () {
|
Select2.prototype.toggleDropdown = function () {
|
||||||
if (this.isOpen()) {
|
if (this.isOpen()) {
|
||||||
this.close();
|
this.close();
|
||||||
|
169
dist/js/select2.full.js
vendored
169
dist/js/select2.full.js
vendored
@ -11201,69 +11201,16 @@ define('select2/core',[
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.data.bind(this, $container);
|
// Bind the container to all of the adapters
|
||||||
this.selection.bind(this, $container);
|
this._bindAdapters();
|
||||||
|
|
||||||
this.dropdown.bind(this, $container);
|
// Register any DOM event handler
|
||||||
this.results.bind(this, $container);
|
this._registerDomEvents();
|
||||||
|
|
||||||
this.$element.on('change', function () {
|
// Register any internal event handlers
|
||||||
self.data.current(function (data) {
|
this._registerSelectionEvents();
|
||||||
self.trigger('selection:update', {
|
this._registerResultsEvents();
|
||||||
data: data
|
this._registerEvents();
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('open', function () {
|
|
||||||
self.open();
|
|
||||||
});
|
|
||||||
this.selection.on('close', function () {
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
this.selection.on('toggle', function () {
|
|
||||||
self.toggleDropdown();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('results:select', function () {
|
|
||||||
self.trigger('results:select');
|
|
||||||
});
|
|
||||||
this.selection.on('results:previous', function () {
|
|
||||||
self.trigger('results:previous');
|
|
||||||
});
|
|
||||||
this.selection.on('results:next', function () {
|
|
||||||
self.trigger('results:next');
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('unselected', function (params) {
|
|
||||||
self.trigger('unselect', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('selected', function (params) {
|
|
||||||
self.trigger('select', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('unselected', function (params) {
|
|
||||||
self.trigger('unselect', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('results:focus', function (params) {
|
|
||||||
self.trigger('results:focus', params);
|
|
||||||
});
|
|
||||||
|
|
||||||
this.on('open', function () {
|
|
||||||
$container.addClass('open');
|
|
||||||
});
|
|
||||||
|
|
||||||
this.on('close', function () {
|
|
||||||
$container.removeClass('open');
|
|
||||||
});
|
|
||||||
|
|
||||||
// Set the initial state
|
// Set the initial state
|
||||||
|
|
||||||
@ -11273,15 +11220,6 @@ define('select2/core',[
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this.on('query', function (params) {
|
|
||||||
this.data.query(params, function (data) {
|
|
||||||
self.trigger('results:all', {
|
|
||||||
data: data,
|
|
||||||
query: params
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.trigger('query', {});
|
this.trigger('query', {});
|
||||||
|
|
||||||
// Hide the original select
|
// Hide the original select
|
||||||
@ -11332,6 +11270,97 @@ define('select2/core',[
|
|||||||
$resultsContainer.append($results);
|
$resultsContainer.append($results);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Select2.prototype._bindAdapters = function () {
|
||||||
|
this.data.bind(this, this.$container);
|
||||||
|
this.selection.bind(this, this.$container);
|
||||||
|
|
||||||
|
this.dropdown.bind(this, this.$container);
|
||||||
|
this.results.bind(this, this.$container);
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerDomEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$element.on('change', function () {
|
||||||
|
self.data.current(function (data) {
|
||||||
|
self.trigger('selection:update', {
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerSelectionEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.selection.on('open', function () {
|
||||||
|
self.open();
|
||||||
|
});
|
||||||
|
this.selection.on('close', function () {
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
this.selection.on('toggle', function () {
|
||||||
|
self.toggleDropdown();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.selection.on('results:select', function () {
|
||||||
|
self.trigger('results:select');
|
||||||
|
});
|
||||||
|
this.selection.on('results:previous', function () {
|
||||||
|
self.trigger('results:previous');
|
||||||
|
});
|
||||||
|
this.selection.on('results:next', function () {
|
||||||
|
self.trigger('results:next');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.selection.on('unselected', function (params) {
|
||||||
|
self.trigger('unselect', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerResultsEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.results.on('selected', function (params) {
|
||||||
|
self.trigger('select', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.results.on('unselected', function (params) {
|
||||||
|
self.trigger('unselect', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.results.on('results:focus', function (params) {
|
||||||
|
self.trigger('results:focus', params);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.on('open', function () {
|
||||||
|
self.$container.addClass('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on('close', function () {
|
||||||
|
self.$container.removeClass('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on('query', function (params) {
|
||||||
|
this.data.query(params, function (data) {
|
||||||
|
self.trigger('results:all', {
|
||||||
|
data: data,
|
||||||
|
query: params
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
Select2.prototype.toggleDropdown = function () {
|
Select2.prototype.toggleDropdown = function () {
|
||||||
if (this.isOpen()) {
|
if (this.isOpen()) {
|
||||||
this.close();
|
this.close();
|
||||||
|
2
dist/js/select2.full.min.js
vendored
2
dist/js/select2.full.min.js
vendored
File diff suppressed because one or more lines are too long
169
dist/js/select2.js
vendored
169
dist/js/select2.js
vendored
@ -2094,69 +2094,16 @@ define('select2/core',[
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.data.bind(this, $container);
|
// Bind the container to all of the adapters
|
||||||
this.selection.bind(this, $container);
|
this._bindAdapters();
|
||||||
|
|
||||||
this.dropdown.bind(this, $container);
|
// Register any DOM event handler
|
||||||
this.results.bind(this, $container);
|
this._registerDomEvents();
|
||||||
|
|
||||||
this.$element.on('change', function () {
|
// Register any internal event handlers
|
||||||
self.data.current(function (data) {
|
this._registerSelectionEvents();
|
||||||
self.trigger('selection:update', {
|
this._registerResultsEvents();
|
||||||
data: data
|
this._registerEvents();
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('open', function () {
|
|
||||||
self.open();
|
|
||||||
});
|
|
||||||
this.selection.on('close', function () {
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
this.selection.on('toggle', function () {
|
|
||||||
self.toggleDropdown();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('results:select', function () {
|
|
||||||
self.trigger('results:select');
|
|
||||||
});
|
|
||||||
this.selection.on('results:previous', function () {
|
|
||||||
self.trigger('results:previous');
|
|
||||||
});
|
|
||||||
this.selection.on('results:next', function () {
|
|
||||||
self.trigger('results:next');
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('unselected', function (params) {
|
|
||||||
self.trigger('unselect', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('selected', function (params) {
|
|
||||||
self.trigger('select', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('unselected', function (params) {
|
|
||||||
self.trigger('unselect', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('results:focus', function (params) {
|
|
||||||
self.trigger('results:focus', params);
|
|
||||||
});
|
|
||||||
|
|
||||||
this.on('open', function () {
|
|
||||||
$container.addClass('open');
|
|
||||||
});
|
|
||||||
|
|
||||||
this.on('close', function () {
|
|
||||||
$container.removeClass('open');
|
|
||||||
});
|
|
||||||
|
|
||||||
// Set the initial state
|
// Set the initial state
|
||||||
|
|
||||||
@ -2166,15 +2113,6 @@ define('select2/core',[
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this.on('query', function (params) {
|
|
||||||
this.data.query(params, function (data) {
|
|
||||||
self.trigger('results:all', {
|
|
||||||
data: data,
|
|
||||||
query: params
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.trigger('query', {});
|
this.trigger('query', {});
|
||||||
|
|
||||||
// Hide the original select
|
// Hide the original select
|
||||||
@ -2225,6 +2163,97 @@ define('select2/core',[
|
|||||||
$resultsContainer.append($results);
|
$resultsContainer.append($results);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Select2.prototype._bindAdapters = function () {
|
||||||
|
this.data.bind(this, this.$container);
|
||||||
|
this.selection.bind(this, this.$container);
|
||||||
|
|
||||||
|
this.dropdown.bind(this, this.$container);
|
||||||
|
this.results.bind(this, this.$container);
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerDomEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$element.on('change', function () {
|
||||||
|
self.data.current(function (data) {
|
||||||
|
self.trigger('selection:update', {
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerSelectionEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.selection.on('open', function () {
|
||||||
|
self.open();
|
||||||
|
});
|
||||||
|
this.selection.on('close', function () {
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
this.selection.on('toggle', function () {
|
||||||
|
self.toggleDropdown();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.selection.on('results:select', function () {
|
||||||
|
self.trigger('results:select');
|
||||||
|
});
|
||||||
|
this.selection.on('results:previous', function () {
|
||||||
|
self.trigger('results:previous');
|
||||||
|
});
|
||||||
|
this.selection.on('results:next', function () {
|
||||||
|
self.trigger('results:next');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.selection.on('unselected', function (params) {
|
||||||
|
self.trigger('unselect', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerResultsEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.results.on('selected', function (params) {
|
||||||
|
self.trigger('select', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.results.on('unselected', function (params) {
|
||||||
|
self.trigger('unselect', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.results.on('results:focus', function (params) {
|
||||||
|
self.trigger('results:focus', params);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.on('open', function () {
|
||||||
|
self.$container.addClass('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on('close', function () {
|
||||||
|
self.$container.removeClass('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on('query', function (params) {
|
||||||
|
this.data.query(params, function (data) {
|
||||||
|
self.trigger('results:all', {
|
||||||
|
data: data,
|
||||||
|
query: params
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
Select2.prototype.toggleDropdown = function () {
|
Select2.prototype.toggleDropdown = function () {
|
||||||
if (this.isOpen()) {
|
if (this.isOpen()) {
|
||||||
this.close();
|
this.close();
|
||||||
|
2
dist/js/select2.min.js
vendored
2
dist/js/select2.min.js
vendored
File diff suppressed because one or more lines are too long
169
src/js/select2/core.js
vendored
169
src/js/select2/core.js
vendored
@ -48,69 +48,16 @@ define([
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.data.bind(this, $container);
|
// Bind the container to all of the adapters
|
||||||
this.selection.bind(this, $container);
|
this._bindAdapters();
|
||||||
|
|
||||||
this.dropdown.bind(this, $container);
|
// Register any DOM event handlers
|
||||||
this.results.bind(this, $container);
|
this._registerDomEvents();
|
||||||
|
|
||||||
this.$element.on('change', function () {
|
// Register any internal event handlers
|
||||||
self.data.current(function (data) {
|
this._registerSelectionEvents();
|
||||||
self.trigger('selection:update', {
|
this._registerResultsEvents();
|
||||||
data: data
|
this._registerEvents();
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('open', function () {
|
|
||||||
self.open();
|
|
||||||
});
|
|
||||||
this.selection.on('close', function () {
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
this.selection.on('toggle', function () {
|
|
||||||
self.toggleDropdown();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('results:select', function () {
|
|
||||||
self.trigger('results:select');
|
|
||||||
});
|
|
||||||
this.selection.on('results:previous', function () {
|
|
||||||
self.trigger('results:previous');
|
|
||||||
});
|
|
||||||
this.selection.on('results:next', function () {
|
|
||||||
self.trigger('results:next');
|
|
||||||
});
|
|
||||||
|
|
||||||
this.selection.on('unselected', function (params) {
|
|
||||||
self.trigger('unselect', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('selected', function (params) {
|
|
||||||
self.trigger('select', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('unselected', function (params) {
|
|
||||||
self.trigger('unselect', params);
|
|
||||||
|
|
||||||
self.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
this.results.on('results:focus', function (params) {
|
|
||||||
self.trigger('results:focus', params);
|
|
||||||
});
|
|
||||||
|
|
||||||
this.on('open', function () {
|
|
||||||
$container.addClass('open');
|
|
||||||
});
|
|
||||||
|
|
||||||
this.on('close', function () {
|
|
||||||
$container.removeClass('open');
|
|
||||||
});
|
|
||||||
|
|
||||||
// Set the initial state
|
// Set the initial state
|
||||||
|
|
||||||
@ -120,15 +67,6 @@ define([
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this.on('query', function (params) {
|
|
||||||
this.data.query(params, function (data) {
|
|
||||||
self.trigger('results:all', {
|
|
||||||
data: data,
|
|
||||||
query: params
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.trigger('query', {});
|
this.trigger('query', {});
|
||||||
|
|
||||||
// Hide the original select
|
// Hide the original select
|
||||||
@ -179,6 +117,97 @@ define([
|
|||||||
$resultsContainer.append($results);
|
$resultsContainer.append($results);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Select2.prototype._bindAdapters = function () {
|
||||||
|
this.data.bind(this, this.$container);
|
||||||
|
this.selection.bind(this, this.$container);
|
||||||
|
|
||||||
|
this.dropdown.bind(this, this.$container);
|
||||||
|
this.results.bind(this, this.$container);
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerDomEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$element.on('change', function () {
|
||||||
|
self.data.current(function (data) {
|
||||||
|
self.trigger('selection:update', {
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerSelectionEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.selection.on('open', function () {
|
||||||
|
self.open();
|
||||||
|
});
|
||||||
|
this.selection.on('close', function () {
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
this.selection.on('toggle', function () {
|
||||||
|
self.toggleDropdown();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.selection.on('results:select', function () {
|
||||||
|
self.trigger('results:select');
|
||||||
|
});
|
||||||
|
this.selection.on('results:previous', function () {
|
||||||
|
self.trigger('results:previous');
|
||||||
|
});
|
||||||
|
this.selection.on('results:next', function () {
|
||||||
|
self.trigger('results:next');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.selection.on('unselected', function (params) {
|
||||||
|
self.trigger('unselect', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerResultsEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.results.on('selected', function (params) {
|
||||||
|
self.trigger('select', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.results.on('unselected', function (params) {
|
||||||
|
self.trigger('unselect', params);
|
||||||
|
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.results.on('results:focus', function (params) {
|
||||||
|
self.trigger('results:focus', params);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Select2.prototype._registerEvents = function () {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.on('open', function () {
|
||||||
|
self.$container.addClass('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on('close', function () {
|
||||||
|
self.$container.removeClass('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
this.on('query', function (params) {
|
||||||
|
this.data.query(params, function (data) {
|
||||||
|
self.trigger('results:all', {
|
||||||
|
data: data,
|
||||||
|
query: params
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
Select2.prototype.toggleDropdown = function () {
|
Select2.prototype.toggleDropdown = function () {
|
||||||
if (this.isOpen()) {
|
if (this.isOpen()) {
|
||||||
this.close();
|
this.close();
|
||||||
|
Loading…
Reference in New Issue
Block a user