/ext-4.0.7/docs/source/Load.html
https://bitbucket.org/srogerf/javascript · HTML · 135 lines · 130 code · 5 blank · 0 comment · 0 complexity · d4d972e214c577221dd275b2bf7e3a54 MD5 · raw file
- <!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-form-action-Load'>/**
- </span> * @class Ext.form.action.Load
- * @extends Ext.form.action.Action
- * <p>A class which handles loading of data from a server into the Fields of an {@link Ext.form.Basic}.</p>
- * <p>Instances of this class are only created by a {@link Ext.form.Basic Form} when
- * {@link Ext.form.Basic#load load}ing.</p>
- * <p><u><b>Response Packet Criteria</b></u></p>
- * <p>A response packet <b>must</b> contain:
- * <div class="mdetail-params"><ul>
- * <li><b><code>success</code></b> property : Boolean</li>
- * <li><b><code>data</code></b> property : Object</li>
- * <div class="sub-desc">The <code>data</code> property contains the values of Fields to load.
- * The individual value object for each Field is passed to the Field's
- * {@link Ext.form.field.Field#setValue setValue} method.</div></li>
- * </ul></div>
- * <p><u><b>JSON Packets</b></u></p>
- * <p>By default, response packets are assumed to be JSON, so for the following form load call:<pre><code>
- var myFormPanel = new Ext.form.Panel({
- title: 'Client and routing info',
- items: [{
- fieldLabel: 'Client',
- name: 'clientName'
- }, {
- fieldLabel: 'Port of loading',
- name: 'portOfLoading'
- }, {
- fieldLabel: 'Port of discharge',
- name: 'portOfDischarge'
- }]
- });
- myFormPanel.{@link Ext.form.Panel#getForm getForm}().{@link Ext.form.Basic#load load}({
- url: '/getRoutingInfo.php',
- params: {
- consignmentRef: myConsignmentRef
- },
- failure: function(form, action) {
- Ext.Msg.alert("Load failed", action.result.errorMessage);
- }
- });
- </code></pre>
- * a <b>success response</b> packet may look like this:</p><pre><code>
- {
- success: true,
- data: {
- clientName: "Fred. Olsen Lines",
- portOfLoading: "FXT",
- portOfDischarge: "OSL"
- }
- }</code></pre>
- * while a <b>failure response</b> packet may look like this:</p><pre><code>
- {
- success: false,
- errorMessage: "Consignment reference not found"
- }</code></pre>
- * <p>Other data may be placed into the response for processing the {@link Ext.form.Basic Form}'s
- * callback or event handler methods. The object decoded from this JSON is available in the
- * {@link Ext.form.action.Action#result result} property.</p>
- */
- Ext.define('Ext.form.action.Load', {
- extend:'Ext.form.action.Action',
- requires: ['Ext.data.Connection'],
- alternateClassName: 'Ext.form.Action.Load',
- alias: 'formaction.load',
- type: 'load',
- <span id='Ext-form-action-Load-method-run'> /**
- </span> * @private
- */
- run: function() {
- Ext.Ajax.request(Ext.apply(
- this.createCallback(),
- {
- method: this.getMethod(),
- url: this.getUrl(),
- headers: this.headers,
- params: this.getParams()
- }
- ));
- },
- <span id='Ext-form-action-Load-method-onSuccess'> /**
- </span> * @private
- */
- onSuccess: function(response){
- var result = this.processResponse(response),
- form = this.form;
- if (result === true || !result.success || !result.data) {
- this.failureType = Ext.form.action.Action.LOAD_FAILURE;
- form.afterAction(this, false);
- return;
- }
- form.clearInvalid();
- form.setValues(result.data);
- form.afterAction(this, true);
- },
- <span id='Ext-form-action-Load-method-handleResponse'> /**
- </span> * @private
- */
- handleResponse: function(response) {
- var reader = this.form.reader,
- rs, data;
- if (reader) {
- rs = reader.read(response);
- data = rs.records && rs.records[0] ? rs.records[0].data : null;
- return {
- success : rs.success,
- data : data
- };
- }
- return Ext.decode(response.responseText);
- }
- });
- </pre>
- </body>
- </html>