Opened 12 years ago
Closed 8 years ago
#9519 closed defect (fixed)
TableContainer + Textarea + TabContainer = Error on IE
Reported by: | vlad | Owned by: | dylan |
---|---|---|---|
Priority: | blocker | Milestone: | 1.9 |
Component: | Dojox | Version: | 1.3.1 |
Keywords: | tablecontainer, textarea, tabcontainer | Cc: | |
Blocked By: | Blocking: |
Description (last modified by )
this is my 3d and hopefully last bug for tonight (others are #9517 and #9518) -- it has been a rough week for some reason...
I am using Dojo Trunk (as of today)
And the combination of two dijit widgets and one dojox widget fails for me on IE8 with an error
if(textarea.style.height != newH){ textarea.style.maxHeight = textarea.style.height = newH;
in textarea.js
This problem was quite challenging to reproduce in self-containing testcase. As it would not fail outside of my application, but failed every time when within.
Finally by switching different widgets/tests around I got a combination where textarea fails when included in the TableLayout container (may be it fails when it included in Tab container... do not).
So to get this to fail with an error in IE8, of course IE8 script debugging must be on.
And you need to have
tab container (dijit)
table container (dojox)
Textarea (dijit)
I am attaching a test case where it fails (you can rename it to html, but the links to dojo and style sheets of course need to change).
I am not quite sure what's happening but it appears that 'resize' call is issued by the Tablecontainer and then a resize of textarea is called and then the failure.
I need to note that this happens only on initial rendering of pages, not when I resize things after the page is shown also variable newH in textarea.js shows -36px while in IE8
This problem does not occur in Opera 10beta, FF3, Safari 4.0 on PC.
I have tried probably 50 various combinations of style settings, positions/etc on the text area -- but nothing helps -- I just have no idea what's going on.
I saw that there were changes in the textarea.js a couple of weeks ago in regards to Chrome/Opera? support (right around the area where the problem is hapenning) -- but I do not know for sure if this has anything to do with the problem.
Attachments (2)
Change History (15)
comment:1 Changed 12 years ago by
Milestone: | 1.3.2 → tbd |
---|
comment:2 Changed 12 years ago by
Description: | modified (diff) |
---|
Hmm, it's not reproducing for me, not sure what the difference is. I imagine it's a race condition. What is newH for you when it fails?
Changed 12 years ago by
Attachment: | dojo_text_area_tableContainer.JPG added |
---|
comment:3 Changed 12 years ago by
Hi, so I cannot reproduce it now in the test case as well. I cannot understand this... But within my program it fails.
I am attaching a screen shot with the debugger it looks like 'height' is not defined.
I will work on it more.. to see if I can get my test case working again (all I did was reboot my computer a couple of times and installed trillian chat client)
comment:4 Changed 12 years ago by
Ok, I can repro it now. See if you can see it. I am attaching an updated test case -- just more text areas all over the place.
(the uploaded file is the same name so it should replace the original one)
thank you
Changed 12 years ago by
Attachment: | TableLayout_PROBLEM_1.php added |
---|
comment:5 Changed 12 years ago by
Component: | Dijit → Dojox |
---|---|
Owner: | set to Shane O'Sullivan |
Summary: | TableContainer + Textarea + TabContainer = Error on IE8 → TableContainer + Textarea + TabContainer = Error on IE |
Vlad - OK thanks that reproduces. One of the textarea's is getting set to height = -35px.
Shane - looks like a problem w/TableContainer. TableContainer.startup() calls:
this.resize(); this.layout();
Shouldn't those two calls be reversed? TableContainer.resize() calls resize() on the children !Textarea widgets. Those !Textarea widgets need to know how much space they have, but they don't because TableContainer hasn't laid out yet.
comment:6 Changed 12 years ago by
by the way, I have been using Bill's suggestion to reverse the layout/resize method calls. I modified the dojo file TableContainer?.js and that suggestion works fine for me now (IE8 does not have the problem and FF3, Safari 4 and Opera 10b2 continue working fine)
comment:7 Changed 11 years ago by
I appear to have this problem with TextArea? widget, probably with the same underlying cause, when TextArea? is sitting right within a dijit.layout.ContentPane? of a TabContainer? (that's it does not sit within a TableContainer?)
comment:8 Changed 11 years ago by
I filed the Textarea bug as #9836, I think it's different than this ticket.
comment:9 Changed 11 years ago by
I am unable to reproduce this error. I have tested the attached PHP file in IE8, and all seems to work as it should.
Is this still an issue?
comment:12 Changed 8 years ago by
Milestone: | future → 1.9 |
---|---|
Owner: | changed from Shane O'Sullivan to dylan |
Status: | new → assigned |
Going to fix this per Bill's suggestion from four years ago.
Thanks for the tickets, and especially for the test cases. We'll take a look.
I'm guessing it has something to do w/the textarea being initialized hidden, and thus newH is 0 or negative or NaN...