diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index d60f553ea..e5bb5fc17 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -108,6 +108,7 @@ export class Files extends Model { ${window.siyuan.languages.closeNotebook} + `; @@ -704,8 +705,10 @@ export class Files extends Model { public init(init = true) { let html = ""; let closeHtml = ""; + let closeCounter = 0 window.siyuan.notebooks.forEach((item) => { if (item.closed) { + closeCounter++; closeHtml += this.genNotebook(item); } else { html += this.genNotebook(item); @@ -713,6 +716,13 @@ export class Files extends Model { }); this.element.innerHTML = html; this.closeElement.lastElementChild.innerHTML = closeHtml; + const counterElement = this.closeElement.querySelector(".counter") + counterElement.textContent = closeCounter.toString() + if (closeCounter) { + counterElement.classList.remove("fn__none"); + } else { + counterElement.classList.add("fn__none"); + } if (!init) { return; } @@ -740,6 +750,9 @@ export class Files extends Model { } }); this.closeElement.lastElementChild.innerHTML = closeHTML; + const counterElement = this.closeElement.querySelector(".counter"); + counterElement.textContent = (parseInt(counterElement.textContent) + 1).toString(); + counterElement.classList.remove("fn__none") } } }); @@ -784,6 +797,11 @@ export class Files extends Model { } const liElement = this.closeElement.querySelector(`li[data-url="${data.data.box.id}"]`) as HTMLElement; if (liElement) { + const counterElement = this.closeElement.querySelector(".counter") + counterElement.textContent = (parseInt(counterElement.textContent) - 1).toString() + if (counterElement.textContent === "0") { + counterElement.classList.add("fn__none") + } liElement.remove(); } setNoteBook((notebooks: INotebook[]) => { diff --git a/app/src/mobile/dock/MobileFiles.ts b/app/src/mobile/dock/MobileFiles.ts index 68fddc7cc..5d156442c 100644 --- a/app/src/mobile/dock/MobileFiles.ts +++ b/app/src/mobile/dock/MobileFiles.ts @@ -95,6 +95,7 @@ export class MobileFiles extends Model { ${window.siyuan.languages.closeNotebook} + `; @@ -292,8 +293,10 @@ export class MobileFiles extends Model { public init(init = true) { let html = ""; let closeHtml = ""; + let closeCounter = 0; window.siyuan.notebooks.forEach((item) => { if (item.closed) { + closeCounter++; closeHtml += this.genNotebook(item); } else { html += this.genNotebook(item); @@ -301,6 +304,13 @@ export class MobileFiles extends Model { }); this.element.innerHTML = html; this.closeElement.lastElementChild.innerHTML = closeHtml; + const counterElement = this.closeElement.querySelector(".counter") + counterElement.textContent = closeCounter.toString() + if (closeCounter) { + counterElement.classList.remove("fn__none"); + } else { + counterElement.classList.add("fn__none"); + } if (!init) { return; } @@ -407,6 +417,9 @@ export class MobileFiles extends Model { } }); this.closeElement.lastElementChild.innerHTML = closeHTML; + const counterElement = this.closeElement.querySelector(".counter"); + counterElement.textContent = (parseInt(counterElement.textContent) + 1).toString(); + counterElement.classList.remove("fn__none") } } }); @@ -461,6 +474,11 @@ export class MobileFiles extends Model { const liElement = this.closeElement.querySelector(`li[data-url="${data.data.box.id}"]`) as HTMLElement; if (liElement) { liElement.remove(); + const counterElement = this.closeElement.querySelector(".counter") + counterElement.textContent = (parseInt(counterElement.textContent) - 1).toString() + if (counterElement.textContent === "0") { + counterElement.classList.add("fn__none") + } } setNoteBook((notebooks: INotebook[]) => { const html = this.genNotebook(data.data.box);