// this.validate();
this.el.removeClass([this.invalidClass, this.validClass]);
this.inputEl().removeClass(['is-valid', 'is-invalid']);
+
+ if(this.hasFeedback && this.inputType != 'hidden'){
+
+ var feedback = this.el.select('.form-control-feedback', true).first();
+
+ if(feedback){
+ this.el.select('.form-control-feedback', true).first().removeClass([this.invalidFeedbackClass, this.validFeedbackClass]);
+ feedback.update('');
+ feedback.hide();
+ }
+
+ }
},
/**
* Returns the name of the field
feedback.update(this.blankText);
}
- feedback.show();
+ if(feedback.dom.innerHTML) {
+ feedback.show();
+ }
}
Roo.extend(Roo.bootstrap.form.Password, Roo.bootstrap.form.Input, {
- initEvents : function()
- {
- Roo.bootstrap.form.Password.superclass.initEvents.call(this);
+ onRender : function(ct, position)
+ {
+ Roo.bootstrap.form.SecurePass.superclass.onRender.call(this, ct, position);
this.el.addClass('form-password');
- this.inputEl().addClass('password-hidden');
+ this.wrap = this.inputEl().wrap({
+ cls : 'password-wrap'
+ });
+
+ this.toggle = this.wrap.createChild({
+ tag : 'Button',
+ cls : 'password-toggle'
+ });
+
- this.inputEl().on('click', this.onPasswordClick, this);
+ this.toggleEl().addClass('password-hidden');
+
+ this.toggleEl().on('click', this.onToggleClick, this);;
},
- onPasswordClick : function(e)
+ toggleEl: function()
{
- var input = this.inputEl();
+ return this.el.select('button.password-toggle',true).first();
+ },
- if(e.getPageX() < input.getX() + input.getWidth() - 30) {
- return;
- }
+ onToggleClick : function(e)
+ {
+ var input = this.inputEl();
+ var toggle = this.toggleEl();
- input.removeClass(['password-visible', 'password-hidden']);
+ toggle.removeClass(['password-visible', 'password-hidden']);
if(input.attr('type') == 'password') {
input.attr('type', 'text');
- input.addClass('password-visible');
+ toggle.addClass('password-visible');
}
else {
input.attr('type', 'password');
- input.addClass('password-hidden');
+ toggle.addClass('password-hidden');
}
}
});Roo.rtf = {}; // namespace