mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-21 09:00:12 +01:00
This commit is contained in:
parent
ab24754196
commit
115767a0f4
11 changed files with 56 additions and 65 deletions
|
|
@ -42,7 +42,7 @@ export class Files extends Model {
|
|||
this.element.insertAdjacentHTML("beforeend", this.genNotebook(data.data.box));
|
||||
break;
|
||||
case "unmount":
|
||||
case "remove":
|
||||
case "removeDoc":
|
||||
this.onRemove(data);
|
||||
break;
|
||||
case "createdailynote":
|
||||
|
|
@ -579,9 +579,9 @@ export class Files extends Model {
|
|||
|
||||
private onRemove(data: IWebSocketData) {
|
||||
// "doc2heading" 后删除文件或挂载帮助文档前的 unmount
|
||||
const targetElement = this.element.querySelector(`ul[data-url="${data.data.box}"] li[data-path="${data.data.path || "/"}"]`);
|
||||
if (data.cmd === "unmount") {
|
||||
setNoteBook((notebooks) => {
|
||||
const targetElement = this.element.querySelector(`ul[data-url="${data.data.box}"] li[data-path="${"/"}"]`);
|
||||
if (targetElement) {
|
||||
targetElement.parentElement.remove();
|
||||
if (Constants.CB_MOUNT_REMOVE !== data.callback) {
|
||||
|
|
@ -601,28 +601,33 @@ export class Files extends Model {
|
|||
removeElement.remove();
|
||||
}
|
||||
}
|
||||
} else if (targetElement) {
|
||||
// 子节点展开则删除
|
||||
if (targetElement.nextElementSibling?.tagName === "UL") {
|
||||
targetElement.nextElementSibling.remove();
|
||||
}
|
||||
// 移除当前节点
|
||||
const parentElement = targetElement.parentElement.previousElementSibling as HTMLElement;
|
||||
if (targetElement.parentElement.childElementCount === 1) {
|
||||
if (parentElement) {
|
||||
const iconElement = parentElement.querySelector("svg");
|
||||
iconElement.classList.remove("b3-list-item__arrow--open");
|
||||
iconElement.parentElement.classList.add("fn__hidden");
|
||||
const emojiElement = iconElement.parentElement.nextElementSibling;
|
||||
if (emojiElement.innerHTML === unicode2Emoji(Constants.SIYUAN_IMAGE_FOLDER)) {
|
||||
emojiElement.innerHTML = unicode2Emoji(Constants.SIYUAN_IMAGE_FILE);
|
||||
}
|
||||
}
|
||||
targetElement.parentElement.remove();
|
||||
} else {
|
||||
targetElement.remove();
|
||||
}
|
||||
return;
|
||||
}
|
||||
data.data.ids.forEach((item: string) => {
|
||||
const targetElement = this.element.querySelector(`li.b3-list-item[data-node-id="${item}"]`);
|
||||
if (targetElement) {
|
||||
// 子节点展开则删除
|
||||
if (targetElement.nextElementSibling?.tagName === "UL") {
|
||||
targetElement.nextElementSibling.remove();
|
||||
}
|
||||
// 移除当前节点
|
||||
const parentElement = targetElement.parentElement.previousElementSibling as HTMLElement;
|
||||
if (targetElement.parentElement.childElementCount === 1) {
|
||||
if (parentElement) {
|
||||
const iconElement = parentElement.querySelector("svg");
|
||||
iconElement.classList.remove("b3-list-item__arrow--open");
|
||||
iconElement.parentElement.classList.add("fn__hidden");
|
||||
const emojiElement = iconElement.parentElement.nextElementSibling;
|
||||
if (emojiElement.innerHTML === unicode2Emoji(Constants.SIYUAN_IMAGE_FOLDER)) {
|
||||
emojiElement.innerHTML = unicode2Emoji(Constants.SIYUAN_IMAGE_FILE);
|
||||
}
|
||||
}
|
||||
targetElement.parentElement.remove();
|
||||
} else {
|
||||
targetElement.remove();
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private onMount(data: { data: { box: INotebook, existed?: boolean }, callback?: string }) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue