|
|
- /**
- _enyo.CardArranger_ is an <a href="#enyo.Arranger">enyo.Arranger</a> that
- displays only one active control. The non-active controls are hidden with
- _setShowing(false)_. Transitions between arrangements are handled by fading
- from one control to the next.
- */
- enyo.kind({
- name: "enyo.CardArranger",
- kind: "Arranger",
- layoutClass: "enyo-arranger enyo-arranger-fit",
- calcArrangementDifference: function(inI0, inA0, inI1, inA1) {
- return this.containerBounds.width;
- },
- arrange: function(inC, inName) {
- for (var i=0, c, b, v; c=inC[i]; i++) {
- v = (i == 0) ? 1 : 0;
- this.arrangeControl(c, {opacity: v});
- }
- },
- start: function() {
- this.inherited(arguments);
- var c$ = this.container.getPanels();
- for (var i=0, c; c=c$[i]; i++) {
- var wasShowing=c.showing;
- c.setShowing(i == this.container.fromIndex || i == (this.container.toIndex));
- if (c.showing && !wasShowing) {
- c.resized();
- }
- }
-
- },
- finish: function() {
- this.inherited(arguments);
- var c$ = this.container.getPanels();
- for (var i=0, c; c=c$[i]; i++) {
- c.setShowing(i == this.container.toIndex);
- }
- },
- destroy: function() {
- var c$ = this.container.getPanels();
- for (var i=0, c; c=c$[i]; i++) {
- enyo.Arranger.opacifyControl(c, 1);
- if (!c.showing) {
- c.setShowing(true);
- }
- }
- this.inherited(arguments);
- }
- });
|