9 * @class Roo.bootstrap.FieldLabel
10 * @extends Roo.bootstrap.Component
11 * Bootstrap FieldLabel class
12 * @cfg {String} html contents of the element
13 * @cfg {String} tag tag of the element default label
14 * @cfg {String} cls class of the element
15 * @cfg {String} for label target
16 * @cfg {Boolean} allowBlank (true|false) target allowBlank default true
17 * @cfg {String} invalidClass default "text-danger fa fa-lg fa-exclamation-triangle"
18 * @cfg {String} validClass default "text-success fa fa-lg fa-check"
21 * Create a new FieldLabel
22 * @param {Object} config The config object
25 Roo.bootstrap.FieldLabel = function(config){
26 Roo.bootstrap.Element.superclass.constructor.call(this, config);
31 * Fires after the field has been marked as invalid.
32 * @param {Roo.form.FieldLabel} this
33 * @param {String} msg The validation message
38 * Fires after the field has been validated with no errors.
39 * @param {Roo.form.FieldLabel} this
45 Roo.extend(Roo.bootstrap.FieldLabel, Roo.bootstrap.Component, {
52 invalidClass : 'text-danger fa fa-lg fa-exclamation-triangle',
53 validClass : 'text-success fa fa-lg fa-check',
55 getAutoCreate : function(){
59 cls : 'roo-bootstrap-field-label ' + this.cls,
76 initEvents: function()
78 Roo.bootstrap.Element.superclass.initEvents.call(this);
80 this.iconEl = this.el.select('i', true).first();
82 this.iconEl.setVisibilityMode(Roo.Element.DISPLAY).hide();
84 Roo.bootstrap.FieldLabel.register(this);
88 * Mark this field as valid
90 markValid : function()
94 this.iconEl.removeClass(this.invalidClass);
96 this.iconEl.addClass(this.validClass);
98 this.fireEvent('valid', this);
102 * Mark this field as invalid
103 * @param {String} msg The validation message
105 markInvalid : function(msg)
109 this.iconEl.removeClass(this.validClass);
111 this.iconEl.addClass(this.invalidClass);
113 this.fireEvent('invalid', this, msg);
119 Roo.apply(Roo.bootstrap.FieldLabel, {
124 * register a CheckBox Group
125 * @param {Roo.bootstrap.CheckBox} the CheckBox to add
127 register : function(label)
129 if(typeof(this.groups[label.for]) == 'undefined'){
130 this.groups[label.for] = {};
133 if(this.groups.hasOwnProperty(label.for)){
136 Roo.log('register???!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
138 this.groups[label.for] = label;
142 * fetch a CheckBox Group based on the group ID
143 * @param {string} the group ID
144 * @returns {Roo.bootstrap.CheckBox} the CheckBox group
146 get: function(name) {
147 if (typeof(this.groups[name]) == 'undefined') {
151 return this.groups[name] ;