diff --git a/web/src/group_setting_pill.ts b/web/src/group_setting_pill.ts index 54551ea754..dce99f07fe 100644 --- a/web/src/group_setting_pill.ts +++ b/web/src/group_setting_pill.ts @@ -13,10 +13,14 @@ import * as user_groups from "./user_groups"; import type {UserGroup} from "./user_groups"; import * as user_pill from "./user_pill"; -function check_group_allowed_for_setting(group_item: UserGroupPill, setting_name: string): boolean { +function check_group_allowed_for_setting( + group_item: UserGroupPill, + setting_name: string, + setting_type: "realm" | "stream" | "group", +): boolean { const group_setting_config = group_permission_settings.get_group_permission_setting_config( setting_name, - "group", + setting_type, ); assert(group_setting_config !== undefined); @@ -46,7 +50,9 @@ export function create_item_from_text( if (group_item) { const setting_name = pill_config?.setting_name; assert(setting_name !== undefined); - if (check_group_allowed_for_setting(group_item, setting_name)) { + const setting_type = pill_config?.setting_type; + assert(setting_type !== undefined); + if (check_group_allowed_for_setting(group_item, setting_name, setting_type)) { return group_item; } @@ -91,6 +97,7 @@ export function generate_pill_html(item: GroupSettingPill): string { export function create_pills( $pill_container: JQuery, setting_name: string, + setting_type: "realm" | "stream" | "group", ): GroupSettingPillContainer { const pill_widget = input_pill.create({ $container: $pill_container, @@ -100,6 +107,7 @@ export function create_pills( generate_pill_html, pill_config: { setting_name, + setting_type, }, }); return pill_widget; diff --git a/web/src/input_pill.ts b/web/src/input_pill.ts index 428192a8c3..c47c18a998 100644 --- a/web/src/input_pill.ts +++ b/web/src/input_pill.ts @@ -14,6 +14,7 @@ import * as util from "./util"; export type InputPillConfig = { exclude_inaccessible_users?: boolean; setting_name?: string; + setting_type?: "realm" | "stream" | "group"; }; type InputPillCreateOptions = { diff --git a/web/src/settings_components.ts b/web/src/settings_components.ts index 323dd7e3bf..16bd0ba66f 100644 --- a/web/src/settings_components.ts +++ b/web/src/settings_components.ts @@ -1452,7 +1452,11 @@ export function create_group_setting_widget({ setting_type: "realm" | "stream" | "group"; group?: UserGroup; }): void { - const pill_widget = group_setting_pill.create_pills($pill_container, setting_name); + const pill_widget = group_setting_pill.create_pills( + $pill_container, + setting_name, + setting_type, + ); const opts = { setting_name, setting_type,