From e643d7e6fdbc2216b3985bdf54b68e29476abe98 Mon Sep 17 00:00:00 2001 From: Sahil Batra Date: Thu, 5 Jun 2025 16:59:30 +0530 Subject: [PATCH] dropdown-list-widget: Allow customization for "Disable" option. We currently always show fa-ban icon and "Disable" text for "Disabled" or "None selected" option in dropdown-list widget. This commit adds code to provide an option for not showing the fa-ban icon and having the option text be something other than "Disable". This will be used in channel folder dropdown widget where we want to have "None" text in the option without icon. --- web/src/settings_org.ts | 4 ++++ web/templates/dropdown_list.hbs | 11 ++++++++++- web/tests/settings_org.test.cjs | 16 ++++++++++++++-- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/web/src/settings_org.ts b/web/src/settings_org.ts index 5123bbc9f8..5dcd3f30ed 100644 --- a/web/src/settings_org.ts +++ b/web/src/settings_org.ts @@ -1121,6 +1121,8 @@ export let init_dropdown_widgets = (): void => { const disabled_option = { is_setting_disabled: true, + show_disabled_icon: true, + show_disabled_option_name: false, unique_id: DISABLED_STATE_ID, name: $t({defaultMessage: "Disabled"}), }; @@ -1169,6 +1171,8 @@ export const combined_code_language_options = (): dropdown_widget.Option[] => { const disabled_option = { is_setting_disabled: true, + show_disabled_icon: true, + show_disabled_option_name: false, unique_id: "", name: $t({defaultMessage: "No language set"}), }; diff --git a/web/templates/dropdown_list.hbs b/web/templates/dropdown_list.hbs index 86fd546880..0b4de86ade 100644 --- a/web/templates/dropdown_list.hbs +++ b/web/templates/dropdown_list.hbs @@ -26,7 +26,16 @@ {{else if is_direct_message}} {{name}} {{else if is_setting_disabled}} - {{t "Disable" }} + + {{#if show_disabled_icon}} + + {{/if}} + {{#if show_disabled_option_name}} + {{name}} + {{else}} + {{t "Disable" }} + {{/if}} + {{else}} {{#if bold_current_selection}} {{name}} diff --git a/web/tests/settings_org.test.cjs b/web/tests/settings_org.test.cjs index 2cf5d6e29c..4d9225f383 100644 --- a/web/tests/settings_org.test.cjs +++ b/web/tests/settings_org.test.cjs @@ -718,7 +718,13 @@ test("test combined_code_language_options", ({override}) => { })); const expected_options_without_realm_playgrounds = [ - {is_setting_disabled: true, unique_id: "", name: $t({defaultMessage: "No language set"})}, + { + is_setting_disabled: true, + unique_id: "", + name: $t({defaultMessage: "No language set"}), + show_disabled_icon: true, + show_disabled_option_name: false, + }, ...default_options, ]; @@ -731,7 +737,13 @@ test("test combined_code_language_options", ({override}) => { ]); const expected_options_with_realm_playgrounds = [ - {is_setting_disabled: true, unique_id: "", name: $t({defaultMessage: "No language set"})}, + { + is_setting_disabled: true, + unique_id: "", + name: $t({defaultMessage: "No language set"}), + show_disabled_icon: true, + show_disabled_option_name: false, + }, {unique_id: "custom_lang_1", name: "custom_lang_1"}, {unique_id: "custom_lang_2", name: "custom_lang_2"}, ...default_options,