From 71669359582ab04571f13bce8ff5c99318739c7b Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Fri, 21 Aug 2015 17:43:50 -0400 Subject: [PATCH] Always pass in a blank object for arguments This fixes an issue where preventing the default behaviour on some events would trigger an exception. This was bacause the event relay was expecting there to always be an object passed in for arguments, and this wasn't always the case. This closes https://github.com/select2/select2/issues/3431. --- src/js/select2/core.js | 18 +++++++++--------- src/js/select2/dropdown/closeOnSelect.js | 2 +- src/js/select2/results.js | 4 ++-- src/js/select2/selection/allowClear.js | 2 +- src/js/select2/selection/clickMask.js | 2 +- src/js/select2/selection/search.js | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/js/select2/core.js b/src/js/select2/core.js index 0bbd0869..be866a19 100644 --- a/src/js/select2/core.js +++ b/src/js/select2/core.js @@ -274,7 +274,7 @@ define([ this.on('query', function (params) { if (!self.isOpen()) { - self.trigger('open'); + self.trigger('open', {}); } this.dataAdapter.query(params, function (data) { @@ -304,19 +304,19 @@ define([ evt.preventDefault(); } else if (key === KEYS.ENTER) { - self.trigger('results:select'); + self.trigger('results:select', {}); evt.preventDefault(); } else if ((key === KEYS.SPACE && evt.ctrlKey)) { - self.trigger('results:toggle'); + self.trigger('results:toggle', {}); evt.preventDefault(); } else if (key === KEYS.UP) { - self.trigger('results:previous'); + self.trigger('results:previous', {}); evt.preventDefault(); } else if (key === KEYS.DOWN) { - self.trigger('results:next'); + self.trigger('results:next', {}); evt.preventDefault(); } @@ -339,9 +339,9 @@ define([ this.close(); } - this.trigger('disable'); + this.trigger('disable', {}); } else { - this.trigger('enable'); + this.trigger('enable', {}); } }; @@ -403,7 +403,7 @@ define([ return; } - this.trigger('close'); + this.trigger('close', {}); }; Select2.prototype.isOpen = function () { @@ -421,7 +421,7 @@ define([ } this.$container.addClass('select2-container--focus'); - this.trigger('focus'); + this.trigger('focus', {}); }; Select2.prototype.enable = function (args) { diff --git a/src/js/select2/dropdown/closeOnSelect.js b/src/js/select2/dropdown/closeOnSelect.js index 0bf850cc..1a47607e 100644 --- a/src/js/select2/dropdown/closeOnSelect.js +++ b/src/js/select2/dropdown/closeOnSelect.js @@ -25,7 +25,7 @@ define([ return; } - this.trigger('close'); + this.trigger('close', {}); }; return CloseOnSelect; diff --git a/src/js/select2/results.js b/src/js/select2/results.js index aba02a28..342fd947 100644 --- a/src/js/select2/results.js +++ b/src/js/select2/results.js @@ -305,7 +305,7 @@ define([ var data = $highlighted.data('data'); if ($highlighted.attr('aria-selected') == 'true') { - self.trigger('close'); + self.trigger('close', {}); } else { self.trigger('select', { data: data @@ -427,7 +427,7 @@ define([ data: data }); } else { - self.trigger('close'); + self.trigger('close', {}); } return; diff --git a/src/js/select2/selection/allowClear.js b/src/js/select2/selection/allowClear.js index 3bd1fa0f..d3502069 100644 --- a/src/js/select2/selection/allowClear.js +++ b/src/js/select2/selection/allowClear.js @@ -62,7 +62,7 @@ define([ this.$element.val(this.placeholder.id).trigger('change'); - this.trigger('toggle'); + this.trigger('toggle', {}); }; AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { diff --git a/src/js/select2/selection/clickMask.js b/src/js/select2/selection/clickMask.js index bb7cfcf4..2b4ac307 100644 --- a/src/js/select2/selection/clickMask.js +++ b/src/js/select2/selection/clickMask.js @@ -13,7 +13,7 @@ define([ ); this.$mask.on('mousedown touchstart click', function () { - self.trigger('close'); + self.trigger('close', {}); }); }; diff --git a/src/js/select2/selection/search.js b/src/js/select2/selection/search.js index cf211844..8fa2ef0b 100644 --- a/src/js/select2/selection/search.js +++ b/src/js/select2/selection/search.js @@ -184,7 +184,7 @@ define([ data: item }); - this.trigger('open'); + this.trigger('open', {}); this.$search.val(item.text + ' '); };