| Server IP : 210.245.233.93 / Your IP : 216.73.216.226 Web Server : Apache/2.2.15 (CentOS) System : Linux webserver2.onesolution.com.hk 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 User : apache ( 48) PHP Version : 5.3.3 Disable Function : exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/hkosl.com/kwokfai/bower_components/jvectormap/src/ |
Upload File : |
/**
* Abstract shape element. Shape element represents some visual vector or raster object.
* @constructor
* @param {String} name Tag name of the element.
* @param {Object} config Set of parameters to initialize element with.
* @param {Object} style Object with styles to set on element initialization.
*/
jvm.AbstractShapeElement = function(name, config, style){
this.style = style || {};
this.style.current = this.style.current || {};
this.isHovered = false;
this.isSelected = false;
this.updateStyle();
};
/**
* Set element's style.
* @param {Object|String} property Could be string to set only one property or object to set several style properties at once.
* @param {String} value Value to set in case only one property should be set.
*/
jvm.AbstractShapeElement.prototype.setStyle = function(property, value){
var styles = {};
if (typeof property === 'object') {
styles = property;
} else {
styles[property] = value;
}
jvm.$.extend(this.style.current, styles);
this.updateStyle();
};
jvm.AbstractShapeElement.prototype.updateStyle = function(){
var attrs = {};
jvm.AbstractShapeElement.mergeStyles(attrs, this.style.initial);
jvm.AbstractShapeElement.mergeStyles(attrs, this.style.current);
if (this.isHovered) {
jvm.AbstractShapeElement.mergeStyles(attrs, this.style.hover);
}
if (this.isSelected) {
jvm.AbstractShapeElement.mergeStyles(attrs, this.style.selected);
if (this.isHovered) {
jvm.AbstractShapeElement.mergeStyles(attrs, this.style.selectedHover);
}
}
this.set(attrs);
};
jvm.AbstractShapeElement.mergeStyles = function(styles, newStyles){
var key;
newStyles = newStyles || {};
for (key in newStyles) {
if (newStyles[key] === null) {
delete styles[key];
} else {
styles[key] = newStyles[key];
}
}
}