diff options
author | Phil Hughes <me@iamphill.com> | 2016-08-19 09:45:58 +0100 |
---|---|---|
committer | Bryce <bryce@gitlab.com> | 2016-08-23 14:44:28 +0200 |
commit | 5963263912c1633ff49ce758f71589bae8133e57 (patch) | |
tree | 7d090740231b7431cc79da66b44e900742929e5e /app | |
parent | f633f7db66d4ff42abbe764c21f9da4e49045f91 (diff) | |
download | gitlab-ce-5963263912c1633ff49ce758f71589bae8133e57.tar.gz |
Fixed enter key in search input not working
Closes #20627
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/gl_dropdown.js | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/app/assets/javascripts/gl_dropdown.js b/app/assets/javascripts/gl_dropdown.js index 24abea0d30d..b1f5a6816e1 100644 --- a/app/assets/javascripts/gl_dropdown.js +++ b/app/assets/javascripts/gl_dropdown.js @@ -31,8 +31,8 @@ this.input .on('keydown', function (e) { var keyCode = e.which; - if (keyCode === 13) { - e.preventDefault(); + if (keyCode === 13 && !options.elIsInput) { + e.preventDefault() } }) .on('keyup', function(e) { @@ -46,7 +46,7 @@ } else if (this.input.val() === "" && $inputContainer.hasClass(HAS_VALUE_CLASS)) { $inputContainer.removeClass(HAS_VALUE_CLASS); } - if (keyCode === 13) { + if (keyCode === 13 && !options.elIsInput) { return false; } if (this.options.remote) { @@ -238,6 +238,7 @@ } if (this.options.filterable) { this.filter = new GitLabDropdownFilter(this.filterInput, { + elIsInput: $(this.el).is('input'), filterInputBlur: this.filterInputBlur, filterByText: this.options.filterByText, onFilter: this.options.onFilter, @@ -266,8 +267,12 @@ if (_this.dropdown.find('.dropdown-toggle-page').length) { selector = ".dropdown-page-one " + selector; } - $(selector, _this.dropdown).first().find('a').addClass('is-focused'); - return currentIndex = 0; + if ($(_this.el).is('input')) { + currentIndex = -1; + } else { + $(selector, _this.dropdown).first().find('a').addClass('is-focused'); + currentIndex = 0; + } } }; })(this) @@ -611,17 +616,20 @@ return this.dropdown.before($input); }; - GitLabDropdown.prototype.selectRowAtIndex = function(index) { + GitLabDropdown.prototype.selectRowAtIndex = function() { var $el, selector; - selector = SELECTABLE_CLASSES + ":eq(" + index + ") a"; + selector = ".dropdown-content .is-focused"; if (this.dropdown.find(".dropdown-toggle-page").length) { selector = ".dropdown-page-one " + selector; } $el = $(selector, this.dropdown); if ($el.length) { - $el.first().trigger('click'); var href = $el.attr('href'); - if (href && href !== '#') Turbolinks.visit(href); + if (href && href !== '#') { + Turbolinks.visit(href); + } else { + $el.first().trigger('click'); + } } }; @@ -657,7 +665,7 @@ return false; } if (currentKeyCode === 13 && currentIndex !== -1) { - return _this.selectRowAtIndex(currentIndex); + _this.selectRowAtIndex(); } }; })(this)); |