right_sidebar_ui: Extract new module.

This UI is not actually a popover, and so there is no need for it to
live in popovers.js.
This commit is contained in:
Tim Abbott
2023-09-24 21:20:32 -07:00
parent 8de397b37f
commit c379d0bad6
8 changed files with 26 additions and 18 deletions

View File

@@ -154,6 +154,7 @@ EXEMPT_FILES = make_set(
"web/src/reload.js", "web/src/reload.js",
"web/src/reminder.js", "web/src/reminder.js",
"web/src/resize.js", "web/src/resize.js",
"web/src/right_sidebar_ui.js",
"web/src/rows.js", "web/src/rows.js",
"web/src/scheduled_messages.js", "web/src/scheduled_messages.js",
"web/src/scheduled_messages_overlay_ui.js", "web/src/scheduled_messages_overlay_ui.js",

View File

@@ -30,6 +30,7 @@ import * as pm_list from "./pm_list";
import * as popovers from "./popovers"; import * as popovers from "./popovers";
import * as reactions from "./reactions"; import * as reactions from "./reactions";
import * as recent_view_ui from "./recent_view_ui"; import * as recent_view_ui from "./recent_view_ui";
import * as right_sidebar_ui from "./right_sidebar_ui";
import * as rows from "./rows"; import * as rows from "./rows";
import * as server_events from "./server_events"; import * as server_events from "./server_events";
import * as settings_display from "./settings_display"; import * as settings_display from "./settings_display";
@@ -495,7 +496,7 @@ export function initialize() {
const sidebarHidden = !$(".app-main .column-right").hasClass("expanded"); const sidebarHidden = !$(".app-main .column-right").hasClass("expanded");
popovers.hide_all(); popovers.hide_all();
if (sidebarHidden) { if (sidebarHidden) {
popovers.show_userlist_sidebar(); right_sidebar_ui.show_userlist_sidebar();
} }
}); });

View File

@@ -6,7 +6,7 @@ import * as emoji_picker from "./emoji_picker";
import * as overlays from "./overlays"; import * as overlays from "./overlays";
import * as playground_links_popover from "./playground_links_popover"; import * as playground_links_popover from "./playground_links_popover";
import * as popover_menus from "./popover_menus"; import * as popover_menus from "./popover_menus";
import * as resize from "./resize"; import * as right_sidebar_ui from "./right_sidebar_ui";
import * as stream_popover from "./stream_popover"; import * as stream_popover from "./stream_popover";
import * as user_card_popover from "./user_card_popover"; import * as user_card_popover from "./user_card_popover";
import * as user_group_popover from "./user_group_popover"; import * as user_group_popover from "./user_group_popover";
@@ -110,15 +110,6 @@ export function focus_first_action_popover_item() {
focus_first_popover_item($items); focus_first_popover_item($items);
} }
export function hide_userlist_sidebar() {
$(".app-main .column-right").removeClass("expanded");
}
export function show_userlist_sidebar() {
$(".app-main .column-right").addClass("expanded");
resize.resize_page_components();
}
// On mobile web, opening the keyboard can trigger a resize event // On mobile web, opening the keyboard can trigger a resize event
// (which in turn can trigger a scroll event). This will have the // (which in turn can trigger a scroll event). This will have the
// side effect of closing popovers, which we don't want. So we // side effect of closing popovers, which we don't want. So we
@@ -198,7 +189,7 @@ export function hide_all_except_sidebars(opts) {
// This function will hide all the popovers, including the mobile web // This function will hide all the popovers, including the mobile web
// or narrow window sidebars. // or narrow window sidebars.
export function hide_all(not_hide_tippy_instances) { export function hide_all(not_hide_tippy_instances) {
hide_userlist_sidebar(); right_sidebar_ui.hide_userlist_sidebar();
stream_popover.hide_streamlist_sidebar(); stream_popover.hide_streamlist_sidebar();
hide_all_except_sidebars({ hide_all_except_sidebars({
not_hide_tippy_instances, not_hide_tippy_instances,

View File

@@ -0,0 +1,12 @@
import $ from "jquery";
import * as resize from "./resize";
export function hide_userlist_sidebar() {
$(".app-main .column-right").removeClass("expanded");
}
export function show_userlist_sidebar() {
$(".app-main .column-right").addClass("expanded");
resize.resize_page_components();
}

View File

@@ -24,13 +24,13 @@ import * as overlays from "./overlays";
import {page_params} from "./page_params"; import {page_params} from "./page_params";
import * as people from "./people"; import * as people from "./people";
import * as popover_menus from "./popover_menus"; import * as popover_menus from "./popover_menus";
import * as popovers from "./popovers";
import { import {
focus_first_popover_item, focus_first_popover_item,
hide_all, hide_all,
hide_all_except_sidebars, hide_all_except_sidebars,
popover_items_handle_keyboard, popover_items_handle_keyboard,
} from "./popovers"; } from "./popovers";
import * as right_sidebar_ui from "./right_sidebar_ui";
import * as rows from "./rows"; import * as rows from "./rows";
import * as settings_config from "./settings_config"; import * as settings_config from "./settings_config";
import * as settings_users from "./settings_users"; import * as settings_users from "./settings_users";
@@ -659,7 +659,7 @@ function register_click_handlers() {
const mention = people.get_mention_syntax(name, user_id); const mention = people.get_mention_syntax(name, user_id);
compose_ui.insert_syntax_and_focus(mention); compose_ui.insert_syntax_and_focus(mention);
user_sidebar.hide(); user_sidebar.hide();
popovers.hide_userlist_sidebar(); right_sidebar_ui.hide_userlist_sidebar();
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();
}); });

View File

@@ -2,6 +2,7 @@ import $ from "jquery";
import * as popovers from "./popovers"; import * as popovers from "./popovers";
import * as resize from "./resize"; import * as resize from "./resize";
import * as right_sidebar_ui from "./right_sidebar_ui";
import * as stream_popover from "./stream_popover"; import * as stream_popover from "./stream_popover";
export class UserSearch { export class UserSearch {
@@ -99,7 +100,7 @@ export class UserSearch {
if ($column.hasClass("column-left")) { if ($column.hasClass("column-left")) {
stream_popover.show_streamlist_sidebar(); stream_popover.show_streamlist_sidebar();
} else if ($column.hasClass("column-right")) { } else if ($column.hasClass("column-right")) {
popovers.show_userlist_sidebar(); right_sidebar_ui.show_userlist_sidebar();
} }
} }
} }

View File

@@ -25,6 +25,7 @@ const padded_widget = mock_esm("../src/padded_widget");
const pm_list = mock_esm("../src/pm_list"); const pm_list = mock_esm("../src/pm_list");
const popovers = mock_esm("../src/popovers"); const popovers = mock_esm("../src/popovers");
const resize = mock_esm("../src/resize"); const resize = mock_esm("../src/resize");
const right_sidebar_ui = mock_esm("../src/right_sidebar_ui");
const scroll_util = mock_esm("../src/scroll_util"); const scroll_util = mock_esm("../src/scroll_util");
const watchdog = mock_esm("../src/watchdog"); const watchdog = mock_esm("../src/watchdog");
@@ -280,7 +281,7 @@ test("handlers", ({override, mock_template}) => {
override(padded_widget, "update_padding", () => {}); override(padded_widget, "update_padding", () => {});
override(popovers, "hide_all", () => {}); override(popovers, "hide_all", () => {});
override(popovers, "hide_all_except_sidebars", () => {}); override(popovers, "hide_all_except_sidebars", () => {});
override(popovers, "show_userlist_sidebar", () => {}); override(right_sidebar_ui, "show_userlist_sidebar", () => {});
override(resize, "resize_sidebars", () => {}); override(resize, "resize_sidebars", () => {});
// This is kind of weak coverage; we are mostly making sure that // This is kind of weak coverage; we are mostly making sure that

View File

@@ -29,6 +29,7 @@ const popovers = mock_esm("../src/popovers");
const presence = mock_esm("../src/presence"); const presence = mock_esm("../src/presence");
const stream_popover = mock_esm("../src/stream_popover"); const stream_popover = mock_esm("../src/stream_popover");
const resize = mock_esm("../src/resize"); const resize = mock_esm("../src/resize");
const right_sidebar_ui = mock_esm("../src/right_sidebar_ui");
set_global("document", _document); set_global("document", _document);
@@ -106,7 +107,7 @@ test("escape_search", ({override}) => {
}); });
test("blur search right", ({override}) => { test("blur search right", ({override}) => {
override(popovers, "show_userlist_sidebar", () => {}); override(right_sidebar_ui, "show_userlist_sidebar", () => {});
override(popovers, "hide_all", () => {}); override(popovers, "hide_all", () => {});
override(popovers, "hide_all_except_sidebars", () => {}); override(popovers, "hide_all_except_sidebars", () => {});
override(resize, "resize_sidebars", () => {}); override(resize, "resize_sidebars", () => {});
@@ -198,7 +199,7 @@ test("click on user header to toggle display", ({override}) => {
override(popovers, "hide_all", () => {}); override(popovers, "hide_all", () => {});
override(popovers, "hide_all_except_sidebars", () => {}); override(popovers, "hide_all_except_sidebars", () => {});
override(popovers, "show_userlist_sidebar", () => {}); override(right_sidebar_ui, "show_userlist_sidebar", () => {});
override(resize, "resize_sidebars", () => {}); override(resize, "resize_sidebars", () => {});
page_params.realm_presence_disabled = true; page_params.realm_presence_disabled = true;