Vanessa 2022-12-08 21:53:07 +08:00
parent 2e15fbf098
commit 28957d3ba6
3 changed files with 9 additions and 21 deletions

View file

@ -103,7 +103,7 @@ const openFile = (options: IOpenFileOptions) => {
return true;
}
// 没有初始化的页签无法检测到
const hasEditor = getUnInitTab(options);
const hasEditor = getUnInitTab(options);
if (hasEditor) {
return;
}
@ -345,8 +345,11 @@ export const updatePanelByEditor = (protyle?: IProtyle, focus = true, pushBackSt
}
if (window.siyuan.config.fileTree.alwaysSelectOpenedFile && protyle) {
const fileModel = getDockByType("file")?.data.file;
if (fileModel instanceof Files && !fileModel.isSelected(protyle.path)) {
fileModel.selectItem(protyle.notebookId, protyle.path);
if (fileModel instanceof Files) {
const target = fileModel.element.querySelector(`li[data-path="${protyle.path}"]`);
if (!target || (target && !target.classList.contains("b3-list-item--focus"))) {
fileModel.selectItem(protyle.notebookId, protyle.path);
}
}
}
}

View file

@ -852,21 +852,6 @@ export class Files extends Model {
liElement.insertAdjacentHTML("afterend", `<ul>${fileHTML}</ul>`);
this.setCurrent(this.element.querySelector(`ul[data-url="${data.box}"] li[data-path="${filePath}"]`));
}
/**
*
* @param filePath
* @returns
*/
public isSelected(filePath: string): boolean {
if(!filePath) {
return false;
}
const target = this.element.querySelector(`li[data-path="${filePath}"]`);
if(target) {
return target.classList.contains("b3-list-item--focus");
}
return false;
}
private setCurrent(target: HTMLElement, isScroll = true) {
if (!target) {

View file

@ -432,7 +432,7 @@ export const globalShortcut = () => {
<span class="b3-list-item__meta">${updateHotkeyTip(window.siyuan.config.keymap.general[item.hotkeyLangId].custom)}</span>
</li>`;
});
let range: Range
let range: Range;
if (getSelection().rangeCount > 0) {
range = getSelection().getRangeAt(0).cloneRange();
}
@ -450,7 +450,7 @@ export const globalShortcut = () => {
transparent: true,
destroyCallback: () => {
if (range && range.getBoundingClientRect().height !== 0) {
focusByRange(range)
focusByRange(range);
}
}
});
@ -1260,7 +1260,7 @@ const panelTreeKeydown = (event: KeyboardEvent) => {
if (nextElement.nextElementSibling.tagName === "UL") {
if (nextElement.nextElementSibling.classList.contains("fn__none")) { // 遇到折叠内容
if (nextElement.nextElementSibling.nextElementSibling) {
nextElement = nextElement.nextElementSibling.nextElementSibling
nextElement = nextElement.nextElementSibling.nextElementSibling;
}
} else {
nextElement = nextElement.nextElementSibling.firstElementChild;