From c9f63bae8f93ba6366c81844ae0a7b45338e2201 Mon Sep 17 00:00:00 2001 From: badquanta Date: Sat, 12 Feb 2022 14:09:24 -0500 Subject: [PATCH 1/2] Make on() return this --- lib/events.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/events.js b/lib/events.js index 7c04ce30..41bfa40a 100644 --- a/lib/events.js +++ b/lib/events.js @@ -27,6 +27,7 @@ EventEmitter.prototype.addListener = function(type, listener) { this._events[type].push(listener); } this._emit('newListener', [type, listener]); + return this; }; EventEmitter.prototype.on = EventEmitter.prototype.addListener; From 5396111edc6b7e80db3f75b9c4dda36301a1f59f Mon Sep 17 00:00:00 2001 From: badquanta Date: Sat, 12 Feb 2022 14:13:06 -0500 Subject: [PATCH 2/2] Make node options take events and handlers. --- lib/widgets/node.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/widgets/node.js b/lib/widgets/node.js index 77f77f0d..dfc00195 100644 --- a/lib/widgets/node.js +++ b/lib/widgets/node.js @@ -73,6 +73,11 @@ function Node(options) { } (options.children || []).forEach(this.append.bind(this)); + if(options.events){ + for(var [name, handler] of Object.entries(options.events)) { + this.on(name, handler); + } + } } Node.uid = 0;