X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/25ef3491bd9ae007ff1fc2b0d7943e6eaaccf775..HEAD:/docs/source/JsonProvider.html diff --git a/docs/source/JsonProvider.html b/docs/source/JsonProvider.html index 6a7f237e..96e8b20d 100644 --- a/docs/source/JsonProvider.html +++ b/docs/source/JsonProvider.html @@ -1,54 +1,102 @@ + + The source code - - + + + + - -
/*!
- * Ext JS Library 3.0.3
- * Copyright(c) 2006-2009 Ext JS, LLC
- * licensing@extjs.com
- * http://www.extjs.com/license
+
+  
/**
+ * @class Ext.direct.JsonProvider
+ * @extends Ext.direct.Provider
+
+A base provider for communicating using JSON. This is an abstract class
+and should not be instanced directly.
+
+ * @markdown
+ * @abstract
  */
-
/** - * @class Ext.direct.JsonProvider - * @extends Ext.direct.Provider - */ -Ext.direct.JsonProvider = Ext.extend(Ext.direct.Provider, { - parseResponse: function(xhr){ - if(!Ext.isEmpty(xhr.responseText)){ - if(typeof xhr.responseText == 'object'){ - return xhr.responseText; - } - return Ext.decode(xhr.responseText); - } - return null; - }, - - getEvents: function(xhr){ - var data = null; - try{ - data = this.parseResponse(xhr); - }catch(e){ - var event = new Ext.Direct.ExceptionEvent({ - data: e, - xhr: xhr, - code: Ext.Direct.exceptions.PARSE, - message: 'Error parsing json response: \n\n ' + data - }) - return [event]; - } - var events = []; - if(Ext.isArray(data)){ - for(var i = 0, len = data.length; i < len; i++){ - events.push(Ext.Direct.createEvent(data[i])); - } - }else{ - events.push(Ext.Direct.createEvent(data)); - } - return events; - } + +Ext.define('Ext.direct.JsonProvider', { + + /* Begin Definitions */ + + extend: 'Ext.direct.Provider', + + alias: 'direct.jsonprovider', + + uses: ['Ext.direct.ExceptionEvent'], + + /* End Definitions */ + + /** + * Parse the JSON response + * @private + * @param {Object} response The XHR response object + * @return {Object} The data in the response. + */ + parseResponse: function(response){ + if (!Ext.isEmpty(response.responseText)) { + if (Ext.isObject(response.responseText)) { + return response.responseText; + } + return Ext.decode(response.responseText); + } + return null; + }, + + /** + * Creates a set of events based on the XHR response + * @private + * @param {Object} response The XHR response + * @return {Ext.direct.Event[]} An array of Ext.direct.Event + */ + createEvents: function(response){ + var data = null, + events = [], + event, + i = 0, + len; + + try{ + data = this.parseResponse(response); + } catch(e) { + event = Ext.create('Ext.direct.ExceptionEvent', { + data: e, + xhr: response, + code: Ext.direct.Manager.self.exceptions.PARSE, + message: 'Error parsing json response: \n\n ' + data + }); + return [event]; + } + + if (Ext.isArray(data)) { + for (len = data.length; i < len; ++i) { + events.push(this.createEvent(data[i])); + } + } else { + events.push(this.createEvent(data)); + } + return events; + }, + + /** + * Create an event from a response object + * @param {Object} response The XHR response object + * @return {Ext.direct.Event} The event + */ + createEvent: function(response){ + return Ext.create('direct.' + response.type, response); + } });
- \ No newline at end of file +