Да, похоже, действительно, недоговариваю.
Попробовал Ваш код - работает. Попробовал сделать окно ещё одно с bbar'ом - тоже все работает. На всякий случай рабочий код:
var work_window= new Ext.Window ({
id: 'work_window',
minWidth: 500,
minHeight: 500,
bodyStyle: {
padding: '5px',
'background-color': '#FFFFFF'
},
title: 'Window',
bbar: {
items: [
{
xtype: 'buttongroup',
id: 'buttongroup_in_bbar_id',
items: [
{
text: '1',
id: 'q1',
handler: function () {
}
},
{
text: '2',
id: 'q2',
handler: function () {
}
},
{
text: '3',
id: 'q3',
handler: function () {
}
}
]
}]
}
});
Ext.onReady(function() {
work_window.show();
var qqq = new Ext.util.MixedCollection;
qqq = Ext.getCmp('buttongroup_in_bbar_id').items;
console.log(qqq);
console.log("first()=\"%s\"",qqq.first().toString());
});
В таком варианте действительно всё работает.
У меня суть в том, что количество кнопок в ButtonGroup генерируется через аякс-запрос. Код того, что сделано у меня на данный момент:
var work_window = new Ext.Window ({
id: 'work_window',
minWidth: 500,
minHeight: 500,
bodyStyle: {
padding: '5px',
'background-color': '#FFFFFF'
},
title: 'work_window',
bbar: {
id: 'b_bar',
items: [{
xtype: 'buttongroup',
id: 'buttongroup_in_bbar_id'
}]
}
});
function get_bottom_bar(param) {
Ext.Ajax.request({
url: 'handler.php',
params : {
'param': param,
'action' : '_get_count_buttons'
},
success: function(response) {
count_buttons= Ext.util.JSON.decode(response.responseText);
create_bottom_bar(count_buttons);
Ext.getCmp('b_bar').doLayout();
}
});
}
function create_bottom_bar (count_buttons) {
for (var i = 1; i <= count_buttons; i++) {
var new_button = {
text: i,
id: 'button'+i,
handler:function(){
//заглушка
}
}
Ext.getCmp('buttongroup_in_bbar_id').add(new_button);
}
}
Ext.onReady(function() {
work_window.show();
get_bottom_bar(999);
var qqq = new Ext.util.MixedCollection;
qqq = Ext.getCmp('buttongroup_in_bbar_id').items;
console.log(qqq);
console.log("first()=\"%s\"",qqq.first().toString());
});
handler.php на данный момент возвращает просто значение '15', без всяких обработок. Соответственно генерится 15 кнопочек с соотвествующими text и id.
И вот в таком варианте
console.log(qqq);
вполне себе работает, а вот на
console.log("first()=\"%s\"",qqq.first().toString());
Firebug отвечает, что qqq.first() is undefined.