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

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg 2021-02-27 16:18:00 -08:00 committed by Tim Abbott
parent db6e3a41d3
commit 8e8a2840c4
13 changed files with 60 additions and 56 deletions

View File

@ -156,7 +156,6 @@
"recent_topics": false,
"search_pill_widget": false,
"settings": false,
"settings_account": false,
"settings_bots": false,
"settings_display": false,
"settings_emoji": false,

View File

@ -55,7 +55,8 @@ const reload = {__esModule: true};
rewiremock("../../static/js/reload").with(reload);
const scroll_bar = {__esModule: true};
rewiremock("../../static/js/scroll_bar").with(scroll_bar);
const settings_account = set_global("settings_account", {});
const settings_account = {__esModule: true};
rewiremock("../../static/js/settings_account").with(settings_account);
const settings_bots = set_global("settings_bots", {});
const settings_display = set_global("settings_display", {});
const settings_emoji = set_global("settings_emoji", {});

View File

@ -46,10 +46,13 @@ rewiremock("../../static/js/compose").with({
update_email() {},
});
const settings_account = set_global("settings_account", {
const settings_account = {
__esModule: true,
update_email() {},
update_full_name() {},
});
};
rewiremock("../../static/js/settings_account").with(settings_account);
const message_live_update = {__esModule: true};

View File

@ -1,4 +1,5 @@
import * as channel from "./channel";
import * as settings_account from "./settings_account";
import * as upload_widget from "./upload_widget";
export function build_bot_create_widget() {

View File

@ -35,7 +35,6 @@ import "../server_events";
import "../zulip";
import "../templates";
import "../dropdown_list_widget";
import "../settings_account";
import "../settings_display";
import "../settings_notifications";
import "../settings_bots";

View File

@ -28,7 +28,6 @@ declare let reactions: any;
declare let recent_topics: any;
declare let search_pill_widget: any;
declare let settings: any;
declare let settings_account: any;
declare let settings_bots: any;
declare let settings_display: any;
declare let settings_emoji: any;

View File

@ -29,6 +29,7 @@ import * as people from "./people";
import * as reminder from "./reminder";
import * as resize from "./resize";
import * as rows from "./rows";
import * as settings_account from "./settings_account";
import * as settings_config from "./settings_config";
import * as settings_data from "./settings_data";
import * as stream_popover from "./stream_popover";

View File

@ -21,6 +21,7 @@ import * as realm_icon from "./realm_icon";
import * as realm_logo from "./realm_logo";
import * as reload from "./reload";
import * as scroll_bar from "./scroll_bar";
import * as settings_account from "./settings_account";
import * as settings_config from "./settings_config";
import * as starred_messages from "./starred_messages";
import * as stream_data from "./stream_data";

View File

@ -5,6 +5,7 @@ const render_settings_tab = require("../templates/settings_tab.hbs");
const overlays = require("./overlays");
const people = require("./people");
const settings_account = require("./settings_account");
const settings_config = require("./settings_config");
const settings_panel_menu = require("./settings_panel_menu");
const settings_toggle = require("./settings_toggle");

View File

@ -1,32 +1,30 @@
"use strict";
import _ from "lodash";
const _ = require("lodash");
import render_settings_api_key_modal from "../templates/settings/api_key_modal.hbs";
import render_settings_custom_user_profile_field from "../templates/settings/custom_user_profile_field.hbs";
import render_settings_dev_env_email_access from "../templates/settings/dev_env_email_access.hbs";
const render_settings_api_key_modal = require("../templates/settings/api_key_modal.hbs");
const render_settings_custom_user_profile_field = require("../templates/settings/custom_user_profile_field.hbs");
const render_settings_dev_env_email_access = require("../templates/settings/dev_env_email_access.hbs");
import * as avatar from "./avatar";
import * as channel from "./channel";
import * as common from "./common";
import * as overlays from "./overlays";
import * as people from "./people";
import * as pill_typeahead from "./pill_typeahead";
import * as popovers from "./popovers";
import * as settings_ui from "./settings_ui";
import * as setup from "./setup";
import * as ui_report from "./ui_report";
import * as user_pill from "./user_pill";
const avatar = require("./avatar");
const channel = require("./channel");
const common = require("./common");
const overlays = require("./overlays");
const people = require("./people");
const pill_typeahead = require("./pill_typeahead");
const popovers = require("./popovers");
const settings_ui = require("./settings_ui");
const setup = require("./setup");
const ui_report = require("./ui_report");
const user_pill = require("./user_pill");
exports.update_email = function (new_email) {
export function update_email(new_email) {
const email_input = $("#email_value");
if (email_input) {
email_input.text(new_email);
}
};
}
exports.update_full_name = function (new_full_name) {
export function update_full_name(new_full_name) {
const full_name_field = $("#full_name_value");
if (full_name_field) {
full_name_field.text(new_full_name);
@ -39,9 +37,9 @@ exports.update_full_name = function (new_full_name) {
if (full_name_input) {
full_name_input.val(new_full_name);
}
};
}
exports.user_can_change_name = function () {
export function user_can_change_name() {
if (page_params.is_admin) {
return true;
}
@ -49,9 +47,9 @@ exports.user_can_change_name = function () {
return false;
}
return true;
};
}
exports.user_can_change_avatar = function () {
export function user_can_change_avatar() {
if (page_params.is_admin) {
return true;
}
@ -59,19 +57,19 @@ exports.user_can_change_avatar = function () {
return false;
}
return true;
};
}
exports.update_name_change_display = function () {
if (!exports.user_can_change_name()) {
export function update_name_change_display() {
if (!user_can_change_name()) {
$("#full_name").prop("disabled", true);
$(".change_name_tooltip").show();
} else {
$("#full_name").prop("disabled", false);
$(".change_name_tooltip").hide();
}
};
}
exports.update_email_change_display = function () {
export function update_email_change_display() {
if (page_params.realm_email_changes_disabled && !page_params.is_admin) {
$("#change_email .button").prop("disabled", true);
$(".change_email_tooltip").show();
@ -79,17 +77,17 @@ exports.update_email_change_display = function () {
$("#change_email .button").prop("disabled", false);
$(".change_email_tooltip").hide();
}
};
}
exports.update_avatar_change_display = function () {
if (!exports.user_can_change_avatar()) {
export function update_avatar_change_display() {
if (!user_can_change_avatar()) {
$("#user-avatar-upload-widget .image_upload_button").prop("disabled", true);
$("#user-avatar-upload-widget .image-delete-button .button").prop("disabled", true);
} else {
$("#user-avatar-upload-widget .image_upload_button").prop("disabled", false);
$("#user-avatar-upload-widget .image-delete-button .button").prop("disabled", false);
}
};
}
function display_avatar_upload_complete() {
$("#user-avatar-upload-widget .upload-spinner-background").css({visibility: "hidden"});
@ -137,7 +135,7 @@ function update_user_custom_profile_fields(fields, method) {
}
}
exports.append_custom_profile_fields = function (element_id, user_id) {
export function append_custom_profile_fields(element_id, user_id) {
const person = people.get_by_user_id(user_id);
if (person.is_bot) {
return;
@ -188,9 +186,9 @@ exports.append_custom_profile_fields = function (element_id, user_id) {
});
$(element_id).append(html);
}
};
}
exports.initialize_custom_date_type_fields = function (element_id) {
export function initialize_custom_date_type_fields(element_id) {
$(element_id).find(".custom_user_field .datepicker").flatpickr({
altInput: true,
altFormat: "F j, Y",
@ -212,9 +210,9 @@ exports.initialize_custom_date_type_fields = function (element_id) {
.on("click", function () {
$(this).parent().find(".custom_user_field_value").val("");
});
};
}
exports.initialize_custom_user_type_fields = function (
export function initialize_custom_user_type_fields(
element_id,
user_id,
is_editable,
@ -282,9 +280,9 @@ exports.initialize_custom_user_type_fields = function (
}
return user_pills;
};
}
exports.add_custom_profile_fields_to_settings = function () {
export function add_custom_profile_fields_to_settings() {
if (!overlays.settings_open()) {
return;
}
@ -297,14 +295,14 @@ exports.add_custom_profile_fields_to_settings = function () {
$("#account-settings #custom-field-header").hide();
}
exports.append_custom_profile_fields(element_id, people.my_current_user_id());
exports.initialize_custom_user_type_fields(element_id, people.my_current_user_id(), true, true);
exports.initialize_custom_date_type_fields(element_id);
};
append_custom_profile_fields(element_id, people.my_current_user_id());
initialize_custom_user_type_fields(element_id, people.my_current_user_id(), true, true);
initialize_custom_date_type_fields(element_id);
}
exports.set_up = function () {
export function set_up() {
// Add custom profile fields elements to user account settings.
exports.add_custom_profile_fields_to_settings();
add_custom_profile_fields_to_settings();
$("#account-settings-status").hide();
const setup_api_key_modal = _.once(() => {
@ -392,7 +390,7 @@ exports.set_up = function () {
$("#change_full_name").on("click", (e) => {
e.preventDefault();
e.stopPropagation();
if (exports.user_can_change_name()) {
if (user_can_change_name()) {
$("#change_full_name_modal").find("input[name='full_name']").val(page_params.full_name);
overlays.open_modal("#change_full_name_modal");
}
@ -684,6 +682,4 @@ exports.set_up = function () {
if (page_params.realm_name_changes_disabled) {
$(".name_change_container").hide();
}
};
window.settings_account = exports;
}

View File

@ -2,6 +2,7 @@
const alert_words_ui = require("./alert_words_ui");
const attachments_ui = require("./attachments_ui");
const settings_account = require("./settings_account");
const settings_muting = require("./settings_muting");
const load_func_dict = new Map(); // group -> function

View File

@ -10,6 +10,7 @@ const loading = require("./loading");
const overlays = require("./overlays");
const people = require("./people");
const presence = require("./presence");
const settings_account = require("./settings_account");
const settings_config = require("./settings_config");
const settings_data = require("./settings_data");
const settings_panel_menu = require("./settings_panel_menu");

View File

@ -9,6 +9,7 @@ import * as message_live_update from "./message_live_update";
import * as narrow_state from "./narrow_state";
import * as people from "./people";
import * as pm_list from "./pm_list";
import * as settings_account from "./settings_account";
import * as settings_config from "./settings_config";
export const update_person = function update(person) {