code:
window.combox_search_where = new Ext.form.ComboBox({
typeAhead: true,
lazyRender:true,
fieldLabel: 'Где',
forceSelection: true,
triggerClass: 'arrow_start',
style: 'margin-left:-70px;margin-top:20px;',
width: 270,
labelStyle: 'font-weight:bold;text-align:left;padding-top:20px;padding-left:0px;width:55px;',
store:new Ext.data.SimpleStore({fields:[],data:[[]]}),
editable:false,
mode: 'local',
resizable: true,
triggerAction:'all',
tpl: '<tpl for="."><div style="height:200px"><div id="search_tree1"></div></div></tpl>',
});
window.search_tree1 = new Ext.tree.TreePanel({
loader: new Ext.tree.TreeLoader({dataUrl:'layers.php?param=2'}),
rootVisible: false,
border:false,
root:new Ext.tree.AsyncTreeNode({text: 'treeRoot',id:'0'})
});
search_tree1.on({
'expandnode': function(node){
combox_search_where.expand();
},
'collapsenode': function(node){
combox_search_where.expand();
},
'load': function(node){
search_tree1_filter.filterBy(function(n){
return n.text!='Дополнительные' && n.id!='3dbuild2';
});
search_tree1.expandAll();
search_tree1.collapseAll();
}
});
var search_tree1_filter=new Ext.tree.TreeFilter(search_tree1, {
clearBlank : true,
autoClear : true
});
combox_search_where.on({
'expand':function(combo){
search_tree1.render('search_tree1');
}
});
Combox collapse/close after checked node in treePanel and other. I need collapse/close combox without events on treePanel(click on trigger combox or blur or other).
My answer(i dunno this before question):
var search_flag_combox1=0;
search_tree1.on({
'click':function(node){
search_flag_combox1=1;
},
'checkchange': function(node,checked){
search_flag_combox1=1;
},
'beforeexpandnode': function(node){
search_flag_combox1=1;
},
'beforecollapsenode': function(node){
search_flag_combox1=1;
},
'load': function(node){
search_tree1_filter.filterBy(function(n){
return n.text!='Дополнительные' && n.id!='3dbuild2';
});
search_tree1.expandAll();
search_tree1.collapseAll();
}
});
var search_tree1_filter=new Ext.tree.TreeFilter(search_tree1, {
clearBlank : true,
autoClear : true
});
combox_search_where.on({
'expand':function(combo){
search_tree1.render('search_tree1');
},
'collapse': function(combo){
if (search_flag_combox1==1) {
combox_search_where.expand();
search_flag_combox1=0;
}
}
});
My be anybody know better?