zulip/static/js/topic_zoom.js

70 lines
1.3 KiB
JavaScript
Raw Normal View History

import $ from "jquery";
import * as popovers from "./popovers";
import * as stream_list from "./stream_list";
import * as topic_list from "./topic_list";
let zoomed_in = false;
export function is_zoomed_in() {
return zoomed_in;
}
function zoom_in() {
const stream_id = topic_list.active_stream_id();
popovers.hide_all_except_sidebars();
topic_list.zoom_in();
stream_list.zoom_in_topics({
stream_id,
});
zoomed_in = true;
}
export function zoom_out() {
const stream_li = topic_list.get_stream_li();
popovers.hide_all_except_sidebars();
topic_list.zoom_out();
stream_list.zoom_out_topics();
if (stream_li) {
stream_list.scroll_stream_into_view(stream_li);
}
zoomed_in = false;
}
export function clear_topics() {
const stream_li = topic_list.get_stream_li();
topic_list.close();
if (zoomed_in) {
stream_list.zoom_out_topics();
if (stream_li) {
stream_list.scroll_stream_into_view(stream_li);
}
}
zoomed_in = false;
}
export function initialize() {
$("#stream_filters").on("click", ".show-more-topics", (e) => {
zoom_in();
e.preventDefault();
e.stopPropagation();
});
$(".show-all-streams").on("click", (e) => {
zoom_out();
e.preventDefault();
e.stopPropagation();
});
}