123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>The source code</title>
- <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
- <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
- <style type="text/css">
- .highlight { display: block; background-color: #ddd; }
- </style>
- <script type="text/javascript">
- function highlight() {
- document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
- }
- </script>
- </head>
- <body onload="prettyPrint(); highlight();">
- <pre class="prettyprint lang-js"><span id='Ext-direct-JsonProvider'>/**
- </span> * @class Ext.direct.JsonProvider
- A base provider for communicating using JSON. This is an abstract class
- and should not be instanced directly.
- * @markdown
- * @abstract
- */
- Ext.define('Ext.direct.JsonProvider', {
- /* Begin Definitions */
- extend: 'Ext.direct.Provider',
- alias: 'direct.jsonprovider',
- uses: ['Ext.direct.ExceptionEvent'],
- /* End Definitions */
- <span id='Ext-direct-JsonProvider-method-parseResponse'> /**
- </span> * 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;
- },
- <span id='Ext-direct-JsonProvider-method-createEvents'> /**
- </span> * 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 = new Ext.direct.ExceptionEvent({
- data: e,
- xhr: response,
- code: Ext.direct.Manager.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;
- },
- <span id='Ext-direct-JsonProvider-method-createEvent'> /**
- </span> * 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);
- }
- });</pre>
- </body>
- </html>
|