Собираю приложение и пытаюсь получить список с работающей панелью подробностей. Я основал его на видео со списком Сенчи, но постоянно получаю сообщение об ошибке «Ошибка типа: Результат выражения« abc.artistList.setActiveItem »[undefined] не является функцией» когда я пытаюсь щелкнуть по элементу и открыть панель сведений. Полный код ниже:
Ext.ns('abc', 'abc.panel', 'abc.store');
// Models _____________________________________________________________________
Ext.regModel('Artists', {
fields: ['firstName', 'lastName']
});
// Stores _____________________________________________________________________
abc.store.Artists = new Ext.data.Store({
model: 'Artists',
proxy: {
type: 'ajax',
url: 'http://localhost:8888/abc/stores/artists.json',
reader: {
type: 'json',
root: 'artists'
}
},
sorters: 'lastName',
getGroupString : function(record) {
return record.get('lastName')[0];
},
autoLoad: true
});
abc.artistDetail = new Ext.Panel({
id: 'detailpanel',
tpl: 'Hello, {firstName}!',
dockedItems: [
{
xtype: 'toolbar',
items: [{
text: 'back',
ui: 'back',
handler: function() {
abc.panel.Artists.setActiveItem('artistList', {type:'slide', direction:'right'});
}
}]
}
]
});
abc.artistList = new Ext.List({
title: 'Artists',
store: abc.store.Artists,
fullscreen: true,
id: 'artistList',
itemTpl: '<div class="contact">{firstName} {lastName}</div>',
grouped: true,
onItemDisclosure: function(record, btn, index) {
abc.artistDetail.update(record.data);
abc.panel.Artists.setActiveItem('detailpanel');
}
});
abc.panel.Artists = Ext.extend(Ext.Panel, {
id: 'artists',
title: 'Artists',
layout: 'card',
fullscreen: true,
cardSwitchAnimation: 'slide',
iconCls: 'artists',
items: [abc.artistList, abc.artistDetail],
});
abcPrimavera = new Ext.Application({
name: "abcApp",
onReady: function () {
var app = new Ext.TabPanel({
fullscreen: true,
animation: false,
tabBar: {
dock: 'bottom',
layout: {
pack: 'center'
}
},
items: [
new abc.panel.Artists()]
});
}
});
Любая помощь была бы блестящей.
Спасибо