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);