js: Convert static/js/navigate.js to ES6 module.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2021-02-27 16:05:26 -08:00
committed by Tim Abbott
parent b9137e3de8
commit 0200f48a12
14 changed files with 39 additions and 37 deletions

View File

@@ -163,7 +163,6 @@
"message_store": false,
"message_util": false,
"narrow": false,
"navigate": false,
"notifications": false,
"padded_widget": false,
"page_params": false,

View File

@@ -48,7 +48,6 @@ const people = zrequire("people");
const hash_util = zrequire("hash_util");
const hashchange = zrequire("hashchange");
const stream_data = zrequire("stream_data");
zrequire("navigate");
const recent_topics = zrequire("recent_topics");
recent_topics.show = () => {};

View File

@@ -90,7 +90,8 @@ rewiremock("../../static/js/message_edit").with(message_edit);
const muting_ui = {__esModule: true};
rewiremock("../../static/js/muting_ui").with(muting_ui);
const narrow = set_global("narrow", {});
const navigate = set_global("navigate", {});
const navigate = {__esModule: true};
rewiremock("../../static/js/navigate").with(navigate);
const reactions = set_global("reactions", {});
const search = {__esModule: true};
rewiremock("../../static/js/search").with(search);

View File

@@ -28,7 +28,6 @@ import "../compose_actions";
import "../subs";
import "../ui";
import "../composebox_typeahead";
import "../navigate";
import "../list_util";
import "../hotkey";
import "../notifications";

View File

@@ -1,4 +1,5 @@
import * as message_viewport from "./message_viewport";
import * as navigate from "./navigate";
/*
For various historical reasons there isn't one

View File

@@ -37,7 +37,6 @@ declare let message_list: any;
declare let message_store: any;
declare let message_util: any;
declare let narrow: any;
declare let navigate: any;
declare let notifications: any;
declare let padded_widget: any;
declare let page_params: any;

View File

@@ -5,6 +5,7 @@ const floating_recipient_bar = require("./floating_recipient_bar");
const info_overlay = require("./info_overlay");
const invite = require("./invite");
const message_viewport = require("./message_viewport");
const navigate = require("./navigate");
const overlays = require("./overlays");
const search = require("./search");
const settings_panel_menu = require("./settings_panel_menu");

View File

@@ -13,6 +13,7 @@ const gear_menu = require("./gear_menu");
const lightbox = require("./lightbox");
const message_edit = require("./message_edit");
const muting_ui = require("./muting_ui");
const navigate = require("./navigate");
const overlays = require("./overlays");
const popovers = require("./popovers");
const search = require("./search");

View File

@@ -1,22 +1,20 @@
"use strict";
const message_viewport = require("./message_viewport");
const rows = require("./rows");
import * as message_viewport from "./message_viewport";
import * as rows from "./rows";
function go_to_row(msg_id) {
current_msg_list.select_id(msg_id, {then_scroll: true, from_scroll: true});
}
exports.up = function () {
export function up() {
message_viewport.set_last_movement_direction(-1);
const msg_id = current_msg_list.prev();
if (msg_id === undefined) {
return;
}
go_to_row(msg_id);
};
}
exports.down = function (with_centering) {
export function down(with_centering) {
message_viewport.set_last_movement_direction(1);
if (current_msg_list.is_at_end()) {
@@ -41,22 +39,22 @@ exports.down = function (with_centering) {
return;
}
go_to_row(msg_id);
};
}
exports.to_home = function () {
export function to_home() {
message_viewport.set_last_movement_direction(-1);
const first_id = current_msg_list.first().id;
current_msg_list.select_id(first_id, {then_scroll: true, from_scroll: true});
};
}
exports.to_end = function () {
export function to_end() {
const next_id = current_msg_list.last().id;
message_viewport.set_last_movement_direction(1);
current_msg_list.select_id(next_id, {then_scroll: true, from_scroll: true});
if (current_msg_list.can_mark_messages_read()) {
unread_ops.mark_current_list_as_read();
}
};
}
function amount_to_paginate() {
// Some day we might have separate versions of this function
@@ -86,7 +84,7 @@ function amount_to_paginate() {
return delta;
}
exports.page_up_the_right_amount = function () {
export function page_up_the_right_amount() {
// This function's job is to scroll up the right amount,
// after the user hits Page Up. We do this ourselves
// because we can't rely on the browser to account for certain
@@ -96,52 +94,51 @@ exports.page_up_the_right_amount = function () {
// scroll handlers, not here.
const delta = amount_to_paginate();
message_viewport.scrollTop(message_viewport.scrollTop() - delta);
};
}
exports.page_down_the_right_amount = function () {
export function page_down_the_right_amount() {
// see also: page_up_the_right_amount
const delta = amount_to_paginate();
message_viewport.scrollTop(message_viewport.scrollTop() + delta);
};
}
exports.page_up = function () {
export function page_up() {
if (message_viewport.at_top() && !current_msg_list.empty()) {
current_msg_list.select_id(current_msg_list.first().id, {then_scroll: false});
} else {
exports.page_up_the_right_amount();
page_up_the_right_amount();
}
};
}
exports.page_down = function () {
export function page_down() {
if (message_viewport.at_bottom() && !current_msg_list.empty()) {
current_msg_list.select_id(current_msg_list.last().id, {then_scroll: false});
if (current_msg_list.can_mark_messages_read()) {
unread_ops.mark_current_list_as_read();
}
} else {
exports.page_down_the_right_amount();
page_down_the_right_amount();
}
};
}
exports.scroll_to_selected = function () {
export function scroll_to_selected() {
const selected_row = current_msg_list.selected_row();
if (selected_row && selected_row.length !== 0) {
message_viewport.recenter_view(selected_row);
}
};
}
let scroll_to_selected_planned = false;
exports.plan_scroll_to_selected = function () {
scroll_to_selected_planned = true;
};
exports.maybe_scroll_to_selected = function () {
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) {
exports.scroll_to_selected();
scroll_to_selected();
scroll_to_selected_planned = false;
}
};
window.navigate = exports;
}

View File

@@ -10,6 +10,7 @@ const channel = require("./channel");
const favicon = require("./favicon");
const muting = require("./muting");
const narrow_state = require("./narrow_state");
const navigate = require("./navigate");
const people = require("./people");
const settings_config = require("./settings_config");
const spoilers = require("./spoilers");

View File

@@ -9,6 +9,7 @@ const ListWidget = require("./list_widget");
const {localstorage} = require("./localstorage");
const muting = require("./muting");
const narrow_state = require("./narrow_state");
const navigate = require("./navigate");
const people = require("./people");
const recent_senders = require("./recent_senders");
const stream_data = require("./stream_data");

View File

@@ -2,6 +2,7 @@ import autosize from "autosize";
import * as condense from "./condense";
import * as message_viewport from "./message_viewport";
import * as navigate from "./navigate";
import * as popovers from "./popovers";
import * as util from "./util";

View File

@@ -1,5 +1,6 @@
import * as message_scroll from "./message_scroll";
import * as message_viewport from "./message_viewport";
import * as navigate from "./navigate";
import * as overlays from "./overlays";
export function update_is_muted(sub, value) {

View File

@@ -26,6 +26,7 @@ const message_edit = require("./message_edit");
const message_scroll = require("./message_scroll");
const message_viewport = require("./message_viewport");
const muting = require("./muting");
const navigate = require("./navigate");
const overlays = require("./overlays");
const people = require("./people");
const pm_conversations = require("./pm_conversations");