This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new 8c232cd  jewel-uppercase: fix safari issue where cursor goes to end 
when writting in the middle. latest commit was wrong
8c232cd is described below

commit 8c232cd84c718b0b56aae00ed2a14b1d6bba4911
Author: Carlos Rovira <[email protected]>
AuthorDate: Fri Aug 14 21:56:19 2020 +0200

    jewel-uppercase: fix safari issue where cursor goes to end when writting in 
the middle. latest commit was wrong
---
 .../royale/jewel/beads/controls/textinput/UpperCase.as    | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/UpperCase.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/UpperCase.as
index 8f1d722..7330d39 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/UpperCase.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/UpperCase.as
@@ -21,6 +21,7 @@ package org.apache.royale.jewel.beads.controls.textinput
        import org.apache.royale.core.IBead;
        import org.apache.royale.core.IStrand;
        import org.apache.royale.events.Event;
+       import org.apache.royale.events.KeyboardEvent;
        import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
        
        /**
@@ -48,6 +49,8 @@ package org.apache.royale.jewel.beads.controls.textinput
                {
                }
 
+               protected var t:TextInputBase;
+               
                /**
                 *  @copy org.apache.royale.core.IBead#strand
                 *  
@@ -58,7 +61,7 @@ package org.apache.royale.jewel.beads.controls.textinput
                 */
                public function set strand(value:IStrand):void
                {
-                       var t:TextInputBase = value as TextInputBase;
+                       t = value as TextInputBase;
                        t.addEventListener(Event.CHANGE, changeToUpperCase);
                        t.text = t.text.toUpperCase();
                }
@@ -66,19 +69,13 @@ package org.apache.royale.jewel.beads.controls.textinput
                /**
                 * @private
                 */
-               private function changeToUpperCase(event:Event):void
+               private function changeToUpperCase(event:KeyboardEvent):void
                {
                        COMPILE::JS
                        {
-                       // get cursor position
-                       var t:TextInputBase = event as TextInputBase;
                        var start:Number = t.input.selectionStart;
                        var end:Number = t.input.selectionEnd;
-                       
-                       // chage text
-                       t.text = t.text.toUpperCase();
-
-                       // restore cursor position
+                       t.input.value = t.input.value.toUpperCase();
                        t.input.setSelectionRange(start, end);;
                        }
                }

Reply via email to