wire up textInput event on JS side
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/56a507d5 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/56a507d5 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/56a507d5 Branch: refs/heads/tlf Commit: 56a507d5e0239e3ac2f955ad2a646d736a9f2b90 Parents: 80a55bb Author: Alex Harui <[email protected]> Authored: Mon May 8 11:58:51 2017 -0700 Committer: Alex Harui <[email protected]> Committed: Mon May 8 11:59:04 2017 -0700 ---------------------------------------------------------------------- .../textLayout/beads/DispatchTLFKeyboardEventBead.as | 13 +++++++++++++ 1 file changed, 13 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/56a507d5/frameworks/projects/TLF/src/main/flex/org/apache/flex/textLayout/beads/DispatchTLFKeyboardEventBead.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/TLF/src/main/flex/org/apache/flex/textLayout/beads/DispatchTLFKeyboardEventBead.as b/frameworks/projects/TLF/src/main/flex/org/apache/flex/textLayout/beads/DispatchTLFKeyboardEventBead.as index 28daf46..4a9855a 100644 --- a/frameworks/projects/TLF/src/main/flex/org/apache/flex/textLayout/beads/DispatchTLFKeyboardEventBead.as +++ b/frameworks/projects/TLF/src/main/flex/org/apache/flex/textLayout/beads/DispatchTLFKeyboardEventBead.as @@ -88,6 +88,7 @@ package org.apache.flex.textLayout.beads COMPILE::JS { (_strand as Object).element.addEventListener('keydown', keyEventHandler); + (_strand as Object).element.addEventListener('keypress', keyEventHandler); (_strand as Object).element.addEventListener('keyup', keyEventHandler); (_strand as Object).element.addEventListener('focus', focusEventHandler); (_strand as Object).element.addEventListener('blur', focusEventHandler); @@ -208,6 +209,18 @@ package org.apache.flex.textLayout.beads { event.preventDefault(); } + if (event.type == "keypress") + { + var textEvent:org.apache.flex.text.events.TextEvent = new org.apache.flex.text.events.TextEvent(TextEvent.TEXT_INPUT); + if (event.key != null) + textEvent.text = String.fromCharCode(event.key); + else if (event['which'] != null) + textEvent.text = String.fromCharCode(event['which']); + else + textEvent.text = String.fromCharCode(event['keyCode']); + (_strand as IEventDispatcher).dispatchEvent(textEvent); + } + } /**
