Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / src / widgets / form / DisplayField.js
diff --git a/src/widgets/form/DisplayField.js b/src/widgets/form/DisplayField.js
new file mode 100644 (file)
index 0000000..30a61b7
--- /dev/null
@@ -0,0 +1,98 @@
+/*!
+ * Ext JS Library 3.0.0
+ * Copyright(c) 2006-2009 Ext JS, LLC
+ * licensing@extjs.com
+ * http://www.extjs.com/license
+ */
+/**\r
+ * @class Ext.form.DisplayField\r
+ * @extends Ext.form.Field\r
+ * A display-only text field which is not validated and not submitted.\r
+ * @constructor\r
+ * Creates a new DisplayField.\r
+ * @param {Object} config Configuration options\r
+ * @xtype displayfield\r
+ */\r
+Ext.form.DisplayField = Ext.extend(Ext.form.Field,  {\r
+    validationEvent : false,\r
+    validateOnBlur : false,\r
+    defaultAutoCreate : {tag: "div"},\r
+    /**\r
+     * @cfg {String} fieldClass The default CSS class for the field (defaults to <tt>"x-form-display-field"</tt>)\r
+     */\r
+    fieldClass : "x-form-display-field",\r
+    /**\r
+     * @cfg {Boolean} htmlEncode <tt>false</tt> to skip HTML-encoding the text when rendering it (defaults to\r
+     * <tt>false</tt>). This might be useful if you want to include tags in the field's innerHTML rather than\r
+     * rendering them as string literals per the default logic.\r
+     */\r
+    htmlEncode: false,\r
+\r
+    // private\r
+    initEvents : Ext.emptyFn,\r
+\r
+    isValid : function(){\r
+        return true;\r
+    },\r
+\r
+    validate : function(){\r
+        return true;\r
+    },\r
+\r
+    getRawValue : function(){\r
+        var v = this.rendered ? this.el.dom.innerHTML : Ext.value(this.value, '');\r
+        if(v === this.emptyText){\r
+            v = '';\r
+        }\r
+        if(this.htmlEncode){\r
+            v = Ext.util.Format.htmlDecode(v);\r
+        }\r
+        return v;\r
+    },\r
+\r
+    getValue : function(){\r
+        return this.getRawValue();\r
+    },\r
+    \r
+    getName: function() {\r
+        return this.name;\r
+    },\r
+\r
+    setRawValue : function(v){\r
+        if(this.htmlEncode){\r
+            v = Ext.util.Format.htmlEncode(v);\r
+        }\r
+        return this.rendered ? (this.el.dom.innerHTML = (Ext.isEmpty(v) ? '' : v)) : (this.value = v);\r
+    },\r
+\r
+    setValue : function(v){\r
+        this.setRawValue(v);\r
+        return this;\r
+    }\r
+    /** \r
+     * @cfg {String} inputType \r
+     * @hide\r
+     */\r
+    /** \r
+     * @cfg {Boolean} disabled \r
+     * @hide\r
+     */\r
+    /** \r
+     * @cfg {Boolean} readOnly \r
+     * @hide\r
+     */\r
+    /** \r
+     * @cfg {Boolean} validateOnBlur \r
+     * @hide\r
+     */\r
+    /** \r
+     * @cfg {Number} validationDelay \r
+     * @hide\r
+     */\r
+    /** \r
+     * @cfg {String/Boolean} validationEvent \r
+     * @hide\r
+     */\r
+});\r
+\r
+Ext.reg('displayfield', Ext.form.DisplayField);\r