Skip to content

Commit

Permalink
🎨 fix #5290
Browse files Browse the repository at this point in the history
  • Loading branch information
Vanessa219 committed Jun 29, 2022
1 parent 22dad0a commit fa2b7c3
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 11 deletions.
15 changes: 9 additions & 6 deletions app/src/layout/Wnd.ts
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,10 @@ export class Wnd {
if (item.headElement && item.headElement.classList.contains("fn__none")) {
// https://github.com/siyuan-note/siyuan/issues/267
} else {
item.headElement?.classList.add("item--focus");
if (item.headElement) {
item.headElement.classList.add("item--focus");
item.headElement.setAttribute("data-activetime", (new Date()).getTime().toString());
}
item.panelElement.classList.remove("fn__none");
}
currentTab = item;
Expand All @@ -310,7 +313,7 @@ export class Wnd {
if (currentTab && currentTab.model instanceof Editor) {
const keepCursorId = currentTab.headElement.getAttribute("keep-cursor");
if (keepCursorId) {
// 在新页签中打开,但不跳转到新页签,单切换到新页签时需调整滚动
// 在新页签中打开,但不跳转到新页签,但切换到新页签时需调整滚动
let nodeElement: HTMLElement;
Array.from(currentTab.model.editor.protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${keepCursorId}"]`)).find((item: HTMLElement) => {
if (!hasClosestByAttribute(item, "data-type", "NodeBlockQueryEmbed", true)) {
Expand Down Expand Up @@ -405,7 +408,7 @@ export class Wnd {
event.preventDefault();
});

tab.headElement.setAttribute("data-opentime", (new Date()).getTime().toString());
tab.headElement.setAttribute("data-activetime", (new Date()).getTime().toString());
}
const containerElement = this.element.querySelector(".layout-tab-container");
if (!containerElement.querySelector(".fn__flex-1")) {
Expand Down Expand Up @@ -433,10 +436,10 @@ export class Wnd {
return;
}
if (!openTime) {
openTime = item.headElement.getAttribute("data-opentime");
openTime = item.headElement.getAttribute("data-activetime");
removeId = this.children[index].id;
} else if (item.headElement.getAttribute("data-opentime") < openTime) {
openTime = item.headElement.getAttribute("data-opentime");
} else if (item.headElement.getAttribute("data-activetime") < openTime) {
openTime = item.headElement.getAttribute("data-activetime");
removeId = this.children[index].id;
}
});
Expand Down
16 changes: 11 additions & 5 deletions app/src/util/globalShortcut.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {isCtrl, isMac, writeText} from "../protyle/util/compatibility";
import {isCtrl, isMac, updateHotkeyTip, writeText} from "../protyle/util/compatibility";
import {matchHotKey} from "../protyle/util/hotKey";
import {openSearch} from "../search/spread";
import {
Expand Down Expand Up @@ -257,21 +257,27 @@ export const globalShortcut = () => {
let dockHtml = ''
let tabHtml = ''
getAllDocks().forEach(item => {
dockHtml += `<li data-type="${item.type}" class="b3-list-item"><svg class="b3-list-item__graphic"><use xlink:href="#${item.icon}"></use></svg><span class="b3-list-item__text">${window.siyuan.languages[item.hotkeyLangId]}</span></li>`
dockHtml += `<li data-type="${item.type}" class="b3-list-item">
<svg class="b3-list-item__graphic"><use xlink:href="#${item.icon}"></use></svg>
<span class="b3-list-item__text">${window.siyuan.languages[item.hotkeyLangId]}</span>
<span class="b3-list-item__meta">${updateHotkeyTip(window.siyuan.config.keymap.general[item.hotkeyLangId].custom)}</span>
</li>`
})
let currentTabElement = document.querySelector(".layout__wnd--active .layout-tab-bar > .item--focus")
if (!currentTabElement) {
currentTabElement = document.querySelector(".layout-tab-bar > .item--focus")
}
if (currentTabElement) {
const currentId = currentTabElement.getAttribute("data-id")
getAllTabs().forEach(item => {
getAllTabs().sort((itemA, itemB) => {
return itemA.headElement.getAttribute("data-activetime") > itemB.headElement.getAttribute("data-activetime") ? -1 : 1
}).forEach(item => {
let icon = `<svg class="b3-list-item__graphic"><use xlink:href="#${item.icon}"></use></svg>`
if (item.model instanceof Editor) {
icon = `<span class="b3-list-item__graphic">${unicode2Emoji(item.docIcon || Constants.SIYUAN_IMAGE_FILE)}</span>`
}
tabHtml += `<li data-id="${item.id}" class="b3-list-item${currentId === item.id ? " b3-list-item--focus" : ""}"${currentId === item.id ? ' data-original="true"' : ""}>${icon}<span class="b3-list-item__text">${item.title}</span></li>`
})
});
}
switchDialog = new Dialog({
content: `<div class="fn__flex-column b3-dialog--switch">
Expand All @@ -283,7 +289,7 @@ export const globalShortcut = () => {
<div class="fn__hr"></div>
</div>`
});
switchDialog.element.addEventListener("contextmenu", (event) => {
switchDialog.element.addEventListener(isMac() ? "contextmenu" : "click", (event) => {
event.preventDefault();
event.stopPropagation();
let target = event.target as HTMLElement;
Expand Down

0 comments on commit fa2b7c3

Please sign in to comment.