in zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/webapp/org/apache/zookeeper/graph/resources/raphael.js [2171:2224]
Element[proto].attr = function (name, value) {
if (this.removed) {
return this;
}
if (name == null) {
var res = {};
for (var i in this.attrs) if (this.attrs[has](i)) {
res[i] = this.attrs[i];
}
this._.rt.deg && (res.rotation = this.rotate());
(this._.sx != 1 || this._.sy != 1) && (res.scale = this.scale());
res.gradient && res.fill == "none" && (res.fill = res.gradient) && delete res.gradient;
return res;
}
if (value == null && R.is(name, "string")) {
if (name == "translation") {
return translate.call(this);
}
if (name == "rotation") {
return this.rotate();
}
if (name == "scale") {
return this.scale();
}
if (name == "fill" && this.attrs.fill == "none" && this.attrs.gradient) {
return this.attrs.gradient;
}
return this.attrs[name];
}
if (this.attrs && value == null && R.is(name, "array")) {
var ii, values = {};
for (i = 0, ii = name[length]; i < ii; i++) {
values[name[i]] = this.attr(name[i]);
}
return values;
}
var params;
if (value != null) {
params = {};
params[name] = value;
}
value == null && R.is(name, "object") && (params = name);
if (params) {
if (params.text && this.type == "text") {
this.node.string = params.text;
}
setFillAndStroke(this, params);
if (params.gradient && (({circle: 1, ellipse: 1})[has](this.type) || (params.gradient + E).charAt() != "r")) {
addGradientFill(this, params.gradient);
}
(this.type != "path" || this._.rt.deg) && this.setBox(this.attrs);
}
return this;
};