Merge branch 'master' of http://git.roojs.com/roojs1
[roojs1] / Roo / form / Password.js
1 Roo.form.Password = function(config){
2     Roo.form.Password.superclass.constructor.call(this, config);
3
4     this.inputType = 'password';
5 };
6
7 Roo.extend(Roo.form.Password, Roo.form.TextField,  {
8     onRender : function(ct, position)
9     {
10         Roo.form.Password.superclass.onRender.call(this, ct, position);
11
12         this.parentEl().addClass('form-password');
13
14         this.wrap = this.el.wrap({
15             cls : 'password-wrap'
16         });
17
18         this.toggle = this.wrap.createChild({
19             tag : 'Button',
20             cls : 'password-toggle'
21         });
22
23
24         this.toggleEl().addClass('password-hidden');
25
26         this.toggleEl().on('click', this.onToggleClick, this);;
27     },
28     
29     parentEl : function()
30     {
31         return this.el.findParent('.x-form-element', 5, true);
32     },
33
34     toggleEl: function()
35     {
36         return this.parentEl().select('button.password-toggle',true).first();
37     },
38
39     onToggleClick : function(e) 
40     {
41         var input = this.el;
42         var toggle = this.toggleEl();
43
44         toggle.removeClass(['password-visible', 'password-hidden']);
45
46         if(input.attr('type') == 'password') {
47             input.attr('type', 'text');
48             toggle.addClass('password-visible');
49         }
50         else {
51             input.attr('type', 'password');
52             toggle.addClass('password-hidden');
53         }
54     }
55 });