| 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.JsonProviderA base provider for communicating using JSON. This is an abstract classand 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>
 |