Opened 10 years ago

Closed 10 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 10 years ago.
Sample html code to demonstrate the problem.

Download all attachments as: .zip

Change History (5)

Changed 10 years ago by jtiai

Attachment: dojobug.html added

Sample html code to demonstrate the problem.

comment:1 Changed 10 years ago by bill

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

comment:2 Changed 10 years ago by jtiai

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

comment:3 Changed 10 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 10 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.