Sorry, the way b will cause build error because that JavaScriptEngine.java not 
allow to call private method __updatefieldsize(); in LzInputText.lzs. This is 
good mechanism,  so we only have a.

Thanks.




gary.liu

From: gary.liu
Date: 2012-11-29 10:59
To: Philip Romanik
CC: Amy Muntz; dju; laszlo-dev
Subject: code review for bug lpp-10260
Hi Philip,

Now I start to work for OL bug. I will let you have a code review before I 
check in.  Thanks.

For bug lpp-10260, 
The reason is that the attribute scroll and scrollheight of 
_newinternalinputtext(name is inp) in class scrolledittext can not be updated 
when entering the text. But if use code inp.setAttribute("text", 
"ds\n\sd\ndf\nfgn\ndf\n\dfsd\n\ndfsd\nfsd"), the scrollbar will work well. 
Because that setAttribute("text",)  will call method __updatefieldsize, this 
method will update attribute scroll and scrollheight.

The resolution is call   __updatefieldsize to update  attribute scroll and 
scrollheight  when ontext of inp or onchange of LzInputText.lzs. These two 
change code as below.

a. add below code in line 127 under node _newinternalinputtext of file 
incubator/scrolledittext.lzx 
<handler name="ontext">
            if ($dhtml) this.sprite.__updatefieldsize();
        </handler>
b. add below code in line 202 in function inputtextevent of file 
lps/views/LzInputText.lzx
if (changed && $dhtml) this.isprite.__updatefieldsize(); 

The way a is a little change only effect class scrolledittext. But b will 
resolve all input scroll issue when input with attribute scrollevents="true" 
multiline="true" .

Attachment is these two files. Please review and give me your suggestion, 
thanks.

Gary





gary.liu

Reply via email to