Opened 12 years ago

Closed 12 years ago

Last modified 9 years ago

#6612 closed enhancement (fixed)

[patch/cla] dojox.layout.RotatorContainer

Reported by: guest Owned by: dante
Priority: high Milestone: 1.2
Component: DojoX Layout Version: 1.1.0
Keywords: Cc:
Blocked By: Blocking:

Description

Extends a StackContainer? to automatically transition between children and display navigation in the form of tabs or a pager. Similar to what is on http://www.sun.com.

Demo: http://www.cb1inc.com/dojo-1.1.0-build/dojox/layout/tests/test_RotatorContainer.html

More info: http://www.cb1inc.com/2008/04/25/meet-the-rotatorcontainer

Attachments (1)

RotatorContainer.tar.gz (8.2 KB) - added by guest 12 years ago.

Download all attachments as: .zip

Change History (7)

Changed 12 years ago by guest

Attachment: RotatorContainer.tar.gz added

comment:1 Changed 12 years ago by dante

Milestone: 1.1.11.2
Status: newassigned

Chris, this is great!

But ... ;)

I see an immediate overlap between this and the the poorly named "RadioGroup?" (which does fade, and sliding transitions in a StackContiner?), and Nikolai's Pager widget (which only does sliding, but can handle single-view or multiple-items) ... I'd really like to see concepts merged into a sane API. StackContainer? is a really great piece of code, and if these three mentioned efforts we're combined into a single widget it would be a big win.

thoughts?

... moving out of critical branch ...

comment:2 Changed 12 years ago by dante

Summary: dojox.layout.RotatorContainer[patch/cla] dojox.layout.RotatorContainer

comment:3 Changed 12 years ago by guest

I see that there are similarities, but the RotatorContainer? is designed to "cycle" through a StackContainer?'s children. There are many options regarding this such as the delay between rotating, the duration of the transition, auto-start, suspend (pause without actually pausing) when the mouse is over it, rotate X times and stop, and rotate in reverse.

Had I looked at the RadioGroup?'s code, I could have borrowed that slide transition stuff. I left it pretty easy to add the slide transitions. I also don't think the RadioGroup?'s transitions are elegant, meaning when transitioning, it hides the previous child and then transitions in the next child. It would have been nice to see children transition together. The RotatorContainer?'s fade transition smoothly crossfades the two children.

The RotatorPager? is designed specifically to work with the RotatorContainer? exposing previous, next, play/pause, total # of children, and current child. It is simply a controller and it's easily customizable and is very small.

Nikolai's pager is cool, but it doesn't use a StackContainer?. It is just a <ul> of items and this may not be enough for people that want to do more advanced things such as forms or lazy loaded content. I don't necessarily agree with the up/down/left/right key capture as it may interfere with the contents of the pane.

There are a lot of things than can be tweaked via CSS. If the RotatorContainer? had the slide transitions (which shouldn't be the make it or break it feature), the RotatorContainer? could scratch a lot of itches.

-Chris Barber

comment:4 Changed 12 years ago by dante

(In [13452]) refs #6612 - initial checkin on dojox.layout.RotatorContainer? w/ minor minor changes from original patch (courtesy chris barber, CLA) ... Thanks!

The plan is to merge in sliding RadioGroup? and deprecate or recreate as a subclass of Rotator w/ defined defaults. leaving ticket open pending:

  • a couple more example uses in test case
  • default icons for nihilo / soria on remote pager
  • determine how much of the resources/RotatorContainer.css can be eliminated for user styles

!strict

comment:5 Changed 12 years ago by dante

Resolution: fixed
Status: assignedclosed

RadioGroupSlide fixed z-index issue. Talked to chris about this, wanting some more test examples. Will close this out as "completed" and just add tests if they come.

comment:6 Changed 9 years ago by bill

Component: DojoX WidgetsDojoX Layout
Note: See TracTickets for help on using tickets.