summaryrefslogtreecommitdiff
path: root/frontend/beta/js/Clipperz/NotificationCenter.js
Unidiff
Diffstat (limited to 'frontend/beta/js/Clipperz/NotificationCenter.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/beta/js/Clipperz/NotificationCenter.js22
1 files changed, 10 insertions, 12 deletions
diff --git a/frontend/beta/js/Clipperz/NotificationCenter.js b/frontend/beta/js/Clipperz/NotificationCenter.js
index e346b1c..a2e2fb6 100644
--- a/frontend/beta/js/Clipperz/NotificationCenter.js
+++ b/frontend/beta/js/Clipperz/NotificationCenter.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.NotificationCenter) == 'undefined') { Clipperz.NotificationCenter = {}; } 25if (typeof(Clipperz.NotificationCenter) == 'undefined') { Clipperz.NotificationCenter = {}; }
28 26
29 27
30//############################################################################# 28//#############################################################################
31 29
32Clipperz.NotificationCenterEvent = function(args) { 30Clipperz.NotificationCenterEvent = function(args) {
33 args = args || {}; 31 args = args || {};
34 //MochiKit.Base.bindMethods(this); 32 //MochiKit.Base.bindMethods(this);
35 33
36 this._source = args.source || null; 34 this._source = args.source || null;
37 this._event = args.event || null; 35 this._event = args.event || null;
38 this._parameters = args.parameters || null; 36 this._parameters = args.parameters || null;
39 this._isSynchronous = args.isSynchronous || false; 37 this._isSynchronous = args.isSynchronous || false;
40 38
41 return this; 39 return this;
42} 40}
43 41
44//============================================================================= 42//=============================================================================
45 43
46Clipperz.NotificationCenterEvent.prototype = MochiKit.Base.update(null, { 44Clipperz.NotificationCenterEvent.prototype = MochiKit.Base.update(null, {
47 45
48 //------------------------------------------------------------------------- 46 //-------------------------------------------------------------------------
49 47
50 'toString': function() { 48 'toString': function() {
51 return "Clipperz.NotificationCenterEvent"; 49 return "Clipperz.NotificationCenterEvent";
52 //return "Clipperz.NotificationCenterEvent {source: " + this.source() + ", event: " + this.event() + ", parameters: " + this.parameters() + "}"; 50 //return "Clipperz.NotificationCenterEvent {source: " + this.source() + ", event: " + this.event() + ", parameters: " + this.parameters() + "}";
53 }, 51 },
54 52
55 //------------------------------------------------------------------------- 53 //-------------------------------------------------------------------------
56 54
57 'source': function() { 55 'source': function() {
58 return this._source; 56 return this._source;
59 }, 57 },
60 58
61 'setSource': function(aValue) { 59 'setSource': function(aValue) {
62 this._source = aValue; 60 this._source = aValue;
63 }, 61 },
64 62
65 //------------------------------------------------------------------------- 63 //-------------------------------------------------------------------------
66 64
67 'event': function() { 65 'event': function() {
68 return this._event; 66 return this._event;
69 }, 67 },
70 68
71 'setEvent': function(aValue) { 69 'setEvent': function(aValue) {
72 this._event = aValue; 70 this._event = aValue;
73 }, 71 },
74 72
75 //------------------------------------------------------------------------- 73 //-------------------------------------------------------------------------
76 74
77 'parameters': function() { 75 'parameters': function() {
78 return this._parameters; 76 return this._parameters;
79 }, 77 },
80 78
81 'setParameters': function(aValue) { 79 'setParameters': function(aValue) {
82 this._parameters = aValue; 80 this._parameters = aValue;
83 }, 81 },
84 82
85 //------------------------------------------------------------------------- 83 //-------------------------------------------------------------------------
86 84
87 'isSynchronous': function() { 85 'isSynchronous': function() {
88 return this._isSynchronous; 86 return this._isSynchronous;
89 }, 87 },
90 88
91 //------------------------------------------------------------------------- 89 //-------------------------------------------------------------------------
92 __syntaxFix__: "syntax fix" 90 __syntaxFix__: "syntax fix"
93}); 91});
94 92
95 93
96//############################################################################# 94//#############################################################################
97//############################################################################# 95//#############################################################################
98 96
99Clipperz.NotificationCenter = function(args) { 97Clipperz.NotificationCenter = function(args) {
100 args = args || {}; 98 args = args || {};
101 //MochiKit.Base.bindMethods(this); 99 //MochiKit.Base.bindMethods(this);
102 100
103 this._listeners = {}; 101 this._listeners = {};
104 this._useSynchronousListenerInvocation = args.useSynchronousListenerInvocation || false; 102 this._useSynchronousListenerInvocation = args.useSynchronousListenerInvocation || false;
105 this._timeoutDelay = args.timeoutDelay || 0.1; 103 this._timeoutDelay = args.timeoutDelay || 0.1;
106 104
107 return this; 105 return this;
108} 106}
109 107
110//============================================================================= 108//=============================================================================
111 109
112Clipperz.NotificationCenter.prototype = MochiKit.Base.update(null, { 110Clipperz.NotificationCenter.prototype = MochiKit.Base.update(null, {
113 111
114 //------------------------------------------------------------------------- 112 //-------------------------------------------------------------------------
115 113
116 'toString': function() { 114 'toString': function() {
117 return "Clipperz.NotificationCenter"; 115 return "Clipperz.NotificationCenter";
118 }, 116 },
119 117
120 //------------------------------------------------------------------------- 118 //-------------------------------------------------------------------------
121 119
122 'useSynchronousListenerInvocation': function() { 120 'useSynchronousListenerInvocation': function() {
123 return this._useSynchronousListenerInvocation; 121 return this._useSynchronousListenerInvocation;
124 }, 122 },
125 123
126 'setUseSynchronousListenerInvocation': function(aValue) { 124 'setUseSynchronousListenerInvocation': function(aValue) {
127 this._useSynchronousListenerInvocation = aValue; 125 this._useSynchronousListenerInvocation = aValue;
128 }, 126 },
129 127
130 //------------------------------------------------------------------------- 128 //-------------------------------------------------------------------------
131 129
132 'timeoutDelay': function() { 130 'timeoutDelay': function() {
133 return this._timeoutDelay; 131 return this._timeoutDelay;
134 }, 132 },
135 133
136 'setTimeoutDelay': function(aValue) { 134 'setTimeoutDelay': function(aValue) {
137 this._timeoutDelay = aValue; 135 this._timeoutDelay = aValue;
138 }, 136 },
139 137
140 //------------------------------------------------------------------------- 138 //-------------------------------------------------------------------------
141 139
142 'listeners': function() { 140 'listeners': function() {
143 return this._listeners; 141 return this._listeners;
144 }, 142 },
145 143
146 //------------------------------------------------------------------------- 144 //-------------------------------------------------------------------------
147 145
148 'register': function(aSource, anEvent, aListener, aMethod) { 146 'register': function(aSource, anEvent, aListener, aMethod) {
149 vareventListeners; 147 vareventListeners;
150 varlistenerInfo; 148 varlistenerInfo;
151 vareventKey; 149 vareventKey;
152 150
153 if (anEvent != null) { 151 if (anEvent != null) {
154 eventKey = anEvent; 152 eventKey = anEvent;
155 } else { 153 } else {
156 eventKey = '_notificationCenter_matchAnyEvent_key_'; 154 eventKey = '_notificationCenter_matchAnyEvent_key_';
157 } 155 }
158 156
159 eventListeners = this.listeners()[eventKey]; 157 eventListeners = this.listeners()[eventKey];
160 158
161 if (eventListeners == null) { 159 if (eventListeners == null) {
162 eventListeners = []; 160 eventListeners = [];
163 this.listeners()[eventKey] = eventListeners; 161 this.listeners()[eventKey] = eventListeners;
164 } 162 }
165 163
166 listenerInfo = {}; 164 listenerInfo = {};
167 if (aSource != null) { 165 if (aSource != null) {
168 listenerInfo['source'] = aSource; 166 listenerInfo['source'] = aSource;
169 } else { 167 } else {
170 listenerInfo['source'] = 'any'; 168 listenerInfo['source'] = 'any';
171 } 169 }
172 170
173 listenerInfo['listener'] = aListener; 171 listenerInfo['listener'] = aListener;
174 listenerInfo['method'] = aMethod; 172 listenerInfo['method'] = aMethod;
175 173
176 eventListeners.push(listenerInfo); 174 eventListeners.push(listenerInfo);
177 175
178 return listenerInfo; 176 return listenerInfo;
179 }, 177 },
180 178
181 //------------------------------------------------------------------------- 179 //-------------------------------------------------------------------------
182 180
183 'removeListenerInfoFromListeners': function(aListener, someListeners) { 181 'removeListenerInfoFromListeners': function(aListener, someListeners) {
184 varlistenerIndex; 182 varlistenerIndex;
185 vari,c; 183 vari,c;
186 184
187 if (someListeners != null) { 185 if (someListeners != null) {
188 listenerIndex = -1; 186 listenerIndex = -1;
189 c = someListeners.length; 187 c = someListeners.length;
190 for (i=0; i<c; i++) { 188 for (i=0; i<c; i++) {
191 varlistenerInfo; 189 varlistenerInfo;
192 190
193 listenerInfo = someListeners[i]; 191 listenerInfo = someListeners[i];
194 if (listenerInfo['listener'] === aListener) { 192 if (listenerInfo['listener'] === aListener) {
195 listenerIndex = i; 193 listenerIndex = i;
196 } 194 }
197 } 195 }
198 196
199 if (listenerIndex != -1) { 197 if (listenerIndex != -1) {
200 Clipperz.Base.removeObjectAtIndexFromArray(listenerIndex, someListeners); 198 Clipperz.Base.removeObjectAtIndexFromArray(listenerIndex, someListeners);
201 } 199 }
202 } 200 }
203 }, 201 },
204 202
205 //------------------------------------------------------------------------- 203 //-------------------------------------------------------------------------
206 204
207 'unregister': function(aListener, anEvent) { 205 'unregister': function(aListener, anEvent) {
208 if (anEvent == null) { 206 if (anEvent == null) {
209 varallListenerList; 207 varallListenerList;
210 vari, c; 208 vari, c;
211 209
212 // allListenerList = Clipperz.Base.values(this.listeners()); 210 // allListenerList = Clipperz.Base.values(this.listeners());
213 allListenerList = MochiKit.Base.values(this.listeners()); 211 allListenerList = MochiKit.Base.values(this.listeners());
214 c = allListenerList.length; 212 c = allListenerList.length;