From 6a28e8786cf595d80d9e42d189f773c004f74b14 Mon Sep 17 00:00:00 2001 From: Mohmmad Ebrahim Sepehr Date: Tue, 11 Aug 2020 18:57:29 +0430 Subject: [PATCH 1/3] Multi text supports on PopField --- popForm/PopField.as | 247 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 218 insertions(+), 29 deletions(-) diff --git a/popForm/PopField.as b/popForm/PopField.as index d049f0ed..8f5b1b2e 100644 --- a/popForm/PopField.as +++ b/popForm/PopField.as @@ -14,6 +14,8 @@ import flash.utils.setTimeout; import contents.alert.Alert; import animation.Anim_Frame_Controller; + import flash.events.KeyboardEvent; + import flash.ui.Keyboard; /**Text field is changed*/ [Event(name="change", type="flash.events.Event")] @@ -21,6 +23,7 @@ [Event(name="render", type="flash.events.Event")] public class PopField extends PopFieldInterface { + private var myTXTs:Array ; private var myTXT:TextField ; //private var _letSelectByCLick:Boolean = false ; @@ -41,6 +44,7 @@ private var radioButtonArray:Array ; + private var nativeKeyBoards:Vector. ; private var nativeKeyBoard:FarsiInputCorrection ; private var isEditable:Boolean; private var IsArabic:Object; @@ -79,6 +83,10 @@ { if(isEditable) { + if(myTXTs.length>1) + { + return data; + } return myTXT.text ; } else @@ -110,6 +118,11 @@ if(isEditable) { + if(myTXTs.length>1) + { + update(value); + return; + } myTXT.text = lastTXT ; myTXT.dispatchEvent(new Event(Event.CHANGE)); } @@ -143,28 +156,51 @@ { if(data!=null) { - myTXT.text = data as String ; - myTXT.dispatchEvent(new Event(Event.CHANGE)); + var newtext:String = String(data); + if(myTXTs.length>1) + { + for(var i:int = 0 ; ii?newtext.charAt(i):'' ; + (myTXTs[i] as TextField).dispatchEvent(new Event(Event.CHANGE)); + } + } + else + { + myTXT.text = newtext ; + myTXT.dispatchEvent(new Event(Event.CHANGE)); + } } } override public function get data():* { - text = myTXT.text; + if(myTXTs.length>1) + { + lastTXT = '' ; + for(var i:int = 0 ; i1) + { + (nativeKeyBoards[nativeKeyBoards.length-1] as FarsiInputCorrection).onEnterPressed(func); + } + else + { + nativeKeyBoard.onEnterPressed(func); + } + } + } + + private function nextField(currentTextField:TextField):void + { + var currentTextFieldIndex:int = myTXTs.indexOf(currentTextField); + trace("Next field to "+currentTextFieldIndex+" is editing>"+(nativeKeyBoards!=null && currentTextFieldIndex!=-1?nativeKeyBoards[currentTextFieldIndex].editing:'')); + if(nativeKeyBoards!=null && currentTextFieldIndex!=-1 && nativeKeyBoards[currentTextFieldIndex].editing) { - nativeKeyBoard.onEnterPressed(func); + nativeKeyBoards[currentTextFieldIndex].closeKeyBoard(false); + trace("\t"+currentTextFieldIndex+" vs "+(nativeKeyBoards.length-2)); + if(currentTextFieldIndex+1"+nativeKeyBoards[currentTextFieldIndex].editing); + if(currentTextFieldIndex!=-1 && nativeKeyBoards[currentTextFieldIndex].editing) + { + nativeKeyBoards[currentTextFieldIndex].closeKeyBoard(false); + if(currentTextFieldIndex>0) + { + trace("Activate keyboard : "+nativeKeyBoards[currentTextFieldIndex-1]); + if(andRemoveAcharFrom) + { + var lastTF:TextField = myTXTs[currentTextFieldIndex-1] as TextField ; + lastTF.text = lastTF.text.substr(0,lastTF.text.length-1); + } + nativeKeyBoards[currentTextFieldIndex-1].activateKeyboard(); + } } } @@ -293,14 +376,34 @@ TextPutter.OnButton(tagNameTXT,tagName,StringFunctions.isPersian(tagName),false,true); } } - myTXT = Obj.getAllChilds('txt_txt',this,false)[0]; - myTXT.addEventListener(Event.CLOSE, dispatchChangeForMeToo); - myTXT.addEventListener(Event.CHANGE, dispatchRenderEventForMe); + myTXTs = Obj.getAllChilds('txt_txt',this,false) + if(myTXTs.length>1) + { + myTXTs = myTXTs.sort(sortFields); + function sortFields(a:TextField,b:TextField):int + { + if(a.x1) + { + for(i=0 ; i1) + { + nativeKeyBoards = new Vector.(); + for(i = 0 ; i0 ; + clearMC.visible = currentTXT.text.length>0 ; + + trace("* Changed > "+currentTXT.maxChars); + if(currentTXT.maxChars<=currentTXT.text.length) + { + trace("Show the nextField"); + setTimeout(nextField,0,currentTXT); + } this.dispatchEvent(new Event(Event.RENDER)); } + + private function checkBackRole(e:KeyboardEvent):void + { + if(e.keyCode == 8)//Keyboard.BACKSPACE + { + var currentTXT:TextField = e.currentTarget as TextField ; + trace("Back space"); + if(currentTXT.text=='') + { + setTimeout(prevField,0,currentTXT,true); + } + } + else + { + + } + } protected function increaseValue(event:MouseEvent):void { @@ -510,13 +660,34 @@ protected function showPassNow(event:MouseEvent):void { - nativeKeyBoard.showPass(); + event.stopImmediatePropagation(); + if(myTXTs.length>1) + { + for(var i:int = 0 ; i1) + { + for(var i:int = 0 ; i Date: Tue, 11 Aug 2020 19:05:04 +0430 Subject: [PATCH 2/3] PopField debugged --- popForm/PopField.as | 2 ++ 1 file changed, 2 insertions(+) diff --git a/popForm/PopField.as b/popForm/PopField.as index 42db8811..806a53f9 100644 --- a/popForm/PopField.as +++ b/popForm/PopField.as @@ -274,6 +274,8 @@ private function prevField(currentTextField:TextField,andRemoveAcharFrom:Boolean=false):void { + if(myTXTs.length<=1) + return; var currentTextFieldIndex:int = myTXTs.indexOf(currentTextField); trace("Next field to "+currentTextFieldIndex+" is editing>"+nativeKeyBoards[currentTextFieldIndex].editing); if(currentTextFieldIndex!=-1 && nativeKeyBoards[currentTextFieldIndex].editing) From 71ea2e5fe03dcab5eb3031549c122958daf0c7df Mon Sep 17 00:00:00 2001 From: Mohmmad Ebrahim Sepehr Date: Wed, 12 Aug 2020 10:36:41 +0430 Subject: [PATCH 3/3] :finnadie: --- popForm/PopField.as | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/popForm/PopField.as b/popForm/PopField.as index 806a53f9..f668cd85 100644 --- a/popForm/PopField.as +++ b/popForm/PopField.as @@ -124,7 +124,10 @@ return; } myTXT.text = lastTXT ; + + myTXT.removeEventListener(Event.CHANGE, dispatchRenderEventForMe); myTXT.dispatchEvent(new Event(Event.CHANGE)); + myTXT.addEventListener(Event.CHANGE, dispatchRenderEventForMe); } else { @@ -161,8 +164,11 @@ { for(var i:int = 0 ; ii?newtext.charAt(i):'' ; - (myTXTs[i] as TextField).dispatchEvent(new Event(Event.CHANGE)); + var atext:TextField = myTXTs[i] as TextField; + atext.text = newtext.length>i?newtext.charAt(i):'' ; + atext.removeEventListener(Event.CHANGE, dispatchRenderEventForMe); + atext.dispatchEvent(new Event(Event.CHANGE)); + atext.addEventListener(Event.CHANGE, dispatchRenderEventForMe); } } else @@ -280,9 +286,9 @@ trace("Next field to "+currentTextFieldIndex+" is editing>"+nativeKeyBoards[currentTextFieldIndex].editing); if(currentTextFieldIndex!=-1 && nativeKeyBoards[currentTextFieldIndex].editing) { - nativeKeyBoards[currentTextFieldIndex].closeKeyBoard(false); if(currentTextFieldIndex>0) { + nativeKeyBoards[currentTextFieldIndex].closeKeyBoard(false); trace("Activate keyboard : "+nativeKeyBoards[currentTextFieldIndex-1]); if(andRemoveAcharFrom) { @@ -601,6 +607,15 @@ if(currentTXT.maxChars<=currentTXT.text.length) { trace("Show the nextField"); + + try + { + throw new Error("On Done Called"); + } + catch(e:Error) + { + Alert.show(e.message+"\n\n"+e.getStackTrace()); + } setTimeout(nextField,0,currentTXT); } this.dispatchEvent(new Event(Event.RENDER)); pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy