Ext.namespace('Zarafa.common.ui'); /** * @class Zarafa.common.ui.DisplayField * @extends Ext.form.DisplayField * @xtype zarafa.displayfield * * Special extension to the default {@link Ext.form.DisplayField} * which adds a {@link #renderer} configuration option which can * be used to render the apply value correctly. */ Zarafa.common.ui.DisplayField = Ext.extend(Ext.form.DisplayField, { /** * @cfg {Function} renderer A special renderer functions which * can be used to apply special formatting to the displayed value */ renderer : function(value) { return value; }, /** * The raw value which was set to {@link #setRawValue}, this is * the non-{@link #htmlEncode encoded} and non-{@link #rendered} * value. * @property * @type Mixed */ rawValue : undefined, /** * Sets the underlying DOM field's value directly, bypassing validation. To set the value with validation see {@link #setValue}. * This will apply the {@link #renderer} to the applied value. * @param {Mixed} The value to set * @return {Mixed} The field value that is set */ setRawValue : function(value) { this.rawValue = value; return Zarafa.common.ui.DisplayField.superclass.setRawValue.call(this, this.renderer(value)); }, /** * Returns the raw data value which may or may not be a valid, defined value. To return a normalized value see {@link #getValue}. * @return {Mixed} The field value */ getRawValue : function() { return this.rawValue; } }); Ext.reg('zarafa.displayfield', Zarafa.common.ui.DisplayField);