mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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();
 | 
						|
    });
 | 
						|
}
 |