Opened 8 years ago

Closed 8 years ago

#13639 closed defect (fixed)

TabContainer: sets explicit visibility property to visible.

Reported by: jtiai Owned by: bill
Priority: high Milestone: 1.7
Component: Dijit Version: 1.6.1
Keywords: Cc:
Blocked By: Blocking:

Description

Tabcontainer tablist (dijit_layout_TabContainer_0_tablist in generated html in provided testcase) does have visibility set to visible.

If there is wrapping container (standard div) tabcontainer inside normal div and you hide it by setting visibility false, tab headers are still visible on a page.

Correct behavior would be not setting visibility at all.

Attachments (1)

dojobug.html (1.6 KB) - added by jtiai 8 years ago.
Sample html code to demonstrate the problem.

Download all attachments as: .zip

Change History (5)

Changed 8 years ago by jtiai

Attachment: dojobug.html added

Sample html code to demonstrate the problem.

comment:1 Changed 8 years ago by bill

Summary: Dijit tabcontainer sets explicit visibility property to visible.TabContainer: sets explicit visibility property to visible.

comment:2 Changed 8 years ago by jtiai

It is dojo/dijit/trunk/layout/ScrollingTabController.js#L103 where visiblity explicitly set to visible.

comment:3 Changed 8 years ago by bill

Milestone: tbd1.7

Good catch, I'll change it to "". Note that visibility is initially set to "hidden", so if I don't change the setting the tabs will be forever hidden.

I am skeptical whether this "hide during draw" technique is appropriate for TabContainer, rather than letting the application do it.

comment:4 Changed 8 years ago by bill

Owner: set to bill
Resolution: fixed
Status: newclosed

In [26169]:

Don't set visibility:visible since it makes the tabs visible even when the TabContainer itself is hidden. Fixes #13639 !strict.

Maybe a better solution is to get rid of the visibility juggling code altogether.

Note: See TracTickets for help on using tickets.