Прокси Ext.data.Store не анализирует вложенный JSON и его модели
Я просто пытаюсь проанализировать вложенный JSON в созданной мной модели. Я создал три модели (Detalhe, Propriedade и Assinatura) для каждого узла JSON. Прокси магазина не анализирует данные для модели Деталье.
Я также попытался поместить свойство "mapping" в атрибут hasMany с тем же именем узла. Это не сработало. Ext.Template также не может читать данные магазина и заполнять Viewer.
Какие-либо предложения?
Вот мой JSON:
{
"details": {
"customProperties": [
{
"chave": "Data de Criação",
"valor": "30/10/2013"
},
{
"chave": "Nome",
"valor": "Blah Stuff"
}
],
"signatures": [
{
"nome": "Data de Criação",
"data": "30/10/2013"
},
{
"nome": "Nome do Cliente",
"data": "John Doe"
}
]
},
"success": true
}
И код разбора:
Ext.define('Propriedade', {
extend: 'Ext.data.Model',
fields: ['chave', 'valor'],
belongsTo: 'Detalhe'
});
Ext.define('Assinatura', {
extend: 'Ext.data.Model',
fields: ['nome', 'data'],
belongsTo: 'Detalhe'
});
Ext.define('Detalhe', {
extend: 'Ext.data.Model',
hasMany: [
{model: 'Propriedade', name: 'customProperties'},
{model: 'Assinatura', name: 'signatures'}
]
});
var store = Ext.create('Ext.data.Store', {
id: 'customPropertiesStore',
model: 'Detalhe',
autoLoad: false,
proxy: {
type: 'ajax',
url: 'info.json',
reader: {
type: 'json',
root: 'details',
successProperty: 'success'
}
}
});
var docId = "some id";
var folders = "some folder";
store.load({
params: {docId: docId, folders: folders}
});
var tpl = new Ext.XTemplate(
'<tpl for="customProperties">',
'<div class="customPropertyItem">',
'<span><label>{chave}</label>: {valor}</span>',
'</div>',
'</tpl>',
'<tpl for="signatures">',
'<div class="signatureItem">',
'<span><label>{nome}</label>: {data}</span>',
'</div>',
'</tpl>'
);
var viewer = Ext.create('Ext.view.View', {
store: Ext.data.StoreManager.lookup('customPropertiesStore'),
tpl: tpl,
itemSelector: 'customPropertyItem',
emptyText: 'Nothing found.'
});