Opened 13 years ago

Closed 12 years ago

#8969 closed defect (fixed)

ContentPane with refreshOnShow reloads on a resize

Reported by: cburghduff Owned by:
Priority: high Milestone: 1.4
Component: Dijit Version: 1.3.0b3
Keywords: Cc:
Blocked By: Blocking:


A ContentPane? that has an href and refreshOnShow set to true will reload when it is resized. I used the dijit/tests/layout/test_TabContainer.html test to reproduce this issue in FireFox? 3.

  1. Click the "Tab 2" tab in the first Tab Container
  2. Open Firebug
  3. Resize the page (Minimize/Maximize? or resize the window)
  4. Firebug will show a get on tab2.html each time you resize the window.

This also happens on LinkPanes? that don't have refreshOnShow set to true.

Change History (5)

comment:1 Changed 13 years ago by bill

Component: GeneralDijit
Milestone: tbd1.4
Owner: anonymous deleted
severity: majornormal

OK, sounds like a bug, although the bug might be in StackContainer rather than ContentPane.

comment:2 Changed 13 years ago by cburghduff


Is there any chance that this could be fixed and included in 1.3? We are just about finished with a conversion from 0.43 to 1.3. This is our last known hurdle in upgrading to 1.3 This issue can cause our users to loose data if they resize the window, because the ContentPane? then reloads.


comment:3 Changed 13 years ago by bill

Sorry, we've already frozen for 1.4.

Maybe you can set refreshOnShow to false and then setup a handler so whenever TabContainer.selectChild() is called it refreshes the child.

comment:4 Changed 13 years ago by bill

PS: I meant to type "1.3" in the above comment, not "1.4".

comment:5 Changed 12 years ago by bill

Resolution: fixed
Status: newclosed

(In [20099]) Various TabContainer? href-loading and children resizing fixes, centered around ContentPane?'s role as a layout widget:

  • Fix doLayout=false TabContainer? (broken by recent checkins for #5528, #9794)
  • Fix problem where resizing the TabContainer? would refresh a pane with refreshOnShow=true. It's only supposed to refresh when the pane is hidden then shown again. (fixes #8969 !strict)

Differentiated between onShow(), which indicates that the ContentPane? is being shown, and resize(), which, when the ContentPane? is in a layout widget hierarchy, occurs both when the ContentPane? is shown but also when it changes size.

It's complicated because a ContentPane? being made visible is indicated in different ways depending on the situation:

Refs #5528, #9794 !strict

Also added a bunch of tests including one for a TitlePane? with a single layout child (refs #8197).

Note: See TracTickets for help on using tickets.