src/cm/media/js/lib/yui/yui3-3.15.0/build/yql-winjs/yql-winjs.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 602 e16a97fb364a
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('yql-winjs', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
* WinJS plugin for YQL to use native XHR to make requests instead of JSONP.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
* Not required by the user, it's conditionally loaded and should "just work".
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
* @module yql
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
* @submodule yql-winjs
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
//Over writes Y.YQLRequest._send to use IO instead of JSONP
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
Y.YQLRequest.prototype._send = function (url, o) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
    var req = new XMLHttpRequest(),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
        timer;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
    req.open('GET', url, true);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
    req.onreadystatechange = function () {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
        if (req.readyState === 4) { //Complete
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
            //No status code check here, since the YQL service will return JSON
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
            clearTimeout(timer);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
            //No need to "call" this, YQL handles the context
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
            o.on.success(JSON.parse(req.responseText));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
    req.send();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
    //Simple timer to catch no connections
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
    timer = setTimeout(function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
        req.abort();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
        o.on.timeout('script timeout');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
    }, o.timeout || 30000);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
}, '@VERSION@');