|
1 // -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- |
|
2 |
|
3 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
4 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
6 |
|
7 /*** =================== REJECTED SIGNONS CODE =================== ***/ |
|
8 |
|
9 function RejectsStartup() { |
|
10 LoadRejects(); |
|
11 } |
|
12 |
|
13 var rejectsTreeView = { |
|
14 rowCount : 0, |
|
15 setTree : function(tree){}, |
|
16 getImageSrc : function(row,column) {}, |
|
17 getProgressMode : function(row,column) {}, |
|
18 getCellValue : function(row,column) {}, |
|
19 getCellText : function(row,column){ |
|
20 var rv=""; |
|
21 if (column.id=="rejectCol") { |
|
22 rv = rejects[row].host; |
|
23 } |
|
24 return rv; |
|
25 }, |
|
26 isSeparator : function(index) {return false;}, |
|
27 isSorted: function() { return false; }, |
|
28 isContainer : function(index) {return false;}, |
|
29 cycleHeader : function(column) {}, |
|
30 getRowProperties : function(row){ return ""; }, |
|
31 getColumnProperties : function(column){ return ""; }, |
|
32 getCellProperties : function(row,column){ |
|
33 if (column.element.getAttribute("id") == "rejectCol") |
|
34 return "ltr"; |
|
35 |
|
36 return ""; |
|
37 } |
|
38 }; |
|
39 |
|
40 function Reject(number, host) { |
|
41 this.number = number; |
|
42 this.host = host; |
|
43 } |
|
44 |
|
45 function LoadRejects() { |
|
46 var hosts = passwordmanager.getAllDisabledHosts(); |
|
47 rejects = hosts.map(function(host, i) { return new Reject(i, host); }); |
|
48 rejectsTreeView.rowCount = rejects.length; |
|
49 |
|
50 // sort and display the table |
|
51 rejectsTree.treeBoxObject.view = rejectsTreeView; |
|
52 RejectColumnSort(lastRejectSortColumn); |
|
53 |
|
54 var element = document.getElementById("removeAllRejects"); |
|
55 if (rejects.length == 0) { |
|
56 element.setAttribute("disabled","true"); |
|
57 } else { |
|
58 element.removeAttribute("disabled"); |
|
59 } |
|
60 } |
|
61 |
|
62 function RejectSelected() { |
|
63 var selections = GetTreeSelections(rejectsTree); |
|
64 if (selections.length) { |
|
65 document.getElementById("removeReject").removeAttribute("disabled"); |
|
66 } |
|
67 } |
|
68 |
|
69 function DeleteReject() { |
|
70 DeleteSelectedItemFromTree(rejectsTree, rejectsTreeView, |
|
71 rejects, deletedRejects, |
|
72 "removeReject", "removeAllRejects"); |
|
73 FinalizeRejectDeletions(); |
|
74 } |
|
75 |
|
76 function DeleteAllRejects() { |
|
77 DeleteAllFromTree(rejectsTree, rejectsTreeView, |
|
78 rejects, deletedRejects, |
|
79 "removeReject", "removeAllRejects"); |
|
80 FinalizeRejectDeletions(); |
|
81 } |
|
82 |
|
83 function FinalizeRejectDeletions() { |
|
84 for (var r=0; r<deletedRejects.length; r++) { |
|
85 passwordmanager.setLoginSavingEnabled(deletedRejects[r].host, true); |
|
86 } |
|
87 deletedRejects.length = 0; |
|
88 } |
|
89 |
|
90 function HandleRejectKeyPress(e) { |
|
91 if (e.keyCode == 46) { |
|
92 DeleteRejectSelected(); |
|
93 } |
|
94 } |
|
95 |
|
96 var lastRejectSortColumn = "host"; |
|
97 var lastRejectSortAscending = false; |
|
98 |
|
99 function RejectColumnSort(column) { |
|
100 lastRejectSortAscending = |
|
101 SortTree(rejectsTree, rejectsTreeView, rejects, |
|
102 column, lastRejectSortColumn, lastRejectSortAscending); |
|
103 lastRejectSortColumn = column; |
|
104 |
|
105 // set the sortDirection attribute to get the styling going |
|
106 var sortedCol = document.getElementById("rejectCol"); |
|
107 sortedCol.setAttribute("sortDirection", lastRejectSortAscending ? |
|
108 "ascending" : "descending"); |
|
109 } |