user groups: Add new UI support for user group creation.

Add support for creation of user groups using right panel
of new user group settings overlay being developed as part
of https://github.com/zulip/zulip/issues/19526.

In further commits we will add support for editing user
groups using right panel of the overlay.

This commit also introduces a minor bug related hashchange
for #groups which would be a quick fix once we have UI
for group edit on #groups overlay.
This commit is contained in:
Purushottam Tiwari
2022-08-21 21:29:39 +05:30
committed by Tim Abbott
parent c1cb5a6ef1
commit a8c3be7fee
11 changed files with 486 additions and 4 deletions

View File

@@ -4,11 +4,13 @@ import render_browse_user_groups_list_item from "../templates/user_group_setting
import render_user_group_settings_overlay from "../templates/user_group_settings/user_group_settings_overlay.hbs";
import * as browser_history from "./browser_history";
import {$t} from "./i18n";
import * as ListWidget from "./list_widget";
import * as overlays from "./overlays";
import * as people from "./people";
import * as settings_data from "./settings_data";
import * as ui from "./ui";
import * as user_group_create from "./user_group_create";
import * as user_groups from "./user_groups";
export function set_up_click_handlers() {
@@ -25,6 +27,26 @@ export function set_up_click_handlers() {
});
}
export const show_user_group_settings_pane = {
nothing_selected() {
$(".settings, #user-group-creation").hide();
$(".nothing-selected").show();
$("#groups_overlay .user-group-info-title").text(
$t({defaultMessage: "User group settings"}),
);
},
create_user_group() {
$(".nothing-selected, .settings, #user-group-creation").hide();
$("#user-group-creation").show();
$("#groups_overlay .user-group-info-title").text($t({defaultMessage: "Create user group"}));
},
};
export function open_create_user_group() {
user_group_create.create_user_group_clicked();
browser_history.update("#groups/new");
}
export function setup_page(callback) {
function populate_and_fill() {
const template_data = {
@@ -63,6 +85,7 @@ export function setup_page(callback) {
});
set_up_click_handlers();
user_group_create.set_up_handlers();
// show the "User group settings" header by default.
$(".display-type #user_group_settings_title").show();
@@ -75,6 +98,13 @@ export function setup_page(callback) {
populate_and_fill();
}
export function initialize() {
$("#manage_groups_container").on("click", ".create_user_group_button", (e) => {
e.preventDefault();
open_create_user_group();
});
}
export function launch() {
setup_page(() => {
overlays.open_overlay({