Tenho um var store = new Ext.data.JsonStore({
usando DataView do EXTjs (XTemplate etc) e isso está completamente dentro de um arquivo .js. E
de dentro de um .jsp onde o tenho dentro via include outro (.jsp que o tem) estou tentando chamar para carregar/dar load, já tomei as medidas abaixo porém nenhuma
funcionou:
[code] //I've tried those below:
//Ext.getCmp('datav').bindStore(pessoasStores);
//Ext.getCmp('panelPessoaGaleria').load();
//Ext.getCmp('panelPessoaGaleria').show();
//Ext.getCmp('panelPessoaGaleria').reload();
//Ext.getCmp('images-view').load();
//Ext.getCmp('images-view').getStore().reload();
//Ext.getCmp('images-view').store.load();
//Ext.getCmp('store').load();
//store.load();
//datav.getStore().reload();
//grid.getView().refresh();[/code]
Código detalhado:
[code]Ext.onReady(function(){
var conn = new Ext.data.Connection();
var store = new Ext.data.JsonStore({
proxy: new Ext.data.HttpProxy({
url: 'jsonParaGaleria.action',
method: 'POST'
}),
root: 'rows',
fields: [
{name: 'idsDosThumbs', type: 'int'},
'nomesDosThumbs',
'urlFotoOriginal',
'urlsDosThumbs'
]
});
store.load();
var tpl = new Ext.XTemplate(
'<tpl for=".">',
'<div class="thumb-wrap" id="{nomesDosThumbs}">',
'<div class="thumb"><img src="{urlsDosThumbs}" title="{nomesDosThumbs}"></div>',
'</div>',
'</tpl>',
'<div class="x-clear"></div>'
);
var tplDetail = new Ext.XTemplate(
'<div class="details">',
'<tpl for=".">',
'<img src="{urlsDosThumbs}"><div class="details-info">',
'<b>Nome do Thumb:</b>',
'<span>{nomesDosThumbs}</span>',
'<span><a href="{urlFotoOriginal}" target="_blank">Ver Imagem Original</a></span></div>',
'</tpl>',
'</div>'
);
var tbar = new Ext.Toolbar({
style: 'border:1px solid #99BBE8;'
});
//botões acima da galeria
tbar.add(
{
text: 'Voltar (lista de Pessoas)',
handler: function() {
window.location = "pessoas.action";
}
},
{
text: 'Excluir (selecione um ou mais thumbs)',
//icon: 'imagens/cross.png'
handler: function() {
conn.request({
/* var arrayIdsImagens = []; //inicializa dizendo ser um array
var recebeOsIdsDasImagens = store.getSelectionModel().getSelected().get('idsDosThumbs'); //deveria recebe os ids
Ext.each(recebeOsIdsDasImagens,function(node){ //itera sobre o array recebe, não sei o que é esse node
arrayIdsImagens.push(node.id);
});
url: 'enviaIdDaFotoGaleriaAction.action',
params: {
'idImagem': arrayIdsImagens
}*/
});
store.load();
}
});
var datav = new Ext.DataView({
autoScroll: true, store: store, tpl: tpl,
autoHeight: false, height: 400, multiSelect: true,
overClass: 'x-view-over', itemSelector: 'div.thumb-wrap',
emptyText: 'No images to display',
style: 'border:1px solid #99BBE8; border-top-width: 0',
listeners: {
/*
selectionchange: {
fn: function(dv,nodes){
var l = nodes.length;
var s = l != 1 ? ‘s’ : ‘’;
panelLeft.setTitle(‘Simple DataView Gallery (’+l+’ image’+s+’ selected)’);
}
},
*/
click: {
fn: function() {
var selNode = datav.getSelectedRecords();
tplDetail.overwrite(panelRightBottom.body, selNode[0].data);
}
}
}
})
var panelLeft = new Ext.Panel({
id: 'images-view',
frame: true,
width: 520,
height: 480,
//autoHeight: true,
layout: 'auto',
title: 'Galeria de Fotos',
items: [tbar,datav]
});
panelLeft.render('left');
var panelRightBottom = new Ext.Panel({
title: 'Image Detail',
frame: true,
width: 330,
height: 255,
id: 'panelDetail',
renderTo: 'right-bottom',
tpl: tplDetail
});
});[/code]