ソースを参照

fix: v2.4.2修复测试问题(切换模式取消选中区域)

wzl 7 ヶ月 前
コミット
6110c72b99

+ 0 - 1
packages/core/src/editor/content_container.js

@@ -195,7 +195,6 @@ export class ContentContainer {
     } else {
       this.eventBus.dispatch('showContentEditorType', '')
     }
-    this.eventBus.dispatch('contentPropertyChange', { isOpen: false })
   }
 
   addTextManager () {

+ 6 - 0
packages/core/src/editor/image_editor.js

@@ -1050,6 +1050,9 @@ export class ImageEditor {
             imageBase64
           })
 
+          this.opacity = await this.messageHandler.sendWithPromise('GetImageTransparency', this.editAreaPtr)
+          this.eventBus.dispatch('contentPropertyChange', { type: 'image', opacity: this.opacity * 100 })
+
           this.saveEdit()
         })
         .catch((error) => {
@@ -1397,6 +1400,9 @@ export class ImageEditor {
     if (type === 'text') {
       this.hidden = true
       this.frameContainer && (this.frameContainer.style.display = 'none')
+      if (this.state) {
+        this.handleOutside()
+      }
       } else {
       this.hidden = false
       this.frameContainer && (this.frameContainer.style.display = 'block')

+ 7 - 3
packages/core/src/editor/text_editor.js

@@ -815,11 +815,12 @@ export class TextEditor {
         return
       }
 
-      this.container.append(this.outerLine)
-
       this.textContainer.removeEventListener(this.mousemove, this.onMousemove)
 
-      onClickOutsideUp([this.textContainer, this.outerLine, document.querySelector('.editor-panel'), document.getElementById('propertyPanelButton')], this.handleOutside.bind(this))
+      if (!this.hidden) {
+        this.container.append(this.outerLine)
+        onClickOutsideUp([this.textContainer, this.outerLine, document.querySelector('.editor-panel'), document.getElementById('propertyPanelButton')], this.handleOutside.bind(this))
+      }
     }
 
     this.textarea.removeEventListener('blur', this.onBlur)
@@ -1690,6 +1691,9 @@ export class TextEditor {
     if (type === 'image') {
       this.hidden = true
       this.frameContainer && (this.frameContainer.style.display = 'none')
+      if (this.state === 1) {
+        this.handleOutside()
+      }
     } else {
       this.hidden = false
       this.frameContainer && (this.frameContainer.style.display = 'block')

+ 4 - 4
packages/webview/src/stores/modules/viewer.js

@@ -224,14 +224,14 @@ export const useViewerStore = defineStore({
               type: 'editText',
               dataElement: 'editText'
             },
-            {
-              type: 'editImage',
-              dataElement: 'editImage'
-            },
             {
               type: 'addText',
               dataElement: 'addText'
             },
+            {
+              type: 'editImage',
+              dataElement: 'editImage'
+            },
             {
               type: 'addImage',
               dataElement: 'addImage'