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_streams": false,
"settings_toggle": false,
"settings_ui": false,
"settings_user_groups": false,
"settings_users": false,
"spoilers": false,

View File

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

View File

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

View File

@ -116,7 +116,6 @@ declare let settings_profile_fields: any;
declare let settings_sections: any;
declare let settings_streams: any;
declare let settings_toggle: any;
declare let settings_ui: any;
declare let settings_user_groups: any;
declare let settings_users: 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 pill_typeahead = require("./pill_typeahead");
const settings_ui = require("./settings_ui");
const setup = require("./setup");
exports.update_email = function (new_email) {

View File

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

View File

@ -3,6 +3,7 @@
const render_stream_specific_notification_row = require("../templates/settings/stream_specific_notification_row.hbs");
const settings_config = require("./settings_config");
const settings_ui = require("./settings_ui");
exports.get_notifications_table_row_data = function (notify_settings) {
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 settings_config = require("./settings_config");
const settings_ui = require("./settings_ui");
const meta = {
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_settings_profile_field_choice = require("../templates/settings/profile_field_choice.hbs");
const settings_ui = require("./settings_ui");
const meta = {
loaded: false,
};

View File

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

View File

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