AutorÃa | Ultima modificación | Ver Log |
YUI.add('datasource-arrayschema', function (Y, NAME) {/*** Extends DataSource with schema-parsing on array data.** @module datasource* @submodule datasource-arrayschema*//*** Adds schema-parsing to the DataSource Utility.* @class DataSourceArraySchema* @extends Plugin.Base*/var DataSourceArraySchema = function() {DataSourceArraySchema.superclass.constructor.apply(this, arguments);};Y.mix(DataSourceArraySchema, {/*** 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 "dataSourceArraySchema"*/NAME: "dataSourceArraySchema",///////////////////////////////////////////////////////////////////////////////// DataSourceArraySchema Attributes///////////////////////////////////////////////////////////////////////////////ATTRS: {schema: {//value: {}}}});Y.extend(DataSourceArraySchema, 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:* <dl>* <dt>success (Function)</dt> <dd>Success handler.</dd>* <dt>failure (Function)</dt> <dd>Failure handler.</dd>* </dl>* @param data {Object} Raw data.* @protected*/_beforeDefDataFn: function(e) {var data = (Y.DataSource.IO && (this.get("host") instanceof Y.DataSource.IO) && Y.Lang.isString(e.data.responseText)) ? e.data.responseText : e.data,response = Y.DataSchema.Array.apply.call(this, this.get("schema"), data),payload = e.details[0];// Defaultif (!response) {response = {meta: {},results: data};}payload.response = response;this.get("host").fire("response", payload);return new Y.Do.Halt("DataSourceArraySchema plugin halted _defDataFn");}});Y.namespace('Plugin').DataSourceArraySchema = DataSourceArraySchema;}, '3.18.1', {"requires": ["datasource-local", "plugin", "dataschema-array"]});