diff -r 000000000000 -r 40c8f766c9b8 src/cm/media/js/lib/yui/yui_3.0.0b1/build/datasource/datasource-function.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.0.0b1/build/datasource/datasource-function.js Mon Nov 23 15:14:29 2009 +0100 @@ -0,0 +1,109 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 3.0.0b1 +build: 1163 +*/ +YUI.add('datasource-function', function(Y) { + +/** + * Provides a DataSource implementation which can be used to retrieve data from a custom function. + * + * @module datasource + * @submodule datasource-function + */ + +/** + * Function subclass for the DataSource Utility. + * @class DataSource.Function + * @extends DataSource.Local + * @constructor + */ +var LANG = Y.Lang, + + DSFn = function() { + DSFn.superclass.constructor.apply(this, arguments); + }; + + + ///////////////////////////////////////////////////////////////////////////// + // + // DataSource.Function static properties + // + ///////////////////////////////////////////////////////////////////////////// +Y.mix(DSFn, { + /** + * Class name. + * + * @property NAME + * @type String + * @static + * @final + * @value "dataSourceFunction" + */ + NAME: "dataSourceFunction", + + + ///////////////////////////////////////////////////////////////////////////// + // + // DataSource.Function Attributes + // + ///////////////////////////////////////////////////////////////////////////// + + ATTRS: { + /** + * @attribute source + * @description Pointer to live data. + * @type MIXED + * @default null + */ + source: { + validator: LANG.isFunction + } + } +}); + +Y.extend(DSFn, Y.DataSource.Local, { + /** + * Passes query string to IO. Fires response event when + * response is received asynchronously. + * + * @method _defRequestFn + * @param e {Event.Facade} Event Facade with the following properties: + *
+ *
tId (Number)
Unique transaction ID.
+ *
request (Object)
The request.
+ *
callback (Object)
The callback object with the following properties: + *
+ *
success (Function)
Success handler.
+ *
failure (Function)
Failure handler.
+ *
+ *
+ *
cfg (Object)
Configuration object.
+ *
+ * @protected + */ + _defRequestFn: function(e) { + var fn = this.get("source"), + response; + + if(fn) { + response = fn(e.request, this, e); + this.fire("data", Y.mix({data:response}, e)); + } + else { + e.error = new Error("Function data failure"); + this.fire("error", e); + } + + return e.tId; + } +}); + +Y.DataSource.Function = DSFn; + + + + +}, '3.0.0b1' ,{requires:['datasource-local']});