Преглед изворни кода

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

Vanessa пре 1 година
родитељ
комит
44091d0717

+ 1 - 0
app/appearance/langs/en_US.json

@@ -1,4 +1,5 @@
 {
+  "loadMore": "Load more",
   "tempUnlock": "Temporarily unlock",
   "cancelTempUnlock": "Cancel temporary unlock",
   "addFilter": "Add filter",

+ 1 - 0
app/appearance/langs/es_ES.json

@@ -1,4 +1,5 @@
 {
+  "loadMore": "Cargar más",
   "tempUnlock": "Desbloquear temporalmente",
   "cancelTempUnlock": "Cancelar desbloqueo temporal",
   "addFilter": "Agregar filtro",

+ 1 - 0
app/appearance/langs/fr_FR.json

@@ -1,4 +1,5 @@
 {
+  "loadMore": "Charger plus",
   "tempUnlock": "Déverrouiller temporairement",
   "cancelTempUnlock": "Annuler le déverrouillage temporaire",
   "addFilter": "Ajouter un filtre",

+ 1 - 0
app/appearance/langs/zh_CHT.json

@@ -1,4 +1,5 @@
 {
+  "loadMore": "載入更多",
   "tempUnlock": "暫時解鎖",
   "cancelTempUnlock": "取消暫時解鎖",
   "addFilter": "新增篩選條件",

+ 1 - 0
app/appearance/langs/zh_CN.json

@@ -1,4 +1,5 @@
 {
+  "loadMore": "加载更多",
   "tempUnlock": "临时解锁",
   "cancelTempUnlock": "取消临时解锁",
   "addFilter": "添加筛选条件",

+ 17 - 0
app/src/protyle/render/av/action.ts

@@ -77,6 +77,23 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle
             event.preventDefault();
             event.stopPropagation();
             return true;
+        } else if (type === "av-add-more") {
+            const avID = blockElement.getAttribute("data-av-id");
+            const srcIDs = [Lute.NewNodeID()];
+            transaction(protyle, [{
+                action: "insertAttrViewBlock",
+                avID,
+                srcIDs,
+                isDetached: true,
+            }], [{
+                action: "removeAttrViewBlock",
+                srcIDs,
+                avID,
+            }]);
+            insertAttrViewBlockAnimation(blockElement, 1, undefined, avID);
+            event.preventDefault();
+            event.stopPropagation();
+            return true;
         } else if (type === "av-more") {
             openMenuPanel({protyle, blockElement, type: "config"});
             event.preventDefault();

+ 8 - 0
app/src/protyle/render/av/render.ts

@@ -239,6 +239,10 @@ ${cell.color ? `color:${cell.color};` : ""}">${text}</div>`;
                 <svg><use xlink:href="#iconMore"></use></svg>
             </span>
             <div class="fn__space"></div>
+            <span data-type="av-add-more" class="block__icon">
+                <svg><use xlink:href="#iconAdd"></use></svg>
+            </span>
+            <div class="fn__space"></div>
             ${response.data.isMirror ? ` <span class="block__icon block__icon--show ariaLabel" aria-label="${window.siyuan.languages.mirrorTip}">
     <svg><use xlink:href="#iconSplitLR"></use></svg></span><div class="fn__space"></div>` : ""}
         </div>
@@ -252,6 +256,10 @@ ${cell.color ? `color:${cell.color};` : ""}">${text}</div>`;
                 <div class="av__colsticky">
                     <svg><use xlink:href="#iconAdd"></use></svg>
                     ${window.siyuan.languages.addAttr}
+                    
+                    <svg><use xlink:href="#loadMore"></use></svg>
+                    ${window.siyuan.languages.nextLabel}
+                    <svg data-type="set-page-size"><use xlink:href="#iconMore"></use></svg>
                 </div>
             </div>
             <div class="av__row--footer">${calcHTML}</div>

+ 1 - 0
app/src/protyle/render/av/row.ts

@@ -126,6 +126,7 @@ const updatePageSize = (currentPageSIze: string, newPageSize: string) => {
         return;
     }
 }
+
 export const setPageSize = (target: HTMLElement) => {
     const menu = new Menu("av-page-size");
     if (menu.isOpen) {