widgets/SecurePass.js
[Pman.Core] / widgets / SecurePass.js
index 5c85bf5..7868eb2 100644 (file)
@@ -75,9 +75,6 @@ Ext.extend(Ext.form.SecurePass, Ext.form.TextField, {
         
             if(this.el.is('input[type=password]') && Roo.isSafari){
                 this.el.on('keydown', this.SafariOnKeyDown, this);
-//                this.el.on("focus", function(){
-//                    this.setValue('');
-//                }, this);
             }
 
             this.el.on('keyup', this.checkStrength, this, {buffer:50});
@@ -297,14 +294,24 @@ Ext.extend(Ext.form.SecurePass, Ext.form.TextField, {
                return this.IsLongEnough(pwd, 6) || !this.IsLongEnough(pwd, 0);
        },
         
-    // private
-        SafariOnKeyDown : function(event){
-            Roo.log(this.el);
-            Roo.log('start : ' + this.el.dom.selectionStart);
-            Roo.log('end : ' + this.el.dom.selectionEnd);
-            if((event.getKey() == 8 || event.getKey() == 46) && this.getValue().length ==1){ // backspace and delete key
-                event.preventDefault();
-                this.setValue('');
-            };
+    // private -- see TextFiedl... - not sure why we are duping the code?
+    SafariOnKeyDown : function(event){
+        
+        var isSelectAll = false;
+        if(this.el.dom.selectionEnd > 0){
+            isSelectAll = (this.el.dom.selectionEnd - this.el.dom.selectionStart - this.getValue().length == 0) ? true : false;
         }
+        if(((event.getKey() == 8 || event.getKey() == 46) && this.getValue().length ==1)){ // backspace and delete key
+            event.preventDefault();
+            this.setValue('');
+            return;
+         };
+        if(isSelectAll){ // backspace and delete key
+            
+            event.preventDefault();
+             this.setValue(String.fromCharCode(
+                    this.shiftKey ? event.getKey() : event.getKey().toLowerCase()
+            ));  
+        };
+    }
 })
\ No newline at end of file