diff -r d334a616c023 -r e16a97fb364a src/cm/media/js/lib/yui/yui3-3.15.0/build/datasource-xmlschema/datasource-xmlschema-debug.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui3-3.15.0/build/datasource-xmlschema/datasource-xmlschema-debug.js Mon Mar 10 15:19:48 2014 +0100 @@ -0,0 +1,102 @@ +YUI.add('datasource-xmlschema', function (Y, NAME) { + +/** + * Extends DataSource with schema-parsing on XML data. + * + * @module datasource + * @submodule datasource-xmlschema + */ + +/** + * Adds schema-parsing to the DataSource Utility. + * @class DataSourceXMLSchema + * @extends Plugin.Base + */ +var DataSourceXMLSchema = function() { + DataSourceXMLSchema.superclass.constructor.apply(this, arguments); +}; + +Y.mix(DataSourceXMLSchema, { + /** + * The namespace for the plugin. This will be the property on the host which + * references the plugin instance. + * + * @property NS + * @type String + * @static + * @final + * @value "schema" + */ + NS: "schema", + + /** + * Class name. + * + * @property NAME + * @type String + * @static + * @final + * @value "dataSourceXMLSchema" + */ + NAME: "dataSourceXMLSchema", + + ///////////////////////////////////////////////////////////////////////////// + // + // DataSourceXMLSchema Attributes + // + ///////////////////////////////////////////////////////////////////////////// + + ATTRS: { + schema: { + //value: {} + } + } +}); + +Y.extend(DataSourceXMLSchema, Y.Plugin.Base, { + /** + * Internal init() handler. + * + * @method initializer + * @param config {Object} Config object. + * @private + */ + initializer: function(config) { + this.doBefore("_defDataFn", this._beforeDefDataFn); + }, + + /** + * Parses raw data into a normalized response. + * + * @method _beforeDefDataFn + * @param tId {Number} Unique transaction ID. + * @param request {Object} The request. + * @param callback {Object} The callback object with the following properties: + *
+ *
success (Function)
Success handler.
+ *
failure (Function)
Failure handler.
+ *
+ * @param data {Object} Raw data. + * @protected + */ + _beforeDefDataFn: function(e) { + var schema = this.get('schema'), + payload = e.details[0], + // TODO: Do I need to sniff for DS.IO + responseXML.nodeType 9? + data = Y.XML.parse(e.data.responseText) || e.data; + + payload.response = Y.DataSchema.XML.apply.call(this, schema, data) || { + meta: {}, + results: data + }; + + this.get("host").fire("response", payload); + + return new Y.Do.Halt("DataSourceXMLSchema plugin halted _defDataFn"); + } +}); + +Y.namespace('Plugin').DataSourceXMLSchema = DataSourceXMLSchema; + + +}, '@VERSION@', {"requires": ["datasource-local", "plugin", "datatype-xml", "dataschema-xml"]});