mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-02-28 05:32:52 +00:00
🎨 已选中的文件再次选中时,不会在文件树中跳转 (#6820)
This commit is contained in:
@@ -345,7 +345,7 @@ 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) {
|
||||
if (fileModel instanceof Files && !fileModel.isSelected(protyle.path)) {
|
||||
fileModel.selectItem(protyle.notebookId, protyle.path);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -852,6 +852,21 @@ 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) {
|
||||
|
||||
Reference in New Issue
Block a user