From 6107018859d63ab9590858c9a82b7ab15710df8b Mon Sep 17 00:00:00 2001 From: Gavin Joyce Date: Tue, 24 Jan 2017 20:13:58 +0000 Subject: [PATCH] remove arrays from `registeredActions` map --- .../ember-glimmer/lib/modifiers/action.js | 22 ++----------------- .../lib/system/event_dispatcher.js | 6 ++--- 2 files changed, 4 insertions(+), 24 deletions(-) diff --git a/packages/ember-glimmer/lib/modifiers/action.js b/packages/ember-glimmer/lib/modifiers/action.js index c18e0774065..bd3c77c6764 100644 --- a/packages/ember-glimmer/lib/modifiers/action.js +++ b/packages/ember-glimmer/lib/modifiers/action.js @@ -38,34 +38,16 @@ export let ActionHelper = { registerAction(actionState) { let { actionId } = actionState; - let actions = ActionManager.registeredActions[actionId]; - if (!actions) { - actions = ActionManager.registeredActions[actionId] = []; - } - - actions.push(actionState); + ActionManager.registeredActions[actionId] = actionState; return actionId; }, unregisterAction(actionState) { let { actionId } = actionState; - let actions = ActionManager.registeredActions[actionId]; - - if (!actions) { - return; - } - let index = actions.indexOf(actionState); - - if (index !== -1) { - actions.splice(index, 1); - } - - if (actions.length === 0) { - delete ActionManager.registeredActions[actionId]; - } + delete ActionManager.registeredActions[actionId]; } }; diff --git a/packages/ember-views/lib/system/event_dispatcher.js b/packages/ember-views/lib/system/event_dispatcher.js index 54eead3fcf0..3bf94d5bf09 100644 --- a/packages/ember-views/lib/system/event_dispatcher.js +++ b/packages/ember-views/lib/system/event_dispatcher.js @@ -219,15 +219,13 @@ export default EmberObject.extend({ rootElement.on(`${event}.ember`, '[data-ember-action]', evt => { let attributes = evt.currentTarget.attributes; - let attributeCount = attributes.length; - for (let i = 0; i < attributeCount; i++) { + for (let i = 0; i < attributes.length; i++) { let attr = attributes.item(i); let attrName = attr.name; if (attrName.indexOf('data-ember-action-') === 0) { - //TODO: GJ: why does `registeredActions` contains arrays? are they always of length 1? - let action = ActionManager.registeredActions[attr.value][0]; + let action = ActionManager.registeredActions[attr.value]; if (action && action.eventName === eventName) { action.handler(evt);