~veebers/sloecode/jquery-changeover

« back to all changes in this revision

Viewing changes to sloecode/public/yui/3.3.0/build/datasource/datasource-io-debug.js

  • Committer: Christopher Lee
  • Date: 2012-03-03 05:04:34 UTC
  • Revision ID: veebers@gmail.com-20120303050434-smeo0c6n7gz53thy
Removed unused YUI javascript (still using css libraries)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
 
Code licensed under the BSD License:
4
 
http://developer.yahoo.com/yui/license.html
5
 
version: 3.3.0
6
 
build: 3167
7
 
*/
8
 
YUI.add('datasource-io', function(Y) {
9
 
 
10
 
/**
11
 
 * Provides a DataSource implementation which can be used to retrieve data via the IO Utility.
12
 
 *
13
 
 * @module datasource
14
 
 * @submodule datasource-io
15
 
 */
16
 
 
17
 
/**
18
 
 * IO subclass for the DataSource Utility.
19
 
 * @class DataSource.IO
20
 
 * @extends DataSource.Local
21
 
 * @constructor
22
 
 */    
23
 
var DSIO = function() {
24
 
    DSIO.superclass.constructor.apply(this, arguments);
25
 
};
26
 
    
27
 
 
28
 
    /////////////////////////////////////////////////////////////////////////////
29
 
    //
30
 
    // DataSource.IO static properties
31
 
    //
32
 
    /////////////////////////////////////////////////////////////////////////////
33
 
Y.mix(DSIO, {
34
 
    /**
35
 
     * Class name.
36
 
     *
37
 
     * @property NAME
38
 
     * @type String
39
 
     * @static     
40
 
     * @final
41
 
     * @value "dataSourceIO"
42
 
     */
43
 
    NAME: "dataSourceIO",
44
 
 
45
 
 
46
 
    /////////////////////////////////////////////////////////////////////////////
47
 
    //
48
 
    // DataSource.IO Attributes
49
 
    //
50
 
    /////////////////////////////////////////////////////////////////////////////
51
 
 
52
 
    ATTRS: {
53
 
        /**
54
 
         * Pointer to IO Utility.
55
 
         *
56
 
         * @attribute io
57
 
         * @type Y.io
58
 
         * @default Y.io
59
 
         */
60
 
        io: {
61
 
            value: Y.io,
62
 
            cloneDefaultValue: false
63
 
        },
64
 
        
65
 
        /**
66
 
         * Default IO Config.
67
 
         *
68
 
         * @attribute ioConfig
69
 
         * @type Object
70
 
         * @default null
71
 
         */
72
 
         ioConfig: {
73
 
                value: null
74
 
         }
75
 
    }
76
 
});
77
 
    
78
 
Y.extend(DSIO, Y.DataSource.Local, {
79
 
    /**
80
 
    * Internal init() handler.
81
 
    *
82
 
    * @method initializer
83
 
    * @param config {Object} Config object.
84
 
    * @private
85
 
    */
86
 
    initializer: function(config) {
87
 
        this._queue = {interval:null, conn:null, requests:[]};
88
 
    },
89
 
 
90
 
    /**
91
 
    * IO success callback.
92
 
    *
93
 
    * @method successHandler
94
 
    * @param id {String} Transaction ID.
95
 
    * @param response {String} Response.
96
 
    * @param e {Event.Facade} Event facade.
97
 
    * @private
98
 
    */
99
 
    successHandler: function (id, response, e) {
100
 
        var defIOConfig = this.get("ioConfig");
101
 
 
102
 
        delete Y.DataSource.Local.transactions[e.tId];
103
 
 
104
 
        this.fire("data", Y.mix({data:response}, e));
105
 
        Y.log("Received IO data response for \"" + e.request + "\"", "info", "datasource-io");
106
 
        if (defIOConfig && defIOConfig.on && defIOConfig.on.success) {
107
 
                defIOConfig.on.success.apply(defIOConfig.context || Y, arguments);
108
 
        }
109
 
    },
110
 
 
111
 
    /**
112
 
    * IO failure callback.
113
 
    *
114
 
    * @method failureHandler
115
 
    * @param id {String} Transaction ID.
116
 
    * @param response {String} Response.
117
 
    * @param e {Event.Facade} Event facade.
118
 
    * @private
119
 
    */
120
 
    failureHandler: function (id, response, e) {
121
 
        var defIOConfig = this.get("ioConfig");
122
 
        
123
 
        delete Y.DataSource.Local.transactions[e.tId];
124
 
 
125
 
        e.error = new Error("IO data failure");
126
 
        Y.log("IO data failure", "error", "datasource-io");
127
 
        this.fire("data", Y.mix({data:response}, e));
128
 
        Y.log("Received IO data failure for \"" + e.request + "\"", "info", "datasource-io");
129
 
        if (defIOConfig && defIOConfig.on && defIOConfig.on.failure) {
130
 
                defIOConfig.on.failure.apply(defIOConfig.context || Y, arguments);
131
 
        }
132
 
    },
133
 
    
134
 
    /**
135
 
    * @property _queue
136
 
    * @description Object literal to manage asynchronous request/response
137
 
    * cycles enabled if queue needs to be managed (asyncMode/ioConnMode):
138
 
    * <dl>
139
 
    *     <dt>interval {Number}</dt>
140
 
    *         <dd>Interval ID of in-progress queue.</dd>
141
 
    *     <dt>conn</dt>
142
 
    *         <dd>In-progress connection identifier (if applicable).</dd>
143
 
    *     <dt>requests {Object[]}</dt>
144
 
    *         <dd>Array of queued request objects: {request:request, callback:callback}.</dd>
145
 
    * </dl>
146
 
    * @type Object
147
 
    * @default {interval:null, conn:null, requests:[]}
148
 
    * @private
149
 
    */
150
 
    _queue: null,
151
 
 
152
 
    /**
153
 
     * Passes query string to IO. Fires <code>response</code> event when
154
 
     * response is received asynchronously.
155
 
     *
156
 
     * @method _defRequestFn
157
 
     * @param e {Event.Facade} Event Facade with the following properties:
158
 
     * <dl>
159
 
     * <dt>tId (Number)</dt> <dd>Unique transaction ID.</dd>
160
 
     * <dt>request (Object)</dt> <dd>The request.</dd>
161
 
     * <dt>callback (Object)</dt> <dd>The callback object with the following properties:
162
 
     *     <dl>
163
 
     *         <dt>success (Function)</dt> <dd>Success handler.</dd>
164
 
     *         <dt>failure (Function)</dt> <dd>Failure handler.</dd>
165
 
     *     </dl>
166
 
     * </dd>
167
 
     * <dt>cfg (Object)</dt> <dd>Configuration object.</dd>
168
 
     * </dl>
169
 
     * @protected
170
 
     */
171
 
    _defRequestFn: function(e) {
172
 
        var uri = this.get("source"),
173
 
            io = this.get("io"),
174
 
            defIOConfig = this.get("ioConfig"),
175
 
            request = e.request,
176
 
            cfg = Y.merge(defIOConfig, e.cfg, {
177
 
                on: Y.merge(defIOConfig, {
178
 
                    success: this.successHandler,
179
 
                    failure: this.failureHandler
180
 
                }),
181
 
                context: this,
182
 
                "arguments": e
183
 
            });
184
 
        
185
 
        // Support for POST transactions
186
 
        if(Y.Lang.isString(request)) {
187
 
            if(cfg.method && (cfg.method.toUpperCase() === "POST")) {
188
 
                cfg.data = cfg.data ? cfg.data+request : request;
189
 
            }
190
 
            else {
191
 
                uri += request;
192
 
            }
193
 
        }
194
 
        Y.DataSource.Local.transactions[e.tId] = io(uri, cfg);
195
 
        return e.tId;
196
 
    }
197
 
});
198
 
  
199
 
Y.DataSource.IO = DSIO;
200
 
 
201
 
 
202
 
 
203
 
}, '3.3.0' ,{requires:['datasource-local', 'io-base']});