Bladeren bron

更新版本

haojianlong 4 jaren geleden
bovenliggende
commit
5527e1dd1f

+ 2 - 2
persagy-web-big-edit/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@persagy-web/big-edit",
-    "version": "2.2.17",
+    "version": "2.2.21",
     "description": "博锐尚格二维图形编辑器。",
     "main": "lib/index.js",
     "types": "lib/index.d.js",
@@ -40,7 +40,7 @@
         "typescript": "^3.5.3"
     },
     "dependencies": {
-        "@persagy-web/edit": "2.2.15",
+        "@persagy-web/edit": "2.2.19",
         "@types/uuid": "^8.0.0",
         "crypto-js": "^4.0.0",
         "axios": "^0.20.0"

+ 1 - 1
persagy-web-big/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@persagy-web/big",
-    "version": "2.2.41",
+    "version": "2.2.42",
     "description": "博锐尚格建筑信息化库",
     "main": "lib/index.js",
     "types": "lib/index.d.js",

+ 27 - 8
persagy-web-big/src/items/floor/ZoneItem.ts

@@ -100,27 +100,46 @@ export class SZoneItem extends SGraphAreaGroupItem {
     }
 
     /**
-     * 鼠标单击事件
+     * 鼠标按下事件
      *
-     * @param event     事件参数
+     * @param event   保存事件参数
      * @return 是否处理事件
      */
     onMouseDown(event: SMouseEvent): boolean {
-        // 是否可选中
-        if (this.selectable) {
-            this.selected = !this.selected;
-            this.clickPoint = new SPoint(event.x, event.y);
-        }
+        super.onMouseDown(event);
         return true;
     }
 
     /**
      * 鼠标抬起事件
      *
-     * @param event     事件参数
+     * @param event   保存事件参数
      * @return 是否处理事件
      */
     onMouseUp(event: SMouseEvent): boolean {
+        super.onMouseUp(event);
+        return true;
+    }
+
+    /**
+     * 鼠标移入事件
+     *
+     * @param event   保存事件参数
+     * @return 是否处理事件
+     */
+    onMouseEnter(event: SMouseEvent): boolean {
+        super.onMouseEnter(event);
+        return false;
+    }
+
+    /**
+     * 鼠标移出事件
+     *
+     * @param event   保存事件参数
+     * @return 是否处理事件
+     */
+    onMouseLeave(event: SMouseEvent): boolean {
+        super.onMouseLeave(event);
         return false;
     }
 

+ 2 - 2
persagy-web-edit/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@persagy-web/edit",
-    "version": "2.2.15",
+    "version": "2.2.19",
     "description": "博锐尚格二维图形编辑器。",
     "main": "lib/index.js",
     "types": "lib/index.d.js",
@@ -40,7 +40,7 @@
         "typescript": "^3.5.3"
     },
     "dependencies": {
-        "@persagy-web/big": "2.2.41",
+        "@persagy-web/big": "2.2.42",
         "@types/uuid": "^8.0.0"
     }
 }

+ 29 - 0
persagy-web-edit/src/items/SBaseMaskEdit.ts

@@ -27,6 +27,8 @@ import { SPainter, SPoint, SPath } from "@persagy-web/draw";
 import { SLineStyle, SGraphItem } from "@persagy-web/graph/";
 import { SBaseRectEdit } from "..";
 import { Marker } from "../type/Marker";
+import { SItemStatus } from "@persagy-web/big/lib";
+import { SMouseEvent } from "@persagy-web/base";
 
 /**
  * 矩形编辑类
@@ -100,6 +102,33 @@ export default class SBaseMaskEdit extends SBaseRectEdit {
     }
 
     /**
+     * 是否包含点
+     *
+     * @param x 横坐标
+     * @param y 纵坐标
+     * @return 是否包含
+     */
+    contains(x: number, y: number): boolean {
+        return !this.boundingRect().contains(x, y);
+    }
+
+    onMouseUp(event: SMouseEvent): boolean {
+        if (this.status != SItemStatus.Create) {
+            if (this.selected) {
+                try {
+                    // @ts-ignore
+                    this.parent.scene.selectContainer.clear();
+                } catch (e) {
+                    console.log(e);
+                }
+            } else {
+                super.onMouseUp(event);
+            }
+        }
+        return true;
+    }
+
+    /**
      * Item 绘制操作
      *
      * @param painter   绘制对象

+ 2 - 2
persagy-web-edit/src/items/SBaseRectEdit.ts

@@ -198,7 +198,7 @@ export class SBaseRectEdit extends SGraphEdit {
                 this.addPoint(new SPoint(event.x, event.y));
                 return true;
             } else {
-                return super.onMouseDown(event);
+                super.onMouseDown(event);
             }
         }
 
@@ -218,7 +218,7 @@ export class SBaseRectEdit extends SGraphEdit {
                 this.calRect();
             }
         } else {
-            return super.onMouseMove(event);
+            super.onMouseMove(event);
         }
 
         this.update();