Event Handler class re done
This commit is contained in:
1 parent
bca1baf116
commit
8a2bea0b28
1 file changed
+9
-28
+9
-28
@@ -11,36 +11,17 @@ function newEventHandler () {
|
||||
|
||||
return thisObject
|
||||
|
||||
function initialize () {
|
||||
|
||||
}
|
||||
|
||||
function listenToEvent (eventType, handler, extraData) {
|
||||
eventHandlers.push([eventType, handler, extraData])
|
||||
let eventSubscriptionId = Math.trunc(Math.random() * 1000000)
|
||||
eventHandlers.push([eventType, handler, extraData, eventSubscriptionId])
|
||||
return eventSubscriptionId
|
||||
}
|
||||
|
||||
function stopListening (pEventType, pHandler) {
|
||||
if (pHandler === undefined) {
|
||||
pHandler = 'Anonymous Function'
|
||||
}
|
||||
|
||||
function stopListening (pEventSubscriptionId) {
|
||||
for (let i = 0; i < eventHandlers.length; i++) {
|
||||
let record = eventHandlers[i]
|
||||
let eventType = record[0]
|
||||
let handler = record[1]
|
||||
|
||||
if (pHandler === 'Anonymous Function') {
|
||||
if (pEventType === eventType) {
|
||||
eventHandlers.splice(i, 1)
|
||||
|
||||
return
|
||||
}
|
||||
} else {
|
||||
if (pEventType === eventType && pHandler.toString() === handler.toString()) {
|
||||
eventHandlers.splice(i, 1)
|
||||
|
||||
return
|
||||
}
|
||||
if (pEventSubscriptionId === eventHandlers[i][3]) {
|
||||
eventHandlers.splice(i, 1)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -50,8 +31,8 @@ function newEventHandler () {
|
||||
/* We will execute all the functions listening to this event type. */
|
||||
|
||||
if (eventHandlers[i][0] === eventType) {
|
||||
var handler = eventHandlers[i][1]
|
||||
var extraData = eventHandlers[i][2]
|
||||
let handler = eventHandlers[i][1]
|
||||
let extraData = eventHandlers[i][2]
|
||||
|
||||
handler(event, extraData)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user