mirror of
https://github.com/zulip/zulip.git
synced 2025-11-22 23:43:38 +00:00
settings: Use new settings UI for create_multiuse_invite_group.
This commit is contained in:
@@ -27,7 +27,7 @@ import * as scroll_util from "./scroll_util";
|
||||
import * as settings_config from "./settings_config";
|
||||
import * as settings_data from "./settings_data";
|
||||
import type {CustomProfileField, GroupSettingValue} from "./state_data";
|
||||
import {current_user, realm, realm_schema} from "./state_data";
|
||||
import {current_user, group_setting_value_schema, realm, realm_schema} from "./state_data";
|
||||
import * as stream_data from "./stream_data";
|
||||
import type {StreamSubscription} from "./sub_store";
|
||||
import {stream_subscription_schema} from "./sub_store";
|
||||
@@ -488,7 +488,6 @@ const dropdown_widget_map = new Map<string, DropdownWidget | null>([
|
||||
["realm_can_delete_own_message_group", null],
|
||||
["realm_can_manage_all_groups", null],
|
||||
["realm_can_move_messages_between_channels_group", null],
|
||||
["realm_create_multiuse_invite_group", null],
|
||||
["realm_direct_message_initiator_group", null],
|
||||
["realm_direct_message_permission_group", null],
|
||||
]);
|
||||
@@ -801,7 +800,6 @@ export function check_realm_settings_property_changed(elem: HTMLElement): boolea
|
||||
case "realm_signup_announcements_stream_id":
|
||||
case "realm_zulip_update_announcements_stream_id":
|
||||
case "realm_default_code_block_language":
|
||||
case "realm_create_multiuse_invite_group":
|
||||
case "realm_can_access_all_users_group":
|
||||
case "realm_can_add_custom_emoji_group":
|
||||
case "realm_can_create_groups":
|
||||
@@ -816,6 +814,12 @@ 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_create_multiuse_invite_group": {
|
||||
const pill_widget = get_group_setting_widget(property_name);
|
||||
assert(pill_widget !== null);
|
||||
proposed_val = get_group_setting_widget_value(pill_widget);
|
||||
break;
|
||||
}
|
||||
case "realm_message_content_edit_limit_seconds":
|
||||
case "realm_message_content_delete_limit_seconds":
|
||||
case "realm_move_messages_between_streams_limit_seconds":
|
||||
@@ -844,7 +848,7 @@ export function check_realm_settings_property_changed(elem: HTMLElement): boolea
|
||||
blueslip.error("Element refers to unknown property", {property_name});
|
||||
}
|
||||
}
|
||||
return current_val !== proposed_val;
|
||||
return !_.isEqual(current_val, proposed_val);
|
||||
}
|
||||
|
||||
export function check_stream_settings_property_changed(
|
||||
@@ -1426,6 +1430,7 @@ export const group_setting_widget_map = new Map<string, GroupSettingPillContaine
|
||||
["can_leave_group", null],
|
||||
["can_manage_group", null],
|
||||
["can_mention_group", null],
|
||||
["realm_create_multiuse_invite_group", null],
|
||||
]);
|
||||
|
||||
export function get_group_setting_widget(setting_name: string): GroupSettingPillContainer | null {
|
||||
@@ -1525,3 +1530,41 @@ export function create_group_setting_widget({
|
||||
|
||||
return pill_widget;
|
||||
}
|
||||
|
||||
type realm_group_setting_name = "create_multiuse_invite_group";
|
||||
export function create_realm_group_setting_widget({
|
||||
$pill_container,
|
||||
setting_name,
|
||||
}: {
|
||||
$pill_container: JQuery;
|
||||
setting_name: realm_group_setting_name;
|
||||
}): void {
|
||||
const pill_widget = group_setting_pill.create_pills($pill_container, setting_name, "realm");
|
||||
const opts: {
|
||||
setting_name: string;
|
||||
setting_type: "realm";
|
||||
} = {
|
||||
setting_name,
|
||||
setting_type: "realm",
|
||||
};
|
||||
group_setting_pill.set_up_pill_typeahead({pill_widget, $pill_container, opts});
|
||||
|
||||
group_setting_widget_map.set("realm_" + setting_name, pill_widget);
|
||||
|
||||
set_group_setting_widget_value(
|
||||
pill_widget,
|
||||
group_setting_value_schema.parse(
|
||||
realm[realm_schema.keyof().parse("realm_" + setting_name)],
|
||||
),
|
||||
);
|
||||
|
||||
const $save_discard_widget_container = $(`#id_realm_${CSS.escape(setting_name)}`).closest(
|
||||
".settings-subsection-parent",
|
||||
);
|
||||
pill_widget.onPillCreate(() => {
|
||||
save_discard_realm_settings_widget_status_handler($save_discard_widget_container);
|
||||
});
|
||||
pill_widget.onPillRemove(() => {
|
||||
save_discard_realm_settings_widget_status_handler($save_discard_widget_container);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user