Browse Source

fix: 获取选中的注释outline及修复清空search bug

wzl 1 year ago
parent
commit
5227bb47ec

+ 1 - 1
packages/core/src/TextSelection.ts

@@ -147,7 +147,7 @@ export default class TextSelection {
 
 
   async handleMouseMove(event: MouseEvent) {
   async handleMouseMove(event: MouseEvent) {
     const inPage = this.testPoint(event)
     const inPage = this.testPoint(event)
-    if (!inPage || document.getElementsByClassName('outline-container')[0]) return
+    if (!inPage || document.querySelector('.annotationContainer .outline-container')) return
     const { x, y } = inPage
     const { x, y } = inPage
     const point = getInitialPoint({ x, y }, this.viewport, this.scale)
     const point = getInitialPoint({ x, y }, this.viewport, this.scale)
 
 

+ 2 - 0
packages/core/src/index.js

@@ -447,6 +447,7 @@ class ComPDFKitViewer {
   }
   }
 
 
   setActiveSearchResult(result = null, activeSearchIndex = 0) {
   setActiveSearchResult(result = null, activeSearchIndex = 0) {
+    if (!this.searchResults) return
     const activeResult = result ? result : this.searchResults[0]
     const activeResult = result ? result : this.searchResults[0]
     const left = activeResult.left * this.scale
     const left = activeResult.left * this.scale
     const top = activeResult.top * this.scale
     const top = activeResult.top * this.scale
@@ -477,6 +478,7 @@ class ComPDFKitViewer {
       const _page = this.pdfViewer._pages[i]
       const _page = this.pdfViewer._pages[i]
       _page.clearSearchResults()
       _page.clearSearchResults()
     }
     }
+    this.searchResults = null
   }
   }
 
 
   async getAnnotations() {
   async getAnnotations() {

+ 1 - 0
packages/webview/src/components/SearchContainer/SearchHeader.vue

@@ -69,6 +69,7 @@
     searchValue.value = ''
     searchValue.value = ''
     useDocument.setSearchResults([])
     useDocument.setSearchResults([])
     core.clearSearchResults()
     core.clearSearchResults()
+    searchResults.value = []
   }
   }
   const debouncedSearch = debounce(async (searchValue) => {
   const debouncedSearch = debounce(async (searchValue) => {
     if (searchValue && searchValue.length > 0) {
     if (searchValue && searchValue.length > 0) {