Browse Source

修改图标item

haojianlong 4 năm trước cách đây
mục cha
commit
40df3d02a4
2 tập tin đã thay đổi với 77 bổ sung62 xóa
  1. 16 9
      src/lib/items/SImageLegendItem.js
  2. 61 53
      src/lib/items/SImageLegendItem.ts

+ 16 - 9
src/lib/items/SImageLegendItem.js

@@ -24,17 +24,15 @@ export class SImageLegendItem extends SIconTextItem {
         this.data = data;
         this.id = data.ID;
         this.name = data.Name;
+        this.text = data.Name;
         this.moveTo(data.Pos.X, data.Pos.Y);
         if (data.Num) {
-            this._num = data.Num;
+            this.num = data.Num;
         }
         if (data.Size) {
             this.width = data.Size.Width;
             this.height = data.Size.Height;
         }
-        if (data.Num) {
-            this.text = `${data.Name}${data.Num > 1 ? ` × ${data.Num}` : ''}`;
-        }
         if (data.Properties && data.Properties.Url) {
             this.img.url = data.Properties.Url;
         }
@@ -51,7 +49,7 @@ export class SImageLegendItem extends SIconTextItem {
             this.sHeight = data.Properties.sHeight;
         }
         if (data.Properties && data.Properties.font) {
-            this.font = new SFont('sans-serif', data.Properties.font);
+            this.font = new SFont("sans-serif", data.Properties.font);
         }
         if (data.Properties && data.Properties.color) {
             this.color = new SColor(data.Properties.color);
@@ -79,7 +77,16 @@ export class SImageLegendItem extends SIconTextItem {
             this.data.Num = 1;
         }
         this.data.Properties.Num = this._num;
-        this.text = `${this.data.Name}${this.data.Num > 1 ? ` × ${this.data.Num}` : ''}`;
+        this.textItem.text = `${this.name}${this.num > 1 ? ` × ${this.num}` : ''}`;
+        this.update();
+    }
+    get text() {
+        return this.textItem.text;
+    }
+    set text(v) {
+        this.name = v;
+        this.data.Name = v;
+        this.textItem.text = `${this.name}${this.num > 1 ? ` × ${this.num}` : ''}`;
         this.update();
     }
     get maskFlag() {
@@ -105,13 +112,13 @@ export class SImageLegendItem extends SIconTextItem {
         this.data.Properties.color = this.color.value;
         this.data.Properties.FrameColor = this.activeColor.value;
         this.data.Properties.IsActive = this.isActive;
-        this.data.AnchorList = this.anchorList.map((t) => {
+        this.data.AnchorList = this.anchorList.map(t => {
             return {
                 ID: t.id,
                 Pos: {
                     X: t.x,
-                    Y: t.y,
-                },
+                    Y: t.y
+                }
             };
         });
         return this.data;

+ 61 - 53
src/lib/items/SImageLegendItem.ts

@@ -1,6 +1,6 @@
-import { SGraphItem } from '@saga-web/graph/lib'
-import { SIconTextItem } from '@saga-web/big/lib/items/SIconTextItem'
-import { Legend } from '../types/Legend'
+import { SGraphItem } from "@saga-web/graph/lib";
+import { SIconTextItem } from '@saga-web/big/lib/items/SIconTextItem';
+import { Legend } from '../types/Legend';
 import { ItemOrder, SItemStatus } from '@saga-web/big/lib';
 import { SFont, SColor, SPainter, SRect } from '@saga-web/draw/lib';
 /**
@@ -10,26 +10,36 @@ import { SFont, SColor, SPainter, SRect } from '@saga-web/draw/lib';
  */
 export class SImageLegendItem extends SIconTextItem {
     /** 图例节点对象数据 */
-    data: Legend
+    data: Legend;
     /** 图例数量 */
-    _num: number = 1
+    _num: number = 1;
     get num(): number {
-        return this._num
+        return this._num;
     }
     set num(v: number) {
         if (v) {
-            this._num = v
-            this.data.Num = v
+            this._num = v;
+            this.data.Num = v;
         } else {
-            this._num = 1
-            this.data.Num = 1
+            this._num = 1;
+            this.data.Num = 1;
         }
-        this.data.Properties.Num = this._num
-        this.text = `${this.data.Name}${this.data.Num > 1 ? ` × ${this.data.Num}` : ''}`
-        this.update()
+        this.data.Properties.Num = this._num;
+        this.textItem.text = `${this.name}${this.num > 1 ? ` × ${this.num}` : ''}`;
+        this.update();
+    }
+
+    get text(): string {
+        return this.textItem.text;
+    }
+    set text(v: string) {
+        this.name = v;
+        this.data.Name = v;
+        this.textItem.text = `${this.name}${this.num > 1 ? ` × ${this.num}` : ''}`;
+        this.update();
     }
 
-    /** 是否蒙版遮罩  */
+     /** 是否蒙版遮罩  */
     _maskFlag: boolean = false;
     get maskFlag(): boolean {
         return this._maskFlag;
@@ -49,78 +59,76 @@ export class SImageLegendItem extends SIconTextItem {
      * @param data      图例节点对象数据
      */
     constructor(parent: SGraphItem | null, data: Legend) {
-        super(parent, data.AnchorList)
-        this.isTransform = false
-        this.zOrder = ItemOrder.markOrder
-        this.data = data
-        this.id = data.ID
-        this.name = data.Name
-        this.moveTo(data.Pos.X, data.Pos.Y)
+        super(parent, data.AnchorList);
+        this.isTransform = false;
+        this.zOrder = ItemOrder.markOrder;
+        this.data = data;
+        this.id = data.ID;
+        this.name = data.Name;
+        this.text = data.Name;
+        this.moveTo(data.Pos.X, data.Pos.Y);
         if (data.Num) {
-            this._num = data.Num
+            this.num = data.Num;
         }
         if (data.Size) {
-            this.width = data.Size.Width
-            this.height = data.Size.Height
-        }
-        if (data.Num) {
-            this.text = `${data.Name}${data.Num > 1 ? ` × ${data.Num}` : ''}`
+            this.width = data.Size.Width;
+            this.height = data.Size.Height;
         }
         if (data.Properties && data.Properties.Url) {
-            this.img.url = data.Properties.Url
+            this.img.url = data.Properties.Url;
         }
         if (data.Properties.ImgPos) {
-            this.img.moveTo(data.Properties.ImgPos.X, data.Properties.ImgPos.Y)
+            this.img.moveTo(data.Properties.ImgPos.X, data.Properties.ImgPos.Y);
         }
         if (data.Properties.TextPos) {
-            this.textItem.moveTo(data.Properties.TextPos.X, data.Properties.TextPos.Y)
+            this.textItem.moveTo(data.Properties.TextPos.X, data.Properties.TextPos.Y);
         }
         if (data.Properties && data.Properties.sWidth) {
-            this.sWidth = data.Properties.sWidth
+            this.sWidth = data.Properties.sWidth;
         }
         if (data.Properties && data.Properties.sHeight) {
-            this.sHeight = data.Properties.sHeight
+            this.sHeight = data.Properties.sHeight;
         }
         if (data.Properties && data.Properties.font) {
-            this.font = new SFont('sans-serif', data.Properties.font)
+            this.font = new SFont("sans-serif", data.Properties.font);
         }
         if (data.Properties && data.Properties.color) {
-            this.color = new SColor(data.Properties.color)
+            this.color = new SColor(data.Properties.color);
         }
         if (data.Properties && data.Properties.IsActive) {
-            this.isActive = data.Properties.IsActive
+            this.isActive = data.Properties.IsActive;
         }
         if (data.AttachObjectIds && data.AttachObjectIds.length) {
-            this.isActive = true
+            this.isActive = true;
         }
         if (data.Properties && data.Properties.FrameColor) {
-            this.activeColor = new SColor(data.Properties.FrameColor)
+            this.activeColor = new SColor(data.Properties.FrameColor);
         }
     }
 
     toData(): Legend {
-        this.data.Pos = { X: this.x, Y: this.y }
-        this.data.Size = { Width: this.width, Height: this.height }
-        this.data.Name = this.name
-        this.data.Properties.Url = this.img.url
-        this.data.Properties.TextPos = { X: this.textItem.x, Y: this.textItem.y }
-        this.data.Properties.ImgPos = { X: this.img.x, Y: this.img.y }
-        this.data.Properties.sWidth = this.sWidth
-        this.data.Properties.sHeight = this.sHeight
-        this.data.Properties.font = this.font.size
-        this.data.Properties.color = this.color.value
-        this.data.Properties.FrameColor = this.activeColor.value
-        this.data.Properties.IsActive = this.isActive
-        this.data.AnchorList = this.anchorList.map((t) => {
+        this.data.Pos = { X: this.x, Y: this.y };
+        this.data.Size = { Width: this.width, Height: this.height };
+        this.data.Name = this.name;
+        this.data.Properties.Url = this.img.url;
+        this.data.Properties.TextPos = { X: this.textItem.x, Y: this.textItem.y };
+        this.data.Properties.ImgPos = { X: this.img.x, Y: this.img.y };
+        this.data.Properties.sWidth = this.sWidth;
+        this.data.Properties.sHeight = this.sHeight;
+        this.data.Properties.font = this.font.size;
+        this.data.Properties.color = this.color.value;
+        this.data.Properties.FrameColor = this.activeColor.value;
+        this.data.Properties.IsActive = this.isActive;
+        this.data.AnchorList = this.anchorList.map(t => {
             return {
                 ID: t.id,
                 Pos: {
                     X: t.x,
-                    Y: t.y,
-                },
+                    Y: t.y
+                }
             }
         })
-        return this.data
+        return this.data;
     }
 
     /**