summaryrefslogtreecommitdiff
path: root/lib/dojo/NodeList-fx.js.uncompressed.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dojo/NodeList-fx.js.uncompressed.js')
-rw-r--r--lib/dojo/NodeList-fx.js.uncompressed.js222
1 files changed, 222 insertions, 0 deletions
diff --git a/lib/dojo/NodeList-fx.js.uncompressed.js b/lib/dojo/NodeList-fx.js.uncompressed.js
new file mode 100644
index 000000000..ec81392e0
--- /dev/null
+++ b/lib/dojo/NodeList-fx.js.uncompressed.js
@@ -0,0 +1,222 @@
+define("dojo/NodeList-fx", ["dojo/_base/NodeList", "./_base/lang", "./_base/connect", "./_base/fx", "./fx"],
+ function(NodeList, lang, connectLib, baseFx, coreFx) {
+ // module:
+ // dojo/NodeList-fx
+ // summary:
+ // TODOC
+
+/*=====
+dojo["NodeList-fx"] = {
+ // summary: Adds dojo.fx animation support to dojo.query() by extending the NodeList class
+ // with additional FX functions. NodeList is the array-like object used to hold query results.
+};
+
+// doc alias helpers:
+NodeList = dojo.NodeList;
+=====*/
+
+lang.extend(NodeList, {
+ _anim: function(obj, method, args){
+ args = args||{};
+ var a = coreFx.combine(
+ this.map(function(item){
+ var tmpArgs = { node: item };
+ lang.mixin(tmpArgs, args);
+ return obj[method](tmpArgs);
+ })
+ );
+ return args.auto ? a.play() && this : a; // dojo.Animation|dojo.NodeList
+ },
+
+ wipeIn: function(args){
+ // summary:
+ // wipe in all elements of this NodeList via `dojo.fx.wipeIn`
+ //
+ // args: Object?
+ // Additional dojo.Animation arguments to mix into this set with the addition of
+ // an `auto` parameter.
+ //
+ // returns: dojo.Animation|dojo.NodeList
+ // A special args member `auto` can be passed to automatically play the animation.
+ // If args.auto is present, the original dojo.NodeList will be returned for further
+ // chaining. Otherwise the dojo.Animation instance is returned and must be .play()'ed
+ //
+ // example:
+ // Fade in all tables with class "blah":
+ // | dojo.query("table.blah").wipeIn().play();
+ //
+ // example:
+ // Utilizing `auto` to get the NodeList back:
+ // | dojo.query(".titles").wipeIn({ auto:true }).onclick(someFunction);
+ //
+ return this._anim(coreFx, "wipeIn", args); // dojo.Animation|dojo.NodeList
+ },
+
+ wipeOut: function(args){
+ // summary:
+ // wipe out all elements of this NodeList via `dojo.fx.wipeOut`
+ //
+ // args: Object?
+ // Additional dojo.Animation arguments to mix into this set with the addition of
+ // an `auto` parameter.
+ //
+ // returns: dojo.Animation|dojo.NodeList
+ // A special args member `auto` can be passed to automatically play the animation.
+ // If args.auto is present, the original dojo.NodeList will be returned for further
+ // chaining. Otherwise the dojo.Animation instance is returned and must be .play()'ed
+ //
+ // example:
+ // Wipe out all tables with class "blah":
+ // | dojo.query("table.blah").wipeOut().play();
+ return this._anim(coreFx, "wipeOut", args); // dojo.Animation|dojo.NodeList
+ },
+
+ slideTo: function(args){
+ // summary:
+ // slide all elements of the node list to the specified place via `dojo.fx.slideTo`
+ //
+ // args: Object?
+ // Additional dojo.Animation arguments to mix into this set with the addition of
+ // an `auto` parameter.
+ //
+ // returns: dojo.Animation|dojo.NodeList
+ // A special args member `auto` can be passed to automatically play the animation.
+ // If args.auto is present, the original dojo.NodeList will be returned for further
+ // chaining. Otherwise the dojo.Animation instance is returned and must be .play()'ed
+ //
+ // example:
+ // | Move all tables with class "blah" to 300/300:
+ // | dojo.query("table.blah").slideTo({
+ // | left: 40,
+ // | top: 50
+ // | }).play();
+ return this._anim(coreFx, "slideTo", args); // dojo.Animation|dojo.NodeList
+ },
+
+
+ fadeIn: function(args){
+ // summary:
+ // fade in all elements of this NodeList via `dojo.fadeIn`
+ //
+ // args: Object?
+ // Additional dojo.Animation arguments to mix into this set with the addition of
+ // an `auto` parameter.
+ //
+ // returns: dojo.Animation|dojo.NodeList
+ // A special args member `auto` can be passed to automatically play the animation.
+ // If args.auto is present, the original dojo.NodeList will be returned for further
+ // chaining. Otherwise the dojo.Animation instance is returned and must be .play()'ed
+ //
+ // example:
+ // Fade in all tables with class "blah":
+ // | dojo.query("table.blah").fadeIn().play();
+ return this._anim(baseFx, "fadeIn", args); // dojo.Animation|dojo.NodeList
+ },
+
+ fadeOut: function(args){
+ // summary:
+ // fade out all elements of this NodeList via `dojo.fadeOut`
+ //
+ // args: Object?
+ // Additional dojo.Animation arguments to mix into this set with the addition of
+ // an `auto` parameter.
+ //
+ // returns: dojo.Animation|dojo.NodeList
+ // A special args member `auto` can be passed to automatically play the animation.
+ // If args.auto is present, the original dojo.NodeList will be returned for further
+ // chaining. Otherwise the dojo.Animation instance is returned and must be .play()'ed
+ //
+ // example:
+ // Fade out all elements with class "zork":
+ // | dojo.query(".zork").fadeOut().play();
+ // example:
+ // Fade them on a delay and do something at the end:
+ // | var fo = dojo.query(".zork").fadeOut();
+ // | dojo.connect(fo, "onEnd", function(){ /*...*/ });
+ // | fo.play();
+ // example:
+ // Using `auto`:
+ // | dojo.query("li").fadeOut({ auto:true }).filter(filterFn).forEach(doit);
+ //
+ return this._anim(baseFx, "fadeOut", args); // dojo.Animation|dojo.NodeList
+ },
+
+ animateProperty: function(args){
+ // summary:
+ // Animate all elements of this NodeList across the properties specified.
+ // syntax identical to `dojo.animateProperty`
+ //
+ // args: Object?
+ // Additional dojo.Animation arguments to mix into this set with the addition of
+ // an `auto` parameter.
+ //
+ // returns: dojo.Animation|dojo.NodeList
+ // A special args member `auto` can be passed to automatically play the animation.
+ // If args.auto is present, the original dojo.NodeList will be returned for further
+ // chaining. Otherwise the dojo.Animation instance is returned and must be .play()'ed
+ //
+ // example:
+ // | dojo.query(".zork").animateProperty({
+ // | duration: 500,
+ // | properties: {
+ // | color: { start: "black", end: "white" },
+ // | left: { end: 300 }
+ // | }
+ // | }).play();
+ //
+ // example:
+ // | dojo.query(".grue").animateProperty({
+ // | auto:true,
+ // | properties: {
+ // | height:240
+ // | }
+ // | }).onclick(handler);
+ return this._anim(baseFx, "animateProperty", args); // dojo.Animation|dojo.NodeList
+ },
+
+ anim: function( /*Object*/ properties,
+ /*Integer?*/ duration,
+ /*Function?*/ easing,
+ /*Function?*/ onEnd,
+ /*Integer?*/ delay){
+ // summary:
+ // Animate one or more CSS properties for all nodes in this list.
+ // The returned animation object will already be playing when it
+ // is returned. See the docs for `dojo.anim` for full details.
+ // properties: Object
+ // the properties to animate. does NOT support the `auto` parameter like other
+ // NodeList-fx methods.
+ // duration: Integer?
+ // Optional. The time to run the animations for
+ // easing: Function?
+ // Optional. The easing function to use.
+ // onEnd: Function?
+ // A function to be called when the animation ends
+ // delay:
+ // how long to delay playing the returned animation
+ // example:
+ // Another way to fade out:
+ // | dojo.query(".thinger").anim({ opacity: 0 });
+ // example:
+ // animate all elements with the "thigner" class to a width of 500
+ // pixels over half a second
+ // | dojo.query(".thinger").anim({ width: 500 }, 700);
+ var canim = coreFx.combine(
+ this.map(function(item){
+ return baseFx.animateProperty({
+ node: item,
+ properties: properties,
+ duration: duration||350,
+ easing: easing
+ });
+ })
+ );
+ if(onEnd){
+ connectLib.connect(canim, "onEnd", onEnd);
+ }
+ return canim.play(delay||0); // dojo.Animation
+ }
+});
+
+return NodeList;
+});