From 4a9ee67891f734da63b3c5957a11a0627b6b74ce Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 26 Jun 2022 16:01:40 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/3952 --- app/src/config/about.ts | 5 +++++ app/src/config/keymap.ts | 2 +- app/src/constants.ts | 2 +- app/src/layout/util.ts | 37 +++++++++++++++++++++++++++++++++++-- app/src/menus/tab.ts | 1 - 5 files changed, 42 insertions(+), 5 deletions(-) diff --git a/app/src/config/about.ts b/app/src/config/about.ts index a22c64b56..4fe0f821d 100644 --- a/app/src/config/about.ts +++ b/app/src/config/about.ts @@ -190,8 +190,13 @@ export const about = { const searchData = JSON.parse(localStorage.getItem(Constants.LOCAL_SEARCHEDATA) || "{}"); if (searchData.hPath) { searchData.hPath = ""; + searchData.idPath = ""; localStorage.setItem(Constants.LOCAL_SEARCHEDATA, JSON.stringify(searchData)); } + localStorage.removeItem(Constants.LOCAL_DAILYNOTEID); + localStorage.removeItem(Constants.LOCAL_DOCINFO); + localStorage.removeItem(Constants.LOCAL_HISTORYNOTEID); + localStorage.removeItem("pdfjs.history"); exportLayout(false, () => { exitSiYuan(); }); diff --git a/app/src/config/keymap.ts b/app/src/config/keymap.ts index 087f47b1e..14daf4d0e 100644 --- a/app/src/config/keymap.ts +++ b/app/src/config/keymap.ts @@ -268,7 +268,7 @@ export const keymap = { } if (["⌘", "⇧", "⌥", "⌃"].includes(keymapStr.substr(keymapStr.length - 1, 1)) || - ["⌘S", "⌘A", "⌘X", "⌘C", "⌘V", "⌘/", "⌘↑", "⌘↓", "⇧↑", "⇧↓", "⇧→", "⇧←", "⇧⇥", "⇧⌘⇥", "⌃⇥", "⌃⌘⇥", "⇧⌘→", "⇧⌘←", "⌘Home", "⌘End", "⇧↩", "↩", "PageUp", "PageDown", "⌫", "⌦", "F9"].includes(keymapStr)) { + ["⌘S", "⌘A", "⌘X", "⌘C", "⌘V", "⌘/", "⌘↑", "⌘↓", "⇧↑", "⇧↓", "⇧→", "⇧←", "⇧⌘⇥", "⌃⇥", "⌃⌘⇥", "⇧⌘→", "⇧⌘←", "⌘Home", "⌘End", "⇧↩", "↩", "PageUp", "PageDown", "⌫", "⌦", "F9"].includes(keymapStr)) { showMessage(tip + "] " + window.siyuan.languages.invalid); return; } diff --git a/app/src/constants.ts b/app/src/constants.ts index c64a295a3..7b15d93c4 100644 --- a/app/src/constants.ts +++ b/app/src/constants.ts @@ -82,7 +82,7 @@ export abstract class Constants { }; // "⌘", "⇧", "⌥", "⌃" - // "⌘S", "⌘A", "⌘X", "⌘C", "⌘V", "⌘/", "⌘↑", "⌘↓", "⇧↑", "⇧↓", "⇧→", "⇧←", "⇧⇥", "⇧⌘⇥", "⌃⇥", "⌃⌘⇥", "⇧⌘→", "⇧⌘←", "⌘Home", "⌘End", "⇧↩", "↩", "PageUp", "PageDown", "⌫", "⌦", "F9" 不可自定义 + // "⌘S", "⌘A", "⌘X", "⌘C", "⌘V", "⌘/", "⌘↑", "⌘↓", "⇧↑", "⇧↓", "⇧→", "⇧←", "⇧⌘⇥", "⌃⇥", "⌃⌘⇥", "⇧⌘→", "⇧⌘←", "⌘Home", "⌘End", "⇧↩", "↩", "PageUp", "PageDown", "⌫", "⌦", "F9" 不可自定义 public static readonly SIYUAN_KEYMAP: IKeymap = { general: { enterBack: {default: "⌥←", custom: "⌥←"}, diff --git a/app/src/layout/util.ts b/app/src/layout/util.ts index 15cd75ff2..96c380594 100644 --- a/app/src/layout/util.ts +++ b/app/src/layout/util.ts @@ -25,6 +25,39 @@ import {getContenteditableElement} from "../protyle/wysiwyg/getBlock"; import {updatePanelByEditor} from "../editor/util"; import {Constants} from "../constants"; import {openSearch} from "../search/spread"; +import {Dialog} from "../dialog"; +import {isMobile} from "../util/functions"; + +export const openCloseRecentTab = () => { + const recentClose = JSON.parse(localStorage.getItem(Constants.LOCAL_RECENTCLOSE) || "[]"); + let html = '' + if (recentClose.length === 0) { + html += `
  • ${window.siyuan.languages.emptyContent}
  • ` + } else { + recentClose.forEach((item: IObject) => { + html += `
  • ${item.text}
  • ` + }) + } + const dialog = new Dialog({ + title: window.siyuan.languages.recentClose, + content: `
    + +
    +
    `, + width: isMobile() ? "80vw" : "50vw", + }); + dialog.element.addEventListener("click", (event) => { + let target = event.target as HTMLElement + while (!target.isSameNode(dialog.element)) { + const instance = target.getAttribute("data-instance") + if (instance) { + + break; + } + target = target.parentElement + } + }) +} export const setPanelFocus = (element: Element) => { if (element.classList.contains("block__icons--active") || element.classList.contains("layout__wnd--active")) { @@ -245,7 +278,7 @@ const JSONToCenter = (json: any, layout?: Layout | Wnd | Tab | Model) => { })); } else if (json.instance === "Tag") { (layout as Tab).addModel(new Tag((layout as Tab))); - } else if (json.instance === "search") { + } else if (json.instance === "Search") { (layout as Tab).addModel(new Search({ tab: (layout as Tab), text: json.text @@ -353,7 +386,7 @@ export const layoutToJSON = (layout: Layout | Wnd | Tab | Model, json: any) => { } else if (layout instanceof Tag) { json.instance = "Tag"; } else if (layout instanceof Search) { - json.instance = "search"; + json.instance = "Search"; json.text = layout.text; } diff --git a/app/src/menus/tab.ts b/app/src/menus/tab.ts index ea3086292..924b89635 100644 --- a/app/src/menus/tab.ts +++ b/app/src/menus/tab.ts @@ -111,7 +111,6 @@ const closeMenu = (model: Model) => { }).element); } } - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); };