You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2018/11/22 01:58:27 UTC
[royale-asjs] 03/04: allow easy injection of other or alternate
event converters. I think this might be faster than a growing switch
statement anyway
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 25fbbd4163ff4b9870a31038e28d2f46871546d8
Author: Alex Harui <ah...@apache.org>
AuthorDate: Wed Nov 21 17:57:04 2018 -0800
allow easy injection of other or alternate event converters. I think this might be faster than a growing switch statement anyway
---
.../org/apache/royale/core/HTMLElementWrapper.as | 24 +++++++++++-----------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
index a4d084f..7d00bc7 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
@@ -71,22 +71,20 @@ package org.apache.royale.core
{
var e:IBrowserEvent;
var nativeEvent:Object = eventObject.getBrowserEvent();
- switch(nativeEvent.constructor.name)
- {
- case "KeyboardEvent":
- e = KeyboardEventConverter.convert(nativeEvent);
- break;
- case "MouseEvent":
- e = MouseEventConverter.convert(nativeEvent);
- break;
- default:
- e = new org.apache.royale.events.BrowserEvent();
- break;
- }
+ var converter:Object = converterMap[nativeEvent.constructor.name];
+ if (converter)
+ e = converter["convert"](nativeEvent);
+ else
+ e = new org.apache.royale.events.BrowserEvent();
e.wrapEvent(eventObject);
return HTMLElementWrapper.googFireListener(listener, e);
}
+
+ /**
+ * @royalesuppresspublicvarwarning
+ */
+ static public var converterMap:Object = {};
/**
* Static initializer
@@ -95,6 +93,8 @@ package org.apache.royale.core
{
HTMLElementWrapper.googFireListener = goog.events.fireListener;
goog.events.fireListener = HTMLElementWrapper.fireListenerOverride;
+ converterMap["KeyboardEvent"] = KeyboardEventConverter;
+ converterMap["MouseEvent"] = MouseEventConverter;
return true;
}