diff options
-rw-r--r-- | app/assets/javascripts/gl_dropdown.js | 4 | ||||
-rw-r--r-- | app/assets/javascripts/search_autocomplete.js | 2 | ||||
-rw-r--r-- | spec/javascripts/gl_dropdown_spec.js.es6 | 53 |
3 files changed, 28 insertions, 31 deletions
diff --git a/app/assets/javascripts/gl_dropdown.js b/app/assets/javascripts/gl_dropdown.js index aacc49be1ac..58e27acf2f1 100644 --- a/app/assets/javascripts/gl_dropdown.js +++ b/app/assets/javascripts/gl_dropdown.js @@ -690,8 +690,8 @@ if (!index) { $dropdownContent.scrollTop(0) } else if (index === ($listItems.length - 1)) { - $dropdownContent.scrollTop $dropdownContent.prop('scrollHeight'); - } else if (listItemBottom > (dropdownContentBottom + dropdownScrollTop)) + $dropdownContent.scrollTop($dropdownContent.prop('scrollHeight')); + } else if (listItemBottom > (dropdownContentBottom + dropdownScrollTop)) { $dropdownContent.scrollTop(listItemBottom - dropdownContentBottom + CURSOR_SELECT_SCROLL_PADDING); } else if (listItemTop < (dropdownContentTop + dropdownScrollTop)) { return $dropdownContent.scrollTop(listItemTop - dropdownContentTop - CURSOR_SELECT_SCROLL_PADDING); diff --git a/app/assets/javascripts/search_autocomplete.js b/app/assets/javascripts/search_autocomplete.js index cd39f5f94e2..4579214bd2f 100644 --- a/app/assets/javascripts/search_autocomplete.js +++ b/app/assets/javascripts/search_autocomplete.js @@ -228,7 +228,7 @@ case KEYCODE.ENTER: this.disableAutocomplete(); break; - case KEYCODE.UP, + case KEYCODE.UP: case KEYCODE.DOWN: return; default: diff --git a/spec/javascripts/gl_dropdown_spec.js.es6 b/spec/javascripts/gl_dropdown_spec.js.es6 index 2dda566beb6..4ed194f5179 100644 --- a/spec/javascripts/gl_dropdown_spec.js.es6 +++ b/spec/javascripts/gl_dropdown_spec.js.es6 @@ -16,12 +16,13 @@ ESC: 27 }; - var navigateWithKeys = function navigateWithKeys(direction, steps, cb, i) { + let navigateWithKeys = function navigateWithKeys(direction, steps, cb, i) { i = i || 0; + if (!i) direction = direction.toUpperCase(); $('body').trigger({ type: 'keydown', - which: ARROW_KEYS[direction.toUpperCase()], - keyCode: ARROW_KEYS[direction.toUpperCase()] + which: ARROW_KEYS[direction], + keyCode: ARROW_KEYS[direction] }); i++; if (i <= steps) { @@ -31,35 +32,31 @@ } }; - var initDropdown = function initDropdown() { - this.dropdownContainerElement = $('.dropdown.inline'); - this.dropdownMenuElement = $('.dropdown-menu', this.dropdownContainerElement); - this.projectsData = fixture.load('projects.json')[0]; - this.dropdownButtonElement = $('#js-project-dropdown', this.dropdownContainerElement).glDropdown({ - selectable: true, - data: this.projectsData, - text: (project) => { - (project.name_with_namespace || project.name) - }, - id: (project) => { - project.id - } - }); - }; - describe('Dropdown', function describeDropdown() { fixture.preload('gl_dropdown.html'); fixture.preload('projects.json'); - function beforeEach() { + beforeEach(() => { fixture.load('gl_dropdown.html'); - initDropdown.call(this); - } + this.dropdownContainerElement = $('.dropdown.inline'); + this.dropdownMenuElement = $('.dropdown-menu', this.dropdownContainerElement); + this.projectsData = fixture.load('projects.json')[0]; + this.dropdownButtonElement = $('#js-project-dropdown', this.dropdownContainerElement).glDropdown({ + selectable: true, + data: this.projectsData, + text: (project) => { + (project.name_with_namespace || project.name) + }, + id: (project) => { + project.id + } + }); + }); - function afterEach() { + afterEach(() => { $('body').unbind('keydown'); this.dropdownContainerElement.unbind('keyup'); - } + }); it('should open on click', () => { expect(this.dropdownContainerElement).not.toHaveClass('open'); @@ -67,10 +64,10 @@ expect(this.dropdownContainerElement).toHaveClass('open'); }); - describe('that is open', function describeThatIsOpen() { - function beforeEach() { + describe('that is open', () => { + beforeEach(() => { this.dropdownButtonElement.click(); - } + }); it('should select a following item on DOWN keypress', () => { expect($(FOCUSED_ITEM_SELECTOR, this.dropdownMenuElement).length).toBe(0); @@ -119,4 +116,4 @@ }); }); }); -})(window); +})(); |