Roo.namespace('Roo.svg');
Roo.svg.Element = function(cfg)
{
Roo.svg.Element.superclass.constructor.call(this, cfg);
this.addEvents({
'click' : true,
'dblclick' : true,
'context' : true
});
}
Roo.extend(Roo.svg.Element, Roo.Component, {
tag : 'g',
cls : '',
getAutoCreate : function(){
return {
ns: "svg",
xmlns: "http://www.w3.org/2000/svg",
tag: this.tag,
cls : this.cls + ' roo-svg-observable'
};
},
initEvents: function()
{
Roo.svg.Canvas.superclass.initEvents.call(this);
this.el.relayEvent('click', this);
this.el.relayEvent('dblclick', this);
this.el.relayEvent('context', this);
},
onRender : function(ct, position)
{
Roo.bootstrap.Component.superclass.onRender.call(this, ct, position);
if(this.el){
if (this.el.attr('xtype')) {
this.el.attr('xtypex', this.el.attr('xtype'));
this.el.dom.removeAttribute('xtype');
this.initEvents();
}
return;
}
var cfg = Roo.apply({}, this.getAutoCreate());
cfg.id = this.id || Roo.id();
if (this.xattr && typeof(this.xattr) =='object') {
for (var i in this.xattr) {
cfg[i] = this.xattr[i];
}
}
if(this.dataId){
cfg.dataId = this.dataId;
}
if (this.cls) {
cfg.cls = (typeof(cfg.cls) == 'undefined') ? this.cls : cfg.cls + ' ' + this.cls;
}
if (this.style) { cfg.style = this.style;
}
if(this.name){
cfg.name = this.name;
}
this.el = ct.createChild(cfg, position);
if (this.tooltip) {
this.tooltipEl().attr('tooltip', this.tooltip);
}
if(this.tabIndex !== undefined){
this.el.dom.setAttribute('tabIndex', this.tabIndex);
}
this.initEvents();
}
});