123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- /**
- * @class Ext.ux.form.StaticTextField
- * @extends Ext.BoxComponent
- * Base class to easily display static text in a form layout.
- * @constructor
- * Creates a new StaticTextField Field
- * @param {Object} config Configuration options
- * @author Based on MiscField by Nullity with modifications by Aparajita Fishman
- */
- Ext.namespace('Ext.ux.form');
- Ext.ux.form.StaticTextField = function(config){
- this.name = config.name || config.id;
- Ext.ux.form.StaticTextField.superclass.constructor.call(this, config);
- };
- Ext.extend(Ext.ux.form.StaticTextField, Ext.BoxComponent, {
- /**
- * @cfg {String/Object} autoCreate A DomHelper element spec, or true for a default element spec (defaults to
- * {tag: "div"})
- */
- defaultAutoCreate : {tag: "div"},
- /**
- * @cfg {String} fieldClass The default CSS class for the field (defaults to "x-form-field")
- */
- fieldClass : "x-form-text",
- // private
- isFormField : true,
- /**
- * @cfg {Boolean} postValue True to create a hidden field that will post the field's value during a submit
- */
- submitValue : false,
- /**
- * @cfg {Mixed} value A value to initialize this field with.
- */
- value : undefined,
- /**
- * @cfg {Boolean} disableReset True to prevent this field from being reset when calling Ext.form.Form.reset()
- */
- disableReset: false,
- // private
- field: null,
-
- /**
- * Returns the name attribute of the field if available
- * @return {String} name The field name
- */
- getName: function(){
- return this.name;
- },
- // private
- onRender : function(ct, position){
- Ext.ux.form.StaticTextField.superclass.onRender.call(this, ct, position);
- if(!this.el){
- var cfg = this.getAutoCreate();
- this.el = ct.createChild(cfg, position);
-
- if (this.submitValue) {
- this.field = ct.createChild({tag:'input', type:'hidden', name: this.getName(), id: ''}, position);
- }
- }
- this.el.addClass([this.fieldClass, this.cls, 'ux-form-statictextfield']);
- this.initValue();
- },
- // private
- afterRender : function(ct, position){
- Ext.ux.form.StaticTextField.superclass.afterRender.call(this);
- this.initEvents();
- },
- // private
- initValue : function(){
- if(this.value !== undefined){
- this.setValue(this.value);
- }else if(this.el.dom.innerHTML.length > 0){
- this.setValue(this.el.dom.innerHTML);
- }
- },
- /**
- * Returns true if this field has been changed since it was originally loaded.
- */
- isDirty : function() {
- return false;
- },
- /**
- * Resets the current field value to the originally-loaded value
- * @param {Boolean} force Force a reset even if the option disableReset is true
- */
- reset : function(force){
- if(!this.disableReset || force === true){
- this.setValue(this.originalValue);
- }
- },
- // private
- initEvents : function(){
- // reference to original value for reset
- this.originalValue = this.getRawValue();
- },
- /**
- * Returns whether or not the field value is currently valid
- * Always returns true, not used in StaticTextField.
- * @return {Boolean} True
- */
- isValid : function(){
- return true;
- },
- /**
- * Validates the field value
- * Always returns true, not used in StaticTextField. Required for Ext.form.Form.isValid()
- * @return {Boolean} True
- */
- validate : function(){
- return true;
- },
- processValue : function(value){
- return value;
- },
- // private
- // Subclasses should provide the validation implementation by overriding this
- validateValue : function(value){
- return true;
- },
- /**
- * Mark this field as invalid
- * Not used in StaticTextField. Required for Ext.form.Form.markInvalid()
- */
- markInvalid : function(){
- return;
- },
- /**
- * Clear any invalid styles/messages for this field
- * Not used in StaticTextField. Required for Ext.form.Form.clearInvalid()
- */
- clearInvalid : function(){
- return;
- },
- /**
- * Returns the raw field value.
- * @return {Mixed} value The field value
- */
- getRawValue : function(){
- return (this.rendered) ? this.value : null;
- },
- /**
- * Returns the clean field value.
- * @return {String} value The field value
- */
- getValue : function(){
- return this.getRawValue();
- },
- /**
- * Sets the raw field value. The display text is <strong>not</strong> HTML encoded.
- * @param {Mixed} value The value to set
- */
- setRawValue : function(v){
- this.value = v;
- if(this.rendered){
- this.el.dom.innerHTML = v;
- if(this.field){
- this.field.dom.value = v;
- }
- }
- },
- /**
- * Sets the field value. The display text is HTML encoded.
- * @param {Mixed} value The value to set
- */
- setValue : function(v){
- this.value = v;
- if(this.rendered){
- this.el.dom.innerHTML = Ext.util.Format.htmlEncode(v);
- if(this.field){
- this.field.dom.value = v;
- }
- }
- }
- });
- Ext.reg('statictextfield', Ext.ux.form.StaticTextField);
|