* The img click event for the img.
* @param {Roo.EventObject} e
*/
- "click" : true
+ "click" : true,
+ /**
+ * @event load
+ * The when any image loads
+ * @param {Roo.EventObject} e
+ */
+ "load" : true
});
};
imgResponsive: true,
border: '',
- src: '',
+ src: 'about:blank',
href: false,
target: false,
xsUrl: '',
tag: 'div',
cls: 'roo-image-responsive-group',
cn: []
- }
+ };
var _this = this;
- Roo.each(['xsUrl', 'smUrl', 'mdUrl', 'lgUrl'], function(size){
- if(!_this[size]){
+ Roo.each(['xs', 'sm', 'md', 'lg'], function(size){
+
+ if(!_this[size + 'Url']){
return;
}
tag: 'img',
cls: (_this.imgResponsive) ? 'img-responsive' : '',
html: _this.html || cfg.html,
- src: _this[size]
- }
+ src: _this[size + 'Url']
+ };
img.cls += ' roo-image-responsive-' + size;
+ var s = ['xs', 'sm', 'md', 'lg'];
+
+ s.splice(s.indexOf(size), 1);
+
+ Roo.each(s, function(ss){
+ img.cls += ' hidden-' + ss;
+ });
+
if (['rounded','circle','thumbnail'].indexOf(_this.border)>-1) {
cfg.cls += ' img-' + _this.border;
}
cn: [
img
]
- }
+ };
if(this.target){
a.target = _this.target;
var cfg = {
tag: 'img',
cls: (this.imgResponsive) ? 'img-responsive' : '',
- html : null
- }
+ html : null,
+ src : 'about:blank' // just incase src get's set to undefined?!?
+ };
cfg.html = this.html || cfg.html;
tag: 'a',
href: this.href,
cn: [
- cfg
- ]
- }
+ cfg
+ ]
+ };
if(this.target){
a.target = this.target;
if(!this.href){
this.el.on('click', this.onClick, this);
}
-
+ this.el.select('img', true).on('load', this.onImageLoad, this);
},
onClick : function(e)
{
Roo.log('img onclick');
this.fireEvent('click', this, e);
+ },
+ onImageLoad: function(e)
+ {
+ Roo.log('img load');
+ this.fireEvent('load', this, e);
+ },
+
+ /**
+ * Sets the url of the image - used to update it
+ * @param {String} url the url of the image
+ */
+
+ setSrc : function(url)
+ {
+ this.src = url;
+
+ if(this.src || (!this.xsUrl && !this.smUrl && !this.mdUrl && !this.lgUrl)){
+ this.el.dom.src = url;
+ return;
+ }
+
+ this.el.select('img', true).first().dom.src = url;
}
+
+
});