mirror of https://github.com/zulip/zulip.git
settings_components: Fix TypeScript noUncheckedIndexedAccess errors.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
fcf2e607c2
commit
11ab831e41
|
@ -34,15 +34,12 @@ type SettingOptionValueWithKey = SettingOptionValue & {key: string};
|
||||||
export function get_sorted_options_list(
|
export function get_sorted_options_list(
|
||||||
option_values_object: Record<string, SettingOptionValue>,
|
option_values_object: Record<string, SettingOptionValue>,
|
||||||
): SettingOptionValueWithKey[] {
|
): SettingOptionValueWithKey[] {
|
||||||
const options_list: SettingOptionValueWithKey[] = Object.keys(option_values_object).map(
|
const options_list: SettingOptionValueWithKey[] = Object.entries(option_values_object).map(
|
||||||
(key: string) => ({
|
([key, value]) => ({...value, key}),
|
||||||
...option_values_object[key],
|
|
||||||
key,
|
|
||||||
}),
|
|
||||||
);
|
);
|
||||||
let comparator: (x: SettingOptionValueWithKey, y: SettingOptionValueWithKey) => number;
|
let comparator: (x: SettingOptionValueWithKey, y: SettingOptionValueWithKey) => number;
|
||||||
|
|
||||||
if (!options_list[0].order) {
|
if (options_list[0] !== undefined && !options_list[0].order) {
|
||||||
comparator = (x, y) => {
|
comparator = (x, y) => {
|
||||||
const key_x = x.key.toUpperCase();
|
const key_x = x.key.toUpperCase();
|
||||||
const key_y = y.key.toUpperCase();
|
const key_y = y.key.toUpperCase();
|
||||||
|
@ -172,14 +169,14 @@ export function get_property_value(
|
||||||
}
|
}
|
||||||
|
|
||||||
export function realm_authentication_methods_to_boolean_dict(): Record<string, boolean> {
|
export function realm_authentication_methods_to_boolean_dict(): Record<string, boolean> {
|
||||||
const auth_method_to_bool: Record<string, boolean> = {};
|
return Object.fromEntries(
|
||||||
for (const [auth_method_name, auth_method_info] of Object.entries(
|
Object.entries(realm.realm_authentication_methods)
|
||||||
realm.realm_authentication_methods,
|
.sort()
|
||||||
)) {
|
.map(([auth_method_name, auth_method_info]) => [
|
||||||
auth_method_to_bool[auth_method_name] = auth_method_info.enabled;
|
auth_method_name,
|
||||||
}
|
auth_method_info.enabled,
|
||||||
|
]),
|
||||||
return sort_object_by_key(auth_method_to_bool);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function extract_property_name($elem: JQuery, for_realm_default_settings?: boolean): string {
|
export function extract_property_name($elem: JQuery, for_realm_default_settings?: boolean): string {
|
||||||
|
@ -476,17 +473,6 @@ function get_field_data_input_value($input_elem: JQuery): string | undefined {
|
||||||
return JSON.stringify(proposed_value);
|
return JSON.stringify(proposed_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function sort_object_by_key(obj: Record<string, boolean>): Record<string, boolean> {
|
|
||||||
const keys = Object.keys(obj).sort();
|
|
||||||
const new_obj: Record<string, boolean> = {};
|
|
||||||
|
|
||||||
for (const key of keys) {
|
|
||||||
new_obj[key] = obj[key];
|
|
||||||
}
|
|
||||||
|
|
||||||
return new_obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
export let default_code_language_widget: DropdownWidget | null = null;
|
export let default_code_language_widget: DropdownWidget | null = null;
|
||||||
export let new_stream_announcements_stream_widget: DropdownWidget | null = null;
|
export let new_stream_announcements_stream_widget: DropdownWidget | null = null;
|
||||||
export let signup_announcements_stream_widget: DropdownWidget | null = null;
|
export let signup_announcements_stream_widget: DropdownWidget | null = null;
|
||||||
|
|
Loading…
Reference in New Issue