X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/docs/source/UserGrid.html diff --git a/docs/source/UserGrid.html b/docs/source/UserGrid.html new file mode 100644 index 00000000..bf3fffe9 --- /dev/null +++ b/docs/source/UserGrid.html @@ -0,0 +1,138 @@ + + + The source code + + + + +
Ext.ns('App', 'App.user');
+
/** + * App.user.Grid + * A typical EditorGridPanel extension. + */ +App.user.Grid = Ext.extend(Ext.grid.EditorGridPanel, { + renderTo: 'user-grid', + iconCls: 'silk-grid', + frame: true, + title: 'Users', + height: 300, + width: 500, + style: 'margin-top: 10px', + + initComponent : function() { + + // typical viewConfig + this.viewConfig = { + forceFit: true + }; + + // relay the Store's CRUD events into this grid so these events can be conveniently listened-to in our application-code. + this.relayEvents(this.store, ['destroy', 'save', 'update']); + + // build toolbars and buttons. + this.tbar = this.buildTopToolbar(); + this.bbar = this.buildBottomToolbar(); + this.buttons = this.buildUI(); + + // super + App.user.Grid.superclass.initComponent.call(this); + }, + +
/** + * buildTopToolbar + */ + buildTopToolbar : function() { + return [{ + text: 'Add', + iconCls: 'silk-add', + handler: this.onAdd, + scope: this + }, '-', { + text: 'Delete', + iconCls: 'silk-delete', + handler: this.onDelete, + scope: this + }, '-']; + }, + +
/** + * buildBottomToolbar + */ + buildBottomToolbar : function() { + return ['@cfg:', '-', { + text: 'autoSave', + enableToggle: true, + pressed: true, + tooltip: 'When enabled, Store will execute Ajax requests as soon as a Record becomes dirty.', + toggleHandler: function(btn, pressed) { + this.store.autoSave = pressed; + }, + scope: this + }, '-', { + text: 'batch', + enableToggle: true, + pressed: true, + tooltip: 'When enabled, Store will batch all records for each type of CRUD verb into a single Ajax request.', + toggleHandler: function(btn, pressed) { + this.store.batch = pressed; + }, + scope: this + }, '-', { + text: 'writeAllFields', + enableToggle: true, + tooltip: 'When enabled, Writer will write *all* fields to the server -- not just those that changed.', + toggleHandler: function(btn, pressed) { + store.writer.writeAllFields = pressed; + }, + scope: this + }, '-']; + }, + +
/** + * buildUI + */ + buildUI : function() { + return [{ + text: 'Save', + iconCls: 'icon-save', + handler: this.onSave, + scope: this + }]; + }, + +
/** + * onSave + */ + onSave : function(btn, ev) { + this.store.save(); + }, + +
/** + * onAdd + */ + onAdd : function(btn, ev) { + var u = new this.store.recordType({ + first : '', + last: '', + email : '' + }); + this.stopEditing(); + this.store.insert(0, u); + this.startEditing(0, 1); + }, + +
/** + * onDelete + */ + onDelete : function(btn, ev) { + var index = this.getSelectionModel().getSelectedCell(); + if (!index) { + return false; + } + var rec = this.store.getAt(index[0]); + this.store.remove(rec); + } +}); +
+ + \ No newline at end of file