rt-sim-training-client/src/jmapNew/shape/Station/EMouse.js

50 lines
1.5 KiB
JavaScript
Raw Normal View History

2019-12-05 10:25:07 +08:00
import Group from 'zrender/src/container/Group';
import Rect from 'zrender/src/graphic/shape/Rect';
export default class EMouse extends Group {
constructor(device) {
super();
this.device = device;
this.selected = false;
this.create();
}
create() {
2019-12-05 15:48:01 +08:00
if (this.device && this.device.model.visible) {
2019-12-05 10:25:07 +08:00
const stationTextRect = this.device.stationText.getBoundingRect();
const path = window.location.href;
if (this.device.style.Station.kmPostShow || path.includes('/map/draw')) {
const mileageTextRect = this.device.mileageText.getBoundingRect();
stationTextRect.union(mileageTextRect);
}
this.lineBorder = new Rect({
zlevel: this.device.zlevel,
z: this.device.z + 1,
shape: stationTextRect,
style: {
fill: 'rgba(204,255,255,0.5)'
}
});
this.add(this.lineBorder);
this.lineBorder.hide();
}
}
mouseover() {
this.lineBorder && this.lineBorder.show();
}
mouseout() {
!this.selected && this.lineBorder && this.lineBorder.hide();
}
drawSelected(selected) {
if (selected && this.lineBorder) {
this.lineBorder && this.lineBorder.show();
this.selected = true;
} else {
this.lineBorder && this.lineBorder.hide();
this.selected = false;
}
}
}