This commit is contained in:
Vanessa 2023-02-16 10:08:19 +08:00
parent 0f6b4bd395
commit ffdd7a1e11
3 changed files with 40 additions and 34 deletions

View file

@ -12,10 +12,40 @@ import {setStorageVal, writeText} from "../protyle/util/compatibility";
import {openCard} from "../card/openCard";
import {openSetting} from "../config";
import {getAllDocks} from "../layout/getAll";
import {getDockByType} from "../layout/util";
import {getDockByType, resizeTabs} from "../layout/util";
import {lockScreen} from "../dialog/processSystem";
import {showMessage} from "../dialog/message";
import {unicode2Emoji} from "../emoji";
import {Dock} from "../layout/dock";
const togglePinDock = (dock: Dock, icon: string) => {
return {
label: `${dock.pin ? window.siyuan.languages.unpin : window.siyuan.languages.pin}`,
icon,
current: !dock.pin,
click() {
dock.pin = !dock.pin;
const hasActive = dock.element.querySelector(".dock__item--active");
if (!dock.pin) {
dock.resetDockPosition(hasActive ? true : false);
dock.resizeElement.classList.add("fn__none");
if (hasActive) {
dock.showDock(true);
} else {
dock.hideDock(true);
}
} else {
dock.layout.element.style.opacity = "";
dock.layout.element.style.transform = "";
if (hasActive) {
dock.resizeElement.classList.remove("fn__none");
}
}
dock.layout.element.classList.toggle("layout--float");
resizeTabs();
}
}
}
export const workspaceMenu = (rect: DOMRect) => {
if (!window.siyuan.menus.menu.element.classList.contains("fn__none") &&
@ -47,6 +77,13 @@ export const workspaceMenu = (rect: DOMRect) => {
}
});
});
if (!window.siyuan.config.readonly) {
dockMenu.push({type: "separator"});
dockMenu.push(togglePinDock(window.siyuan.layout.leftDock, "iconLeftTop"));
dockMenu.push(togglePinDock(window.siyuan.layout.rightDock, "iconRightTop"));
dockMenu.push(togglePinDock(window.siyuan.layout.bottomDock, "iconBottomLeft"));
dockMenu.push(togglePinDock(window.siyuan.layout.topDock, "iconTopLeft"));
}
window.siyuan.menus.menu.append(new MenuItem({
label: window.siyuan.languages.panels,
icon: "iconDock",