2019-11-29 12:51:58 +08:00
|
|
|
import Group from 'zrender/src/container/Group';
|
|
|
|
import Text from 'zrender/src/graphic/Text';
|
|
|
|
|
|
|
|
export default class EMouse extends Group {
|
2020-05-25 15:06:34 +08:00
|
|
|
constructor(device) {
|
|
|
|
super();
|
|
|
|
this.device = device;
|
|
|
|
this.create();
|
|
|
|
}
|
|
|
|
create() {
|
|
|
|
this.text = new Text({
|
|
|
|
_subType: 'Text',
|
|
|
|
zlevel: this.device.zlevel,
|
|
|
|
z: this.device.z + 1,
|
|
|
|
position: [0, 0],
|
|
|
|
style: {
|
|
|
|
x: this.device.model.position.x,
|
|
|
|
y: this.device.model.position.y + this.device.style.LimitControl.lamp.radiusR + this.device.style.LimitControl.text.distance - 30,
|
|
|
|
fontWeight: this.device.style.LimitControl.mouseOverStyle.fontWeight,
|
|
|
|
fontSize: this.device.style.LimitControl.mouseOverStyle.fontSize,
|
|
|
|
fontFamily: this.device.style.fontFormat,
|
|
|
|
text: this.device.model.name,
|
|
|
|
textFill: this.device.style.LimitControl.mouseOverStyle.fontColor,
|
|
|
|
textAlign: this.device.style.LimitControl.mouseOverStyle.textAlign,
|
|
|
|
textVerticalAlign: this.device.style.LimitControl.mouseOverStyle.textVerticalAlign
|
|
|
|
}
|
|
|
|
});
|
|
|
|
this.add(this.text);
|
|
|
|
this.text.hide();
|
|
|
|
}
|
|
|
|
mouseover(e) {
|
|
|
|
if (e.target && e.target._subType == 'Text') {
|
|
|
|
this.text.show();
|
|
|
|
} else {
|
|
|
|
this.device.control.setControlColor(this.device.style.LimitControl.mouseOverStyle.arcColor);
|
|
|
|
this.device.control.setTextColor(this.device.style.LimitControl.mouseOverStyle.textColor);
|
|
|
|
this.device.control.setTextBorder(true);
|
|
|
|
this.device.control.setArcBorder(true);
|
|
|
|
}
|
|
|
|
}
|
2019-11-29 12:51:58 +08:00
|
|
|
|
2020-05-25 15:06:34 +08:00
|
|
|
mouseout(e) {
|
|
|
|
if (!this.device.model.down) {
|
|
|
|
if (e.target && e.target._subType == 'Text') {
|
|
|
|
this.text.hide();
|
|
|
|
} else {
|
|
|
|
this.device.control.setControlColor(this.device.style.LimitControl.lamp.controlColor);
|
|
|
|
this.device.control.setTextColor('#FFFFFF');
|
|
|
|
this.device.control.setTextBorder(false);
|
|
|
|
this.device.control.setArcBorder(false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2019-11-29 12:51:58 +08:00
|
|
|
}
|