summaryrefslogtreecommitdiff
path: root/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js
Unidiff
Diffstat (limited to 'frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js22
1 files changed, 10 insertions, 12 deletions
diff --git a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js
index 69cad79..883c45c 100644
--- a/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js
+++ b/frontend/beta/js/Clipperz/PM/Components/RecordDetail/DirectLoginComponent.js
@@ -1,214 +1,212 @@
1/* 1/*
2 2
3Copyright 2008-2011 Clipperz Srl 3Copyright 2008-2013 Clipperz Srl
4 4
5This file is part of Clipperz Community Edition. 5This file is part of Clipperz, the online password manager.
6Clipperz Community Edition is an online password manager.
7For further information about its features and functionalities please 6For further information about its features and functionalities please
8refer to http://www.clipperz.com. 7refer to http://www.clipperz.com.
9 8
10* Clipperz Community Edition is free software: you can redistribute 9* Clipperz is free software: you can redistribute it and/or modify it
11 it and/or modify it under the terms of the GNU Affero General Public 10 under the terms of the GNU Affero General Public License as published
12 License as published by the Free Software Foundation, either version 11 by the Free Software Foundation, either version 3 of the License, or
13 3 of the License, or (at your option) any later version. 12 (at your option) any later version.
14 13
15* Clipperz Community Edition is distributed in the hope that it will 14* Clipperz is distributed in the hope that it will be useful, but
16 be useful, but WITHOUT ANY WARRANTY; without even the implied 15 WITHOUT ANY WARRANTY; without even the implied warranty of
17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU Affero General Public License for more details. 17 See the GNU Affero General Public License for more details.
19 18
20* You should have received a copy of the GNU Affero General Public 19* You should have received a copy of the GNU Affero General Public
21 License along with Clipperz Community Edition. If not, see 20 License along with Clipperz. If not, see http://www.gnu.org/licenses/.
22 <http://www.gnu.org/licenses/>.
23 21
24*/ 22*/
25 23
26if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } 24if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
27if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } 25if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; }
28if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; } 26if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; }
29if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; } 27if (typeof(Clipperz.PM.Components.RecordDetail) == 'undefined') { Clipperz.PM.Components.RecordDetail = {}; }
30 28
31//############################################################################# 29//#############################################################################
32 30
33Clipperz.PM.Components.RecordDetail.DirectLoginComponent = function(anElement, args) { 31Clipperz.PM.Components.RecordDetail.DirectLoginComponent = function(anElement, args) {
34 args = args || {}; 32 args = args || {};
35 33
36 Clipperz.PM.Components.RecordDetail.DirectLoginComponent.superclass.constructor.call(this, anElement, args); 34 Clipperz.PM.Components.RecordDetail.DirectLoginComponent.superclass.constructor.call(this, anElement, args);
37 35
38 this._directLogin = args.directLogin || null; 36 this._directLogin = args.directLogin || null;
39 //this._titleElement = null; 37 //this._titleElement = null;
40 this._structureElement = null; 38 this._structureElement = null;
41 this._removeButton = null; 39 this._removeButton = null;
42 this._directLoginBindingComponents = null; 40 this._directLoginBindingComponents = null;
43 this._collapser = null; 41 this._collapser = null;
44 42
45 this.mainComponent().addEditComponent(this); 43 this.mainComponent().addEditComponent(this);
46 this.render(); 44 this.render();
47 45
48 return this; 46 return this;
49} 47}
50 48
51//============================================================================= 49//=============================================================================
52 50
53YAHOO.extendX(Clipperz.PM.Components.RecordDetail.DirectLoginComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, { 51YAHOO.extendX(Clipperz.PM.Components.RecordDetail.DirectLoginComponent, Clipperz.PM.Components.RecordDetail.AbstractComponent, {
54 52
55 'toString': function() { 53 'toString': function() {
56 return "Clipperz.PM.Components.RecordDetail.DirectLoginComponent component"; 54 return "Clipperz.PM.Components.RecordDetail.DirectLoginComponent component";
57 }, 55 },
58 56
59 //------------------------------------------------------------------------- 57 //-------------------------------------------------------------------------
60 58
61 'directLogin': function() { 59 'directLogin': function() {
62 return this._directLogin; 60 return this._directLogin;
63 }, 61 },
64 62
65 'directLoginBindingComponents': function() { 63 'directLoginBindingComponents': function() {
66 return this._directLoginBindingComponents; 64 return this._directLoginBindingComponents;
67 }, 65 },
68 66
69 //------------------------------------------------------------------------- 67 //-------------------------------------------------------------------------
70 68
71 'removeDirectLogin': function() { 69 'removeDirectLogin': function() {
72//MochiKit.Logging.logDebug(">>> DirectLoginComponent.removeDirectLogin"); 70//MochiKit.Logging.logDebug(">>> DirectLoginComponent.removeDirectLogin");
73 this.mainComponent().synchronizeComponentValues(); 71 this.mainComponent().synchronizeComponentValues();
74 this.directLogin().remove(); 72 this.directLogin().remove();
75 this.mainComponent().removeEditComponent(this); 73 this.mainComponent().removeEditComponent(this);
76 this.mainComponent().render(); 74 this.mainComponent().render();
77//MochiKit.Logging.logDebug("<<< DirectLoginComponent.removeDirectLogin"); 75//MochiKit.Logging.logDebug("<<< DirectLoginComponent.removeDirectLogin");
78 }, 76 },
79 77
80 //------------------------------------------------------------------------- 78 //-------------------------------------------------------------------------
81/* 79/*
82 'formDataValue': function() { 80 'formDataValue': function() {
83 return Clipperz.Base.serializeJSON(this.directLogin().formData()); 81 return Clipperz.Base.serializeJSON(this.directLogin().formData());
84 }, 82 },
85 83
86 'setFormDataValue': function(aValue) { 84 'setFormDataValue': function(aValue) {
87 85
88 }, 86 },
89 */ 87 */
90 //------------------------------------------------------------------------- 88 //-------------------------------------------------------------------------
91 89
92 'removeButton': function() { 90 'removeButton': function() {
93 return this._removeButton; 91 return this._removeButton;
94 }, 92 },
95 93
96 'setRemoveButton': function(aValue) { 94 'setRemoveButton': function(aValue) {
97 this._removeButton = aValue; 95 this._removeButton = aValue;
98 }, 96 },
99 97
100 //------------------------------------------------------------------------- 98 //-------------------------------------------------------------------------
101/* 99/*
102 'titleElement': function() { 100 'titleElement': function() {
103 return this._titleElement; 101 return this._titleElement;
104 }, 102 },
105 103
106 'setTitleElement': function(aValue) { 104 'setTitleElement': function(aValue) {
107 this._titleElement = aValue; 105 this._titleElement = aValue;
108 }, 106 },
109 */ 107 */
110 //------------------------------------------------------------------------- 108 //-------------------------------------------------------------------------
111 109
112 'structureElement': function() { 110 'structureElement': function() {
113 return this._structureElement; 111 return this._structureElement;
114 }, 112 },
115 113
116 'setStructureElement': function(aValue) { 114 'setStructureElement': function(aValue) {
117 this._structureElement = aValue; 115 this._structureElement = aValue;
118 }, 116 },
119 117
120 //------------------------------------------------------------------------- 118 //-------------------------------------------------------------------------
121 119
122 'render': function() { 120 'render': function() {
123//MochiKit.Logging.logDebug(">>> DirectLoginComponent.render"); 121//MochiKit.Logging.logDebug(">>> DirectLoginComponent.render");
124 try { 122 try {
125 this.element().update(""); 123 this.element().update("");
126 Clipperz.YUI.DomHelper.append(this.element().dom, 124 Clipperz.YUI.DomHelper.append(this.element().dom,
127 {tag:'li', children:[ 125 {tag:'li', children:[
128 {tag:'table', width:'100%', border:'0', cellpadding:'0', cellspacing:'0', children:[ 126 {tag:'table', width:'100%', border:'0', cellpadding:'0', cellspacing:'0', children:[
129 {tag:'tbody', children:[ 127 {tag:'tbody', children:[
130 {tag:'tr', children:[ 128 {tag:'tr', children:[
131 {tag:'td', rowspan:'2', width:'30', valign:'top', html:'&#160', children:[ 129 {tag:'td', rowspan:'2', width:'30', valign:'top', html:'&#160', children:[
132 {tag:'div', id:this.getId('removeDirectLogin'), children:[ 130 {tag:'div', id:this.getId('removeDirectLogin'), children:[
133 {tag:'div', id:this.getId('removeDirectLoginButton')} 131 {tag:'div', id:this.getId('removeDirectLoginButton')}
134 ]}, 132 ]},
135 {tag:'div', id:this.getId('collapseLink'), cls:'directLoginCollapseLink'} 133 {tag:'div', id:this.getId('collapseLink'), cls:'directLoginCollapseLink'}
136 ]}, 134 ]},
137 {tag:'td', valign:'top', children:[ 135 {tag:'td', valign:'top', children:[
138 {tag:'table', width:'100%', border:'0', cellpadding:'0', cellspacing:'0', children:[ 136 {tag:'table', width:'100%', border:'0', cellpadding:'0', cellspacing:'0', children:[
139 {tag:'tbody', children:[ 137 {tag:'tbody', children:[
140 {tag:'tr', children:[ 138 {tag:'tr', children:[
141 {tag:'td', width:'20', valign:'top', children:[ 139 {tag:'td', width:'20', valign:'top', children:[
142 {tag:'a', href:'#', id:this.getId('directLogin'), children:[ 140 {tag:'a', href:'#', id:this.getId('directLogin'), children:[
143 {tag:'img', id:this.getId('faviconImage'), width:'16', height:'16', src:this.directLogin().fixedFavicon()} 141 {tag:'img', id:this.getId('faviconImage'), width:'16', height:'16', src:this.directLogin().fixedFavicon()}
144 ]} 142 ]}
145 ]}, 143 ]},
146 {tag:'td', valign:'top', children:[ 144 {tag:'td', valign:'top', children:[
147 {tag:'div', cls:'directLoginDetailTitle', children:[ 145 {tag:'div', cls:'directLoginDetailTitle', children:[
148 {tag:'div', id:this.getId('titleViewBox'), children:[ 146 {tag:'div', id:this.getId('titleViewBox'), children:[
149 {tag:'a', href:'#', id:this.getId('titleLink')} 147 {tag:'a', href:'#', id:this.getId('titleLink')}
150 ]}, 148 ]},
151 {tag:'div', id:this.getId('titleEditBox'), children:[ 149 {tag:'div', id:this.getId('titleEditBox'), children:[
152 {tag:'input', type:'text', id:this.getId('titleInput')} 150 {tag:'input', type:'text', id:this.getId('titleInput')}
153 ]} 151 ]}
154 ]} 152 ]}
155 ]} 153 ]}
156 ]} 154 ]}
157 ]} 155 ]}
158 ]} 156 ]}
159 ]} 157 ]}
160 ]}, 158 ]},
161 {tag:'tr', children:[ 159 {tag:'tr', children:[
162 {tag:'td', /*colspan:'2',*/ children:[ 160 {tag:'td', /*colspan:'2',*/ children:[
163 {tag:'div', id:this.getId('details'), children:[ 161 {tag:'div', id:this.getId('details'), children:[
164 {tag:'table', cls:'directLoginBindings', border:'0', cellpadding:'0', cellspacing:'0', children:[ 162 {tag:'table', cls:'directLoginBindings', border:'0', cellpadding:'0', cellspacing:'0', children:[
165 {tag:'tbody', id:this.getId('tbodyBindings'), children:[]} 163 {tag:'tbody', id:this.getId('tbodyBindings'), children:[]}
166 ]} 164 ]}
167 ]} 165 ]}
168 ]} 166 ]}
169 ]} 167 ]}
170 ]} 168 ]}
171 ]} 169 ]}
172 ]} 170 ]}
173 ); 171 );
174 172
175 MochiKit.Signal.connect(this.getId('faviconImage'), 'onload', this, 'handleLoadedFaviconImage'); 173 MochiKit.Signal.connect(this.getId('faviconImage'), 'onload', this, 'handleLoadedFaviconImage');
176 MochiKit.Signal.connect(this.getId('faviconImage'), 'onerror', this.directLogin(), 'handleMissingFaviconImage'); 174 MochiKit.Signal.connect(this.getId('faviconImage'), 'onerror', this.directLogin(), 'handleMissingFaviconImage');
177 MochiKit.Signal.connect(this.getId('faviconImage'), 'onabort', this.directLogin(), 'handleMissingFaviconImage'); 175 MochiKit.Signal.connect(this.getId('faviconImage'), 'onabort', this.directLogin(), 'handleMissingFaviconImage');
178 176
179 this.getElement('removeDirectLogin').setVisibilityMode(YAHOO.ext.Element.DISPLAY); 177 this.getElement('removeDirectLogin').setVisibilityMode(YAHOO.ext.Element.DISPLAY);
180//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 1"); 178//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 1");
181 this.getElement('collapseLink').addClassOnOver('hover'); 179 this.getElement('collapseLink').addClassOnOver('hover');
182 this._collapser = new Clipperz.YUI.Collapser(this.getElement('collapseLink'), this.getElement('details'), true); 180 this._collapser = new Clipperz.YUI.Collapser(this.getElement('collapseLink'), this.getElement('details'), true);
183//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 2"); 181//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 2");
184 MochiKit.Signal.connect(this.getId('directLogin'), 'onclick', this, 'runDirectLogin'); 182 MochiKit.Signal.connect(this.getId('directLogin'), 'onclick', this, 'runDirectLogin');
185 // this.getElement('directLogin').on('click', this.runDirectLogin, this, false); 183 // this.getElement('directLogin').on('click', this.runDirectLogin, this, false);
186//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 3"); 184//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 3");
187 // this.setTitleElement(new Clipperz.PM.Components.TextFormField(this.getElement('title'), { 185 // this.setTitleElement(new Clipperz.PM.Components.TextFormField(this.getElement('title'), {
188 // editMode:this.editMode(), 186 // editMode:this.editMode(),
189 // value:this.directLogin().label() 187 // value:this.directLogin().label()
190 // })); 188 // }));
191 this.getElement('titleViewBox').setVisibilityMode(YAHOO.ext.Element.DISPLAY); 189 this.getElement('titleViewBox').setVisibilityMode(YAHOO.ext.Element.DISPLAY);
192 this.getElement('titleEditBox').setVisibilityMode(YAHOO.ext.Element.DISPLAY); 190 this.getElement('titleEditBox').setVisibilityMode(YAHOO.ext.Element.DISPLAY);
193 //- this.getElement('titleLink').on('click', this.runDirectLogin, this, false); 191 //- this.getElement('titleLink').on('click', this.runDirectLogin, this, false);
194 MochiKit.Signal.connect(this.getId('titleLink'), 'onclick', this, 'runDirectLogin'); 192 MochiKit.Signal.connect(this.getId('titleLink'), 'onclick', this, 'runDirectLogin');
195 193
196//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 4"); 194//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 4");
197 //- this.setStructureElement(new Clipperz.PM.Components.TextFormField(this.getElement('formStructure'), { 195 //- this.setStructureElement(new Clipperz.PM.Components.TextFormField(this.getElement('formStructure'), {
198 //- editMode:this.editMode(), 196 //- editMode:this.editMode(),
199 //- value:this.formDataValue(), multiline:true 197 //- value:this.formDataValue(), multiline:true
200 //- })); 198 //- }));
201//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 5"); 199//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 5");
202 { 200 {
203 varbindingKey; 201 varbindingKey;
204 var valueName; 202 var valueName;
205 var inputsRequiringAdditionalValues; 203 var inputsRequiringAdditionalValues;
206 var bindingsElement; 204 var bindingsElement;
207 var i,c; 205 var i,c;
208 206
209//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 6"); 207//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 6");
210 this._directLoginBindingComponents = []; 208 this._directLoginBindingComponents = [];
211//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 7"); 209//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 7");
212 bindingsElement = this.getElement('tbodyBindings'); 210 bindingsElement = this.getElement('tbodyBindings');
213//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 8"); 211//MochiKit.Logging.logDebug("--- DirectLoginComponent.render - 8");
214 for (bindingKey in this.directLogin().bindings()) { 212 for (bindingKey in this.directLogin().bindings()) {