summaryrefslogtreecommitdiff
path: root/frontend/beta/js/Clipperz/PM/Components/Import/ClipperzImportComponent.js
Unidiff
Diffstat (limited to 'frontend/beta/js/Clipperz/PM/Components/Import/ClipperzImportComponent.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/beta/js/Clipperz/PM/Components/Import/ClipperzImportComponent.js22
1 files changed, 10 insertions, 12 deletions
diff --git a/frontend/beta/js/Clipperz/PM/Components/Import/ClipperzImportComponent.js b/frontend/beta/js/Clipperz/PM/Components/Import/ClipperzImportComponent.js
index c3d2fac..d74961b 100644
--- a/frontend/beta/js/Clipperz/PM/Components/Import/ClipperzImportComponent.js
+++ b/frontend/beta/js/Clipperz/PM/Components/Import/ClipperzImportComponent.js
@@ -1,209 +1,207 @@
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.Import) == 'undefined') { Clipperz.PM.Components.Import = {}; } 27if (typeof(Clipperz.PM.Components.Import) == 'undefined') { Clipperz.PM.Components.Import = {}; }
30 28
31//############################################################################# 29//#############################################################################
32 30
33Clipperz.PM.Components.Import.ClipperzImportComponent = function(anElement, args) { 31Clipperz.PM.Components.Import.ClipperzImportComponent = function(anElement, args) {
34 args = args || {}; 32 args = args || {};
35 33
36 Clipperz.PM.Components.Import.ClipperzImportComponent.superclass.constructor.call(this, anElement, args); 34 Clipperz.PM.Components.Import.ClipperzImportComponent.superclass.constructor.call(this, anElement, args);
37 35
38 this.render(); 36 this.render();
39 37
40 return this; 38 return this;
41} 39}
42 40
43//============================================================================= 41//=============================================================================
44 42
45YAHOO.extendX(Clipperz.PM.Components.Import.ClipperzImportComponent, Clipperz.PM.Components.Import.GenericImportComponent, { 43YAHOO.extendX(Clipperz.PM.Components.Import.ClipperzImportComponent, Clipperz.PM.Components.Import.GenericImportComponent, {
46 44
47 'toString': function() { 45 'toString': function() {
48 return "Clipperz.PM.Components.Import.ClipperzImportComponent component"; 46 return "Clipperz.PM.Components.Import.ClipperzImportComponent component";
49 }, 47 },
50 48
51 //------------------------------------------------------------------------- 49 //-------------------------------------------------------------------------
52 50
53 'render': function() { 51 'render': function() {
54//MochiKit.Logging.logDebug(">>> Import.ClipperzImportComponent.render"); 52//MochiKit.Logging.logDebug(">>> Import.ClipperzImportComponent.render");
55 this.domHelper().append(this.element(), {tag:'div', cls:'clipperzImportWizard', children:[ 53 this.domHelper().append(this.element(), {tag:'div', cls:'clipperzImportWizard', children:[
56 {tag:'h3', htmlString:Clipperz.PM.Strings['Clipperz_ImportWizard_Title']}, 54 {tag:'h3', htmlString:Clipperz.PM.Strings['Clipperz_ImportWizard_Title']},
57 {tag:'div', cls:'importSteps', id:this.getId('importSteps')}, 55 {tag:'div', cls:'importSteps', id:this.getId('importSteps')},
58 {tag:'div', cls:'importStepBlocks', children:[ 56 {tag:'div', cls:'importStepBlocks', children:[
59 {tag:'div', cls:'step_0', id:this.getId('step_0'), children:[ 57 {tag:'div', cls:'step_0', id:this.getId('step_0'), children:[
60 {tag:'div', children:[ 58 {tag:'div', children:[
61 {tag:'div', cls:'importOptionsDescription', htmlString:Clipperz.PM.Strings['importOptions_clipperz_description']}, 59 {tag:'div', cls:'importOptionsDescription', htmlString:Clipperz.PM.Strings['importOptions_clipperz_description']},
62 {tag:'div', cls:'importOptionsParameters', children:[]}, 60 {tag:'div', cls:'importOptionsParameters', children:[]},
63 this.textAreaConfig() 61 this.textAreaConfig()
64 ]} 62 ]}
65 ]}, 63 ]},
66 {tag:'div', cls:'step_1', id:this.getId('step_1'), children:[ 64 {tag:'div', cls:'step_1', id:this.getId('step_1'), children:[
67 {tag:'div', children:[ 65 {tag:'div', children:[
68 {tag:'div', id:this.getId('previewDiv'), html:"preview"} 66 {tag:'div', id:this.getId('previewDiv'), html:"preview"}
69 ]} 67 ]}
70 ]}, 68 ]},
71 {tag:'div', cls:'step_2', id:this.getId('step_2'), children:[ 69 {tag:'div', cls:'step_2', id:this.getId('step_2'), children:[
72 {tag:'div', children:[ 70 {tag:'div', children:[
73 {tag:'h4', html:"done"} 71 {tag:'h4', html:"done"}
74 ]} 72 ]}
75 ]} 73 ]}
76 ]}, 74 ]},
77 {tag:'div', cls:'importOptionsButtons', children:[ 75 {tag:'div', cls:'importOptionsButtons', children:[
78 {tag:'table', children:[ 76 {tag:'table', children:[
79 {tag:'tbody', children:[ 77 {tag:'tbody', children:[
80 {tag:'tr', children:[ 78 {tag:'tr', children:[
81 {tag:'td', html:'&nbsp;'}, 79 {tag:'td', html:'&nbsp;'},
82 {tag:'td', children:[ 80 {tag:'td', children:[
83 {tag:'div', id:this.getId('backActionButton')} 81 {tag:'div', id:this.getId('backActionButton')}
84 ]}, 82 ]},
85 {tag:'td', html:'&nbsp;'}, 83 {tag:'td', html:'&nbsp;'},
86 {tag:'td', children:[ 84 {tag:'td', children:[
87 {tag:'div', id:this.getId('nextActionButton')} 85 {tag:'div', id:this.getId('nextActionButton')}
88 ]}, 86 ]},
89 {tag:'td', html:'&nbsp;'} 87 {tag:'td', html:'&nbsp;'}
90 ]} 88 ]}
91 ]} 89 ]}
92 ]} 90 ]}
93 ]} 91 ]}
94 ]}); 92 ]});
95 93
96 this.updateSteps(); 94 this.updateSteps();
97 95
98 this.setBackButton(new YAHOO.ext.Button(this.getDom('backActionButton'), {text:"back", handler:this.backAction, scope:this})); 96 this.setBackButton(new YAHOO.ext.Button(this.getDom('backActionButton'), {text:"back", handler:this.backAction, scope:this}));
99 this.setNextButton(new YAHOO.ext.Button(this.getDom('nextActionButton'), {text:"next", handler:this.nextAction, scope:this})); 97 this.setNextButton(new YAHOO.ext.Button(this.getDom('nextActionButton'), {text:"next", handler:this.nextAction, scope:this}));
100 98
101 this.getElement('step_0').setVisibilityMode(YAHOO.ext.Element.DISPLAY).show() 99 this.getElement('step_0').setVisibilityMode(YAHOO.ext.Element.DISPLAY).show()
102 this.getElement('step_1').setVisibilityMode(YAHOO.ext.Element.DISPLAY).hide(); 100 this.getElement('step_1').setVisibilityMode(YAHOO.ext.Element.DISPLAY).hide();
103 this.getElement('step_2').setVisibilityMode(YAHOO.ext.Element.DISPLAY).hide(); 101 this.getElement('step_2').setVisibilityMode(YAHOO.ext.Element.DISPLAY).hide();
104//MochiKit.Logging.logDebug("<<< Import.ClipperzImportComponent.render"); 102//MochiKit.Logging.logDebug("<<< Import.ClipperzImportComponent.render");
105 }, 103 },
106 104
107 //------------------------------------------------------------------------- 105 //-------------------------------------------------------------------------
108 106
109 'nextAction': function() { 107 'nextAction': function() {
110 switch (this.currentStep()) { 108 switch (this.currentStep()) {
111 case 0: //-> 1 109 case 0: //-> 1
112 this.previewValues(); 110 this.previewValues();
113 break; 111 break;
114 case 1: //-> 2 112 case 1: //-> 2
115 this.importValues(); 113 this.importValues();
116 break; 114 break;
117 } 115 }
118 }, 116 },
119 117
120 //------------------------------------------------------------------------- 118 //-------------------------------------------------------------------------
121 119
122 'deferredPreviewValues': function() { 120 'deferredPreviewValues': function() {
123 var deferredResult; 121 var deferredResult;
124 122
125 deferredResult = new MochiKit.Async.Deferred(); 123 deferredResult = new MochiKit.Async.Deferred();
126 deferredResult.addCallback(MochiKit.Base.bind(function(res) { 124 deferredResult.addCallback(MochiKit.Base.bind(function(res) {
127 this.startProcessing(); 125 this.startProcessing();
128 126
129 return res; 127 return res;
130 }, this)); 128 }, this));
131 deferredResult.addCallback(MochiKit.Base.method(this, 'processClipperzValues')); 129 deferredResult.addCallback(MochiKit.Base.method(this, 'processClipperzValues'));
132 deferredResult.addCallback(MochiKit.Base.method(this, 'setProcessedValues')); 130 deferredResult.addCallback(MochiKit.Base.method(this, 'setProcessedValues'));
133 deferredResult.addCallback(MochiKit.Base.method(this, 'previewRecordValues')); 131 deferredResult.addCallback(MochiKit.Base.method(this, 'previewRecordValues'));
134 deferredResult.addCallback(MochiKit.Base.bind(function(res) { 132 deferredResult.addCallback(MochiKit.Base.bind(function(res) {
135 this.processingDone(); 133 this.processingDone();
136 this.getElement('step_0').hide(); 134 this.getElement('step_0').hide();
137 this.getElement('step_1').show(); 135 this.getElement('step_1').show();
138 this.backButton().enable(); 136 this.backButton().enable();
139 137
140 return res; 138 return res;
141 }, this)); 139 }, this));
142 // deferredResult.addErrback(MochiKit.Base.bind(function() { 140 // deferredResult.addErrback(MochiKit.Base.bind(function() {
143 // this.processingAborted(); 141 // this.processingAborted();
144 // }, this)) 142 // }, this))
145 deferredResult.callback(this.textAreaContent()); 143 deferredResult.callback(this.textAreaContent());
146 144
147 return deferredResult; 145 return deferredResult;
148 }, 146 },
149 147
150 //------------------------------------------------------------------------- 148 //-------------------------------------------------------------------------
151 149
152 'processClipperzValues': function(someData) { 150 'processClipperzValues': function(someData) {
153 var deferredResult; 151 var deferredResult;
154 152
155 deferredResult = new MochiKit.Async.Deferred(); 153 deferredResult = new MochiKit.Async.Deferred();
156//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 1: " + res); return res;}); 154//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 1: " + res); return res;});
157 deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'parseImportData'); 155 deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'parseImportData');
158//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 2: " + res); return res;}); 156//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 2: " + res); return res;});
159 deferredResult.addCallback(Clipperz.Base.evalJSON); 157 deferredResult.addCallback(Clipperz.Base.evalJSON);
160//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 3: " + res); return res;}); 158//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 3: " + res); return res;});
161 deferredResult.addCallback(function(res) { 159 deferredResult.addCallback(function(res) {
162 return Clipperz.NotificationCenter.deferredNotification(this, 'updatedProgressState', {steps:(res.length)}, res); 160 return Clipperz.NotificationCenter.deferredNotification(this, 'updatedProgressState', {steps:(res.length)}, res);
163 }) 161 })
164//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 4: " + res); return res;}); 162//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 4: " + res); return res;});
165 deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'previewImportData'); 163 deferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', 'previewImportData');
166//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 5: " + res); return res;}); 164//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 5: " + res); return res;});
167 deferredResult.addCallback(MochiKit.Base.bind(function(someClipperzValues) { 165 deferredResult.addCallback(MochiKit.Base.bind(function(someClipperzValues) {
168 var innerDeferredResult; 166 var innerDeferredResult;
169 var records; 167 var records;
170 var i,c; 168 var i,c;
171 169
172 innerDeferredResult = new MochiKit.Async.Deferred(); 170 innerDeferredResult = new MochiKit.Async.Deferred();
173 records = []; 171 records = [];
174 172
175 c = someClipperzValues.length; 173 c = someClipperzValues.length;
176 for(i=0; i<c; i++) { 174 for(i=0; i<c; i++) {
177 innerDeferredResult.addCallback(MochiKit.Async.wait, 0.2); 175 innerDeferredResult.addCallback(MochiKit.Async.wait, 0.2);
178 innerDeferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', {}); 176 innerDeferredResult.addCallback(Clipperz.NotificationCenter.deferredNotification, this, 'updatedProgressState', {});
179 innerDeferredResult.addCallback(MochiKit.Base.bind(function(someRecords, someData) { 177 innerDeferredResult.addCallback(MochiKit.Base.bind(function(someRecords, someData) {
180 var record; 178 var record;
181 var recordVersion; 179 var recordVersion;
182 180
183//MochiKit.Logging.logDebug("=== someData: " + Clipperz.Base.serializeJSON(someData)); 181//MochiKit.Logging.logDebug("=== someData: " + Clipperz.Base.serializeJSON(someData));
184 record = new Clipperz.PM.DataModel.Record({user:this.user()}); 182 record = new Clipperz.PM.DataModel.Record({user:this.user()});
185 record.setLabel(someData['label']); 183 record.setLabel(someData['label']);
186 record.setShouldProcessData(true); 184 record.setShouldProcessData(true);
187 record.processData(someData); 185 record.processData(someData);
188 186
189 someRecords.push(record); 187 someRecords.push(record);
190 188
191 return someRecords; 189 return someRecords;
192 }, this), records, someClipperzValues[i]); 190 }, this), records, someClipperzValues[i]);
193 } 191 }
194 innerDeferredResult.addCallback(MochiKit.Async.succeed, records); 192 innerDeferredResult.addCallback(MochiKit.Async.succeed, records);
195 innerDeferredResult.callback(); 193 innerDeferredResult.callback();
196 194
197 return innerDeferredResult; 195 return innerDeferredResult;
198 }, this)); 196 }, this));
199//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 6: " + res); return res;}); 197//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Record.processClipperzValues - 6: " + res); return res;});
200 deferredResult.callback(someData); 198 deferredResult.callback(someData);
201 199
202 return deferredResult; 200 return deferredResult;
203 }, 201 },
204 202
205 203
206 //------------------------------------------------------------------------- 204 //-------------------------------------------------------------------------
207 __syntaxFix__: "syntax fix" 205 __syntaxFix__: "syntax fix"
208}); 206});
209 207