mirror of https://github.com/zulip/zulip.git
navigate: Move scroll_to_selected to message_viewport.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
18bdfde9e7
commit
b9fe1947f8
|
@ -15,7 +15,6 @@ import * as message_lists from "./message_lists";
|
|||
import * as message_scroll from "./message_scroll";
|
||||
import * as message_viewport from "./message_viewport";
|
||||
import * as narrow from "./narrow";
|
||||
import * as navigate from "./navigate";
|
||||
import * as overlays from "./overlays";
|
||||
import {page_params} from "./page_params";
|
||||
import * as popovers from "./popovers";
|
||||
|
@ -58,7 +57,7 @@ function show_all_message_view() {
|
|||
narrow.deactivate(!(coming_from_recent_view || coming_from_inbox), is_actively_scrolling);
|
||||
// We need to maybe scroll to the selected message
|
||||
// once we have the proper viewport set up
|
||||
setTimeout(navigate.maybe_scroll_to_selected, 0);
|
||||
setTimeout(message_viewport.maybe_scroll_to_selected, 0);
|
||||
}
|
||||
|
||||
export function set_hash_to_default_view() {
|
||||
|
|
|
@ -483,6 +483,28 @@ export function keep_pointer_in_view() {
|
|||
message_lists.current.select_id(rows.id($next_row), {from_scroll: true});
|
||||
}
|
||||
|
||||
export function scroll_to_selected() {
|
||||
const $selected_row = message_lists.current.selected_row();
|
||||
if ($selected_row && $selected_row.length !== 0) {
|
||||
recenter_view($selected_row);
|
||||
}
|
||||
}
|
||||
|
||||
export let scroll_to_selected_planned = false;
|
||||
|
||||
export function plan_scroll_to_selected() {
|
||||
scroll_to_selected_planned = true;
|
||||
}
|
||||
|
||||
export function maybe_scroll_to_selected() {
|
||||
// If we have made a plan to scroll to the selected message but
|
||||
// deferred doing so, do so here.
|
||||
if (scroll_to_selected_planned) {
|
||||
scroll_to_selected();
|
||||
scroll_to_selected_planned = false;
|
||||
}
|
||||
}
|
||||
|
||||
export function initialize() {
|
||||
$jwindow = $(window);
|
||||
$scroll_container = $("html");
|
||||
|
|
|
@ -116,25 +116,3 @@ export function page_down() {
|
|||
page_down_the_right_amount();
|
||||
}
|
||||
}
|
||||
|
||||
export function scroll_to_selected() {
|
||||
const $selected_row = message_lists.current.selected_row();
|
||||
if ($selected_row && $selected_row.length !== 0) {
|
||||
message_viewport.recenter_view($selected_row);
|
||||
}
|
||||
}
|
||||
|
||||
let scroll_to_selected_planned = false;
|
||||
|
||||
export function plan_scroll_to_selected() {
|
||||
scroll_to_selected_planned = true;
|
||||
}
|
||||
|
||||
export function maybe_scroll_to_selected() {
|
||||
// If we have made a plan to scroll to the selected message but
|
||||
// deferred doing so, do so here.
|
||||
if (scroll_to_selected_planned) {
|
||||
scroll_to_selected();
|
||||
scroll_to_selected_planned = false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ import $ from "jquery";
|
|||
import * as compose_ui from "./compose_ui";
|
||||
import * as condense from "./condense";
|
||||
import * as message_lists from "./message_lists";
|
||||
import * as navigate from "./navigate";
|
||||
import * as message_viewport from "./message_viewport";
|
||||
import * as popover_menus from "./popover_menus";
|
||||
import * as popovers from "./popovers";
|
||||
import * as resize from "./resize";
|
||||
|
@ -42,6 +42,6 @@ export function handler() {
|
|||
popover_menus.set_suppress_scroll_hide();
|
||||
}
|
||||
|
||||
navigate.scroll_to_selected();
|
||||
message_viewport.scroll_to_selected();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -677,7 +677,7 @@ export function initialize_everything() {
|
|||
desktop_notifications.initialize();
|
||||
audible_notifications.initialize();
|
||||
compose_notifications.initialize({
|
||||
on_click_scroll_to_selected: navigate.scroll_to_selected,
|
||||
on_click_scroll_to_selected: message_viewport.scroll_to_selected,
|
||||
on_narrow_to_recipient(message_id) {
|
||||
narrow.by_topic(message_id, {trigger: "compose_notification"});
|
||||
},
|
||||
|
|
|
@ -3,9 +3,9 @@ import $ from "jquery";
|
|||
import * as compose_recipient from "./compose_recipient";
|
||||
import * as message_lists from "./message_lists";
|
||||
import * as message_view_header from "./message_view_header";
|
||||
import * as message_viewport from "./message_viewport";
|
||||
import * as narrow_state from "./narrow_state";
|
||||
import * as narrow_title from "./narrow_title";
|
||||
import * as navigate from "./navigate";
|
||||
import * as pm_list from "./pm_list";
|
||||
import * as resize from "./resize";
|
||||
import * as search from "./search";
|
||||
|
@ -71,5 +71,5 @@ export function hide(opts) {
|
|||
|
||||
// This makes sure user lands on the selected message
|
||||
// and not always at the top of the narrow.
|
||||
navigate.plan_scroll_to_selected();
|
||||
message_viewport.plan_scroll_to_selected();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue