src/cm/media/js/lib/yui/yui_3.10.3/build/datasource-function/datasource-function.js
--- /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.js Tue Jul 16 14:29:46 2013 +0200
@@ -0,0 +1,113 @@
+/*
+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) {
+ payload.error = ex;
+ }
+ } else {
+ payload.error = new Error("Function data failure");
+ }
+
+ this.fire("data", payload);
+
+ return e.tId;
+ }
+});
+
+Y.DataSource.Function = DSFn;
+
+
+}, '3.10.3', {"requires": ["datasource-local"]});