浏览代码

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

Vanessa 1 年之前
父节点
当前提交
a16affeb9c
共有 2 个文件被更改,包括 9 次插入3 次删除
  1. 4 2
      app/src/protyle/render/av/render.ts
  2. 5 1
      app/src/protyle/render/av/row.ts

+ 4 - 2
app/src/protyle/render/av/render.ts

@@ -178,7 +178,7 @@ ${cell.color ? `color:${cell.color};` : ""}">${renderCell(cell.value)}</div>`;
 
                 e.firstElementChild.outerHTML = `<div class="av__container" style="--av-background:${e.style.backgroundColor || "var(--b3-theme-background)"}">
     <div class="av__header">
-        <div class="fn__flex av__views${isSearching ? " av__views--show" : ""}">
+        <div class="fn__flex av__views${isSearching || query ? " av__views--show" : ""}">
             <div class="layout-tab-bar fn__flex">
                 ${tabHTML}
             </div>
@@ -206,7 +206,7 @@ ${cell.color ? `color:${cell.color};` : ""}">${renderCell(cell.value)}</div>`;
                 <svg><use xlink:href="#iconSearch"></use></svg>
             </span>
             <div style="position: relative">
-                <input style="${isSearching ? "width:128px" : "width:0;padding-left: 0;padding-right: 0;"}" data-type="av-search" class="b3-text-field b3-text-field--text" placeholder="${window.siyuan.languages.search}">
+                <input style="${isSearching || query ? "width:128px" : "width:0;padding-left: 0;padding-right: 0;"}" data-type="av-search" class="b3-text-field b3-text-field--text" placeholder="${window.siyuan.languages.search}">
             </div>
             <div class="fn__space"></div>
             <span data-type="av-more" class="block__icon">
@@ -332,6 +332,8 @@ ${cell.color ? `color:${cell.color};` : ""}">${renderCell(cell.value)}</div>`;
                         searchInputElement.style.width = "0";
                         searchInputElement.style.paddingLeft = "0";
                         searchInputElement.style.paddingRight = "0";
+                        focusBlock(e);
+                        updateSearch(e, protyle);
                     }
                 });
             });

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

@@ -89,9 +89,13 @@ const setPage = (blockElement: Element) => {
  * @param blockElement
  * @param srcIDs
  * @param previousId
- * @param avId 还用于判断是否是插入的 block
+ * @param avId 存在为新增否则为拖拽插入
  */
 export const insertAttrViewBlockAnimation = (protyle: IProtyle, blockElement: Element, srcIDs: string[], previousId: string, avId?: string,) => {
+    if ((blockElement.querySelector('[data-type="av-search"]') as HTMLInputElement).value !== "") {
+        showMessage(window.siyuan.languages.insertRowTip);
+        return
+    }
     let previousElement = blockElement.querySelector(`.av__row[data-id="${previousId}"]`) || blockElement.querySelector(".av__row--header");
     // 有排序需要加入最后一行
     if (blockElement.querySelector('.av__views [data-type="av-sort"]').classList.contains("block__icon--active")) {