From a2cdd012b3d54d2e90d8eb8de22100d295cfb516 Mon Sep 17 00:00:00 2001 From: Tom Giannattasio Date: Wed, 5 Sep 2012 11:18:25 -0400 Subject: [PATCH] arrow key navigation on topic drop for filtered items --- .../views/discussion_thread_list_view.coffee | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee b/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee index a69359d334..eb8c69bbf7 100644 --- a/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee +++ b/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee @@ -170,17 +170,22 @@ class @DiscussionThreadListView extends Backbone.View return event.preventDefault() - items = $(".browse-topic-drop-menu-wrapper a").not(".hidden") - totalItems = items.length - index = $(".browse-topic-drop-menu-wrapper .focused").parent().index() + totalItems = $(".browse-topic-drop-menu-wrapper a").length + index = $(".browse-topic-drop-menu-wrapper .focused").parent().index() + firstShownIndex = $($(".browse-topic-drop-menu-wrapper a").not('.hidden')[0]).parent().index() if event.which == 40 - index = index + 1 + index = index + 1 else if event.which == 38 index = index - 1 + while $(".browse-topic-drop-menu-wrapper li").eq(index).find('a').hasClass('hidden') + index--; if index == totalItems index = 0 + while $(".browse-topic-drop-menu-wrapper li").eq(index).find('a').hasClass('hidden') + index++; + $(".browse-topic-drop-menu-wrapper .focused").removeClass("focused") $(".browse-topic-drop-menu-wrapper li").eq(index).find('a').addClass("focused") $(".browse-topic-drop-menu-wrapper").attr("data-focused", index)