Files
zulip-desktop/app/renderer/js/pages/preference/servers-section.ts
Anders Kaseorg ea2d84e810 Explode BaseSection class to functions.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-04-02 14:14:48 -07:00

52 lines
1.2 KiB
TypeScript

import type {HTML} from "../../../../common/html";
import {html} from "../../../../common/html";
import * as t from "../../../../common/translation-util";
import {reloadApp} from "./base-section";
import NewServerForm from "./new-server-form";
interface ServersSectionProps {
$root: Element;
}
export default class ServersSection {
props: ServersSectionProps;
$newServerContainer: Element;
constructor(props: ServersSectionProps) {
this.props = props;
}
templateHTML(): HTML {
return html`
<div class="add-server-modal">
<div class="modal-container">
<div class="settings-pane" id="server-settings-pane">
<div class="page-title">${t.__("Add a Zulip organization")}</div>
<div id="new-server-container"></div>
</div>
</div>
</div>
`;
}
init(): void {
this.initServers();
}
initServers(): void {
this.props.$root.textContent = "";
this.props.$root.innerHTML = this.templateHTML().html;
this.$newServerContainer = document.querySelector("#new-server-container");
this.initNewServerForm();
}
initNewServerForm(): void {
new NewServerForm({
$root: this.$newServerContainer,
onChange: reloadApp,
}).init();
}
}