[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 /* 2 YUI 3.17.2 (build 9c3c78e) 3 Copyright 2014 Yahoo! Inc. All rights reserved. 4 Licensed under the BSD License. 5 http://yuilibrary.com/license/ 6 */ 7 8 YUI.add('datasource-jsonschema', function (Y, NAME) { 9 10 /** 11 * Extends DataSource with schema-parsing on JSON data. 12 * 13 * @module datasource 14 * @submodule datasource-jsonschema 15 */ 16 17 /** 18 * Adds schema-parsing to the DataSource Utility. 19 * @class DataSourceJSONSchema 20 * @extends Plugin.Base 21 */ 22 var DataSourceJSONSchema = function() { 23 DataSourceJSONSchema.superclass.constructor.apply(this, arguments); 24 }; 25 26 Y.mix(DataSourceJSONSchema, { 27 /** 28 * The namespace for the plugin. This will be the property on the host which 29 * references the plugin instance. 30 * 31 * @property NS 32 * @type String 33 * @static 34 * @final 35 * @value "schema" 36 */ 37 NS: "schema", 38 39 /** 40 * Class name. 41 * 42 * @property NAME 43 * @type String 44 * @static 45 * @final 46 * @value "dataSourceJSONSchema" 47 */ 48 NAME: "dataSourceJSONSchema", 49 50 ///////////////////////////////////////////////////////////////////////////// 51 // 52 // DataSourceJSONSchema Attributes 53 // 54 ///////////////////////////////////////////////////////////////////////////// 55 56 ATTRS: { 57 schema: { 58 //value: {} 59 } 60 } 61 }); 62 63 Y.extend(DataSourceJSONSchema, Y.Plugin.Base, { 64 /** 65 * Internal init() handler. 66 * 67 * @method initializer 68 * @param config {Object} Config object. 69 * @private 70 */ 71 initializer: function(config) { 72 this.doBefore("_defDataFn", this._beforeDefDataFn); 73 }, 74 75 /** 76 * Parses raw data into a normalized response. To accommodate XHR responses, 77 * will first look for data in data.responseText. Otherwise will just work 78 * with data. 79 * 80 * @method _beforeDefDataFn 81 * @param tId {Number} Unique transaction ID. 82 * @param request {Object} The request. 83 * @param callback {Object} The callback object with the following properties: 84 * <dl> 85 * <dt>success (Function)</dt> <dd>Success handler.</dd> 86 * <dt>failure (Function)</dt> <dd>Failure handler.</dd> 87 * </dl> 88 * @param data {Object} Raw data. 89 * @protected 90 */ 91 _beforeDefDataFn: function(e) { 92 var data = e.data && (e.data.responseText || e.data), 93 schema = this.get('schema'), 94 payload = e.details[0]; 95 96 payload.response = Y.DataSchema.JSON.apply.call(this, schema, data) || { 97 meta: {}, 98 results: data 99 }; 100 101 this.get("host").fire("response", payload); 102 103 return new Y.Do.Halt("DataSourceJSONSchema plugin halted _defDataFn"); 104 } 105 }); 106 107 Y.namespace('Plugin').DataSourceJSONSchema = DataSourceJSONSchema; 108 109 110 }, '3.17.2', {"requires": ["datasource-local", "plugin", "dataschema-json"]});
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |