| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | 
							- Ext.Loader.setConfig({
 
-     enabled: true
 
- });Ext.Loader.setPath('Ext.ux', '../ux');
 
- Ext.require([
 
-     'Ext.data.*',
 
-     'Ext.grid.*',
 
-     'Ext.tree.*',
 
-     'Ext.ux.CheckColumn'
 
- ]);
 
- Ext.onReady(function() {
 
-     Ext.QuickTips.init();
 
-     //we want to setup a model and store instead of using dataUrl
 
-     Ext.define('Task', {
 
-         extend: 'Ext.data.Model',
 
-         fields: [
 
-             {name: 'task',     type: 'string'},
 
-             {name: 'user',     type: 'string'},
 
-             {name: 'duration', type: 'string'},
 
-             {name: 'done',     type: 'boolean'}
 
-         ]
 
-     });
 
-     var store = Ext.create('Ext.data.TreeStore', {
 
-         model: 'Task',
 
-         proxy: {
 
-             type: 'ajax',
 
-             //the store will get the content from the .json file
 
-             url: 'treegrid.json'
 
-         },
 
-         folderSort: true
 
-     });
 
-     //Ext.ux.tree.TreeGrid is no longer a Ux. You can simply use a tree.TreePanel
 
-     var tree = Ext.create('Ext.tree.Panel', {
 
-         title: 'Core Team Projects',
 
-         width: 500,
 
-         height: 300,
 
-         renderTo: Ext.getBody(),
 
-         collapsible: true,
 
-         useArrows: true,
 
-         rootVisible: false,
 
-         store: store,
 
-         multiSelect: true,
 
-         singleExpand: true,
 
-         //the 'columns' property is now 'headers'
 
-         columns: [{
 
-             xtype: 'treecolumn', //this is so we know which column will show the tree
 
-             text: 'Task',
 
-             flex: 2,
 
-             sortable: true,
 
-             dataIndex: 'task'
 
-         },{
 
-             //we must use the templateheader component so we can use a custom tpl
 
-             xtype: 'templatecolumn',
 
-             text: 'Duration',
 
-             flex: 1,
 
-             sortable: true,
 
-             dataIndex: 'duration',
 
-             align: 'center',
 
-             //add in the custom tpl for the rows
 
-             tpl: Ext.create('Ext.XTemplate', '{duration:this.formatHours}', {
 
-                 formatHours: function(v) {
 
-                     if (v < 1) {
 
-                         return Math.round(v * 60) + ' mins';
 
-                     } else if (Math.floor(v) !== v) {
 
-                         var min = v - Math.floor(v);
 
-                         return Math.floor(v) + 'h ' + Math.round(min * 60) + 'm';
 
-                     } else {
 
-                         return v + ' hour' + (v === 1 ? '' : 's');
 
-                     }
 
-                 }
 
-             })
 
-         },{
 
-             text: 'Assigned To',
 
-             flex: 1,
 
-             dataIndex: 'user',
 
-             sortable: true
 
-         }, {
 
-             xtype: 'checkcolumn',
 
-             header: 'Done',
 
-             dataIndex: 'done',
 
-             width: 40,
 
-             stopSelection: false
 
-         }, {
 
-             text: 'Edit',
 
-             width: 40,
 
-             menuDisabled: true,
 
-             xtype: 'actioncolumn',
 
-             tooltip: 'Edit task',
 
-             align: 'center',
 
-             icon: '../simple-tasks/resources/images/edit_task.png',
 
-             handler: function(grid, rowIndex, colIndex, actionItem, event, record, row) {
 
-                 Ext.Msg.alert('Editing' + (record.get('done') ? ' completed task' : '') , record.get('task'));
 
-             }
 
-         }]
 
-     });
 
- });
 
 
  |