mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
jvm.Region = function(config){
|
|
var bbox,
|
|
text,
|
|
offsets,
|
|
labelDx,
|
|
labelDy;
|
|
|
|
this.config = config;
|
|
this.map = this.config.map;
|
|
|
|
this.shape = config.canvas.addPath({
|
|
d: config.path,
|
|
'data-code': config.code
|
|
}, config.style, config.canvas.rootElement);
|
|
this.shape.addClass('jvectormap-region jvectormap-element');
|
|
|
|
bbox = this.shape.getBBox();
|
|
|
|
text = this.getLabelText(config.code);
|
|
if (this.config.label && text) {
|
|
offsets = this.getLabelOffsets(config.code);
|
|
this.labelX = bbox.x + bbox.width / 2 + offsets[0];
|
|
this.labelY = bbox.y + bbox.height / 2 + offsets[1];
|
|
this.label = config.canvas.addText({
|
|
text: text,
|
|
'text-anchor': 'middle',
|
|
'alignment-baseline': 'central',
|
|
x: this.labelX,
|
|
y: this.labelY,
|
|
'data-code': config.code
|
|
}, config.labelStyle, config.labelsGroup);
|
|
this.label.addClass('jvectormap-region jvectormap-element');
|
|
}
|
|
};
|
|
|
|
jvm.inherits(jvm.Region, jvm.MapObject);
|
|
|
|
jvm.Region.prototype.updateLabelPosition = function(){
|
|
if (this.label) {
|
|
this.label.set({
|
|
x: this.labelX * this.map.scale + this.map.transX * this.map.scale,
|
|
y: this.labelY * this.map.scale + this.map.transY * this.map.scale
|
|
});
|
|
}
|
|
}; |