settings: Use pills UI for channel creation settings.

We now use new pills UI for public and private channel
creation settings. The UI for web-public channel
creation setting is still a dropdown as we allow only
system groups for that.
This commit is contained in:
Sahil Batra
2024-10-28 16:39:28 +05:30
committed by Tim Abbott
parent 60b12367cc
commit c8e906d49e
4 changed files with 69 additions and 18 deletions

View File

@@ -481,8 +481,6 @@ const dropdown_widget_map = new Map<string, DropdownWidget | null>([
["realm_can_access_all_users_group", null],
["realm_can_add_custom_emoji_group", null],
["realm_can_create_groups", null],
["realm_can_create_public_channel_group", null],
["realm_can_create_private_channel_group", null],
["realm_can_create_web_public_channel_group", null],
["realm_can_delete_any_message_group", null],
["realm_can_delete_own_message_group", null],
@@ -803,8 +801,6 @@ export function check_realm_settings_property_changed(elem: HTMLElement): boolea
case "realm_can_access_all_users_group":
case "realm_can_add_custom_emoji_group":
case "realm_can_create_groups":
case "realm_can_create_public_channel_group":
case "realm_can_create_private_channel_group":
case "realm_can_create_web_public_channel_group":
case "realm_can_delete_any_message_group":
case "realm_can_delete_own_message_group":
@@ -814,6 +810,8 @@ export function check_realm_settings_property_changed(elem: HTMLElement): boolea
case "realm_direct_message_permission_group":
proposed_val = get_dropdown_list_widget_setting_value($elem);
break;
case "realm_can_create_public_channel_group":
case "realm_can_create_private_channel_group":
case "realm_create_multiuse_invite_group": {
const pill_widget = get_group_setting_widget(property_name);
assert(pill_widget !== null);
@@ -1430,6 +1428,8 @@ export const group_setting_widget_map = new Map<string, GroupSettingPillContaine
["can_leave_group", null],
["can_manage_group", null],
["can_mention_group", null],
["realm_can_create_public_channel_group", null],
["realm_can_create_private_channel_group", null],
["realm_create_multiuse_invite_group", null],
]);
@@ -1531,7 +1531,10 @@ export function create_group_setting_widget({
return pill_widget;
}
type realm_group_setting_name = "create_multiuse_invite_group";
type realm_group_setting_name =
| "can_create_public_channel_group"
| "can_create_private_channel_group"
| "create_multiuse_invite_group";
export function create_realm_group_setting_widget({
$pill_container,
setting_name,