mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	stream: Loop over group settings for setup_group_setting_widgets.
We won't have to add another block of code here when adding a new setting in the future.
This commit is contained in:
		
				
					committed by
					
						
						Tim Abbott
					
				
			
			
				
	
			
			
			
						parent
						
							dbf9f2d181
						
					
				
				
					commit
					217bd0a334
				
			@@ -30,7 +30,10 @@ import type {CustomProfileField, GroupSettingValue} from "./state_data.ts";
 | 
			
		||||
import {current_user, realm, realm_schema} from "./state_data.ts";
 | 
			
		||||
import * as stream_data from "./stream_data.ts";
 | 
			
		||||
import * as stream_settings_containers from "./stream_settings_containers.ts";
 | 
			
		||||
import type {StreamPermissionGroupSetting} from "./stream_types.ts";
 | 
			
		||||
import {
 | 
			
		||||
    type StreamPermissionGroupSetting,
 | 
			
		||||
    stream_permission_group_settings_schema,
 | 
			
		||||
} from "./stream_types.ts";
 | 
			
		||||
import type {StreamSubscription} from "./sub_store.ts";
 | 
			
		||||
import {stream_subscription_schema} from "./sub_store.ts";
 | 
			
		||||
import type {GroupSettingPillContainer} from "./typeahead_helper.ts";
 | 
			
		||||
@@ -1104,8 +1107,7 @@ export function populate_data_for_stream_settings_request(
 | 
			
		||||
                    continue;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                const stream_group_settings = new Set(["can_remove_subscribers_group"]);
 | 
			
		||||
                if (stream_group_settings.has(property_name)) {
 | 
			
		||||
                if (stream_permission_group_settings_schema.safeParse(property_name).success) {
 | 
			
		||||
                    const old_value = get_stream_settings_property_value(
 | 
			
		||||
                        stream_settings_property_schema.parse(property_name),
 | 
			
		||||
                        sub,
 | 
			
		||||
@@ -1386,7 +1388,7 @@ function should_disable_save_button_for_group_settings(settings: string[]): bool
 | 
			
		||||
                setting_name_without_prefix,
 | 
			
		||||
                "realm",
 | 
			
		||||
            );
 | 
			
		||||
        } else if (setting_name === "can_remove_subscribers_group") {
 | 
			
		||||
        } else if (stream_permission_group_settings_schema.safeParse(setting_name).success) {
 | 
			
		||||
            group_setting_config = group_permission_settings.get_group_permission_setting_config(
 | 
			
		||||
                setting_name,
 | 
			
		||||
                "stream",
 | 
			
		||||
 
 | 
			
		||||
@@ -38,6 +38,7 @@ import * as stream_settings_containers from "./stream_settings_containers.ts";
 | 
			
		||||
import * as stream_settings_data from "./stream_settings_data.ts";
 | 
			
		||||
import type {SettingsSubscription} from "./stream_settings_data.ts";
 | 
			
		||||
import {
 | 
			
		||||
    stream_permission_group_settings_schema,
 | 
			
		||||
    stream_properties_schema,
 | 
			
		||||
    stream_specific_notification_settings_schema,
 | 
			
		||||
} from "./stream_types.ts";
 | 
			
		||||
@@ -233,11 +234,13 @@ export function stream_settings(sub: StreamSubscription): StreamSetting[] {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setup_group_setting_widgets(sub: StreamSubscription): void {
 | 
			
		||||
    settings_components.create_stream_group_setting_widget({
 | 
			
		||||
        $pill_container: $("#id_can_remove_subscribers_group"),
 | 
			
		||||
        setting_name: "can_remove_subscribers_group",
 | 
			
		||||
        sub,
 | 
			
		||||
    });
 | 
			
		||||
    for (const setting_name of Object.keys(realm.server_supported_permission_settings.stream)) {
 | 
			
		||||
        settings_components.create_stream_group_setting_widget({
 | 
			
		||||
            $pill_container: $("#id_" + setting_name),
 | 
			
		||||
            setting_name: stream_permission_group_settings_schema.parse(setting_name),
 | 
			
		||||
            sub,
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function show_settings_for(node: HTMLElement): void {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user