src/cm/media/js/lib/yui/yui_3.10.3/build/datasource-function/datasource-function-debug.js
changeset 525 89ef5ed3c48b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/lib/yui/yui_3.10.3/build/datasource-function/datasource-function-debug.js	Tue Jul 16 14:29:46 2013 +0200
@@ -0,0 +1,115 @@
+/*
+YUI 3.10.3 (build 2fb5187)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+YUI.add('datasource-function', function (Y, NAME) {
+
+/**
+ * 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: {
+        /**
+        * Stores the function that will serve the response data.
+        *
+        * @attribute source
+        * @type {Any}
+        * @default null
+        */
+        source: {
+            validator: LANG.isFunction
+        }
+    }
+});
+    
+Y.extend(DSFn, Y.DataSource.Local, {
+    /**
+     * Passes query data to the source function. Fires <code>response</code>
+     * event with the function results (synchronously).
+     *
+     * @method _defRequestFn
+     * @param e {Event.Facade} Event Facade with the following properties:
+     * <dl>
+     * <dt>tId (Number)</dt> <dd>Unique transaction ID.</dd>
+     * <dt>request (Object)</dt> <dd>The request.</dd>
+     * <dt>callback (Object)</dt> <dd>The callback object with the following
+     * properties:
+     *     <dl>
+     *         <dt>success (Function)</dt> <dd>Success handler.</dd>
+     *         <dt>failure (Function)</dt> <dd>Failure handler.</dd>
+     *     </dl>
+     * </dd>
+     * <dt>cfg (Object)</dt> <dd>Configuration object.</dd>
+     * </dl>
+     * @protected
+     */
+    _defRequestFn: function(e) {
+        var fn = this.get("source"),
+            payload = e.details[0];
+            
+        if (fn) {
+            try {
+                payload.data = fn(e.request, this, e);
+            } catch (ex) {
+                Y.log("Function execution failure", "error", "datasource-function");
+                payload.error = ex;
+            }
+        } else {
+            Y.log("Function data failure", "error", "datasource-function");
+            payload.error = new Error("Function data failure");
+        }
+
+        this.fire("data", payload);
+            
+        return e.tId;
+    }
+});
+  
+Y.DataSource.Function = DSFn;
+
+
+}, '3.10.3', {"requires": ["datasource-local"]});