API Docs for: 1.0.0
Show:

File: src/gallery-anim-sequence/js/anim-seq-plugin.js

/**
 * @module gallery-anim-sequence
 */

/**
 * Binds an AnimSequence instance to a Node instance.  The API and
 * namespace is the same as NodeFX, so you can plug NodeFXSequence into
 * any node that just needs to run/pause/stop an animation.
 * 
 * Pass `sequence` in the configuration to set the initial animation
 * sequence.
 * 
 * @class Plugin.NodeFXSequence
 * @extends AnimSequence
 * @constructor
 * @param config {Object} configuration
 */
var NodeFXSequence = function(config)
{
	this._host = config.host;
	NodeFXSequence.superclass.constructor.apply(this, arguments);
};

NodeFXSequence.NAME = "nodefxseq";
NodeFXSequence.NS   = "fx";

function setNode(item)
{
	if (Y.Lang.isArray(item))
	{
		Y.each(item, function(a)
		{
			a.set('node', this._host);
		},
		this);
	}
	else if (item instanceof Y.Anim)
	{
		item.set('node', this._host);
	}
}

Y.extend(NodeFXSequence, Y.AnimSequence,
{
	append: function(item)
	{
		if (arguments.length > 1)
		{
			Y.each(arguments, setNode, this);
		}
		else
		{
			setNode.call(this, item);
		}

		NodeFXSequence.superclass.append.apply(this, arguments);
	},

	prepend: function(item)
	{
		if (arguments.length > 1)
		{
			Y.each(arguments, setNode, this);
		}
		else
		{
			setNode.call(this, item);
		}

		NodeFXSequence.superclass.prepend.apply(this, arguments);
	}
});

Y.namespace('Plugin');
Y.Plugin.NodeFXSequence = NodeFXSequence;