fix #7653 styling on password entry
[roojs1] / roojs-bootstrap-debug.js
index 5ee57dc..a458bca 100644 (file)
@@ -13086,6 +13086,18 @@ Roo.extend(Roo.bootstrap.form.Input, Roo.bootstrap.Component,  {
         // 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
@@ -13323,7 +13335,9 @@ Roo.extend(Roo.bootstrap.form.Input, Roo.bootstrap.Component,  {
                     feedback.update(this.blankText);
                 }
 
-                feedback.show();
+                if(feedback.dom.innerHTML) {
+                    feedback.show();
+                }
                 
             }
             
@@ -26055,34 +26069,46 @@ Roo.bootstrap.form.Password = function(config){
 
 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