Opened 10 years ago

Closed 10 years ago

Last modified 8 years ago

#9004 closed enhancement (fixed)

[patch] [cla] TabContainer: prevent tab wrapping in TabController with menu and slide options

Reported by: Shane O'Sullivan Owned by: Shane O'Sullivan
Priority: high Milestone: 1.4
Component: Dijit Version: 1.3.0rc2
Keywords: Cc: dante, bill, Douglas Hays
Blocked By: Blocking:

Description

In the dijit.layout.TabContainer? widget, when there are too many tabs to fit into the width of the widget, the tabs wrap around. This does not look good, and can interfere with a page layout.

Rather than wrapping, the tabs should be hidden, and accessible either by a dropdown menu, similar to Firefox, or by scrolling the tabs to the right and left.

Attachments (22)

dijit.layout.TabContainer_TabControls.patch (52.9 KB) - added by Shane O'Sullivan 10 years ago.
This patch is 99% complete, and contains implementation of both the menu and sliding TabControllers?, with the menu being the default. The one issue remaining is that the tabs are one pixel too high, meaning that the selected tab still has a bottom border, which it should not. If anyone can solve this issue, it will be greatly appreciated.
dot.gif (807 bytes) - added by Shane O'Sullivan 10 years ago.
To be placed in both nihilo and tundra images directory, e.g. dijit/themes/tundra/images/dot.gif
dijit.layout.TabContainer_TabControls_2.patch (74.7 KB) - added by Shane O'Sullivan 10 years ago.
Updated patch, still with the issue with left/right tabs in IE6
dijit.layout.TabContainer_TabControls_3.patch (74.6 KB) - added by Shane O'Sullivan 10 years ago.
Updated patch with IE6 issue fixed, and classes added to buttons to fade them out when the tabs are scrolled all the way to the left or to the right
test_StackContainerTabControls.html (3.7 KB) - added by Nathan Toone 10 years ago.
Test case of stack container controlled by tab controller - this test case breaks horribly with the current patch.
dijit.layout.TabContainer_TabControls_4.patch (78.2 KB) - added by Shane O'Sullivan 10 years ago.
Updated patch. Accidentally left out the SlidingTabController?.js file from previous patches.
dijit.layout.TabContainer_TabControls_5.patch (90.5 KB) - added by Shane O'Sullivan 10 years ago.
Update patch, against nightly (May 01 2009)
dijit.layout.TabContainer_TabControls_7.patch (91.4 KB) - added by Shane O'Sullivan 10 years ago.
Patch that addresses most of Bills comments
dijit.layout.TabContainer_TabControls_8.patch (91.5 KB) - added by Shane O'Sullivan 10 years ago.
Latest patch
ie.png (5.5 KB) - added by bill 10 years ago.
missing top border on IE
ff.png (19.2 KB) - added by bill 10 years ago.
slight misalignment on FF/mac
safari.png (18.4 KB) - added by bill 10 years ago.
navigation and tab labels on separate rows (safari problem)
dijit.layout.TabContainer_TabControls_alle.patch (94.0 KB) - added by alle 10 years ago.
My version of patch with many rendering glitches and some bug solved
ie6_top_bottom.JPG (4.4 KB) - added by alle 10 years ago.
Rendering problem on IE6/Win I can't solve
ie6_left_right.JPG (33.1 KB) - added by alle 10 years ago.
Problem in IE6/Win I think is because ie6 is very slow (about 30s to render test_TabContainer.html) and sizes don't get updated in time
dijit.layout.TabContainer_TabControls_9.patch (87.4 KB) - added by Shane O'Sullivan 10 years ago.
Latest patch merged with current tree
dijit.layout.TabContainer_TabControls_alle_2.patch (95.8 KB) - added by alle 10 years ago.
Same as previus patch but include TabController?.html and _TabControllerButton.html templates. As before is against trunk.
dijit.layout.TabContainer_TabControls_alle_3.patch (96.0 KB) - added by alle 10 years ago.
Added IE6 left-right bugfix
dijit.layout.TabContainer_TabControls_bill_1.patch (99.7 KB) - added by bill 10 years ago.
refactored from alle's latest (patch 3) to have separate TabController? and ScrollingTabController? classes
dijit.layout.TabContainer_TabControls_bill_2.patch (99.6 KB) - added by bill 10 years ago.
refactored from alle's latest (patch 3) to have separate TabController and ScrollingTabController helper widgets, in separate files
dijit.layout.TabContainer_TabControls_alle_4.patch (93.9 KB) - added by alle 10 years ago.
Based on bill's latest patch (bill_2). Solve IE6 top-bottom bug using float left for dijitTabListWrapper, make resize(..) method in ScrollingTabController? more theme indipendent and remove IE hacks using generic dojo.marginBox and dojo.ContentBox?, 100% width (marked with TODO) no more needed too.
dijit.layout.TabContainer_TabControls_rtl.patch (3.2 KB) - added by alle 10 years ago.
Fix RTL for tundra, soria and nihilo. Based on head.

Download all attachments as: .zip

Change History (71)

Changed 10 years ago by Shane O'Sullivan

This patch is 99% complete, and contains implementation of both the menu and sliding TabControllers?, with the menu being the default. The one issue remaining is that the tabs are one pixel too high, meaning that the selected tab still has a bottom border, which it should not. If anyone can solve this issue, it will be greatly appreciated.

comment:1 Changed 10 years ago by bill

Milestone: 1.3.11.4
Summary: Prevent tab wrapping in TabController with menu and slide options[patch] [cla] TabContainer: prevent tab wrapping in TabController with menu and slide options

Cool, thanks for the patch, I'll take a look. That 1px thing is solved by the current TabController by tabs having a margin-bottom: -1px or something like that.

comment:2 Changed 10 years ago by Shane O'Sullivan

The margin-bottom: -1px doesn't work when overflow:hidden and wordwrap are used. I've solved the issue by wrapping the tab list in another node, which has overflow:hidden used, but not word wrap. The tab list itself no longer uses either, instead it is simply very wide, 10000px to start with.

I have some clean up to make this work with the smooth scrolling, but the proof of concept works. I'll submit a new patch when it's ready

Changed 10 years ago by Shane O'Sullivan

Attachment: dot.gif added

To be placed in both nihilo and tundra images directory, e.g. dijit/themes/tundra/images/dot.gif

Changed 10 years ago by Shane O'Sullivan

Updated patch, still with the issue with left/right tabs in IE6

Changed 10 years ago by Shane O'Sullivan

Updated patch with IE6 issue fixed, and classes added to buttons to fade them out when the tabs are scrolled all the way to the left or to the right

comment:3 Changed 10 years ago by dante

Cc: bill added

@bill - shane says this is ready for review

comment:4 Changed 10 years ago by Nathan Toone

An issue occurs if you are programmatically creating your container and controller, and the controller gets started/created before the container. Line 51 of TabController? doesn't have a "this.tabContainer" set.

I would suggest initializing your stuff in onStartup instead of in postCreate.

	postCreate: function(){
		this.inherited(arguments);
		
		this._scrollEnabled = !this.nested && (this.tabPosition == "top" || this.tabPosition == "bottom");
		if(this._scrollEnabled) {
			if(dijit.byId(this.containerId)){
				this._initButtons();
			}
		}
	},
	
	onStartup: function(/*Object*/ info){
		this.inherited(arguments);
		if(this._scrollEnabled){
			this._initButtons();
		}
	},	
	
	_initButtons: function(){
		// summary: 
		//		Creates the buttons used to scroll to view tabs that
		//		may not be visible if the TabContainer is too narrow. 
		dojo.addClass(this.domNode, "nowrapTabStrip");
		this.tabContainer = dijit.byId(this.containerId);
		this.scrollNode = this.tabContainer.tablistWrapper;
		this._buttons = [];
		this._menuChildren = {};
		this._menuBtn = this._createButton(this.id + "_menuBtn", 
				"tabStripMenuButton", "tabStripMenuButton-Hover");
		dojo.place(this._menuBtn, this.scrollNode, "before");
		
		// Create the menu that is used to select tabs.
		this._menu = new dijit.Menu({
			id: this.id + "_menu",
			targetNodeIds: [this._menuBtn],
			leftClickToOpen: true
		});
		
		dojo.connect(this, "onAddChild", this, "_handleChildAdd");
		dojo.connect(this, "onRemoveChild", this, "_handleChildRemove");
	},

comment:5 Changed 10 years ago by Nathan Toone

This patch also causes issues with existing code that uses a TabController? to "control" a dijit.layout.StackContainer? (in the event that you want your "tabs" as a separate widget...)

This is due to the fact that the controller is expecting the container to have a tablistWrapper - which may not exist if you are using a stack container.

Changed 10 years ago by Nathan Toone

Test case of stack container controlled by tab controller - this test case breaks horribly with the current patch.

Changed 10 years ago by Shane O'Sullivan

Updated patch. Accidentally left out the SlidingTabController?.js file from previous patches.

Changed 10 years ago by Shane O'Sullivan

Update patch, against nightly (May 01 2009)

comment:6 Changed 10 years ago by Douglas Hays

Cc: Douglas Hays added

comment:7 Changed 10 years ago by haysmark

There is also the vertical case to consider; if I change one of the TabContainers? to a vertical one like at the bottom, the new buttons do not appear.

comment:8 Changed 10 years ago by Shane O'Sullivan

Owner: set to Shane O'Sullivan
Status: newassigned

It is by design that the vertical tab layout does not have the new buttons.

Changed 10 years ago by Shane O'Sullivan

Patch that addresses most of Bills comments

comment:9 Changed 10 years ago by alle

I think this can be a great enhancement.
How can I help?

Changed 10 years ago by Shane O'Sullivan

Latest patch

comment:10 Changed 10 years ago by Jean-Rubin Leonard

This change would be most welcome as it would avoid us the need to hack and put <br/ > in our title to try to make them fit. Is it on schedule for Version 1.4.

Thanks for your good work Shane. JR

comment:11 Changed 10 years ago by alle

I'd like to see this enhancement in trunk as soon as possible.
What's holding patch commit? There's still some bug or is some more feature needed?

comment:12 Changed 10 years ago by bill

Last time I checked (which was after this patch was added) it was having rendering problems on various browers. On Safari (mac) it was splitting the navigation buttons (left and right arrows) and tab labels onto two separate rows. On IE there was no top border to the tab content. On FF3.5/mac the tab labels were on the same row as the navigation buttons, but too low (offset 3-5px below the navigation buttons).

I sent the detailed info (plus screen shots) to Shane over email, last email on 7/6 (which I believe was two days after above patch was added). Alle -- to answer your previous question about how you can help, if you can resolve those rendering glitches that would be great.

comment:13 Changed 10 years ago by alle

In next week I should have some free time.
I don't promise anything but I'll take a look on it.
Bill, can you post detailed info and screen shots somewhere?
Anyway I can test it on linux and win but have no mac to try on so I hope same glitches are on linux and mac too.

Changed 10 years ago by bill

Attachment: ie.png added

missing top border on IE

Changed 10 years ago by bill

Attachment: ff.png added

slight misalignment on FF/mac

Changed 10 years ago by bill

Attachment: safari.png added

navigation and tab labels on separate rows (safari problem)

comment:14 Changed 10 years ago by bill

I attached the screenshots I took a few weeks ago, not sure if others will see the same problems. They are from test_TabContainer.html

Changed 10 years ago by alle

My version of patch with many rendering glitches and some bug solved

Changed 10 years ago by alle

Attachment: ie6_top_bottom.JPG added

Rendering problem on IE6/Win I can't solve

Changed 10 years ago by alle

Attachment: ie6_left_right.JPG added

Problem in IE6/Win I think is because ie6 is very slow (about 30s to render test_TabContainer.html) and sizes don't get updated in time

comment:15 Changed 10 years ago by alle

Last attached patch solve many rendering glitches and some bug.

Tested using test_TabContainer.html with FF3.5/linux, FF3.5/win, IE8/win, IE7/win, IE6/win, Safari4/win, Chrome2/win and Opera10b2/win for tundra, soria and nihilo themes.
AFAIKS all is ok but two ie6 problems (see attached images).
I tried to find ie6 problems roots but I was unable to find them. I don't think it's a css problem but some kind of odd sizeing/timing behavior triggered by ie6 very slow rendering.
Can anybody confirm the problems?
Has anybody some hint to solve them?

Changed 10 years ago by Shane O'Sullivan

Latest patch merged with current tree

comment:16 Changed 10 years ago by alle

On my system ie6/win problems (see attached ie6_*.jpg images) are present with dijit.layout.TabContainer_TabControls_9.patch too.

comment:17 Changed 10 years ago by bill

Hi Alle, thanks for working on the glitches, is your patch against trunk too? One problem is that it's missing TabController.html, can you update the patch to add that?

comment:18 Changed 10 years ago by Shane O'Sullivan

I tried out alle's patch too, and yes, it's missing TabController?.html. Alle, can you please add it?

Changed 10 years ago by alle

Same as previus patch but include TabController?.html and _TabControllerButton.html templates. As before is against trunk.

comment:19 Changed 10 years ago by alle

Ops ... I've just uploaded a new patch that includes TabController?.html and _TabControllerButton.html templates.
As before it's against trunk.

comment:20 Changed 10 years ago by Shane O'Sullivan

Thanks alle, that patch seems to work just fine for me. I see what you mean about IE6 taking so long to render, perhaps it would be better if the test file was broken into multiple files.

After much fighting with IE6, I'm unable to fix the issues. Hopefully someone else will have more luck. I'll throw a few more hours at it tomorrow.

Changed 10 years ago by alle

Added IE6 left-right bugfix

comment:21 Changed 10 years ago by alle

I finally solved left-right IE6 bug.
Last patch is with bugfix.

Now only top-bottom IE6 rendering problem is left (see ie6_top_bottom.JPG attachment).

comment:22 Changed 10 years ago by bill

Great, what was the problem? I traced through a little and saw that the layout code was setting the width to 0 but didn't trace down why.

The top-bottom IE6 rendering problem seems pretty minor (I mean, low impact to users; I don't know how hard/easy it would be to fix.)

comment:23 Changed 10 years ago by alle

In resize(..) method of TabController? I had to replace

if(!this.isHoriz){
	dojo.marginBox(this.tablistWrapper, dim);
	return;
}

with

if(!this.isHoriz){
	if(dojo.isIE <= 6){
		dojo.marginBox(this.domNode, dim);
		var self = this;
		setTimeout(function(){
			dojo.marginBox(self.tablistWrapper, dim);
		}, 0);
	}else{
		dojo.marginBox(this.tablistWrapper, dim);
	}
	return;
}

because in IE6 setting width with dojo.marginBox(this.tablistWrapper, dim) change this.domNode.offsetWidth to container width.
I can't understand why but it happen :-(

The top-bottom IE6 rendering problem is minor but I worked on it before first patch and I was unable to solve it.
I think it's related to some code in resize(..) method in TabController?

var width = dim.w;
	
// There is a bug in IE that reports a border width of 4, rather than 1,
// ensure that the border is max of 2.
var border = Math.min(2, (dojo.style(this.tablistWrapper, "borderLeftWidth") 
				+ dojo.style(this.tablistWrapper, "borderRightWidth")));

var enable = this._scrollEnabled && this._enableBtn(width);
var realWidth = width - border - (enable ? this._btnWidth : 0)
			- (dojo.isIE == 6 ? 6 : 0);

dojo.style(this.scrollNode, "width", realWidth + "px");

but I was unable to remove IE workaround in code or changing it to something more sane (probably because IE is not sane).
If you are asking "- (dojo.isIE == 6 ? 6 : 0)" is absolutely required as far as I tried.

comment:24 Changed 10 years ago by bill

Hmm OK well at least you got the left-right tabs working. I hope there's a better solution though. I'm looking at it now and what I've seen so far is:

  • TabController.domNode is position:relative so after the dojo.marginBox(node, {h: 100}) call it's width suddenly expands to 500px (the full width of the containing TabContainer.domNode), regardless of how wide the labels are. It should be position: absolute.

-The TabContainer.html template has class="dijitTabListWrapper" on the node that becomes the TabController, but that class is lost when the node is replaced by the TabController widget... thus all the CSS file references to dijitTabListWrapper are apparently useless.

Other issues:

  • In high contrast mode the back, forward, and menu buttons (on the TabController) are blank; they need text labels. Hopefully that's a simple thing about just setting a label for each button, in addition to an icon. the label only appears in high contrast mode.
  • the CSS rules in nihilo like .dj_ie6 .nihilo .dijitTabListContainer-top seem strange; why isn't that rule in dijit.css, or at least also in soria.css (which is the same theme as nihilo except for colors)?

comment:25 Changed 10 years ago by bill

Oops, my first comment above was inaccurate. TabController.domNode is position:absolute (since layoutChildren() assigns it the dijitAlignLeft class), but it contains a tabListWrapper node (that's the node that TabController.resize() calls marginBox() on) which is position:relative.

At the time that TabController.resize() is called, dojo.style(this.domNode, "width") correctly returns 153, but then after setting the height of the inner tabListWrapper node to 100, suddenly both nodes have width==500.

This code is all fragile because it's depending on the browser to tell us how wide the TabController needs to be (based on the font size and width of the labels), and I guess that newly added nodes are too much for IE to handle. The old structure to hold the tab buttons was simply:

<div class="dijitTabContainerLeft-tabs"></div>

and the new structure is:

<div class="dijitTabListContainer-${tabPosition}" style="visibility:hidden">
         ... buttons for left/right/menu ...
	<div class='dijitTabListWrapper' dojoAttachPoint='tablistWrapper'>
		<div wairole='tablist' dojoAttachEvent='onkeypress:onkeypress' 
				dojoAttachPoint='containerNode' class='nowrapTabStrip'>
		</div>
	</div>
</div>

Since left/right tabs don't support scrolling, the TabController widget used for those cases should probably be something much simpler, like what is currently checked into SVN. Anyway, I'm quite happy with alle's fixes, things are working quite well now; the main issue is just some alignment issues where tab labels and the back/forward/menu buttons don't line up exactly. I think though we can check in the patch as it is and then later work out the issues I listed in my previous comment.

Shane, Alle, that sound good?

Changed 10 years ago by bill

refactored from alle's latest (patch 3) to have separate TabController? and ScrollingTabController? classes

Changed 10 years ago by bill

refactored from alle's latest (patch 3) to have separate TabController and ScrollingTabController helper widgets, in separate files

comment:26 Changed 10 years ago by Shane O'Sullivan

Sounds good to me, it'll be cool to have it in there

Changed 10 years ago by alle

Based on bill's latest patch (bill_2). Solve IE6 top-bottom bug using float left for dijitTabListWrapper, make resize(..) method in ScrollingTabController? more theme indipendent and remove IE hacks using generic dojo.marginBox and dojo.ContentBox?, 100% width (marked with TODO) no more needed too.

comment:27 Changed 10 years ago by alle

Last IE6 bug solved and some cleanup.

I think patch is ready to be committed.

comment:28 Changed 10 years ago by bill

Thanks, OK, I'll check it in.

The big remaining problem is that RTL mode isn't working at all; the tab labels and buttons show up on separate rows, sometimes overlapping the content, sometimes the content isn't visible, etc. If you have some fixes for that (just run test_TabContainer?dir=rtl) that would be great.

comment:29 Changed 10 years ago by bill

(In [19739]) Shane's great patch to make tab labels scroll (aka slide) from left to right rather than spilling over onto multiple rows. Scrolling controlled by left/right buttons or a menu, or left/right arrow keys.

Also Alle did a bunch of CSS work to eliminate quirks and alignment problems on various browsers.

Shane, thanks for all the hard work on this! Thanks to Alle too!

Refs #9004 !strict.

Remaining issues include:

  • high contrast mode
  • RTL mode

comment:30 Changed 10 years ago by bill

(In [19740]) Fix high contrast mode to display characters for left/right/menu buttons instead of trying to display icons.

Also start work on getting RTL mode working (although it's still not really usable). Although the code referred to "previous" and "next" buttons they seemed closer to actually being left and right buttons (regardless of dir setting), so I changed the names. There are still issues though with scrollLeft meaning different things on different browsers etc. and lots of rendering problems for the ScrollingTabController? when in RTL mode.

Refs #9004 !strict.

Remaining issues include:

  • high contrast mode
  • RTL mode

comment:31 Changed 10 years ago by alle

RTL is not working because I think *_rtl.css were not updated but should be quite simple by coping and inverting LTR values, I hope.

I didn't know that soria is the same theme as nihilo except for colors so I tested and fixed them independently :-(
Maybe they need some sync.

Changed 10 years ago by alle

Fix RTL for tundra, soria and nihilo. Based on head.

comment:32 Changed 10 years ago by liucougar

FYI: currently this does not work well with doLayout=false TabContainers?, see: dijit/tests/layout/test_TabContainer_noLayout.html

comment:33 Changed 10 years ago by bill

OK, lots of issues still with this patch, including:

  • selecting tabs with the menu on IE7 sometimes causes the left/right/menu buttons to shift position to the left (very weird layout issues)
  • scrolling down in test_TabContaine.html and selecting a hidden tab label from the menu makes the document scroll to the top, then back down to the tab container (presumably a scrollIntoView() related problem)
  • doLayout=false broken
  • RTL problem (oh but alle has a patch above, I will check that in now, thanks alle!)

comment:34 Changed 10 years ago by bill

(In [19755]) RTL rendering fixes from alle (CLA on file). Firefox is fixed although I'm still seeing issues on the other browsers:

  • IE6: tab label is much too long, can only see "tab 1"
  • IE7: no tab labels shown, and button icons appear outside of buttons
  • IE8: for soria/nihilo shading on tabs is strange
  • safari: no tab labels shown

Refs #9004 !strict.

comment:35 Changed 10 years ago by bill

(In [19756]) Limit float:left on .dijitTabStrip to IE6, where it's needed to fix a rendering glitch w/a gap in the tabstrip. Doesn't fix the button-moving problem on IE7 (although perhaps it's happening less often), but does fix some rendering issues when dir=rtl:

  • safari now working except for bottom tabs on soria (tab labels not shown) and nihilo (slight coloring problem at edges of tab buttons)
  • IE7: improved, looks correct until selecting a tab from the menu

Refs #9004.

comment:36 Changed 10 years ago by Nathan Toone

(In [19798]) Refs #9004 - fix test case that gets broken with focus issue....just focus something else before running the test

comment:37 Changed 10 years ago by bill

(In [19868]) Refactor so scrollLeft calculations are working in RTL mode. Still lots of rendering issues on IE7 and IE6.

Most of the code is now dealing with a "scroll value" representing the amount we are scrolled from the left border. That means that in RTL mode we start with scroll == 50,000 since the nowrapTablist is 50K pixels and is scrolled all the way to the right, where the first tab is. This scroll value is different than what the so-called node.scrollLeft attribute, and conversion is done via getScroll() and convertToScrollLeft().

Refs #9004 !strict.

comment:38 Changed 10 years ago by bill

(In [19870]) Fix animation on IE6/7, which weren't redrawing until the mouse moved for some reason.

Refs #9004 !strict.

comment:39 Changed 10 years ago by bill

(In [19907]) Fix calculations when width of tabs < width of TabContainer? (and thus scroll buttons aren't needed). In particular fixed the case where there are no tabs at all, which was causing an exception. Refs #9004 !strict.

comment:40 Changed 10 years ago by bill

(In [19917]) Refactor ScrollingTabContainer? to use absolute positioning for navigation buttons (left, right, menu) and tablist. This (apparently) solves the intermittent problem with buttons jumping to the left, and all/most of the RTL issues on IE7.

Refs #9004 !strict.

comment:41 Changed 10 years ago by bill

(In [19919]) Usually this.connect() is preferred over dojo.connect() but not in this case. Refs #9004 !strict.

comment:42 Changed 10 years ago by bill

(In [19923]) TabContainer? navigation menu shouldn't try to refocus to previously focused node, since focus will be moved to a TabButton?. Removing the refocus avoids the screen scroll-jump problem on IE. Refs #9004, #9735 !strict.

comment:43 Changed 10 years ago by bill

Resolution: fixed
Status: assignedclosed

(In [19970]) TabContainer? fixes:

  • Make children of TabContainer? w/doLayout=false get laid out properly (but not resized to fit TabContainer?).
  • Make sure ScrollingTabController?.resize() is called (to layout arrow buttons etc) even when doLayout=false (fixes #9004)
  • Convert pane2button[] and pane2handles[] key to be pane id (a string) instead of pane itself (an Object). The pane itself seemed to be causing lookup problems on IE6 in the test_TabContainer_noLayout.html test.
  • also a fix related to destroyDescendants() for TabContainer? to prevent double-destroy of tab buttons (refs #9778)

!strict

comment:44 Changed 10 years ago by bill

(In [19984]) Fix Menu to be able to bind to nodes whose id starts w/a digit (including the tablist menu on TabContainer?'s whose id starts w/a digit).

Refs #9004, fixes #9790 !strict.

comment:45 Changed 10 years ago by liucougar

(In [19993]) refs #9004: make TabContainer?.js work with the original TabController? (which does not have resize method) !strict

comment:46 Changed 10 years ago by bill

(In [20066]) Removing some dead code, refs #9004 !strict.

comment:47 Changed 10 years ago by bill

(In [20844]) Remove (apparently) unneeded CSS that was breaking doLayout=false mode on soria. Fixes #10360, refs #9004.

comment:48 Changed 9 years ago by bill

(In [21344]) Making scrolling tabs work in RTL mode on webkit (see themeTester.html?dir=rtl) and IE8/quirks mode (see themeTesterQuirk.html?dir=rtl).

Webkit has the same scrollLeft meaning (in RTL mode) as IE6/7. Wonder if webkit will change to match the spec in the future.

Fixes #10742, refs #9004 !strict

comment:49 Changed 8 years ago by bill

(In [23582]) Various themeTester fixes:

  1. print out load time in addition to parse time
  2. upgrade Tree to use model, rather than directly using store, avoiding deprecation warnings
  3. the "rootless tree" example was showing the root
  4. remove unused/unneeded functions
  5. since the top right TabContainer is scrollable, we don't need to have a separate scrollable TabContainer in the accordion

Refs #5536, #9004 among others, !strict.

Note: See TracTickets for help on using tickets.