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

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg 2021-02-27 16:22:43 -08:00 committed by Tim Abbott
parent b58b1f080e
commit 65840a2001
8 changed files with 44 additions and 48 deletions

View File

@ -157,7 +157,6 @@
"search_pill_widget": false,
"settings": false,
"settings_profile_fields": false,
"settings_user_groups": false,
"stream_list": false,
"StripeCheckout": false,
"subs": false,

View File

@ -76,7 +76,8 @@ rewiremock("../../static/js/settings_org").with(settings_org);
const settings_profile_fields = set_global("settings_profile_fields", {});
const settings_streams = {__esModule: true};
rewiremock("../../static/js/settings_streams").with(settings_streams);
const settings_user_groups = set_global("settings_user_groups", {});
const settings_user_groups = {__esModule: true};
rewiremock("../../static/js/settings_user_groups").with(settings_user_groups);
const settings_users = {__esModule: true};
rewiremock("../../static/js/settings_users").with(settings_users);
const stream_data = {__esModule: true};

View File

@ -170,7 +170,7 @@ test_ui("populate_user_groups", () => {
return undefined;
};
settings_user_groups.can_edit = () => true;
settings_user_groups.__Rewire__("can_edit", () => true);
const all_pills = new Map();
@ -377,10 +377,10 @@ test_ui("with_external_user", () => {
user_pill.__Rewire__("append_person", () => noop);
let can_edit_called = 0;
settings_user_groups.can_edit = () => {
settings_user_groups.__Rewire__("can_edit", () => {
can_edit_called += 1;
return false;
};
});
// Reset zjquery to test stuff with user who cannot edit
$.clear_all_elements();
@ -497,9 +497,9 @@ test_ui("with_external_user", () => {
test_ui("reload", () => {
$("#user-groups").html("Some text");
let populate_user_groups_called = false;
settings_user_groups.populate_user_groups = () => {
settings_user_groups.__Rewire__("populate_user_groups", () => {
populate_user_groups_called = true;
};
});
settings_user_groups.reload();
assert(populate_user_groups_called);
assert.equal($("#user-groups").html(), "");
@ -512,7 +512,7 @@ test_ui("reset", () => {
});
test_ui("on_events", () => {
settings_user_groups.can_edit = () => true;
settings_user_groups.__Rewire__("can_edit", () => true);
(function test_admin_user_group_form_submit_triggered() {
const handler = $(".organization form.admin-user-group-form").get_on_handler("submit");
@ -590,9 +590,9 @@ test_ui("on_events", () => {
assert.equal(opts.url, "/json/user_groups/1");
assert.deepEqual(opts.data, data);
settings_user_groups.reload = () => {
settings_user_groups.__Rewire__("reload", () => {
settings_user_groups_reload_called = true;
};
});
opts.success();
assert(settings_user_groups_reload_called);
@ -665,9 +665,9 @@ test_ui("on_events", () => {
// Cancel button triggers blur event.
let settings_user_groups_reload_called = false;
settings_user_groups.reload = () => {
settings_user_groups.__Rewire__("reload", () => {
settings_user_groups_reload_called = true;
};
});
api_endpoint_called = false;
fake_this.closest = (class_name) => {
if (

View File

@ -35,7 +35,6 @@ import "../server_events";
import "../zulip";
import "../templates";
import "../dropdown_list_widget";
import "../settings_user_groups";
import "../settings_profile_fields";
import "../settings";
import "../admin";

View File

@ -29,7 +29,6 @@ declare let recent_topics: any;
declare let search_pill_widget: any;
declare let settings: any;
declare let settings_profile_fields: any;
declare let settings_user_groups: any;
declare let stream_list: any;
declare let subs: any;
declare let message_view_header: any;

View File

@ -32,6 +32,7 @@ import * as settings_linkifiers from "./settings_linkifiers";
import * as settings_notifications from "./settings_notifications";
import * as settings_org from "./settings_org";
import * as settings_streams from "./settings_streams";
import * as settings_user_groups from "./settings_user_groups";
import * as settings_users from "./settings_users";
import * as starred_messages from "./starred_messages";
import * as stream_data from "./stream_data";

View File

@ -11,6 +11,7 @@ import * as settings_muting from "./settings_muting";
import * as settings_notifications from "./settings_notifications";
import * as settings_org from "./settings_org";
import * as settings_streams from "./settings_streams";
import * as settings_user_groups from "./settings_user_groups";
import * as settings_users from "./settings_users";
const load_func_dict = new Map(); // group -> function

View File

@ -1,39 +1,37 @@
"use strict";
import _ from "lodash";
const _ = require("lodash");
import render_admin_user_group_list from "../templates/admin_user_group_list.hbs";
import render_confirm_delete_user from "../templates/confirm_delete_user.hbs";
const render_admin_user_group_list = require("../templates/admin_user_group_list.hbs");
const render_confirm_delete_user = require("../templates/confirm_delete_user.hbs");
const channel = require("./channel");
const confirm_dialog = require("./confirm_dialog");
const people = require("./people");
const pill_typeahead = require("./pill_typeahead");
const ui_report = require("./ui_report");
const user_groups = require("./user_groups");
const user_pill = require("./user_pill");
import * as channel from "./channel";
import * as confirm_dialog from "./confirm_dialog";
import * as people from "./people";
import * as pill_typeahead from "./pill_typeahead";
import * as ui_report from "./ui_report";
import * as user_groups from "./user_groups";
import * as user_pill from "./user_pill";
const meta = {
loaded: false,
};
exports.reset = function () {
export function reset() {
meta.loaded = false;
};
}
exports.reload = function () {
export function reload() {
if (!meta.loaded) {
return;
}
const user_groups_section = $("#user-groups").expectOne();
user_groups_section.html("");
exports.populate_user_groups();
};
populate_user_groups();
}
const USER_GROUP_EDIT_POLICY_MEMBERS = 1;
exports.can_edit = function (group_id) {
export function can_edit(group_id) {
if (page_params.is_admin) {
return true;
}
@ -47,9 +45,9 @@ exports.can_edit = function (group_id) {
}
return user_groups.is_member_of(group_id, people.my_current_user_id());
};
}
exports.populate_user_groups = function () {
export function populate_user_groups() {
const user_groups_section = $("#user-groups").expectOne();
const user_groups_array = user_groups.get_realm_user_groups();
@ -77,7 +75,7 @@ exports.populate_user_groups = function () {
}
function update_membership(group_id) {
if (exports.can_edit(group_id)) {
if (can_edit(group_id)) {
return;
}
userg.find(".name").attr("contenteditable", "false");
@ -126,7 +124,7 @@ exports.populate_user_groups = function () {
}
function update_cancel_button() {
if (!exports.can_edit(data.id)) {
if (!can_edit(data.id)) {
return;
}
const cancel_button = $(`#user-groups #${CSS.escape(data.id)} .save-status.btn-danger`);
@ -236,7 +234,7 @@ exports.populate_user_groups = function () {
}
function auto_save(class_name, event) {
if (!exports.can_edit(data.id)) {
if (!can_edit(data.id)) {
return;
}
@ -247,7 +245,7 @@ exports.populate_user_groups = function () {
$(event.relatedTarget).closest(`#user-groups #${CSS.escape(data.id)}`) &&
$(event.relatedTarget).closest(".save-status.btn-danger").length
) {
exports.reload();
reload();
return;
}
save_name_desc();
@ -273,13 +271,13 @@ exports.populate_user_groups = function () {
});
const input = pill_container.children(".input");
if (exports.can_edit(data.id)) {
if (can_edit(data.id)) {
const opts = {update_func: update_cancel_button};
pill_typeahead.set_up(input, pills, opts);
}
(function pill_remove() {
if (!exports.can_edit(data.id)) {
if (!can_edit(data.id)) {
return;
}
pills.onPillRemove(() => {
@ -292,11 +290,11 @@ exports.populate_user_groups = function () {
});
})();
}
};
}
exports.set_up = function () {
export function set_up() {
meta.loaded = true;
exports.populate_user_groups();
populate_user_groups();
$(".organization form.admin-user-group-form")
.off("submit")
@ -336,7 +334,7 @@ exports.set_up = function () {
$("#user-groups").on("click", ".delete", function () {
const group_id = Number.parseInt($(this).parents(".user-group").attr("id"), 10);
if (!exports.can_edit(group_id)) {
if (!can_edit(group_id)) {
return;
}
const user_group = user_groups.get_user_group_from_id(group_id);
@ -350,7 +348,7 @@ exports.set_up = function () {
},
success() {
user_groups.remove(user_group);
exports.reload();
reload();
},
error() {
btn.text(i18n.t("Failed!"));
@ -379,6 +377,4 @@ exports.set_up = function () {
e.preventDefault();
}
});
};
window.settings_user_groups = exports;
}