Adam
Zakrzewski
Digital Project
Manager / Team
Leader / Senior
Front-end ...
Temat: ExtJS 4: Jak załadować Store wywołany do XTemplate w...
Zaczynam się bawić ExtJS 4, jestem jeszcze "zielony" w tym temacie więc proszę o wyrozumiałość bo problem jest pewnie banalny.Kod, który piszę zgodnie z zaleceniem Teamu Sencha podzieliłem na controller, model, store, view. Zdefniowałem standardowy plik app.js itp. itd.
Do rzeczy.
Posiadam controller odpowiadający za zarządzanie drzewem użytkowników:
Ext.define('QL.controller.UsersTree', {
extend: 'Ext.app.Controller',
stores: ['UsersTree', 'Users'],
model: 'User',
views: ['user.Tree', 'user.Add', 'user.Details'],
refs: [
{ref: 'userForm', selector: 'useradd form'},
{ref: 'userDetailsView', selector: 'userdetails'}
],
init: function(){
this.control({
'usertree': {
itemclick: this.getUserDetails,
itemmove: this.moveUser
},
'usertree button[action=addUser]': {
click: this.addUser
},
'usertree button[action=addGroup]': {
click: this.addGroup
}
})
},
addUser: function(){
console.log('add user');
},
addGroup: function(){
console.log('add group');
},
getUserDetails: function(view, record){
if(record.data.leaf){ //if user
store = this.getUsersStore();
store.load({
params: {
idNode: record.data.id
}
})
var userDetails = this.getuserDetails;
}
},
moveUser: function(tree, node, newParent){
console.log('move user');
}
});
tutaj wszystko ładnie działa, drzewo się wyświetla, ładuje użytkowników itp. Funkcja "getUserDetails" wywołuje odpowiednie żądanie do serwera, a serwer zwraca odpowiednią odpowiedź.
Posiadam także prosty view o kodzie:
Ext.define('QL.view.user.Details' ,{
extend: 'Ext.panel.Panel',
alias: 'widget.userdetails',
store: 'Users',
model: 'User',
cls: 'userdetails',
autoScroll: true,
title: 'User Details',
html: 'html content 123',
bodyPadding: 5,
initComponent: function(){
Ext.apply(this, {
tpl: new Ext.XTemplate(
'<p>name: {name}, surname: {surname}</p>'
)
});
this.callParent(arguments);
}
});
W jaki sposób sprawić by po wywołaniu funkcji "getUserDetails" w contoller'ze w view, template typu XTemplate został uzupełniony oraz poprawnie wyświetlony w body Panelu?Adam Zakrzewski edytował(a) ten post dnia 30.06.11 o godzinie 15:50