Conditions | 1 |
Paths | 1 |
Total Lines | 34 |
Lines | 0 |
Ratio | 0 % |
Changes | 2 | ||
Bugs | 0 | Features | 0 |
1 | /** global: PassmanExporter */ |
||
10 | PassmanExporter.csv.export = function (credentials) { |
||
11 | /** global: C_Promise */ |
||
12 | return new C_Promise(function () { |
||
13 | var _this = this; |
||
14 | var headers = ['label', 'username', 'password', 'email', 'description', 'tags']; |
||
15 | var file_data = '"' + headers.join('","') + '"\n'; |
||
16 | for (var i = 0; i < credentials.length; i++) { |
||
17 | var _credential = credentials[i]; |
||
18 | var row_data = []; |
||
19 | for (var h = 0; h < headers.length; h++) { |
||
20 | var field = headers[h]; |
||
21 | if (field === 'tags') { |
||
22 | var _tags = []; |
||
23 | for (var t = 0; t < _credential[field].length; t++) { |
||
24 | _tags.push(_credential[field][t].text); |
||
25 | } |
||
26 | var data = '[' + _tags.join(",") + ']'; |
||
27 | row_data.push('"' + data + '"'); |
||
28 | } else { |
||
29 | row_data.push('"' + _credential[field] + '"'); |
||
30 | } |
||
31 | } |
||
32 | var progress = { |
||
33 | percent: i / credentials.length * 100, |
||
34 | loaded: i, |
||
35 | total: credentials.length |
||
36 | }; |
||
37 | _this.call_progress(progress); |
||
38 | file_data += row_data.join(',') + "\n"; |
||
39 | } |
||
40 | _this.call_then(); |
||
41 | download(file_data, 'passman-export.csv'); |
||
42 | }); |
||
43 | }; |
||
44 |