ビュー内のストアからのデータを使用してグリッド パネルを単純にロードしようとしていますが、次のエラーが発生し続けます。
TypeError: name is undefined
Line: if (name === from || name.substring(0, from.length) === from) {
パネルを初期化する方法を実験しました。現在持っているものは次のとおりです。
Ext.define('BP.view.induction.RightPage', {
extend: 'Ext.tab.Panel',
alias : 'widget.rightpage',
title: "Right Page",
items: [
{
title: 'Tasks',
html: '',
cId: 'tasksTab',
initComponent: function() {
this.add( [{
store: 'Tasks',
xtype: 'taskgrid',
hideHeaders: true,
columns: [
{
text : 'Task ID',
flex : 0,
sortable : false,
hidden : true,
dataIndex: 'id'
},
{
text : 'Task',
flex : 1,
sortable : false,
dataIndex: 'name'
},
]
}]);
this.callParent();
}
},{
title: 'Content',
html: '',
cId: 'contentTab'
}
]
});
もともと私は initComponent 関数を持っていませんでしたが、代わりにアイテムをすぐに構築しましたが、これは同じエラーを引き起こしました。
[編集] リクエストに応じて、ストアの定義は次のとおりです。
Ext.define('BP.store.Tasks', {
extend: 'Ext.data.Store',
requires: 'BP.model.Task',
model: 'BP.model.Task',
proxy: {
type: 'ajax',
url : '/resources/data/tasks.php',
reader: {
type:'json',
root:'tasks'
}
},
autoLoad: true
});
完全なデータは扱いにくいですが、サンプル (json 形式) を次に示します。
{"success":true,
"tasks":[
{"id":1,"name":"Cleaning Products","content":"Lorem ipsum...","resource_type":"text","resource_url":"","category_id":1},
{"id":2,"name":"Preservatives","content":"Lorem ipsum...","resource_type":"text","resource_url":"","category_id":1}]
}