diff options
Diffstat (limited to 'public/bower_components/jvectormap/src/map-object.js')
-rw-r--r-- | public/bower_components/jvectormap/src/map-object.js | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/public/bower_components/jvectormap/src/map-object.js b/public/bower_components/jvectormap/src/map-object.js new file mode 100644 index 0000000..acf364f --- /dev/null +++ b/public/bower_components/jvectormap/src/map-object.js @@ -0,0 +1,73 @@ +jvm.MapObject = function(config){}; + +jvm.MapObject.prototype.getLabelText = function(key){ + var text; + + if (this.config.label) { + if (typeof this.config.label.render === 'function') { + text = this.config.label.render(key); + } else { + text = key; + } + } else { + text = null; + } + return text; +} + +jvm.MapObject.prototype.getLabelOffsets = function(key){ + var offsets; + + if (this.config.label) { + if (typeof this.config.label.offsets === 'function') { + offsets = this.config.label.offsets(key); + } else if (typeof this.config.label.offsets === 'object') { + offsets = this.config.label.offsets[key]; + } + } + return offsets || [0, 0]; +} + +/** + * Set hovered state to the element. Hovered state means mouse cursor is over element. Styles will be updates respectively. + * @param {Boolean} isHovered <code>true</code> to make element hovered, <code>false</code> otherwise. + */ +jvm.MapObject.prototype.setHovered = function(isHovered){ + if (this.isHovered !== isHovered) { + this.isHovered = isHovered; + this.shape.isHovered = isHovered; + this.shape.updateStyle(); + if (this.label) { + this.label.isHovered = isHovered; + this.label.updateStyle(); + } + } +}; + +/** + * Set selected state to the element. Styles will be updates respectively. + * @param {Boolean} isSelected <code>true</code> to make element selected, <code>false</code> otherwise. + */ +jvm.MapObject.prototype.setSelected = function(isSelected){ + if (this.isSelected !== isSelected) { + this.isSelected = isSelected; + this.shape.isSelected = isSelected; + this.shape.updateStyle(); + if (this.label) { + this.label.isSelected = isSelected; + this.label.updateStyle(); + } + jvm.$(this.shape).trigger('selected', [isSelected]); + } +}; + +jvm.MapObject.prototype.setStyle = function(){ + this.shape.setStyle.apply(this.shape, arguments); +}; + +jvm.MapObject.prototype.remove = function(){ + this.shape.remove(); + if (this.label) { + this.label.remove(); + } +};
\ No newline at end of file |