mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	ts: Migrate gear_menu.js to TypeScript.
Includes adding various missing values to page_params.
This commit is contained in:
		@@ -88,7 +88,7 @@ EXEMPT_FILES = make_set(
 | 
				
			|||||||
        "web/src/feature_flags.ts",
 | 
					        "web/src/feature_flags.ts",
 | 
				
			||||||
        "web/src/feedback_widget.js",
 | 
					        "web/src/feedback_widget.js",
 | 
				
			||||||
        "web/src/flatpickr.js",
 | 
					        "web/src/flatpickr.js",
 | 
				
			||||||
        "web/src/gear_menu.js",
 | 
					        "web/src/gear_menu.ts",
 | 
				
			||||||
        "web/src/giphy.js",
 | 
					        "web/src/giphy.js",
 | 
				
			||||||
        "web/src/global.d.ts",
 | 
					        "web/src/global.d.ts",
 | 
				
			||||||
        "web/src/hash_util.js",
 | 
					        "web/src/hash_util.js",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -79,7 +79,7 @@ The click handler uses "[data-overlay-trigger]" as
 | 
				
			|||||||
the selector and then calls browser_history.go_to_location.
 | 
					the selector and then calls browser_history.go_to_location.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function version_display_string() {
 | 
					export function version_display_string(): string {
 | 
				
			||||||
    const version = page_params.zulip_version;
 | 
					    const version = page_params.zulip_version;
 | 
				
			||||||
    const is_fork = page_params.zulip_merge_base && page_params.zulip_merge_base !== version;
 | 
					    const is_fork = page_params.zulip_merge_base && page_params.zulip_merge_base !== version;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -110,7 +110,7 @@ export function version_display_string() {
 | 
				
			|||||||
    return $t({defaultMessage: "Zulip Server {display_version}"}, {display_version});
 | 
					    return $t({defaultMessage: "Zulip Server {display_version}"}, {display_version});
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function initialize() {
 | 
					export function initialize(): void {
 | 
				
			||||||
    const rendered_gear_menu = render_gear_menu({
 | 
					    const rendered_gear_menu = render_gear_menu({
 | 
				
			||||||
        realm_name: page_params.realm_name,
 | 
					        realm_name: page_params.realm_name,
 | 
				
			||||||
        realm_uri: new URL(page_params.realm_uri).hostname,
 | 
					        realm_uri: new URL(page_params.realm_uri).hostname,
 | 
				
			||||||
@@ -138,17 +138,17 @@ export function initialize() {
 | 
				
			|||||||
    $("#navbar-buttons").html(rendered_gear_menu);
 | 
					    $("#navbar-buttons").html(rendered_gear_menu);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function open() {
 | 
					export function open(): void {
 | 
				
			||||||
    $("#settings-dropdown").trigger("click");
 | 
					    $("#settings-dropdown").trigger("click");
 | 
				
			||||||
    // there are invisible li tabs, which should not be clicked.
 | 
					    // there are invisible li tabs, which should not be clicked.
 | 
				
			||||||
    $("#gear-menu").find("li:not(.invisible) a").eq(0).trigger("focus");
 | 
					    $("#gear-menu").find("li:not(.invisible) a").eq(0).trigger("focus");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function is_open() {
 | 
					export function is_open(): boolean {
 | 
				
			||||||
    return $(".dropdown").hasClass("open");
 | 
					    return $(".dropdown").hasClass("open");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function close() {
 | 
					export function close(): void {
 | 
				
			||||||
    if (is_open()) {
 | 
					    if (is_open()) {
 | 
				
			||||||
        $(".dropdown").removeClass("open");
 | 
					        $(".dropdown").removeClass("open");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -2,6 +2,8 @@ import $ from "jquery";
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const t1 = performance.now();
 | 
					const t1 = performance.now();
 | 
				
			||||||
export const page_params: {
 | 
					export const page_params: {
 | 
				
			||||||
 | 
					    apps_page_url: string;
 | 
				
			||||||
 | 
					    corporate_enabled: boolean;
 | 
				
			||||||
    language_list: {
 | 
					    language_list: {
 | 
				
			||||||
        code: string;
 | 
					        code: string;
 | 
				
			||||||
        locale: string;
 | 
					        locale: string;
 | 
				
			||||||
@@ -14,6 +16,7 @@ export const page_params: {
 | 
				
			|||||||
    is_moderator: boolean;
 | 
					    is_moderator: boolean;
 | 
				
			||||||
    is_owner: boolean;
 | 
					    is_owner: boolean;
 | 
				
			||||||
    is_spectator: boolean;
 | 
					    is_spectator: boolean;
 | 
				
			||||||
 | 
					    promote_sponsoring_zulip: boolean;
 | 
				
			||||||
    realm_add_custom_emoji_policy: number;
 | 
					    realm_add_custom_emoji_policy: number;
 | 
				
			||||||
    realm_avatar_changes_disabled: boolean;
 | 
					    realm_avatar_changes_disabled: boolean;
 | 
				
			||||||
    realm_create_private_stream_policy: number;
 | 
					    realm_create_private_stream_policy: number;
 | 
				
			||||||
@@ -27,6 +30,9 @@ export const page_params: {
 | 
				
			|||||||
    realm_invite_to_stream_policy: number;
 | 
					    realm_invite_to_stream_policy: number;
 | 
				
			||||||
    realm_move_messages_between_streams_policy: number;
 | 
					    realm_move_messages_between_streams_policy: number;
 | 
				
			||||||
    realm_name_changes_disabled: boolean;
 | 
					    realm_name_changes_disabled: boolean;
 | 
				
			||||||
 | 
					    realm_name: string;
 | 
				
			||||||
 | 
					    realm_org_type: number;
 | 
				
			||||||
 | 
					    realm_plan_type: number;
 | 
				
			||||||
    realm_push_notifications_enabled: boolean;
 | 
					    realm_push_notifications_enabled: boolean;
 | 
				
			||||||
    realm_sentry_key: string | undefined;
 | 
					    realm_sentry_key: string | undefined;
 | 
				
			||||||
    realm_uri: string;
 | 
					    realm_uri: string;
 | 
				
			||||||
@@ -35,15 +41,20 @@ export const page_params: {
 | 
				
			|||||||
    request_language: string;
 | 
					    request_language: string;
 | 
				
			||||||
    server_avatar_changes_disabled: boolean;
 | 
					    server_avatar_changes_disabled: boolean;
 | 
				
			||||||
    server_name_changes_disabled: boolean;
 | 
					    server_name_changes_disabled: boolean;
 | 
				
			||||||
 | 
					    server_needs_upgrade: boolean;
 | 
				
			||||||
    server_sentry_dsn: string | undefined;
 | 
					    server_sentry_dsn: string | undefined;
 | 
				
			||||||
    server_sentry_environment: string | undefined;
 | 
					    server_sentry_environment: string | undefined;
 | 
				
			||||||
    server_sentry_sample_rate: number | undefined;
 | 
					    server_sentry_sample_rate: number | undefined;
 | 
				
			||||||
    server_sentry_trace_rate: number | undefined;
 | 
					    server_sentry_trace_rate: number | undefined;
 | 
				
			||||||
    server_web_public_streams_enabled: boolean;
 | 
					    server_web_public_streams_enabled: boolean;
 | 
				
			||||||
 | 
					    show_billing: boolean;
 | 
				
			||||||
 | 
					    show_plans: boolean;
 | 
				
			||||||
 | 
					    show_webathena: boolean;
 | 
				
			||||||
    translation_data: Record<string, string>;
 | 
					    translation_data: Record<string, string>;
 | 
				
			||||||
    user_id: number | undefined;
 | 
					    user_id: number | undefined;
 | 
				
			||||||
    webpack_public_path: string;
 | 
					    webpack_public_path: string;
 | 
				
			||||||
    zulip_plan_is_not_limited: boolean;
 | 
					    zulip_plan_is_not_limited: boolean;
 | 
				
			||||||
 | 
					    zulip_merge_base: string;
 | 
				
			||||||
    zulip_version: string;
 | 
					    zulip_version: string;
 | 
				
			||||||
    muted_users: {id: number; timestamp: number}[];
 | 
					    muted_users: {id: number; timestamp: number}[];
 | 
				
			||||||
} = $("#page-params").remove().data("params");
 | 
					} = $("#page-params").remove().data("params");
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user