mirror of
https://github.com/zen-browser/desktop.git
synced 2026-08-28 01:11:32 +00:00
Refactor ZenWorkspaces to use _createNewTabForWorkspace method for preparing new workspace
This commit is contained in:
@@ -102,6 +102,16 @@ var ZenWorkspaces = {
|
||||
|
||||
// Workspaces dialog UI management
|
||||
|
||||
openSaveDialog() {
|
||||
let parentPanel = document.getElementById("PanelUI-zen-workspaces-multiview");
|
||||
PanelUI.showSubView("PanelUI-zen-workspaces-create", parentPanel);
|
||||
},
|
||||
|
||||
cancelWorkspaceCreation() {
|
||||
let parentPanel = document.getElementById("PanelUI-zen-workspaces-multiview");
|
||||
parentPanel.goBack();
|
||||
},
|
||||
|
||||
async _propagateWorkspaceData() {
|
||||
let currentContainer = document.getElementById("PanelUI-zen-workspaces-current-info");
|
||||
let workspaceList = document.getElementById("PanelUI-zen-workspaces-list");
|
||||
@@ -190,6 +200,10 @@ var ZenWorkspaces = {
|
||||
|
||||
// Workspaces management
|
||||
|
||||
get _workspaceInput() {
|
||||
return document.getElementById("PanelUI-zen-workspaces-create-input");
|
||||
},
|
||||
|
||||
_prepareNewWorkspace(window) {
|
||||
document.documentElement.setAttribute("zen-workspace-id", window.uuid);
|
||||
this._createNewTabForWorkspace(window);
|
||||
@@ -200,6 +214,25 @@ var ZenWorkspaces = {
|
||||
tab.setAttribute("zen-workspace-id", window.uuid);
|
||||
},
|
||||
|
||||
async saveWorkspaceFromInput() {
|
||||
let workspaceName = this._workspaceInput.value;
|
||||
if (!workspaceName) {
|
||||
return;
|
||||
}
|
||||
this._workspaceInput.value = "";
|
||||
await this.createAndSaveWorkspace(workspaceName);
|
||||
document.getElementById("PanelUI-zen-workspaces").hidePopup(true);
|
||||
},
|
||||
|
||||
onWorkspaceNameChange(event) {
|
||||
let button = document.getElementById("PanelUI-zen-workspaces-create-save");
|
||||
if (this._workspaceInput.value === "") {
|
||||
button.setAttribute("disabled", "true");
|
||||
return;
|
||||
}
|
||||
button.removeAttribute("disabled");
|
||||
},
|
||||
|
||||
async changeWorkspace(window) {
|
||||
if (!this.workspaceEnabled) {
|
||||
return;
|
||||
|
||||
@@ -76,25 +76,39 @@
|
||||
</vbox>
|
||||
</panelview>
|
||||
|
||||
<panel id="PanelUI-zen-workspaces" position="bottomright topright" mainview="true" side="left">
|
||||
<vbox>
|
||||
<vbox>
|
||||
<hbox>
|
||||
<h3 data-l10n-id="zen-panel-ui-current-window-text"></h3>
|
||||
<hbox class="translations-panel-beta" role="image" aria-label="Beta">
|
||||
<image class="translations-panel-beta-icon"></image>
|
||||
<panel type="arrow" role="alertdialog" orient="vertical" id="PanelUI-zen-workspaces" position="bottomright topright" mainview="true" side="left">
|
||||
<panelmultiview id="PanelUI-zen-workspaces-multiview" mainViewId="PanelUI-zen-workspaces-view">
|
||||
<panelview id="PanelUI-zen-workspaces-view" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<vbox>
|
||||
<hbox>
|
||||
<h3 data-l10n-id="zen-panel-ui-current-window-text"></h3>
|
||||
<hbox class="translations-panel-beta" role="image" aria-label="Beta">
|
||||
<image class="translations-panel-beta-icon"></image>
|
||||
</hbox>
|
||||
<toolbarbutton id="PanelUI-zen-workspaces-new" oncommand="ZenWorkspaces.openSaveDialog();" class="subviewbutton">
|
||||
<image></image>
|
||||
</toolbarbutton>
|
||||
</hbox>
|
||||
</hbox>
|
||||
<html:div id="PanelUI-zen-workspaces-current-info">
|
||||
</html:div>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<h3 data-l10n-id="zen-panel-ui-workspaces-text"></h3>
|
||||
<html:div id="PanelUI-zen-workspaces-list">
|
||||
</html:div>
|
||||
</vbox>
|
||||
<toolbarbutton id="PanelUI-zen-workspaces-new" oncommand="ZenWorkspaces.createAndSaveWorkspace();" class="subviewbutton">
|
||||
<image></image>
|
||||
</toolbarbutton>
|
||||
</vbox>
|
||||
<html:div id="PanelUI-zen-workspaces-current-info">
|
||||
</html:div>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<h3 data-l10n-id="zen-panel-ui-workspaces-text"></h3>
|
||||
<html:div id="PanelUI-zen-workspaces-list">
|
||||
</html:div>
|
||||
</vbox>
|
||||
</panelview>
|
||||
<panelview id="PanelUI-zen-workspaces-create" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<vbox>
|
||||
<h1 data-l10n-id="zen-panel-ui-workspaces-create-text"></h1>
|
||||
<html:input autofocus="true" id="PanelUI-zen-workspaces-create-input" type="text" placeholder="Enter workspace name" oninput="ZenWorkspaces.onWorkspaceNameChange(this);" />
|
||||
</vbox>
|
||||
<html:moz-button-group class="panel-footer" id="PanelUI-zen-workspaces-create-footer">
|
||||
<button disabled="true" default="true" slot="primary" id="PanelUI-zen-workspaces-create-save" oncommand="ZenWorkspaces.saveWorkspaceFromInput();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-save">
|
||||
</button>
|
||||
<button id="PanelUI-zen-workspaces-create-cancel" oncommand="ZenWorkspaces.cancelWorkspaceCreation();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-cancel">
|
||||
</button>
|
||||
</html:moz-button-group>
|
||||
</panelview>
|
||||
</panelmultiview>
|
||||
</panel>
|
||||
Reference in New Issue
Block a user