settings: Use new pills UI for move message permission settings.

This commit is contained in:
Sahil Batra
2024-10-30 12:20:59 +05:30
committed by Tim Abbott
parent d9f4c473fb
commit b8bc20e87c
4 changed files with 26 additions and 16 deletions

View File

@@ -481,8 +481,6 @@ const dropdown_widget_map = new Map<string, DropdownWidget | null>([
["realm_can_create_web_public_channel_group", null], ["realm_can_create_web_public_channel_group", null],
["realm_can_delete_any_message_group", null], ["realm_can_delete_any_message_group", null],
["realm_can_delete_own_message_group", null], ["realm_can_delete_own_message_group", null],
["realm_can_move_messages_between_channels_group", null],
["realm_can_move_messages_between_topics_group", null],
]); ]);
export function get_widget_for_dropdown_list_settings( export function get_widget_for_dropdown_list_settings(
@@ -797,8 +795,6 @@ export function check_realm_settings_property_changed(elem: HTMLElement): boolea
case "realm_can_create_web_public_channel_group": case "realm_can_create_web_public_channel_group":
case "realm_can_delete_any_message_group": case "realm_can_delete_any_message_group":
case "realm_can_delete_own_message_group": case "realm_can_delete_own_message_group":
case "realm_can_move_messages_between_channels_group":
case "realm_can_move_messages_between_topics_group":
proposed_val = get_dropdown_list_widget_setting_value($elem); proposed_val = get_dropdown_list_widget_setting_value($elem);
break; break;
case "realm_can_add_custom_emoji_group": case "realm_can_add_custom_emoji_group":
@@ -806,6 +802,8 @@ export function check_realm_settings_property_changed(elem: HTMLElement): boolea
case "realm_can_create_public_channel_group": case "realm_can_create_public_channel_group":
case "realm_can_create_private_channel_group": case "realm_can_create_private_channel_group":
case "realm_can_manage_all_groups": case "realm_can_manage_all_groups":
case "realm_can_move_messages_between_channels_group":
case "realm_can_move_messages_between_topics_group":
case "realm_create_multiuse_invite_group": case "realm_create_multiuse_invite_group":
case "realm_direct_message_initiator_group": case "realm_direct_message_initiator_group":
case "realm_direct_message_permission_group": { case "realm_direct_message_permission_group": {
@@ -1473,6 +1471,8 @@ export const group_setting_widget_map = new Map<string, GroupSettingPillContaine
["realm_can_create_public_channel_group", null], ["realm_can_create_public_channel_group", null],
["realm_can_create_private_channel_group", null], ["realm_can_create_private_channel_group", null],
["realm_can_manage_all_groups", null], ["realm_can_manage_all_groups", null],
["realm_can_move_messages_between_channels_group", null],
["realm_can_move_messages_between_topics_group", null],
["realm_create_multiuse_invite_group", null], ["realm_create_multiuse_invite_group", null],
["realm_direct_message_initiator_group", null], ["realm_direct_message_initiator_group", null],
["realm_direct_message_permission_group", null], ["realm_direct_message_permission_group", null],
@@ -1582,6 +1582,8 @@ type realm_group_setting_name =
| "can_create_public_channel_group" | "can_create_public_channel_group"
| "can_create_private_channel_group" | "can_create_private_channel_group"
| "can_manage_all_groups" | "can_manage_all_groups"
| "can_move_messages_between_channels_group"
| "can_move_messages_between_topics_group"
| "create_multiuse_invite_group" | "create_multiuse_invite_group"
| "direct_message_initiator_group" | "direct_message_initiator_group"
| "direct_message_permission_group"; | "direct_message_permission_group";

View File

@@ -515,8 +515,6 @@ export function discard_realm_property_element_changes(elem: HTMLElement): void
case "realm_can_create_web_public_channel_group": case "realm_can_create_web_public_channel_group":
case "realm_can_delete_any_message_group": case "realm_can_delete_any_message_group":
case "realm_can_delete_own_message_group": case "realm_can_delete_own_message_group":
case "realm_can_move_messages_between_channels_group":
case "realm_can_move_messages_between_topics_group":
assert(typeof property_value === "string" || typeof property_value === "number"); assert(typeof property_value === "string" || typeof property_value === "number");
settings_components.set_dropdown_list_widget_setting_value( settings_components.set_dropdown_list_widget_setting_value(
property_name, property_name,
@@ -528,6 +526,8 @@ export function discard_realm_property_element_changes(elem: HTMLElement): void
case "realm_can_create_public_channel_group": case "realm_can_create_public_channel_group":
case "realm_can_create_private_channel_group": case "realm_can_create_private_channel_group":
case "realm_can_manage_all_groups": case "realm_can_manage_all_groups":
case "realm_can_move_messages_between_channels_group":
case "realm_can_move_messages_between_topics_group":
case "realm_create_multiuse_invite_group": case "realm_create_multiuse_invite_group":
case "realm_direct_message_initiator_group": case "realm_direct_message_initiator_group":
case "realm_direct_message_permission_group": { case "realm_direct_message_permission_group": {
@@ -887,6 +887,8 @@ export function set_up_dropdown_widget_for_realm_group_settings(): void {
"can_create_public_channel_group", "can_create_public_channel_group",
"can_create_private_channel_group", "can_create_private_channel_group",
"can_manage_all_groups", "can_manage_all_groups",
"can_move_messages_between_channels_group",
"can_move_messages_between_topics_group",
"create_multiuse_invite_group", "create_multiuse_invite_group",
"direct_message_initiator_group", "direct_message_initiator_group",
"direct_message_permission_group", "direct_message_permission_group",
@@ -1094,6 +1096,14 @@ function initialize_group_setting_widgets(): void {
$pill_container: $("#id_realm_can_add_custom_emoji_group"), $pill_container: $("#id_realm_can_add_custom_emoji_group"),
setting_name: "can_add_custom_emoji_group", setting_name: "can_add_custom_emoji_group",
}); });
settings_components.create_realm_group_setting_widget({
$pill_container: $("#id_realm_can_move_messages_between_channels_group"),
setting_name: "can_move_messages_between_channels_group",
});
settings_components.create_realm_group_setting_widget({
$pill_container: $("#id_realm_can_move_messages_between_topics_group"),
setting_name: "can_move_messages_between_topics_group",
});
enable_or_disable_group_permission_settings(); enable_or_disable_group_permission_settings();
check_disable_direct_message_initiator_group_widget(); check_disable_direct_message_initiator_group_widget();

View File

@@ -295,8 +295,8 @@ export const realm_schema = z.object({
realm_can_delete_any_message_group: z.number(), realm_can_delete_any_message_group: z.number(),
realm_can_delete_own_message_group: z.number(), realm_can_delete_own_message_group: z.number(),
realm_can_manage_all_groups: group_setting_value_schema, realm_can_manage_all_groups: group_setting_value_schema,
realm_can_move_messages_between_channels_group: z.number(), realm_can_move_messages_between_channels_group: group_setting_value_schema,
realm_can_move_messages_between_topics_group: z.number(), realm_can_move_messages_between_topics_group: group_setting_value_schema,
realm_create_multiuse_invite_group: group_setting_value_schema, realm_create_multiuse_invite_group: group_setting_value_schema,
realm_date_created: z.number(), realm_date_created: z.number(),
realm_default_code_block_language: z.string(), realm_default_code_block_language: z.string(),

View File

@@ -173,10 +173,9 @@
{{> settings_save_discard_widget section_name="moving-msgs" }} {{> settings_save_discard_widget section_name="moving-msgs" }}
</div> </div>
{{> ../dropdown_widget_with_label {{> group_setting_value_pill_input
widget_name="realm_can_move_messages_between_topics_group" setting_name="realm_can_move_messages_between_topics_group"
label=(t 'Who can move messages to another topic') label=(t 'Who can move messages to another topic')}}
value_type="number" }}
<div class="input-group time-limit-setting"> <div class="input-group time-limit-setting">
<label for="realm_move_messages_within_stream_limit_seconds" class="settings-field-label">{{t "Time limit for editing topics" }} <i>({{t "does not apply to moderators and administrators" }})</i></label> <label for="realm_move_messages_within_stream_limit_seconds" class="settings-field-label">{{t "Time limit for editing topics" }} <i>({{t "does not apply to moderators and administrators" }})</i></label>
@@ -196,10 +195,9 @@
</div> </div>
</div> </div>
{{> ../dropdown_widget_with_label {{> group_setting_value_pill_input
widget_name="realm_can_move_messages_between_channels_group" setting_name="realm_can_move_messages_between_channels_group"
label=(t 'Who can move messages to another channel') label=(t 'Who can move messages to another channel')}}
value_type="number" }}
<div class="input-group time-limit-setting"> <div class="input-group time-limit-setting">
<label for="realm_move_messages_between_streams_limit_seconds" class="settings-field-label">{{t "Time limit for moving messages between channels" }} <i>({{t "does not apply to moderators and administrators" }})</i></label> <label for="realm_move_messages_between_streams_limit_seconds" class="settings-field-label">{{t "Time limit for moving messages between channels" }} <i>({{t "does not apply to moderators and administrators" }})</i></label>