]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/xul/staff_client/chrome/content/OpenILS/event_util.js
LP 2061136 follow-up: ng lint --fix
[working/Evergreen.git] / Open-ILS / xul / staff_client / chrome / content / OpenILS / event_util.js
1 function EventListenerList() {
2     this._listeners = [];
3     return this;
4 }
5
6 EventListenerList.prototype = {
7     'add' : function(node, type, listener, useCapture) {
8         try {
9             node.addEventListener(type,listener,useCapture);
10             this._listeners.push({
11                 'node' : node,
12                 'type' : type,
13                 'listener' : listener,
14                 'useCapture' : useCapture
15             });
16         } catch(E) {
17             alert(location.href + ' Error adding event listener ' + type + ': ' + E);
18         }
19     },
20
21     'removeAll' : function() {
22         try {
23             if (typeof this._listeners != 'undefined') {
24                 for (var i = this._listeners.length - 1; i >= 0; i--) {
25                     this._listeners[i].node.removeEventListener(
26                         this._listeners[i].type,
27                         this._listeners[i].listener,
28                         this._listeners[i].useCapture
29                     );
30                     this._listeners[i].listener = null;
31                     delete this._listeners[i];
32                 }
33                 this._listeners = [];
34             }
35         } catch(E) {
36             alert(location.href + ' Error in unloadEventListeners(): ' + E);
37         }
38     }
39 }
40