From fd77ebcc2a67993bafea5984bb4d4ddb415ca35a Mon Sep 17 00:00:00 2001 From: Aman Agrawal Date: Tue, 24 Aug 2021 15:19:37 +0000 Subject: [PATCH] recent_topics: Set focus to filter button after click. Since, the filter button is replaced with a different button after click, the `current_focus_elem` points at incorrect element. `revive_current_focus` follows a good method to locate the filter button, hence we use it to correct the element `current_focus_elem` points at. --- static/js/click_handlers.js | 1 + static/js/recent_topics_ui.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/static/js/click_handlers.js b/static/js/click_handlers.js index 69d1dbbde3..8be027ba89 100644 --- a/static/js/click_handlers.js +++ b/static/js/click_handlers.js @@ -418,6 +418,7 @@ export function initialize() { recent_topics_ui.change_focused_element($(e.target), "click"); recent_topics_ui.set_filter(e.currentTarget.dataset.filter); recent_topics_ui.update_filters_view(); + recent_topics_ui.revive_current_focus(); }); $("body").on("click", "td.recent_topic_stream", (e) => { diff --git a/static/js/recent_topics_ui.js b/static/js/recent_topics_ui.js index e024922fff..591302dea2 100644 --- a/static/js/recent_topics_ui.js +++ b/static/js/recent_topics_ui.js @@ -162,7 +162,7 @@ export function get_focused_row_message() { return undefined; } -function revive_current_focus() { +export function revive_current_focus() { // After re-render, the current_focus_elem is no longer linked // to the focused element, this function attempts to revive the // link and focus to the element prior to the rerender.