Показать сообщение отдельно
  #17 (permalink)  
Старый 18.03.2008, 19:07
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

у сейчас там есть такой код,
Ext.onReady(function(){
	var TreeNodeAdd = page.TreeNodeAdd;
	var TreeNodeMove = page.TreeNodeMove;
	var TreeNodeRename = page.TreeNodeRename;
	var TreeNodeDelete = page.TreeNodeDelete
	var TreeNodeBeforeStartEdit = page.TreeNodeBeforeStartEdit;
	var TreeNodeUrl = page.TreeNodeUrl;
	var TabAdd = page.TabAdd;
	var TreePanetEdit = function(bottom)
    {
    	if((bottom == 'Add') || (bottom == 'AddChild'))
    	{
	    	NodeSelect = tree.getSelectionModel().getSelectedNode();
	    	if(bottom == 'Add')
	    	{
	    		NodeEdit = NodeSelect;
	    	}
	    	else
	    	{
	    		NodeEdit = NodeSelect.parentNode;
	    	}
	    	node = NodeChild = TreeNodeAdd(NodeEdit);
	    	if(NodeChild.add)
			{
	    		Child = new Ext.tree.TreeNode(NodeChild.add);
	    		NodeEdit.appendChild(Child);
			}
    	}
    	else if(bottom == 'TreeNodeUp')
    	{
    		node = TreeNodeMove('Up');
    		if(!node.error)
    		{
    			tree.loader.load(tree.root);
    		}
    	}
    	else if(bottom == 'TreeNodeDown')
    	{
    		node = TreeNodeMove('Down');
    		if(!node.error)
    		{
    			tree.loader.load(tree.root);
    		}
    	}
    	else if(bottom == 'TreeNodeDelete')
    	{
    		node = tree.getSelectionModel().getSelectedNode();
    		node = TreeNodeDelete(node);
    		if(!node.error)
    		{
    			tree.loader.load(tree.root);
    		}
    	}
    	if(node)
    	{
    		if(node.error)
	    	{
	    		if(isset('node.error.title') && isset('node.error.text'))
	    		{
	    			Ext.MessageBox.show({
						title: node.error.title,
						msg: node.error.text,
						buttons: Ext.MessageBox.OK,
						icon: 'error'
					});
	    		}
	    	}
	    	else if(node.msg)
	    	{
	    		if(node.msg.title && node.msg.text)
	    		{
	    			Ext.MessageBox.show({
						title: node.msg.title,
						msg: node.msg.text,
						buttons: Ext.MessageBox.OK,
						icon: 'info'
					});
	    		}
	    	}
    	}
    }
var TreeToolbar = new Ext.Toolbar({
		cls:'TreeToolbar',
		items:[
		{
	        id:'add',
	        iconCls:'add',
	        handler:function(){TreePanetEdit('Add');},
	        tooltip:'Добавить сраницу.'
	    }, {
	        id:'add_p',
	        iconCls:'plugin_add',
	        handler:function(){TreePanetEdit('AddChild')},
	        tooltip:'Добавить подстраницу.'
	    },'-',{
	    	id:'up',
	        iconCls:'arrow-up',
	        handler:function(){TreePanetEdit('TreeNodeUp')},
	        tooltip:'переместить выше.'
	    },{
	    	id:'down',
	        iconCls:'arrow-down',
	        handler:function(){TreePanetEdit('TreeNodeDown')},
	        tooltip:'переместить ниже.'
	    },'-',{
	        id:'remove',
	        iconCls:'delete',
	        handler:function(){TreePanetEdit('TreeNodeDelete')},
	        tooltip:'Удалить страницу'
	    }
	    ]
    });
    var TreeToolbarMap = TreeToolbar.items.map;
});
var page = new (function(){
	this.TreeNodeAdd = function()
	{
		
	}
	this.TreeNodeUp = function()
	{
		
	}
	this.TreeNodeDown = function()
	{
		
	}
	this.TreeNodeRename = function()
	{
		
	}
	this.TreeNodeDelete = function()
	{
		
	}
	this.TreeReplace = function()
	{
		
	}
	this.TreeNodeBeforeStartEdit = function()
	{
		
	}
	this.TreeNodeUrl = '/admin/src/page_tree_menu:content';
	this.TabAdd = function()
	{
		
	}
})();

раньше когда я перекидывал функции из page в onReady
функции не видели переменных которые были в onReady
пока возился приключился косяк функции начали выполняться один раз при запуску а потом не использовались,
но это дело я обошёл только вот не понял почему надо писать так
handler:function(){TreePanetEdit('Add');},
Ответить с цитированием