~michael.nelson/ubuntu-webcatalog/1267731-import-sca-apps-error

« back to all changes in this revision

Viewing changes to src/webcatalog/static/yui/3.10.3/build/datasource-arrayschema/datasource-arrayschema.js

  • Committer: Tarmac
  • Author(s): Stephen Stewart
  • Date: 2013-06-26 09:19:32 UTC
  • mfrom: (184.1.4 ubuntu-global-nav)
  • Revision ID: tarmac-20130626091932-8urtuli368k8p7ds
[r=beuno,jonas-drange] add ubuntu global nav to apps.ubuntu.com

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
YUI 3.10.3 (build 2fb5187)
 
3
Copyright 2013 Yahoo! Inc. All rights reserved.
 
4
Licensed under the BSD License.
 
5
http://yuilibrary.com/license/
 
6
*/
 
7
 
 
8
YUI.add('datasource-arrayschema', function (Y, NAME) {
 
9
 
 
10
/**
 
11
 * Extends DataSource with schema-parsing on array data.
 
12
 *
 
13
 * @module datasource
 
14
 * @submodule datasource-arrayschema
 
15
 */
 
16
 
 
17
/**
 
18
 * Adds schema-parsing to the DataSource Utility.
 
19
 * @class DataSourceArraySchema
 
20
 * @extends Plugin.Base
 
21
 */    
 
22
var DataSourceArraySchema = function() {
 
23
    DataSourceArraySchema.superclass.constructor.apply(this, arguments);
 
24
};
 
25
 
 
26
Y.mix(DataSourceArraySchema, {
 
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 "dataSourceArraySchema"
 
47
     */
 
48
    NAME: "dataSourceArraySchema",
 
49
 
 
50
    /////////////////////////////////////////////////////////////////////////////
 
51
    //
 
52
    // DataSourceArraySchema Attributes
 
53
    //
 
54
    /////////////////////////////////////////////////////////////////////////////
 
55
 
 
56
    ATTRS: {
 
57
        schema: {
 
58
            //value: {}
 
59
        }
 
60
    }
 
61
});
 
62
 
 
63
Y.extend(DataSourceArraySchema, 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.
 
77
     *
 
78
     * @method _beforeDefDataFn
 
79
     * @param tId {Number} Unique transaction ID.
 
80
     * @param request {Object} The request.
 
81
     * @param callback {Object} The callback object with the following properties:
 
82
     *     <dl>
 
83
     *         <dt>success (Function)</dt> <dd>Success handler.</dd>
 
84
     *         <dt>failure (Function)</dt> <dd>Failure handler.</dd>
 
85
     *     </dl>
 
86
     * @param data {Object} Raw data.
 
87
     * @protected
 
88
     */
 
89
    _beforeDefDataFn: function(e) {
 
90
        var data = (Y.DataSource.IO && (this.get("host") instanceof Y.DataSource.IO) && Y.Lang.isString(e.data.responseText)) ? e.data.responseText : e.data,
 
91
            response = Y.DataSchema.Array.apply.call(this, this.get("schema"), data),
 
92
            payload = e.details[0];
 
93
            
 
94
        // Default
 
95
        if (!response) {
 
96
            response = {
 
97
                meta: {},
 
98
                results: data
 
99
            };
 
100
        }
 
101
        
 
102
        payload.response = response;
 
103
 
 
104
        this.get("host").fire("response", payload);
 
105
 
 
106
        return new Y.Do.Halt("DataSourceArraySchema plugin halted _defDataFn");
 
107
    }
 
108
});
 
109
    
 
110
Y.namespace('Plugin').DataSourceArraySchema = DataSourceArraySchema;
 
111
 
 
112
 
 
113
}, '3.10.3', {"requires": ["datasource-local", "plugin", "dataschema-array"]});