mirror of
https://github.com/zulip/zulip.git
synced 2025-11-22 07:21:23 +00:00
settings: Refactor code to get group setting pill widget value.
This commit refactors get_group_setting_widget_value function to accept pill widget as parameter instead of setting name. This is a prep commit for not needing to store the widgets for group creation form in settings_components.group_setting_widget_map.
This commit is contained in:
@@ -698,8 +698,12 @@ export function get_input_element_value(
|
|||||||
return $input_elem.find(".language_selection_button span").attr("data-language-code");
|
return $input_elem.find(".language_selection_button span").attr("data-language-code");
|
||||||
case "auth-methods":
|
case "auth-methods":
|
||||||
return JSON.stringify(get_auth_method_list_data());
|
return JSON.stringify(get_auth_method_list_data());
|
||||||
case "group-setting-type":
|
case "group-setting-type": {
|
||||||
return get_group_setting_widget_value($input_elem);
|
const setting_name = extract_property_name($input_elem);
|
||||||
|
const pill_widget = get_group_setting_widget(setting_name);
|
||||||
|
assert(pill_widget !== null);
|
||||||
|
return get_group_setting_widget_value(pill_widget);
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
@@ -875,11 +879,9 @@ export function check_stream_settings_property_changed(
|
|||||||
return current_val !== proposed_val;
|
return current_val !== proposed_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function get_group_setting_widget_value($input_elem: JQuery): GroupSettingType {
|
export function get_group_setting_widget_value(
|
||||||
const setting_name = extract_property_name($input_elem);
|
pill_widget: GroupSettingPillContainer,
|
||||||
const pill_widget = get_group_setting_widget(setting_name);
|
): GroupSettingType {
|
||||||
assert(pill_widget !== null);
|
|
||||||
|
|
||||||
const setting_pills = pill_widget.items();
|
const setting_pills = pill_widget.items();
|
||||||
const direct_subgroups: number[] = [];
|
const direct_subgroups: number[] = [];
|
||||||
const direct_members: number[] = [];
|
const direct_members: number[] = [];
|
||||||
@@ -915,9 +917,12 @@ export function check_group_property_changed(elem: HTMLElement, group: UserGroup
|
|||||||
const current_val = get_group_property_value(property_name, group);
|
const current_val = get_group_property_value(property_name, group);
|
||||||
let proposed_val;
|
let proposed_val;
|
||||||
switch (property_name) {
|
switch (property_name) {
|
||||||
case "can_manage_group":
|
case "can_manage_group": {
|
||||||
proposed_val = get_group_setting_widget_value($elem);
|
const pill_widget = get_group_setting_widget(property_name);
|
||||||
|
assert(pill_widget !== null);
|
||||||
|
proposed_val = get_group_setting_widget_value(pill_widget);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case "can_mention_group":
|
case "can_mention_group":
|
||||||
proposed_val = get_dropdown_list_widget_setting_value($elem);
|
proposed_val = get_dropdown_list_widget_setting_value($elem);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -150,9 +150,9 @@ function create_user_group(): void {
|
|||||||
}
|
}
|
||||||
const user_ids = user_group_create_members.get_principals();
|
const user_ids = user_group_create_members.get_principals();
|
||||||
|
|
||||||
const can_manage_group = settings_components.get_group_setting_widget_value(
|
const pill_widget = settings_components.get_group_setting_widget("new_group_can_manage_group");
|
||||||
$("#id_new_group_can_manage_group"),
|
assert(pill_widget !== null);
|
||||||
);
|
const can_manage_group = settings_components.get_group_setting_widget_value(pill_widget);
|
||||||
|
|
||||||
assert(settings_components.new_group_can_mention_group_widget !== null);
|
assert(settings_components.new_group_can_mention_group_widget !== null);
|
||||||
const can_mention_group_value = settings_components.new_group_can_mention_group_widget.value();
|
const can_mention_group_value = settings_components.new_group_can_mention_group_widget.value();
|
||||||
|
|||||||
Reference in New Issue
Block a user