a:21:{s:9:"#provides";s:24:"dojox.widget.FisheyeLite";s:9:"#resource";s:21:"widget/FisheyeLite.js";s:9:"#requires";a:2:{i:0;a:3:{i:0;s:6:"common";i:1;s:13:"dijit._Widget";i:2;s:5:"dijit";}i:1;a:3:{i:0;s:6:"common";i:1;s:14:"dojo.fx.easing";i:2;s:4:"dojo";}}s:24:"dojox.widget.FisheyeLite";a:8:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:13:"dijit._Widget";}s:4:"call";a:1:{i:0;s:13:"dijit._Widget";}}s:7:"summary";s:79:"A Light-weight Fisheye Component, or an exhanced version of dojo.fx.Toggler ...";s:11:"description";s:569:"A Simple FisheyeList-like widget which (in the interest of performance) relies on well-styled content for positioning, and natural page layout for rendering. use position:absolute/relative nodes to prevent layout changes, and use caution when seleting properties to scale. Negative scaling works, but some properties react poorly to being set to negative values, IE being particularly annoying in that regard. quirk: uses the domNode as the target of the animation unless it finds a node class="fisheyeTarget" in the container being turned into a FisheyeLite instance";s:8:"examples";a:2:{i:0;s:134:" // make all the LI's in a node Fisheye's: dojo.query("#node li").forEach(function(n){ new dojox.widget.FisheyeLite({},n); });";i:1;s:213:" new dojox.widget.FisheyeLite({ properties:{ // height is literal, width is multiplied height:{ end: 200 }, width:2.3 } }, "someNode"); duationIn: Integer The time (in ms) the run the show animation";}s:10:"parameters";a:2:{s:5:"props";a:1:{s:4:"type";s:0:"";}s:4:"node";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:63:" this.properties = props.properties || { fontSize: 2.75 }";s:9:"classlike";b:1;}s:35:"dojox.widget.FisheyeLite.durationIn";a:2:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:7:"summary";s:0:"";}s:31:"dojox.widget.FisheyeLite.easeIn";a:3:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:8:"Function";s:7:"summary";s:48:"An easing function to use for the show animation";}s:36:"dojox.widget.FisheyeLite.durationOut";a:3:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:7:"Integer";s:7:"summary";s:42:"The Time (in ms) to run the hide animation";}s:32:"dojox.widget.FisheyeLite.easeOut";a:3:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:8:"Function";s:7:"summary";s:48:"An easing function to use for the hide animation";}s:35:"dojox.widget.FisheyeLite.properties";a:4:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:6:"Object";s:7:"summary";s:338:"An object of "property":scale pairs, or "property":{} pairs. defaults to font-size with a scale of 2.75 If a named property is an integer or float, the "scale multiplier" is used. If the named property is an object, that object is mixed into the animation directly. eg: height:{ end:20, unit:"em" }";s:8:"instance";s:24:"dojox.widget.FisheyeLite";}s:29:"dojox.widget.FisheyeLite.unit";a:3:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:6:"String";s:7:"summary";s:119:"Sometimes, you need to specify a unit. Should be part of properties attrib, but was trying to shorthand the logic there";}s:35:"dojox.widget.FisheyeLite.postCreate";a:4:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:8:"Function";s:6:"source";s:290:" this.inherited(arguments); this._target = dojo.query(".fisheyeTarget", this.domNode)[0] || this.domNode; this._makeAnims(); this.connect(this.domNode, "onmouseover", "show"); this.connect(this.domNode, "onmouseout", "hide"); this.connect(this._target, "onclick", "onClick");";s:7:"summary";s:0:"";}s:29:"dojox.widget.FisheyeLite.show";a:4:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:8:"Function";s:6:"source";s:52:" this._runningOut.stop(); this._runningIn.play();";s:7:"summary";s:23:"Show this Fisheye item.";}s:29:"dojox.widget.FisheyeLite.hide";a:4:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:8:"Function";s:6:"source";s:52:" this._runningIn.stop(); this._runningOut.play();";s:7:"summary";s:37:"Hide this fisheye item on mouse leave";}s:35:"dojox.widget.FisheyeLite._makeAnims";a:5:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:8:"Function";s:6:"source";s:4006:"dojo.provide("dojox.widget.FisheyeLite"); dojo.experimental("dojox.widget.FisheyeLite"); dojo.require("dijit._Widget"); dojo.require("dojo.fx.easing"); dojo.declare("dojox.widget.FisheyeLite", dijit._Widget, { // summary: A Light-weight Fisheye Component, or an exhanced version // of dojo.fx.Toggler ... // // description: // A Simple FisheyeList-like widget which (in the interest of // performance) relies on well-styled content for positioning, // and natural page layout for rendering. // // use position:absolute/relative nodes to prevent layout // changes, and use caution when seleting properties to // scale. Negative scaling works, but some properties // react poorly to being set to negative values, IE being // particularly annoying in that regard. // // quirk: uses the domNode as the target of the animation // unless it finds a node class="fisheyeTarget" in the container // being turned into a FisheyeLite instance // // example: // | // make all the LI's in a node Fisheye's: // | dojo.query("#node li").forEach(function(n){ // | new dojox.widget.FisheyeLite({},n); // | }); // // // example: // | new dojox.widget.FisheyeLite({ // | properties:{ // | // height is literal, width is multiplied // | height:{ end: 200 }, width:2.3 // | } // | }, "someNode"); // // duationIn: Integer // The time (in ms) the run the show animation durationIn: 350, // easeIn: Function // An easing function to use for the show animation easeIn: dojo.fx.easing.backOut, // durationOut: Integer // The Time (in ms) to run the hide animation durationOut: 1420, // easeOut: Function // An easing function to use for the hide animation easeOut: dojo.fx.easing.elasticOut, // properties: Object // An object of "property":scale pairs, or "property":{} pairs. // defaults to font-size with a scale of 2.75 // If a named property is an integer or float, the "scale multiplier" // is used. If the named property is an object, that object is mixed // into the animation directly. eg: height:{ end:20, unit:"em" } properties: null, // unit: String // Sometimes, you need to specify a unit. Should be part of // properties attrib, but was trying to shorthand the logic there unit:"px", constructor: function(props, node){ this.properties = props.properties || { fontSize: 2.75 } }, postCreate: function(){ this.inherited(arguments); this._target = dojo.query(".fisheyeTarget", this.domNode)[0] || this.domNode; this._makeAnims(); this.connect(this.domNode, "onmouseover", "show"); this.connect(this.domNode, "onmouseout", "hide"); this.connect(this._target, "onclick", "onClick"); }, show: function(){ // summary: // Show this Fisheye item. this._runningOut.stop(); this._runningIn.play(); }, hide: function(){ // summary: // Hide this fisheye item on mouse leave this._runningIn.stop(); this._runningOut.play(); }, _makeAnims: function(){ // summary: // Pre-generate the animations // create two properties: objects, one for each "state" var _in = {}, _out = {}, cs = dojo.getComputedStyle(this._target); for(var p in this.properties){ var prop = this.properties[p], deep = dojo.isObject(prop), v = parseInt(cs[p]) ; // note: do not set negative scale for [a list of properties] for IE support // note: filter:'s are your own issue, too ;) // FIXME: this.unit here is bad, likely. d._toPixelValue ? _out[p] = { end: v, unit:this.unit }; _in[p] = deep ? prop : { end: prop * v, unit:this.unit }; } this._runningIn = dojo.animateProperty({ node: this._target, easing: this.easeIn, duration: this.durationIn, properties: _in }); this._runningOut = dojo.animateProperty({ node: this._target, duration: this.durationOut, easing: this.easeOut, properties: _out }); this.connect(this._runningIn, "onEnd", dojo.hitch(this, "onSelected", this));";s:7:"private";b:1;s:7:"summary";s:0:"";}s:32:"dojox.widget.FisheyeLite.onClick";a:5:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:1:{s:4:"type";s:5:"Event";}}s:6:"source";s:90:" // summary: stub function fired when target is clicked // connect or override to use.";s:7:"summary";s:70:"stub function fired when target is clicked connect or override to use.";}s:35:"dojox.widget.FisheyeLite.onSelected";a:5:{s:9:"prototype";s:24:"dojox.widget.FisheyeLite";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:113:" // summary: stub function fired when Fisheye Item is fully visible and // hovered. connect or override use.";s:7:"summary";s:92:"stub function fired when Fisheye Item is fully visible and hovered. connect or override use.";}s:32:"dojox.widget.FisheyeLite._target";a:3:{s:8:"instance";s:24:"dojox.widget.FisheyeLite";s:7:"private";b:1;s:7:"summary";s:0:"";}s:35:"dojox.widget.FisheyeLite._runningIn";a:3:{s:8:"instance";s:24:"dojox.widget.FisheyeLite";s:7:"private";b:1;s:7:"summary";s:0:"";}s:36:"dojox.widget.FisheyeLite._runningOut";a:3:{s:8:"instance";s:24:"dojox.widget.FisheyeLite";s:7:"private";b:1;s:7:"summary";s:0:"";}s:12:"dojox.widget";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}