8398c9048d
code was modified slightly, so the code differs from the original downloadable 1.9.5 version
47 lines
1,010 B
JavaScript
47 lines
1,010 B
JavaScript
dojo.provide("dojox.charting.Element");
|
|
|
|
dojo.declare("dojox.charting.Element", null, {
|
|
constructor: function(chart){
|
|
this.chart = chart;
|
|
this.group = null;
|
|
this.htmlElements = [];
|
|
this.dirty = true;
|
|
},
|
|
createGroup: function(creator){
|
|
if(!creator){ creator = this.chart.surface; }
|
|
if(!this.group){
|
|
this.group = creator.createGroup();
|
|
}
|
|
return this;
|
|
},
|
|
purgeGroup: function(){
|
|
this.destroyHtmlElements();
|
|
if(this.group){
|
|
this.group.clear();
|
|
this.group.removeShape();
|
|
this.group = null;
|
|
}
|
|
this.dirty = true;
|
|
return this;
|
|
},
|
|
cleanGroup: function(creator){
|
|
this.destroyHtmlElements();
|
|
if(!creator){ creator = this.chart.surface; }
|
|
if(this.group){
|
|
this.group.clear();
|
|
}else{
|
|
this.group = creator.createGroup();
|
|
}
|
|
this.dirty = true;
|
|
return this;
|
|
},
|
|
destroyHtmlElements: function(){
|
|
if(this.htmlElements.length){
|
|
dojo.forEach(this.htmlElements, dojo.destroy);
|
|
this.htmlElements = [];
|
|
}
|
|
},
|
|
destroy: function(){
|
|
this.purgeGroup();
|
|
}
|
|
});
|