From 7580d64d2e2fcc364e7748fb129da561ff4ef7bf Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 5 Sep 2014 15:48:10 -0600 Subject: [PATCH] Allow CommandRegistry::rootNode to be assigned after construction --- src/command-registry.coffee | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/command-registry.coffee b/src/command-registry.coffee index 2a607fb52..eb1a45ea2 100644 --- a/src/command-registry.coffee +++ b/src/command-registry.coffee @@ -9,6 +9,12 @@ class CommandRegistry constructor: (@rootNode) -> @listenersByCommandName = {} + setRootNode: (rootNode) -> + throw new Error("Already assigned root node.") if @rootNode? + @rootNode = rootNode + for commandName of @listenersByCommandName + @rootNode?.addEventListener(commandName, @dispatchCommand, true) + add: (selector, commandName, callback) -> if typeof commandName is 'object' commands = commandName @@ -18,7 +24,7 @@ class CommandRegistry return disposable unless @listenersByCommandName[commandName]? - @rootNode.addEventListener(commandName, @dispatchCommand, true) + @rootNode?.addEventListener(commandName, @dispatchCommand, true) @listenersByCommandName[commandName] = [] listener = new CommandListener(selector, callback)