mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-03-02 19:00:15 +01:00
This commit is contained in:
parent
0f6b4bd395
commit
ffdd7a1e11
3 changed files with 40 additions and 34 deletions
|
|
@ -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",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue