Отвечая на первый элемент, поскольку у вас уже есть тобар, просто поместите текстовое поле внутри него:
dockedItems: [
{
xtype:'toolbar',
reference: 'tbar',
docked: 'top',
items: [{
text: 'Expand All',
handler:function() {
me.expandAll()
me.resumeLayouts(true)
}
},
{
text: 'Collapse All',
handler:function()
{
me.collapseAll()
console.log(me)
}
},
{
xtype: 'textfield',
dock: 'top',
emptyText: 'Search',
enableKeyEvents: true,
triggers: {
clear: {
cls: 'x-form-clear-trigger',
handler: 'onClearTriggerClick',
hidden: true,
scope: 'this'
},
search: {
cls: 'x-form-search-trigger',
weight: 1,
handler: 'onSearchTriggerClick',
scope: 'this'
}
}
}]
Во втором элементе попробуйте следующее:
{
text: 'Collapse All',
handler:function(){
var node = me.getStore().getRoot();
node.eachChild(function(child){
child.collapse();
});
}
}