Version 3.17.2

APIs

  • Begin typing in the search box above to see results.
Show:

File: yql/js/yql.js

/**
 * This class adds a sugar class to allow access to YQL (http://developer.yahoo.com/yql/).
 * @module yql
 */
/**
 * Utility Class used under the hood by the YQL class
 * @class YQLRequest
 * @constructor
 * @param {String} sql The SQL statement to execute
 * @param {Function/Object} callback The callback to execute after the query (Falls through to JSONP).
 * @param {Object} params An object literal of extra parameters to pass along (optional).
 * @param {Object} opts An object literal of configuration options (optional): proto (http|https), base (url)
 */
var YQLRequest = function (sql, callback, params, opts) {
 if (!params) {
 params = {};
 }
 params.q = sql;
 //Allow format override.. JSON-P-X
 if (!params.format) {
 params.format = Y.YQLRequest.FORMAT;
 }
 if (!params.env) {
 params.env = Y.YQLRequest.ENV;
 }
 this._context = this;
 if (opts && opts.context) {
 this._context = opts.context;
 delete opts.context;
 }
 if (params && params.context) {
 this._context = params.context;
 delete params.context;
 }
 this._params = params;
 this._opts = opts;
 this._callback = callback;
};
YQLRequest.prototype = {
 /**
 * @private
 * @property _jsonp
 * @description Reference to the JSONP instance used to make the queries
 */
 _jsonp: null,
 /**
 * @private
 * @property _opts
 * @description Holder for the opts argument
 */
 _opts: null,
 /**
 * @private
 * @property _callback
 * @description Holder for the callback argument
 */
 _callback: null,
 /**
 * @private
 * @property _params
 * @description Holder for the params argument
 */
 _params: null,
 /**
 * @private
 * @property _context
 * @description The context to execute the callback in
 */
 _context: null,
 /**
 * @private
 * @method _internal
 * @description Internal Callback Handler
 */
 _internal: function () {
 this._callback.apply(this._context, arguments);
 },
 /**
 * @method send
 * @description The method that executes the YQL Request.
 * @chainable
 * @return {YQLRequest}
 */
 send: function () {
 var qs = [], url = ((this._opts && this._opts.proto) ? this._opts.proto : Y.YQLRequest.PROTO), o;
 Y.Object.each(this._params, function (v, k) {
 qs.push(k + '=' + encodeURIComponent(v));
 });
 qs = qs.join('&');
 url += ((this._opts && this._opts.base) ? this._opts.base : Y.YQLRequest.BASE_URL) + qs;
 o = (!Y.Lang.isFunction(this._callback)) ? this._callback : { on: { success: this._callback } };
 o.on = o.on || {};
 this._callback = o.on.success;
 o.on.success = Y.bind(this._internal, this);
 Y.log('URL: ' + url, 'info', 'yql');
 this._send(url, o);
 return this;
 },
 /**
 * Private method to send the request, overwritten in plugins
 * @method _send
 * @private
 * @param {String} url The URL to request
 * @param {Object} o The config object
 */
 _send: function() {
 //Overwritten in plugins
 }
};
/**
* @static
* @property FORMAT
* @description Default format to use: json
*/
YQLRequest.FORMAT = 'json';
/**
* @static
* @property PROTO
* @description Default protocol to use: http
*/
YQLRequest.PROTO = 'http';
/**
* @static
* @property BASE_URL
* @description The base URL to query: query.yahooapis.com/v1/public/yql?
*/
YQLRequest.BASE_URL = ':/' + '/query.yahooapis.com/v1/public/yql?';
/**
* @static
* @property ENV
* @description The environment file to load: http://datatables.org/alltables.env
*/
YQLRequest.ENV = 'http:/' + '/datatables.org/alltables.env';
Y.YQLRequest = YQLRequest;
/**
 * This class adds a sugar class to allow access to YQL (http://developer.yahoo.com/yql/).
 * @class YQL
 * @constructor
 * @param {String} sql The SQL statement to execute
 * @param {Function} callback The callback to execute after the query (optional).
 * @param {Object} params An object literal of extra parameters to pass along (optional).
 * @param {Object} opts An object literal of configuration options (optional): proto (http|https), base (url)
 */
Y.YQL = function (sql, callback, params, opts) {
 return new Y.YQLRequest(sql, callback, params, opts).send();
};
 

AltStyle によって変換されたページ (->オリジナル) /