Label.js
上传用户:shuoshiled
上传日期:2018-01-28
资源大小:10124k
文件大小:3k
源码类别:

中间件编程

开发平台:

JavaScript

  1. /*!
  2.  * Ext JS Library 3.0.0
  3.  * Copyright(c) 2006-2009 Ext JS, LLC
  4.  * licensing@extjs.com
  5.  * http://www.extjs.com/license
  6.  */
  7. /**
  8.  * @class Ext.form.Label
  9.  * @extends Ext.BoxComponent
  10.  * Basic Label field.
  11.  * @constructor
  12.  * Creates a new Label
  13.  * @param {Ext.Element/String/Object} config The configuration options.  If an element is passed, it is set as the internal
  14.  * element and its id used as the component id.  If a string is passed, it is assumed to be the id of an existing element
  15.  * and is used as the component id.  Otherwise, it is assumed to be a standard config object and is applied to the component.
  16.  * @xtype label
  17.  */
  18. Ext.form.Label = Ext.extend(Ext.BoxComponent, {
  19.     /**
  20.      * @cfg {String} text The plain text to display within the label (defaults to ''). If you need to include HTML
  21.      * tags within the label's innerHTML, use the {@link #html} config instead.
  22.      */
  23.     /**
  24.      * @cfg {String} forId The id of the input element to which this label will be bound via the standard HTML 'for'
  25.      * attribute. If not specified, the attribute will not be added to the label.
  26.      */
  27.     /**
  28.      * @cfg {String} html An HTML fragment that will be used as the label's innerHTML (defaults to '').
  29.      * Note that if {@link #text} is specified it will take precedence and this value will be ignored.
  30.      */
  31.     // private
  32.     onRender : function(ct, position){
  33.         if(!this.el){
  34.             this.el = document.createElement('label');
  35.             this.el.id = this.getId();
  36.             this.el.innerHTML = this.text ? Ext.util.Format.htmlEncode(this.text) : (this.html || '');
  37.             if(this.forId){
  38.                 this.el.setAttribute('for', this.forId);
  39.             }
  40.         }
  41.         Ext.form.Label.superclass.onRender.call(this, ct, position);
  42.     },
  43.     /**
  44.      * Updates the label's innerHTML with the specified string.
  45.      * @param {String} text The new label text
  46.      * @param {Boolean} encode (optional) False to skip HTML-encoding the text when rendering it
  47.      * to the label (defaults to true which encodes the value). This might be useful if you want to include
  48.      * tags in the label's innerHTML rather than rendering them as string literals per the default logic.
  49.      * @return {Label} this
  50.      */
  51.     setText : function(t, encode){
  52.         var e = encode === false;
  53.         this[!e ? 'text' : 'html'] = t;
  54.         delete this[e ? 'text' : 'html'];
  55.         if(this.rendered){
  56.             this.el.dom.innerHTML = encode !== false ? Ext.util.Format.htmlEncode(t) : t;
  57.         }
  58.         return this;
  59.     }
  60. });
  61. Ext.reg('label', Ext.form.Label);