Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#2488 closed defect (fixed)

AccordionContainer - ContentPane onHide events fired when not supposed to.

Reported by: ChieftainY2k Owned by: Adam Peller
Priority: high Milestone: 0.9
Component: Dijit Version: 0.4.1
Keywords: AccordionContainer ContentPane onHide Cc:
Blocked By: Blocking:

Description

Code Example:

<div dojoType="AccordionContainer" labelNodeClass="label" 
     containerNodeClass="accBody" 
     class="myAccordion" 
     id="myAccordion">

    <div dojoType="ContentPane" label="Pane 1">
		content 1 content 1 content 1 content 1
	</div>

	<div dojoType="ContentPane" label="Pane 2" 
             onShow="dojo.debug('pane 2 shown');" 
             onHide="dojo.debug('pane 2 hidden');">
		content 2 content 2 content 2 content 2
	</div>

	<div dojoType="ContentPane" label="Pane 3">
		content 3 content 3 content 3 content 3
	</div>

</div>

Result:

When "Pane 1" or "Pane 3" is clicked dojo debug shows "pane 2 hidden" even when Pane 2 is hidden already so tere is no need to generate onHide event.

Debug output:

DEBUG:  pane 2 hidden
DEBUG:  pane 2 hidden
DEBUG:  pane 2 hidden

Notabene: TabContainer? is not affected by this bug :-)

Change History (5)

comment:1 Changed 12 years ago by ChieftainY2k@…

See http://archive.dojotoolkit.org/nightly/tests/widget/test_AccordionContainer.html - this example is also affected by the abovementioned bug.

comment:2 Changed 12 years ago by bill

Component: WidgetsDijit
Milestone: 0.9
Owner: changed from bill to koranteng

AccordionContainer? needs to be rearchitected so that rather than sliding panes (which exposes a FF bug), it just collapses and expands the respective opening and closing panes; that will fix this bug too.

comment:3 Changed 12 years ago by Adam Peller

Owner: changed from koranteng to Adam Peller

need to reevaluate

comment:4 Changed 12 years ago by Adam Peller

Resolution: fixed
Status: newclosed

(In [9293]) Implement Accordion onSelected(). Fixes #2488.

comment:5 Changed 12 years ago by Adam Peller

In 0.9, we aren't going to have an onHide handler anymore. Instead, there will be an onSelected() on each AccordionPane?. There is also CSS set to reflect the state, and the base class StackContainer? has a publish event and a method "selectChild" which can be hooked to get this state (hmm... almost seems like too much? Bill?)

Note: See TracTickets for help on using tickets.