| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 | Ext.require([    'Ext.direct.*',    'Ext.form.*',    'Ext.tip.QuickTipManager',    'Ext.layout.container.Accordion']);Ext.onReady(function(){        /*     * Notice that Direct requests will batch together if they occur     * within the enableBuffer delay period (in milliseconds).     * Slow the buffering down from the default of 10ms to 100ms     */    Ext.app.REMOTING_API.enableBuffer = 100;    Ext.direct.Manager.addProvider(Ext.app.REMOTING_API);        // provide feedback for any errors    Ext.tip.QuickTipManager.init();        var basicInfo = Ext.create('Ext.form.Panel', {        // configs for FormPanel        title: 'Basic Information',        border: false,        bodyPadding: 10,        // configs for BasicForm        api: {            // The server-side method to call for load() requests            load: Profile.getBasicInfo,            // The server-side must mark the submit handler as a 'formHandler'            submit: Profile.updateBasicInfo        },        // specify the order for the passed params        paramOrder: ['uid', 'foo'],        dockedItems: [{            dock: 'bottom',            xtype: 'toolbar',            ui: 'footer',            style: 'margin: 0 5px 5px 0;',            items: ['->', {                text: 'Submit',                handler: function(){                    basicInfo.getForm().submit({                        params: {                            foo: 'bar',                            uid: 34                        }                    });                }                  }]        }],        defaultType: 'textfield',        defaults: {            anchor: '100%'        },        items: [{            fieldLabel: 'Name',            name: 'name'        },{            fieldLabel: 'Email',            msgTarget: 'side',            name: 'email'        },{            fieldLabel: 'Company',            name: 'company'        }]    });        var phoneInfo = Ext.create('Ext.form.Panel', {        title: 'Phone Numbers',        border: false,        api: {            load: Profile.getPhoneInfo        },        bodyPadding: 10,        paramOrder: ['uid'],        defaultType: 'textfield',        defaults: {            anchor: '100%'        },        items: [{            fieldLabel: 'Office',            name: 'office'        },{            fieldLabel: 'Cell',            name: 'cell'        },{            fieldLabel: 'Home',            name: 'home'        }]    });        var locationInfo = Ext.create('Ext.form.Panel', {        title: 'Location Information',        border: false,        bodyPadding: 10,        api: {            load: Profile.getLocationInfo        },        paramOrder: ['uid'],        defaultType: 'textfield',        defaults: {            anchor: '100%'        },        items: [{            fieldLabel: 'Street',            name: 'street'        },{            fieldLabel: 'City',            name: 'city'        },{            fieldLabel: 'State',            name: 'state'        },{            fieldLabel: 'Zip',            name: 'zip'        }]    });        var accordion = Ext.create('Ext.panel.Panel', {        layout: 'accordion',        renderTo: Ext.getBody(),        title: 'My Profile',        width: 300,        height: 240,        items: [basicInfo, phoneInfo, locationInfo]    });        // load the forms (notice the load requests will get batched together)    basicInfo.getForm().load({        // pass 2 arguments to server side getBasicInfo method (len=2)        params: {            foo: 'bar',            uid: 34        }    });    phoneInfo.getForm().load({        params: {            uid: 5        }    });    // defer this request just to simulate the request not getting batched    // since it exceeds to configured buffer    Ext.Function.defer(function(){        locationInfo.getForm().load({            params: {                uid: 5            }        });    }, 200);    // rpc call    TestAction.doEcho('sample');});
 |