Vanessa 2023-04-28 16:31:01 +08:00
parent ef97c2e5a7
commit a698f82184
3 changed files with 64 additions and 21 deletions

View file

@ -27,7 +27,7 @@
</svg>
</div>
<div id="editor" class="fn__none fn__flex-1"></div>
<div id="empty"></div>
<div id="empty" class="b3-list--mobile"></div>
<div id="sidebar" class="side-panel fn__flex-column">
<div class="toolbar toolbar--border">
<svg data-type="sidebar-file-tab" class="toolbar__icon toolbar__icon--active"><use xlink:href="#iconFiles"></use></svg>

View file

@ -193,7 +193,7 @@ export const initRightMenu = () => {
event.preventDefault();
event.stopPropagation();
break;
} else if (target.id === "menuHistory" && !window.siyuan.config.readonly) {
} else if (target.id === "menuHistory") {
openHistory();
event.preventDefault();
event.stopPropagation();

View file

@ -1,42 +1,85 @@
import {getEventName} from "../../protyle/util/compatibility";
import {mountHelp, newNotebook} from "../../util/mount";
import {newFile} from "../../util/newFile";
import {getOpenNotebookCount} from "../../util/pathName";
import {popSearch} from "../menu/search";
import {getRecentDocs} from "../menu/getRecentDocs";
import {openHistory} from "../../history/history";
export const setEmpty = () => {
document.getElementById("toolbarName").classList.add("fn__hidden");
document.getElementById("toolbarEdit").classList.add("fn__hidden");
document.getElementById("editor").classList.add("fn__none");
const emptyElement = document.getElementById("empty");
emptyElement.classList.remove("fn__none");
if (emptyElement.innerHTML !== "") {
return;
}
emptyElement.innerHTML = `<h1 style="width: 200px">${window.siyuan.languages.noOpenFile}</h1>
<div class="fn__hr--b"></div>
<div id="emptyNewFile" class="b3-list-item b3-list-item--big${getOpenNotebookCount() > 0 ? "" :" fn__none"}">
<div id="emptySearch" class="b3-list-item">
<svg class="b3-list-item__graphic"><use xlink:href="#iconSearch"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.search}</span>
</div>
<div id="emptyRecent" class="b3-list-item">
<svg class="b3-list-item__graphic"><use xlink:href="#iconList"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.recentDocs}</span>
</div>
<div id="emptyHistory" class="b3-list-item">
<svg class="b3-list-item__graphic"><use xlink:href="#iconHistory"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.dataHistory}</span>
</div>
<div id="emptyNewFile" class="b3-list-item${getOpenNotebookCount() > 0 ? "" : " fn__none"}">
<svg class="b3-list-item__graphic"><use xlink:href="#iconFile"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.newFile}</span>
</div>
<div class="b3-list-item b3-list-item--big" id="emptyNewNotebook">
<div class="b3-list-item" id="emptyNewNotebook">
<svg class="b3-list-item__graphic"><use xlink:href="#iconFilesRoot"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.newNotebook}</span>
</div>
<div class="b3-list-item b3-list-item--big" id="emptyHelp">
<div class="b3-list-item" id="emptyHelp">
<svg class="b3-list-item__graphic"><use xlink:href="#iconHelp"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.help}</span>
</div>`;
document.getElementById("emptyNewFile").addEventListener(getEventName(), () => {
if (window.siyuan.mobile.editor) {
newFile(window.siyuan.mobile.editor.protyle.notebookId, window.siyuan.mobile.editor.protyle.path, undefined, true);
} else {
window.siyuan.notebooks.find(item => {
if (item.closed) {
newFile(item.id, "/", undefined, true);
emptyElement.addEventListener("click", (event) => {
let target = event.target as HTMLElement;
while (target && !target.isEqualNode(emptyElement)) {
if (target.id === "emptySearch") {
popSearch();
event.stopPropagation();
event.preventDefault()
break;
} else if (target.id === "emptyRecent") {
getRecentDocs();
event.stopPropagation();
event.preventDefault()
break;
} else if (target.id === "emptyHistory") {
openHistory();
event.stopPropagation();
event.preventDefault()
break;
} else if (target.id === "emptyNewFile") {
if (window.siyuan.mobile.editor) {
newFile(window.siyuan.mobile.editor.protyle.notebookId, window.siyuan.mobile.editor.protyle.path, undefined, true);
} else {
window.siyuan.notebooks.find(item => {
if (!item.closed) {
newFile(item.id, "/", undefined, true);
return true;
}
});
}
});
event.stopPropagation();
event.preventDefault()
break;
} else if (target.id === "emptyNewNotebook") {
newNotebook();
event.stopPropagation();
event.preventDefault()
break;
} else if (target.id === "emptyHelp") {
mountHelp();
event.stopPropagation();
event.preventDefault()
break;
}
target = target.parentElement;
}
});
document.getElementById("emptyNewNotebook").addEventListener(getEventName(), () => {
newNotebook();
});
document.getElementById("emptyHelp").addEventListener(getEventName(), () => {
mountHelp();
});
emptyElement.classList.remove("fn__none");
};
export const setEditor = () => {