/source/Plug-in/ext/editable-column-tree.js
http://prosporous.googlecode.com/ · JavaScript · 209 lines · 208 code · 1 blank · 0 comment · 20 complexity · 397838af9091c97d6ef8b6212a08e853 MD5 · raw file
- Ext.onReady(function()
- {
- var root = new Ext.tree.AsyncTreeNode({
- id:'0',
- text:'?'});
- var store = new Ext.data.SimpleStore(
- {fields:['report'],
- data:[['Pasry'],['Pasents']]
- });
-
- var combo_config =
- {
- id: 'chart_combo_list',
- store: store,
- displayField: 'report',
- xtype: 'combo',
- mode: 'local',
- triggerAction: 'all',
- width: 100,
- emptyText: 'Please select report type..',
- selectOnFocus: true
- };
- var tree = new Ext.tree.ColumnTree(
- {
- id: 'tree',
- region:'center',
- rootVisible: false,
- autoScroll: true,
- expandable: false,
- enableDD: true,
- title:false,
- tbar:
- [
- {
- text: '??',
- tooltip: '??',
- listeners:
- {
- 'click': function()
- {
- var json = tree.toJsonString(null, function(key, val)
- {
- return (key == 'leaf' || key == 'id' || key == 'task' || key == 'user');
- },
- {
- menu_item: 'task',
- menu_url: 'user'
- });
- alert(json);
- },
- scope: this
- }
- },'-',
- {
- text: '?????',
- tooltip: '?????',
- listeners:
- {
- 'click': function()
- {
- var selectedItem = tree.getSelectionModel().getSelectedNode();
- if (! selectedItem)
- {
- selectedItem = tree.getRootNode();
- }
- handleCreate = function (btn, text, cBoxes)
- {
- if (btn == 'ok' && text)
- {
- var newNode = new Ext.tree.TreeNode(
- {
- menu_item: text,
- menu_url: '',
- leaf: false,
- expandable: true,
- uiProvider: Ext.tree.ColumnNodeUI
- });
- if (selectedItem.isLeaf())
- {
- selectedItem.parentNode.insertBefore(newNode, selectedItem.nextSibling);
- }
- else
- {
- selectedItem.insertBefore(newNode, selectedItem.firstChild);
- }
- }
- }
- Ext.MessageBox.show(
- {
- title: '???????',
- msg: '?????:',
- buttons: Ext.MessageBox.OKCANCEL,
- prompt: true,
- fn: handleCreate
- });
- }
- }
- },'-',
- {
- text: '????',
- tooltip: '????',
- listeners:
- {
- 'click': function()
- {
- var selectedItem = tree.getSelectionModel().getSelectedNode();
- if (!selectedItem)
- {
- Ext.Msg.alert('??', '??????');
- return false;
- }
- handleCreate = function (btn, text, cBoxes)
- {
- if (btn == 'ok' && text)
- {
- var newNode = new Ext.tree.TreeNode(
- {
- menu_item: text,
- menu_url: '',
- leaf: true,
- allowChildren: false,
- uiProvider: Ext.tree.ColumnNodeUI
- });
- if (selectedItem.isLeaf())
- {
- selectedItem.parentNode.insertBefore(newNode, selectedItem.nextSibling);
- }
- else
- {
- selectedItem.insertBefore(newNode, selectedItem.firstChild);
- }
- }
- }
- Ext.MessageBox.show(
- {
- title: '??????',
- msg: '????:',
- buttons: Ext.MessageBox.OKCANCEL,
- prompt: true,
- fn: handleCreate
- });
- }
- }
- },'-',
- {
- text: '??????',
- tooltip: '??????',
- listeners:
- {
- 'click': function()
- {
- var selectedItem = tree.getSelectionModel().getSelectedNode();
- if (!selectedItem)
- {
- Ext.Msg.alert('??', '???????');
- return false;
- }
- handleDelete = function (btn)
- {
- if (btn == 'ok')
- {
- selectedItem.remove();
- }
- }
- Ext.MessageBox.show(
- {
- title: '???',
- msg: '????',
- buttons: Ext.MessageBox.OKCANCEL,
- fn: handleDelete
- });
- }
- }
- },'-'
- ],
- columns:
- [
- {
- header: '????',
- width: 200,
- dataIndex: 'task'
- },
- {
- header: '???',
- width: 150,
- dataIndex: 'duration'
- },
- {
- header: '??',
- width: 120,
- dataIndex: 'user'
- },is_show
- ],
- loader: new Ext.tree.TreeLoader({
- dataUrl:'web_config.php?require=tree',
- uiProviders:{
- 'col': Ext.tree.ColumnNodeUI
- }
- }),
- root: root
- });
- tree.expandAll();
- var viewport = new Ext.Viewport({
- layout:'border',
- items : [
- tree
- ]
- });
- });