js: Convert static/js/settings_ui.js to ES6 module.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2021-02-10 08:09:37 -08:00
committed by Tim Abbott
parent 2ee29972ac
commit e16687af83
12 changed files with 20 additions and 20 deletions

View File

@@ -248,7 +248,6 @@
"settings_sections": false, "settings_sections": false,
"settings_streams": false, "settings_streams": false,
"settings_toggle": false, "settings_toggle": false,
"settings_ui": false,
"settings_user_groups": false, "settings_user_groups": false,
"settings_users": false, "settings_users": false,
"spoilers": false, "spoilers": false,

View File

@@ -90,7 +90,6 @@ const settings_account = rewiremock.proxy(() => zrequire("settings_account"), {
"../../static/js/setup": {}, "../../static/js/setup": {},
}); });
const settings_org = zrequire("settings_org"); const settings_org = zrequire("settings_org");
zrequire("settings_ui");
const dropdown_list_widget = zrequire("dropdown_list_widget"); const dropdown_list_widget = zrequire("dropdown_list_widget");
run_test("unloaded", () => { run_test("unloaded", () => {

View File

@@ -153,7 +153,6 @@ import "../emoji_picker";
import "../compose_ui"; import "../compose_ui";
import "../panels"; import "../panels";
import "../recent_topics"; import "../recent_topics";
import "../settings_ui";
import "../search_pill"; import "../search_pill";
import "../search_pill_widget"; import "../search_pill_widget";
import "../stream_ui_updates"; import "../stream_ui_updates";

View File

@@ -116,7 +116,6 @@ declare let settings_profile_fields: any;
declare let settings_sections: any; declare let settings_sections: any;
declare let settings_streams: any; declare let settings_streams: any;
declare let settings_toggle: any; declare let settings_toggle: any;
declare let settings_ui: any;
declare let settings_user_groups: any; declare let settings_user_groups: any;
declare let settings_users: any; declare let settings_users: any;
declare let starred_messages: any; declare let starred_messages: any;

View File

@@ -8,6 +8,7 @@ const render_settings_dev_env_email_access = require("../templates/settings/dev_
const people = require("./people"); const people = require("./people");
const pill_typeahead = require("./pill_typeahead"); const pill_typeahead = require("./pill_typeahead");
const settings_ui = require("./settings_ui");
const setup = require("./setup"); const setup = require("./setup");
exports.update_email = function (new_email) { exports.update_email = function (new_email) {

View File

@@ -2,6 +2,7 @@
const emojisets = require("./emojisets"); const emojisets = require("./emojisets");
const settings_config = require("./settings_config"); const settings_config = require("./settings_config");
const settings_ui = require("./settings_ui");
const meta = { const meta = {
loaded: false, loaded: false,

View File

@@ -3,6 +3,7 @@
const render_stream_specific_notification_row = require("../templates/settings/stream_specific_notification_row.hbs"); const render_stream_specific_notification_row = require("../templates/settings/stream_specific_notification_row.hbs");
const settings_config = require("./settings_config"); const settings_config = require("./settings_config");
const settings_ui = require("./settings_ui");
exports.get_notifications_table_row_data = function (notify_settings) { exports.get_notifications_table_row_data = function (notify_settings) {
return settings_config.general_notifications_table_labels.realm.map((column, index) => { return settings_config.general_notifications_table_labels.realm.map((column, index) => {

View File

@@ -5,6 +5,7 @@ const render_settings_admin_auth_methods_list = require("../templates/settings/a
const render_settings_admin_realm_domains_list = require("../templates/settings/admin_realm_domains_list.hbs"); const render_settings_admin_realm_domains_list = require("../templates/settings/admin_realm_domains_list.hbs");
const settings_config = require("./settings_config"); const settings_config = require("./settings_config");
const settings_ui = require("./settings_ui");
const meta = { const meta = {
loaded: false, loaded: false,

View File

@@ -5,6 +5,8 @@ const {default: Sortable} = require("sortablejs");
const render_admin_profile_field_list = require("../templates/admin_profile_field_list.hbs"); const render_admin_profile_field_list = require("../templates/admin_profile_field_list.hbs");
const render_settings_profile_field_choice = require("../templates/settings/profile_field_choice.hbs"); const render_settings_profile_field_choice = require("../templates/settings/profile_field_choice.hbs");
const settings_ui = require("./settings_ui");
const meta = { const meta = {
loaded: false, loaded: false,
}; };

View File

@@ -1,13 +1,11 @@
"use strict"; export function display_checkmark($elem) {
exports.display_checkmark = function ($elem) {
const check_mark = document.createElement("img"); const check_mark = document.createElement("img");
check_mark.src = "/static/images/checkbox-green.svg"; check_mark.src = "/static/images/checkbox-green.svg";
$elem.prepend(check_mark); $elem.prepend(check_mark);
$(check_mark).css("width", "13px"); $(check_mark).css("width", "13px");
}; }
exports.strings = { export const strings = {
success: i18n.t("Saved"), success: i18n.t("Saved"),
failure: i18n.t("Save failed"), failure: i18n.t("Save failed"),
saving: i18n.t("Saving"), saving: i18n.t("Saving"),
@@ -16,10 +14,10 @@ exports.strings = {
// Generic function for informing users about changes to the settings // Generic function for informing users about changes to the settings
// UI. Intended to replace the old system that was built around // UI. Intended to replace the old system that was built around
// direct calls to `ui_report`. // direct calls to `ui_report`.
exports.do_settings_change = function (request_method, url, data, status_element, opts) { export function do_settings_change(request_method, url, data, status_element, opts) {
const spinner = $(status_element).expectOne(); const spinner = $(status_element).expectOne();
spinner.fadeTo(0, 1); spinner.fadeTo(0, 1);
loading.make_indicator(spinner, {text: exports.strings.saving}); loading.make_indicator(spinner, {text: strings.saving});
let success_msg; let success_msg;
let success_continuation; let success_continuation;
let error_continuation; let error_continuation;
@@ -35,7 +33,7 @@ exports.do_settings_change = function (request_method, url, data, status_element
} }
} }
if (success_msg === undefined) { if (success_msg === undefined) {
success_msg = exports.strings.success; success_msg = strings.success;
} }
request_method({ request_method({
@@ -44,7 +42,7 @@ exports.do_settings_change = function (request_method, url, data, status_element
success(reponse_data) { success(reponse_data) {
setTimeout(() => { setTimeout(() => {
ui_report.success(success_msg, spinner, remove_after); ui_report.success(success_msg, spinner, remove_after);
exports.display_checkmark(spinner); display_checkmark(spinner);
}, appear_after); }, appear_after);
if (success_continuation !== undefined) { if (success_continuation !== undefined) {
if (opts !== undefined && opts.success_continuation_arg) { if (opts !== undefined && opts.success_continuation_arg) {
@@ -57,16 +55,16 @@ exports.do_settings_change = function (request_method, url, data, status_element
error(xhr) { error(xhr) {
if (opts !== undefined && opts.error_msg_element) { if (opts !== undefined && opts.error_msg_element) {
loading.destroy_indicator(spinner); loading.destroy_indicator(spinner);
ui_report.error(exports.strings.failure, xhr, opts.error_msg_element); ui_report.error(strings.failure, xhr, opts.error_msg_element);
} else { } else {
ui_report.error(exports.strings.failure, xhr, spinner); ui_report.error(strings.failure, xhr, spinner);
} }
if (error_continuation !== undefined) { if (error_continuation !== undefined) {
error_continuation(xhr); error_continuation(xhr);
} }
}, },
}); });
}; }
// This function is used to disable sub-setting when main setting is checked or unchecked // This function is used to disable sub-setting when main setting is checked or unchecked
// or two settings are inter-dependent on their values values. // or two settings are inter-dependent on their values values.
@@ -75,7 +73,7 @@ exports.do_settings_change = function (request_method, url, data, status_element
// string id of setting. // string id of setting.
// * disable_on_uncheck is boolean, true if sub setting should be disabled // * disable_on_uncheck is boolean, true if sub setting should be disabled
// when main setting unchecked. // when main setting unchecked.
exports.disable_sub_setting_onchange = function (is_checked, sub_setting_id, disable_on_uncheck) { export function disable_sub_setting_onchange(is_checked, sub_setting_id, disable_on_uncheck) {
if ((is_checked && disable_on_uncheck) || (!is_checked && !disable_on_uncheck)) { if ((is_checked && disable_on_uncheck) || (!is_checked && !disable_on_uncheck)) {
$(`#${CSS.escape(sub_setting_id)}`).prop("disabled", false); $(`#${CSS.escape(sub_setting_id)}`).prop("disabled", false);
$(`#${CSS.escape(sub_setting_id)}_label`) $(`#${CSS.escape(sub_setting_id)}_label`)
@@ -87,6 +85,4 @@ exports.disable_sub_setting_onchange = function (is_checked, sub_setting_id, dis
.parent() .parent()
.addClass("control-label-disabled"); .addClass("control-label-disabled");
} }
}; }
window.settings_ui = exports;

View File

@@ -7,6 +7,7 @@ const render_admin_user_list = require("../templates/admin_user_list.hbs");
const people = require("./people"); const people = require("./people");
const settings_config = require("./settings_config"); const settings_config = require("./settings_config");
const settings_data = require("./settings_data"); const settings_data = require("./settings_data");
const settings_ui = require("./settings_ui");
const section = { const section = {
active: {}, active: {},

View File

@@ -11,6 +11,7 @@ const people = require("./people");
const pill_typeahead = require("./pill_typeahead"); const pill_typeahead = require("./pill_typeahead");
const settings_config = require("./settings_config"); const settings_config = require("./settings_config");
const settings_data = require("./settings_data"); const settings_data = require("./settings_data");
const settings_ui = require("./settings_ui");
const stream_pill = require("./stream_pill"); const stream_pill = require("./stream_pill");
const util = require("./util"); const util = require("./util");