Vanessa 2024-06-11 22:34:27 +08:00
parent 0a85850e8e
commit 79f9de4a3f
2 changed files with 36 additions and 0 deletions

View file

@ -108,6 +108,7 @@ export class Files extends Model {
<svg class="b3-list-item__arrow"><use xlink:href="#iconRight"></use></svg> <svg class="b3-list-item__arrow"><use xlink:href="#iconRight"></use></svg>
</span> </span>
<span class="b3-list-item__text">${window.siyuan.languages.closeNotebook}</span> <span class="b3-list-item__text">${window.siyuan.languages.closeNotebook}</span>
<span class="counter fn__none" style="cursor: auto"></span>
</li> </li>
<ul class="fn__none fn__flex-1"></ul> <ul class="fn__none fn__flex-1"></ul>
</ul>`; </ul>`;
@ -704,8 +705,10 @@ export class Files extends Model {
public init(init = true) { public init(init = true) {
let html = ""; let html = "";
let closeHtml = ""; let closeHtml = "";
let closeCounter = 0
window.siyuan.notebooks.forEach((item) => { window.siyuan.notebooks.forEach((item) => {
if (item.closed) { if (item.closed) {
closeCounter++;
closeHtml += this.genNotebook(item); closeHtml += this.genNotebook(item);
} else { } else {
html += this.genNotebook(item); html += this.genNotebook(item);
@ -713,6 +716,13 @@ export class Files extends Model {
}); });
this.element.innerHTML = html; this.element.innerHTML = html;
this.closeElement.lastElementChild.innerHTML = closeHtml; 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) { if (!init) {
return; return;
} }
@ -740,6 +750,9 @@ export class Files extends Model {
} }
}); });
this.closeElement.lastElementChild.innerHTML = closeHTML; 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; const liElement = this.closeElement.querySelector(`li[data-url="${data.data.box.id}"]`) as HTMLElement;
if (liElement) { 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(); liElement.remove();
} }
setNoteBook((notebooks: INotebook[]) => { setNoteBook((notebooks: INotebook[]) => {

View file

@ -95,6 +95,7 @@ export class MobileFiles extends Model {
<svg class="b3-list-item__arrow"><use xlink:href="#iconRight"></use></svg> <svg class="b3-list-item__arrow"><use xlink:href="#iconRight"></use></svg>
</span> </span>
<span class="b3-list-item__text">${window.siyuan.languages.closeNotebook}</span> <span class="b3-list-item__text">${window.siyuan.languages.closeNotebook}</span>
<span class="counter fn__none" style="cursor: auto"></span>
</li> </li>
<ul class="fn__none fn__flex-1"></ul> <ul class="fn__none fn__flex-1"></ul>
</ul>`; </ul>`;
@ -292,8 +293,10 @@ export class MobileFiles extends Model {
public init(init = true) { public init(init = true) {
let html = ""; let html = "";
let closeHtml = ""; let closeHtml = "";
let closeCounter = 0;
window.siyuan.notebooks.forEach((item) => { window.siyuan.notebooks.forEach((item) => {
if (item.closed) { if (item.closed) {
closeCounter++;
closeHtml += this.genNotebook(item); closeHtml += this.genNotebook(item);
} else { } else {
html += this.genNotebook(item); html += this.genNotebook(item);
@ -301,6 +304,13 @@ export class MobileFiles extends Model {
}); });
this.element.innerHTML = html; this.element.innerHTML = html;
this.closeElement.lastElementChild.innerHTML = closeHtml; 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) { if (!init) {
return; return;
} }
@ -407,6 +417,9 @@ export class MobileFiles extends Model {
} }
}); });
this.closeElement.lastElementChild.innerHTML = closeHTML; 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; const liElement = this.closeElement.querySelector(`li[data-url="${data.data.box.id}"]`) as HTMLElement;
if (liElement) { if (liElement) {
liElement.remove(); 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[]) => { setNoteBook((notebooks: INotebook[]) => {
const html = this.genNotebook(data.data.box); const html = this.genNotebook(data.data.box);