Opened 13 years ago

Closed 13 years ago

Last modified 12 years ago

#1950 closed defect (fixed)

Accordion Container inside Layout Container doesn't work in IE.

Reported by: guest Owned by: bill
Priority: high Milestone:
Component: Widgets Version: 0.4
Keywords: Layout problems Cc:
Blocked By: Blocking:

Description

On IE when Accordion Contaier is used inside a Layout Container, it expands to occupy whole of the page. This is a layout issue. On FF it works fine but on IE it doesn't. haven't tried on other browsers.

Attachments (1)

hi.html (1.3 KB) - added by guest 13 years ago.
this is the test case, this uses a split container, on one side i have a LayoutContainer? and inside it there is a accordion container. This works fine in FF but in IE, the accordions enter the other split pane, and occupy the whole page.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 13 years ago by bill

As usual you need to attach a testcase before we can look at this.

Changed 13 years ago by guest

Attachment: hi.html added

this is the test case, this uses a split container, on one side i have a LayoutContainer? and inside it there is a accordion container. This works fine in FF but in IE, the accordions enter the other split pane, and occupy the whole page.

comment:2 Changed 13 years ago by guest

have added the test case.

comment:3 Changed 13 years ago by bill

Status: newassigned

Thanks for the bug report; I can reproduce the error and I'm fixing it now.

comment:4 Changed 13 years ago by bill

Resolution: fixed
Status: assignedclosed

(In [6682]) Add overflow:hidden for LayoutContainer?, so that resizing to a smaller size works. This fixes #1950, which was failing because the LayoutContainer? was first sized to 1200px, then resized to 200px, but the offsetWidth (and thus getContentBox().width) was still 1200. This highlights an inefficiency: many widgets call setMarginBox(this.domNode) followed by getContentBox(this.domNode); maybe if we know the margin box size we should calculate the content size ourselves rather than depending on the browser.

Also changed the layout engine and SplitContainer? to call HtmlWidget?.resizeTo(), rather than adjusting the dom node size directly and calling onResized()/checkSize(). That still needs work though, since resizeTo() can't adjust width or height individually, nor can it adjust left/top.

comment:5 Changed 12 years ago by (none)

Milestone: 0.4.1

Milestone 0.4.1 deleted

Note: See TracTickets for help on using tickets.