Vanessa 2023-03-10 10:00:03 +08:00
parent c1d2259eac
commit 9d1c83ce37
7 changed files with 63 additions and 48 deletions

View file

@ -17,6 +17,9 @@ import {getWorkspaceName} from "../util/noRelyPCFunction";
import {needSubscribe} from "../util/needSubscribe"; import {needSubscribe} from "../util/needSubscribe";
export const lockScreen = () => { export const lockScreen = () => {
if (window.siyuan.config.readonly) {
return
}
/// #if BROWSER /// #if BROWSER
fetchPost("/api/system/logoutAuth", {}, () => { fetchPost("/api/system/logoutAuth", {}, () => {
window.location.href = `/check-auth?url=${window.location.href}`; window.location.href = `/check-auth?url=${window.location.href}`;

View file

@ -214,6 +214,9 @@ const renderRmNotebook = (element: HTMLElement) => {
}; };
export const openHistory = () => { export const openHistory = () => {
if (window.siyuan.config.readonly) {
return;
}
const exitDialog = window.siyuan.dialogs.find((item) => { const exitDialog = window.siyuan.dialogs.find((item) => {
if (item.element.querySelector("#historyContainer")) { if (item.element.querySelector("#historyContainer")) {
item.destroy(); item.destroy();

View file

@ -30,7 +30,7 @@ export const initBar = () => {
<span class="toolbar__text">${getWorkspaceName()}</span> <span class="toolbar__text">${getWorkspaceName()}</span>
<svg class="toolbar__svg"><use xlink:href="#iconDown"></use></svg> <svg class="toolbar__svg"><use xlink:href="#iconDown"></use></svg>
</div> </div>
<div id="barSync" class="toolbar__item b3-tooltips b3-tooltips__se" aria-label="${window.siyuan.config.sync.stat || (window.siyuan.languages.syncNow + " " + updateHotkeyTip(window.siyuan.config.keymap.general.syncNow.custom))}"> <div id="barSync" class="toolbar__item b3-tooltips b3-tooltips__se${window.siyuan.config.readonly ? " fn__none" : ""}" aria-label="${window.siyuan.config.sync.stat || (window.siyuan.languages.syncNow + " " + updateHotkeyTip(window.siyuan.config.keymap.general.syncNow.custom))}">
<svg><use xlink:href="#iconCloudSucc"></use></svg> <svg><use xlink:href="#iconCloudSucc"></use></svg>
</div> </div>
<button id="barBack" data-menu="true" class="toolbar__item toolbar__item--disabled b3-tooltips b3-tooltips__se" aria-label="${window.siyuan.languages.goBack} ${updateHotkeyTip(window.siyuan.config.keymap.general.goBack.custom)}"> <button id="barBack" data-menu="true" class="toolbar__item toolbar__item--disabled b3-tooltips b3-tooltips__se" aria-label="${window.siyuan.languages.goBack} ${updateHotkeyTip(window.siyuan.config.keymap.general.goBack.custom)}">
@ -40,14 +40,14 @@ export const initBar = () => {
<svg><use xlink:href="#iconForward"></use></svg> <svg><use xlink:href="#iconForward"></use></svg>
</button> </button>
<div class="fn__flex-1 fn__ellipsis" id="drag"><span class="fn__none">使 Development version, please backup before use</span></div> <div class="fn__flex-1 fn__ellipsis" id="drag"><span class="fn__none">使 Development version, please backup before use</span></div>
<div id="toolbarVIP" class="fn__flex"></div> <div id="toolbarVIP" class="fn__flex${window.siyuan.config.readonly ? " fn__none" : ""}"></div>
<div id="barSearch" class="toolbar__item b3-tooltips b3-tooltips__sw" aria-label="${window.siyuan.languages.globalSearch} ${updateHotkeyTip(window.siyuan.config.keymap.general.globalSearch.custom)}"> <div id="barSearch" class="toolbar__item b3-tooltips b3-tooltips__sw" aria-label="${window.siyuan.languages.globalSearch} ${updateHotkeyTip(window.siyuan.config.keymap.general.globalSearch.custom)}">
<svg><use xlink:href="#iconSearch"></use></svg> <svg><use xlink:href="#iconSearch"></use></svg>
</div> </div>
<div id="barReadonly" class="toolbar__item b3-tooltips b3-tooltips__sw${window.siyuan.config.editor.readOnly ? " toolbar__item--active" : ""}" aria-label="${window.siyuan.languages.use} ${window.siyuan.config.editor.readOnly ? window.siyuan.languages.editMode : window.siyuan.languages.editReadonly} ${updateHotkeyTip(window.siyuan.config.keymap.general.editMode.custom)}"> <div id="barReadonly" class="toolbar__item b3-tooltips b3-tooltips__sw${window.siyuan.config.readonly ? " fn__none" : ""}${window.siyuan.config.editor.readOnly ? " toolbar__item--active" : ""}" aria-label="${window.siyuan.languages.use} ${window.siyuan.config.editor.readOnly ? window.siyuan.languages.editMode : window.siyuan.languages.editReadonly} ${updateHotkeyTip(window.siyuan.config.keymap.general.editMode.custom)}">
<svg><use xlink:href="#icon${window.siyuan.config.editor.readOnly ? "Preview" : "Edit"}"></use></svg> <svg><use xlink:href="#icon${window.siyuan.config.editor.readOnly ? "Preview" : "Edit"}"></use></svg>
</div> </div>
<div id="barMode" class="toolbar__item b3-tooltips b3-tooltips__sw" aria-label="${window.siyuan.languages.appearanceMode}"> <div id="barMode" class="toolbar__item b3-tooltips b3-tooltips__sw${window.siyuan.config.readonly ? " fn__none" : ""}" aria-label="${window.siyuan.languages.appearanceMode}">
<svg><use xlink:href="#icon${window.siyuan.config.appearance.modeOS ? "Mode" : (window.siyuan.config.appearance.mode === 0 ? "Light" : "Dark")}"></use></svg> <svg><use xlink:href="#icon${window.siyuan.config.appearance.modeOS ? "Mode" : (window.siyuan.config.appearance.mode === 0 ? "Light" : "Dark")}"></use></svg>
</div> </div>
<div class="fn__flex" id="windowControls"></div>`; <div class="fn__flex" id="windowControls"></div>`;
@ -112,8 +112,10 @@ export const initBar = () => {
event.stopPropagation(); event.stopPropagation();
break; break;
} else if (target.id === "toolbarVIP") { } else if (target.id === "toolbarVIP") {
if (!window.siyuan.config.readonly) {
const dialogSetting = openSetting(); const dialogSetting = openSetting();
dialogSetting.element.querySelector('.b3-tab-bar [data-name="account"]').dispatchEvent(new CustomEvent("click")); dialogSetting.element.querySelector('.b3-tab-bar [data-name="account"]').dispatchEvent(new CustomEvent("click"));
}
event.stopPropagation(); event.stopPropagation();
break; break;
} else if (target.id === "barSearch") { } else if (target.id === "barSearch") {

View file

@ -74,6 +74,7 @@ export const workspaceMenu = (rect: DOMRect) => {
submenu: dockMenu submenu: dockMenu
}).element); }).element);
/// #if !BROWSER /// #if !BROWSER
if (!window.siyuan.config.readonly) {
const workspaceSubMenu: IMenu[] = [{ const workspaceSubMenu: IMenu[] = [{
label: window.siyuan.languages.openBy + "...", label: window.siyuan.languages.openBy + "...",
iconHTML: Constants.ZWSP, iconHTML: Constants.ZWSP,
@ -98,6 +99,7 @@ export const workspaceMenu = (rect: DOMRect) => {
type: "submenu", type: "submenu",
submenu: workspaceSubMenu, submenu: workspaceSubMenu,
}).element); }).element);
}
/// #endif /// #endif
window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
if (!window.siyuan.config.readonly) { if (!window.siyuan.config.readonly) {
@ -155,7 +157,6 @@ export const workspaceMenu = (rect: DOMRect) => {
} }
}], }],
}).element); }).element);
}
window.siyuan.menus.menu.append(new MenuItem({ window.siyuan.menus.menu.append(new MenuItem({
label: window.siyuan.languages.lockScreen, label: window.siyuan.languages.lockScreen,
icon: "iconLock", icon: "iconLock",
@ -173,6 +174,7 @@ export const workspaceMenu = (rect: DOMRect) => {
} }
}).element); }).element);
window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
}
window.siyuan.menus.menu.append(new MenuItem({ window.siyuan.menus.menu.append(new MenuItem({
label: window.siyuan.languages.help, label: window.siyuan.languages.help,
icon: "iconHelp", icon: "iconHelp",

View file

@ -10,7 +10,7 @@ import {blockRender} from "../markdown/blockRender";
import {disabledForeverProtyle, disabledProtyle, enableProtyle} from "../util/onGet"; import {disabledForeverProtyle, disabledProtyle, enableProtyle} from "../util/onGet";
export const saveScroll = (protyle: IProtyle, getObject = false) => { export const saveScroll = (protyle: IProtyle, getObject = false) => {
if (!protyle.wysiwyg.element.firstElementChild) { if (!protyle.wysiwyg.element.firstElementChild || window.siyuan.config.readonly) {
// 报错或者空白页面 // 报错或者空白页面
return undefined; return undefined;
} }

View file

@ -113,6 +113,9 @@ export const getSyncCloudList = (cloudPanelElement: Element, reload = false, cb?
}; };
export const syncGuide = (element?: Element) => { export const syncGuide = (element?: Element) => {
if (window.siyuan.config.readonly) {
return;
}
if (element && element.classList.contains("toolbar__item--active")) { if (element && element.classList.contains("toolbar__item--active")) {
return; return;
} }

View file

@ -589,7 +589,9 @@ export const globalShortcut = () => {
return; return;
} }
if (!isTabWindow && matchHotKey(window.siyuan.config.keymap.general.dataHistory.custom, event)) { if (!isTabWindow && matchHotKey(window.siyuan.config.keymap.general.dataHistory.custom, event)) {
if (!window.siyuan.config.readonly) {
openHistory(); openHistory();
}
event.preventDefault(); event.preventDefault();
return; return;
} }