Цитата:
|
да нет написал так как в последнем примере,
а isset использовал потому, что не мог понять почему не if(node.error) не срабатывает, а оказалось такая конитель. кстати в IE 6 что то не срабатывает у вас на форуме, толи стили не подгружаются толи с js какой то косяк. |
Цитата:
|
scuter,
Если еще осталась проблема, пожалуйста, опиши её максимально подробно, так как сейчас - ничего не понятно. |
я её максимально понятно описал,
остаётся только код полностью выложить(но он слишком большой для этого), Андрей Параничев, ты наверное прав ext наверное запускается в этом режиме так как функцию я объявляю внутри Ext.onReady примерно так, Ext.onReady(function(){ var TreePanetEdit = function(box) { if(box) { alert(box); } else { alert('nexus'); } } }); |
Так, давайте по порядку :)
Что вы хотите, просто заменить функцию onReady объекта/класса Ext? Или хотите чтоб в коде Ext.onReady(function(){ var TreePanetEdit = function(box) { if(box) { alert(box); } else { alert('nexus'); } } }); Функцию TreePanetEdit можно было запускать откуда угодно? Я просто не знаю как сделан код Ext (вряд ли с полной инкапсуляцией), в любом случае достаточно, чтобы функция при onLoad видела другие функции, так как весь исполнительный код помещать в событие onLoad не обязательно - только вызов определённых методов. Или я опять неправильно вас понял? :) |
у сейчас там есть такой код,
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');}, |
хм, кажется все таки непонятно объяснил,
есть два объекта, Ext.onReady(function(){ var table = 'kjsfdgjkdjfh'; 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 page = new (function(){ this.TreeNodeAdd = function() { alert(table); } this.TreeNodeUp = function() { } this.TreeNodeDown = function() { } this.TreeNodeRename = function() { } this.TreeNodeDelete = function() { } this.TreeReplace = function() { } ...... })(); ну тук вот я не понимаю почему функция не видит переменную table, скажите как сделать так, что бы видела. |
Ext.onReady(function(){ table = 'kjsfdgjkdjfh'; 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 page = new (function(){ this.TreeNodeAdd = function() { alert(table); } this.TreeNodeUp = function() { } this.TreeNodeDown = function() { } this.TreeNodeRename = function() { } this.TreeNodeDelete = function() { } this.TreeReplace = function() { } ...... })(); |
Андрей Параничев,
это шутка? |
Часовой пояс GMT +3, время: 18:03. |