diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/js/contactsmenu.js | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/core/js/contactsmenu.js b/core/js/contactsmenu.js index 41de10abb47..8d08ea74f4c 100644 --- a/core/js/contactsmenu.js +++ b/core/js/contactsmenu.js @@ -287,6 +287,9 @@ /** @type {undefined|ContactCollection} */ _contacts: undefined, + /** @type {string} */ + _searchTerm: '', + events: { 'input #contactsmenu-search': '_onSearch' }, @@ -294,8 +297,16 @@ /** * @returns {undefined} */ - _onSearch: _.debounce(function() { - this.trigger('search', this.$('#contactsmenu-search').val()); + _onSearch: _.debounce(function(e) { + var searchTerm = this.$('#contactsmenu-search').val(); + // IE11 triggers an 'input' event after the view has been rendered + // resulting in an endless loading loop. To prevent this, we remember + // the last search term to savely ignore some events + // See https://github.com/nextcloud/server/issues/5281 + if (searchTerm !== this._searchTerm) { + this.trigger('search', this.$('#contactsmenu-search').val()); + this._searchTerm = searchTerm; + } }, 700), /** |