123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- Ext.require([
- 'Ext.grid.*',
- 'Ext.window.Window',
- 'Ext.container.Viewport',
- 'Ext.layout.container.Border',
- 'Ext.state.*',
- 'Ext.data.*'
- ]);
- Ext.define('Person', {
- extend: 'Ext.data.Model',
- fields: ['first', 'last', 'review', {
- name: 'age',
- type: 'int'
- }]
- });
- Ext.onReady(function(){
- // setup the state provider, all state information will be saved to a cookie
- Ext.state.Manager.setProvider(Ext.create('Ext.state.CookieProvider'));
- Ext.create('Ext.container.Viewport', {
- layout: {
- type: 'border',
- padding: '5'
- },
- items: [{
- region: 'north',
- styleHtmlContent: true,
- height: 150,
- bodyPadding: 5,
- split: true,
- html: [
- 'Between refreshes, the grid below will remember',
- '<ul>',
- '<li>The hidden state of the columns</li>',
- '<li>The width of the columns</li>',
- '<li>The order of the columns</li>',
- '<li>The sort state of the grid</li>',
- '</ul>'
- ].join(''),
- dockedItems: [{
- xtype: 'toolbar',
- items: [{
- text: 'Show window',
- handler: function(btn){
- Ext.create('Ext.window.Window', {
- width: 300,
- height: 300,
- x: 5,
- y: 5,
- title: 'State Window',
- maximizable: true,
- stateId: 'stateWindowExample',
- stateful: true,
- styleHtmlContent: true,
- bodyPadding: 5,
- html: [
- 'Between refreshes, this window will remember:',
- '<ul>',
- '<li>The width and height</li>',
- '<li>The x and y position</li>',
- '<li>The maximized and restore states</li>',
- '</ul>'
- ].join(''),
- listeners: {
- destroy: function(){
- btn.enable();
- }
- }
- }).show();
- btn.disable();
- }
- }]
- }]
- }, {
- bodyPadding: 5,
- region: 'west',
- title: 'Collapse/Width Panel',
- width: 200,
- stateId: 'statePanelExample',
- stateful: true,
- split: true,
- collapsible: true,
- html: [
- 'Between refreshes, this panel will remember:',
- '<ul>',
- '<li>The collapsed state</li>',
- '<li>The width</li>',
- '</ul>'
- ].join('')
- }, {
- region: 'center',
- stateful: true,
- stateId: 'stateGridExample',
- xtype: 'grid',
- store: Ext.create('Ext.data.Store', {
- model: 'Person',
- data: [{
- first: 'John',
- last: 'Smith',
- age: 32,
- review: 'Solid performance, needs to comment code more!'
- }, {
- first: 'Jane',
- last: 'Brown',
- age: 56,
- review: 'Excellent worker, has written over 100000 lines of code in 3 months. Deserves promotion.'
- }, {
- first: 'Kevin',
- last: 'Jones',
- age: 25,
- review: 'Insists on using one letter variable names for everything, lots of bugs introduced.'
- }, {
- first: 'Will',
- last: 'Zhang',
- age: 41,
- review: 'Average. Works at the pace of a snail but always produces reliable results.'
- }, {
- first: 'Sarah',
- last: 'Carter',
- age: 23,
- review: 'Only a junior, but showing a lot of promise. Coded a Javascript parser in Assembler, very neat.'
- }]
- }),
- columns: [{
- text: 'First Name',
- dataIndex: 'first'
- }, {
- text: 'Last Name',
- dataIndex: 'last'
- }, {
- text: 'Age',
- dataIndex: 'age'
- }, {
- flex: 1,
- text: 'Review',
- dataIndex: 'review'
- }]
- }]
- });
- });
|