+ modelMainElement.addEventListener("click", (event) => {
+ let target = event.target as HTMLElement;
+ while (target && !target.isSameNode(modelMainElement)) {
+ if (target.id === "authCode") {
+ setAccessAuthCode();
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.id === "importKey") {
+ const passwordDialog = new Dialog({
+ title: "🔑 " + window.siyuan.languages.key,
+ content: `
`,
- width: "80vw",
- });
- const textAreaElement = passwordDialog.element.querySelector("textarea");
- textAreaElement.focus();
- const btnsElement = passwordDialog.element.querySelectorAll(".b3-button");
- btnsElement[0].addEventListener("click", () => {
- passwordDialog.destroy();
- });
- btnsElement[1].addEventListener("click", () => {
- fetchPost("/api/repo/importRepoKey", {key: textAreaElement.value}, () => {
- window.siyuan.config.repo.key = textAreaElement.value;
- importKeyElement.parentElement.classList.add("fn__none");
- importKeyElement.parentElement.nextElementSibling.classList.remove("fn__none");
- passwordDialog.destroy();
- });
- });
- });
- modelMainElement.querySelector("#initKey").addEventListener("click", () => {
- confirmDialog("🔑 " + window.siyuan.languages.genKey, window.siyuan.languages.initRepoKeyTip, () => {
- fetchPost("/api/repo/initRepoKey", {}, (response) => {
- window.siyuan.config.repo.key = response.data.key;
- importKeyElement.parentElement.classList.add("fn__none");
- importKeyElement.parentElement.nextElementSibling.classList.remove("fn__none");
- });
- });
- });
- modelMainElement.querySelector("#initKeyByPW").addEventListener("click", () => {
- const initDialog = new Dialog({
- title: "🔑 " + window.siyuan.languages.genKeyByPW,
- content: `
+ width: "80vw",
+ });
+ const textAreaElement = passwordDialog.element.querySelector("textarea");
+ textAreaElement.focus();
+ const btnsElement = passwordDialog.element.querySelectorAll(".b3-button");
+ btnsElement[0].addEventListener("click", () => {
+ passwordDialog.destroy();
+ });
+ btnsElement[1].addEventListener("click", () => {
+ fetchPost("/api/repo/importRepoKey", {key: textAreaElement.value}, () => {
+ window.siyuan.config.repo.key = textAreaElement.value;
+ importKeyElement.parentElement.classList.add("fn__none");
+ importKeyElement.parentElement.nextElementSibling.classList.remove("fn__none");
+ passwordDialog.destroy();
+ });
+ });
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.id === "initKey") {
+ confirmDialog("🔑 " + window.siyuan.languages.genKey, window.siyuan.languages.initRepoKeyTip, () => {
+ fetchPost("/api/repo/initRepoKey", {}, (response) => {
+ window.siyuan.config.repo.key = response.data.key;
+ importKeyElement.parentElement.classList.add("fn__none");
+ importKeyElement.parentElement.nextElementSibling.classList.remove("fn__none");
+ });
+ });
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.id === "initKeyByPW") {
+ const initDialog = new Dialog({
+ title: "🔑 " + window.siyuan.languages.genKeyByPW,
+ content: `
`,
- width: "520px",
- });
- const inputElement = initDialog.element.querySelector(".b3-text-field") as HTMLInputElement;
- inputElement.focus();
- const btnsElement = initDialog.element.querySelectorAll(".b3-button");
- initDialog.bindInput(inputElement, () => {
- (btnsElement[1] as HTMLButtonElement).click();
- });
- btnsElement[0].addEventListener("click", () => {
- initDialog.destroy();
- });
- btnsElement[1].addEventListener("click", () => {
- if (!inputElement.value) {
- showMessage(window.siyuan.languages._kernel[142]);
- return;
- }
- confirmDialog("🔑 " + window.siyuan.languages.genKeyByPW, window.siyuan.languages.initRepoKeyTip, () => {
- initDialog.destroy();
- fetchPost("/api/repo/initRepoKeyFromPassphrase", {pass: inputElement.value}, (response) => {
- window.siyuan.config.repo.key = response.data.key;
- importKeyElement.parentElement.classList.add("fn__none");
- importKeyElement.parentElement.nextElementSibling.classList.remove("fn__none");
+ width: "80vw",
});
- });
- });
- });
- modelMainElement.querySelector("#copyKey").addEventListener("click", () => {
- showMessage(window.siyuan.languages.copied);
- writeText(window.siyuan.config.repo.key);
- });
- modelMainElement.querySelector("#removeKey").addEventListener("click", () => {
- confirmDialog("⚠️ " + window.siyuan.languages.resetRepo, window.siyuan.languages.resetRepoTip, () => {
- fetchPost("/api/repo/resetRepo", {}, () => {
- window.siyuan.config.repo.key = "";
- window.siyuan.config.sync.enabled = false;
- importKeyElement.parentElement.classList.remove("fn__none");
- importKeyElement.parentElement.nextElementSibling.classList.add("fn__none");
- });
- });
- });
- modelMainElement.querySelector("#token").addEventListener("click", () => {
- showMessage(window.siyuan.languages.copied);
- writeText(window.siyuan.config.api.token);
- });
- modelMainElement.querySelector("#exportData").addEventListener("click", () => {
- fetchPost("/api/export/exportData", {}, response => {
- openByMobile(response.data.zip);
- });
- });
- modelMainElement.querySelector("#exportLog").addEventListener("click", () => {
- fetchPost("/api/system/exportLog", {}, (response) => {
- openByMobile(response.data.zip);
- });
- });
+ const inputElement = initDialog.element.querySelector(".b3-text-field") as HTMLInputElement;
+ inputElement.focus();
+ const btnsElement = initDialog.element.querySelectorAll(".b3-button");
+ initDialog.bindInput(inputElement, () => {
+ (btnsElement[1] as HTMLButtonElement).click();
+ });
+ btnsElement[0].addEventListener("click", () => {
+ initDialog.destroy();
+ });
+ btnsElement[1].addEventListener("click", () => {
+ if (!inputElement.value) {
+ showMessage(window.siyuan.languages._kernel[142]);
+ return;
+ }
+ confirmDialog("🔑 " + window.siyuan.languages.genKeyByPW, window.siyuan.languages.initRepoKeyTip, () => {
+ initDialog.destroy();
+ fetchPost("/api/repo/initRepoKeyFromPassphrase", {pass: inputElement.value}, (response) => {
+ window.siyuan.config.repo.key = response.data.key;
+ importKeyElement.parentElement.classList.add("fn__none");
+ importKeyElement.parentElement.nextElementSibling.classList.remove("fn__none");
+ });
+ });
+ });
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.id === "copyKey") {
+ showMessage(window.siyuan.languages.copied);
+ writeText(window.siyuan.config.repo.key);
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.id === "removeKey") {
+ confirmDialog("⚠️ " + window.siyuan.languages.resetRepo, window.siyuan.languages.resetRepoTip, () => {
+ fetchPost("/api/repo/resetRepo", {}, () => {
+ window.siyuan.config.repo.key = "";
+ window.siyuan.config.sync.enabled = false;
+ importKeyElement.parentElement.classList.remove("fn__none");
+ importKeyElement.parentElement.nextElementSibling.classList.add("fn__none");
+ });
+ });
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.id === "token") {
+ showMessage(window.siyuan.languages.copied);
+ writeText(window.siyuan.config.api.token);
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.id === "exportData") {
+ fetchPost("/api/export/exportData", {}, response => {
+ openByMobile(response.data.zip);
+ });
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.id === "exportLog") {
+ fetchPost("/api/system/exportLog", {}, (response) => {
+ openByMobile(response.data.zip);
+ });
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.id === "creatWorkspace") {
+ const createWorkspaceDialog = new Dialog({
+ title: window.siyuan.languages.new,
+ content: `
+
+
+
+
+
+
`,
+ width: "80vw",
+ });
+ const inputElement = createWorkspaceDialog.element.querySelector("input");
+ inputElement.focus();
+ const btnsElement = createWorkspaceDialog.element.querySelectorAll(".b3-button");
+ btnsElement[0].addEventListener("click", () => {
+ createWorkspaceDialog.destroy();
+ });
+ btnsElement[1].addEventListener("click", () => {
+ fetchPost("/api/system/createWorkspaceDir", {
+ path: pathPosix().join(pathPosix().dirname(window.siyuan.config.system.workspaceDir), inputElement.value)
+ }, () => {
+ genWorkspace(workspaceDirElement);
+ });
+ });
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.getAttribute("data-type") === "remove") {
+ confirmDialog("⚠️ " + window.siyuan.languages.remove, window.siyuan.languages.about8, () => {
+ fetchPost("/api/system/removeWorkspaceDir", {path: target.parentElement.getAttribute("data-path")});
+ });
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ } else if (target.classList.contains("b3-list-item") && !target.classList.contains("b3-list-item--focus")) {
+ confirmDialog(`${pathPosix().basename(window.siyuan.config.system.workspaceDir)} -> ${pathPosix().basename(target.getAttribute("data-path"))}?`, window.siyuan.languages.about8, () => {
+ fetchPost("/api/system/setWorkspaceDir", {
+ path: target.getAttribute("data-path")
+ }, () => {
+ exitSiYuan();
+ });
+ })
+ event.preventDefault();
+ event.stopPropagation();
+ break;
+ }
+ target = target.parentElement;
+ }
+ })
modelMainElement.querySelector("#importData").addEventListener("change", (event: InputEvent & { target: HTMLInputElement }) => {
const formData = new FormData();
formData.append("file", event.target.files[0]);