ソースを参照

:art: https://github.com/siyuan-note/siyuan/issues/12727

Vanessa 7 ヶ月 前
コミット
d152a7ff6f
3 ファイル変更15 行追加7 行削除
  1. 1 1
      app/src/card/openCard.ts
  2. 9 1
      app/src/layout/dock/Files.ts
  3. 5 5
      app/src/protyle/util/resize.ts

+ 1 - 1
app/src/card/openCard.ts

@@ -223,7 +223,7 @@ const getEditor = (id: string, protyle: IProtyle, element: Element, currentCard:
         });
     });
 
-}
+};
 
 export const bindCardEvent = async (options: {
     app: App,

+ 9 - 1
app/src/layout/dock/Files.ts

@@ -42,7 +42,7 @@ export class Files extends Model {
                 if (data) {
                     switch (data.cmd) {
                         case "reloadDocInfo":
-                            this.element.querySelector(`li[data-node-id="${data.data.rootID}"] .ariaLabel`)?.setAttribute("aria-label", this.genDocAriaLabel(data.data, escapeGreat));
+                            this.updateDocInfo(data);
                             break;
                         case "moveDoc":
                             this.onMove(data);
@@ -736,6 +736,14 @@ export class Files extends Model {
         }
     }
 
+    private updateDocInfo(data: IWebSocketData) {
+        const liElement = this.element.querySelector(`li[data-node-id="${data.data.rootID}"]`)
+        if (liElement) {
+            liElement.setAttribute("data-count", data.data.subFileCount);
+            liElement.querySelector(".ariaLabel")?.setAttribute("aria-label", this.genDocAriaLabel(data.data, escapeGreat));
+        }
+    }
+
     private genNotebook(item: INotebook) {
         const emojiHTML = `<span class="b3-list-item__icon b3-tooltips b3-tooltips__e" aria-label="${window.siyuan.languages.changeIcon}">${unicode2Emoji(item.icon || window.siyuan.storage[Constants.LOCAL_IMAGES].note)}</span>`;
         if (item.closed) {

+ 5 - 5
app/src/protyle/util/resize.ts

@@ -10,8 +10,8 @@ export const recordBeforeResizeTop = () => {
     getAllModels().editor.forEach((item) => {
         if (item.editor && item.editor.protyle &&
             item.element.parentElement && !item.element.classList.contains("fn__none")) {
-            item.editor.protyle.wysiwyg.element.querySelector('[data-resize-top]')?.removeAttribute("data-resize-top");
-            const contentRect = item.editor.protyle.contentElement.getBoundingClientRect()
+            item.editor.protyle.wysiwyg.element.querySelector("[data-resize-top]")?.removeAttribute("data-resize-top");
+            const contentRect = item.editor.protyle.contentElement.getBoundingClientRect();
             let topElement = document.elementFromPoint(contentRect.left + (contentRect.width / 2), contentRect.top);
             if (!topElement) {
                 topElement = document.elementFromPoint(contentRect.left + (contentRect.width / 2), contentRect.top + 17);
@@ -23,11 +23,11 @@ export const recordBeforeResizeTop = () => {
             if (!topElement) {
                 return;
             }
-            console.log(topElement)
+            console.log(topElement);
             topElement.setAttribute("data-resize-top", topElement.getBoundingClientRect().top.toString());
         }
     });
-}
+};
 
 export const resize = (protyle: IProtyle) => {
     hideElements(["gutterOnly"], protyle);
@@ -61,7 +61,7 @@ export const resize = (protyle: IProtyle) => {
                 }
             });
         }
-        const topElement = protyle.wysiwyg.element.querySelector('[data-resize-top]');
+        const topElement = protyle.wysiwyg.element.querySelector("[data-resize-top]");
         if (topElement) {
             topElement.scrollIntoView();
             protyle.contentElement.scrollTop += topElement.getBoundingClientRect().top - parseInt(topElement.getAttribute("data-resize-top"));