- 13:38 123
- 21:16 lapin!!!
- 14:04 galette
- 09:14 22:37 :
- 14:01 Vu le nombre de messages en tribune, j'ai l'impression de prendre 2 ans d'un coup, là !!;)
- 14:00 merci Gui (car je suppose que c'est toi :) )
- 10:54 Bon anniversaire à Madame (un peu en retard, pour la deuxième année consécutive) :)
- 15:29 salut, ca farte ?
- 23:21 window.location = "URL
- 10:26 Hello. It is very kind for you to allow guests to post here (if it *is* possible) :)
Je tente le coup question sur Extjs
Bonjour,
Après avoir lu la doc sur etxjs.com, je reste bloqué sur un problème probablement
simple. J'ai fait un script pour lequel je charge des données 'en cross-domaine'
grâce à ScriptTagProxy.... tout ceci fonctionne très bien.... Sauf que je souhaite
interroger 'n' fois le serveur car les données en JSON changent à chaque appel.
Comment faire pour relancer plusieurs fois l'interrogation pour mettre à jour
sur une page les données du serveur ?
Merci
voila mon code (inspiré de code existant) j'aimerais que task2 puisse interroger
de nouveau le serveur et affiche les données :
[code]
Ext.onReady( function(){
var my_record = Ext.data.Record.create([ // utiliser ici 'create' au lieu de 'new'
{name: 'title', mapping: 'topic_title'}, // liste d'un Record
{name: 'topicId', mapping: 'topic_id'},
{name: 'author', mapping: 'author'},
{name: 'lastPost', mapping: 'post_time', type: 'date', dateFormat: 'timestamp'},
{name: 'excerpt', mapping: 'post_text'} // fin liste d'un Record
]);
var my_reader = new Ext.data.JsonReader(
{ // Config Options
root: 'topics',
totalProperty: 'totalCount',
id: 'post_id'
}, // FIN Config Options
my_record // RECORD
); // FIN data.JsonReader
var my_result = new Ext.XTemplate(
'<tpl for=".">',
'<div class="search-item">',
'<h3>{lastPost
ate("M j, Y"
}<br/> by {author}<span>{title}',
'<'+'/span>',
'<'+'/h3>',
'{excerpt}<'+'hr/>',
'<'+'/div>',
'<'+'/tpl>'
);
// extjs.com/forum/topics-remote.php
// ou
// localhost:6060/Projets/depot_json
var my_proxy = new Ext.data.ScriptTagProxy({
url: 'http://localhost:6060/Projets/depot_json',
}); // FIN ScriptTagProxy
var my_store = new Ext.data.Store(
{
proxy: my_proxy,
reader: my_reader
//autoLoad: true
}
); // FIN data.Store
// ==========================================================================
my_store.load(); // remplace "autoLoad: true"
var view_1 = new Ext.DataView({
id: 'view_1', // identificateur unique pour le DataView
store: my_store,
tpl: my_result,
autoHeight: true //renderTo: 'info_data_1'
});
// ==========================================================================
var panel_1 = new Ext.Panel({
id: 'panel_1', // identificateur unique pour le Panel
width: 535, // largeur du Panel
autoHeight: true, // gere la hauteur en fonction des données
collapsible: false, // ajoute un bouton pour fermer dans le titre
frame: true, // ajoute un fond au panel
title: 'premier panel', // ajoute un titre et le bouton collapse
draggable: true, // peut-être déplace à la souris
items: view_1 // l'objet à placer
});
panel_1.render(document.body, 'info_data_1')
// ==========================================================================
var my_func_1 = function(){
panel_1.show();
return new Date().format('g:i
A')
}
// Start a simple clock task that updates a div once per second
var task_1 = {
run: function(){
Ext.fly('clock').update( my_func_1() );
},
interval: 1000 //1 seconde
}
var my_func_2 = function(){
panel_1.hide();
return
}
var task_2 = {
run: function(){
Ext.fly('info_data_1').update( my_func_2() );
},
interval: 10000 //5 secondes
}
var runner = new Ext.util.TaskRunner();
runner.start(task_1); // premiere tache
runner.start(task_2); // deuxième tache
// FIN de TaskRunner
}); // FIN DE LA BOUCLE Ext.onReady()
[/code]
