* @class Roo.form.DisplayField
* @extends Roo.form.Field
* A generic Field to display non-editable data.
+ * @cfg {Boolean} closable (true|false) default false
* @constructor
* Creates a new Display Field item.
* @param {Object} config Configuration options
Roo.form.DisplayField = function(config){
Roo.form.DisplayField.superclass.constructor.call(this, config);
+ this.addEvents({
+ /**
+ * @event close
+ * Fires after the click the close btn
+ * @param {Roo.form.DisplayField} this
+ */
+ close : true
+ });
};
Roo.extend(Roo.form.DisplayField, Roo.form.TextField, {
- fieldLabel: '',
inputType: 'hidden',
allowBlank: true,
readOnly: true,
*/
// defaultAutoCreate : { tag: 'input', type: 'hidden', autocomplete: 'off'},
-
+
+ closable : false,
+
onResize : function(){
Roo.form.DisplayField.superclass.onResize.apply(this, arguments);
initEvents : function(){
// Roo.form.Checkbox.superclass.initEvents.call(this);
// has no events...
+
+ if(this.closable){
+ this.closeEl.on('click', this.onClose, this);
+ }
},
// private
onRender : function(ct, position){
- console.log('DisplayField onRender');
+
Roo.form.DisplayField.superclass.onRender.call(this, ct, position);
//if(this.inputValue !== undefined){
+ this.wrap = this.el.wrap();
+ this.viewEl = this.wrap.createChild({ tag: 'div', cls: 'x-form-displayfield'});
- this.wrap = this.el.wrap();
- console.log(this.wrap);
- this.viewEl = this.wrap.createChild({ tag: 'div'});
+ if(this.closable){
+ this.closeEl = this.wrap.createChild({ tag: 'div', cls: 'x-dlg-close'});
+ }
if (this.bodyStyle) {
this.viewEl.applyStyles(this.bodyStyle);
setValue : function(v){
this.value = v;
var html = this.valueRenderer ? this.valueRenderer(v) : String.format('{0}', v);
+ // this might be called before we have a dom element..
if (!this.viewEl) {
return;
}
this.viewEl.dom.innerHTML = html;
Roo.form.DisplayField.superclass.setValue.call(this, v);
+ },
+
+ onClose : function(e)
+ {
+ e.preventDefault();
+
+ this.fireEvent('close', this);
}
});
\ No newline at end of file