Bonsoir,
J'aimerais savoir comment actualiser (ctrl + F5) sans pour autant revenir à l'index ?
Si vous des idées je suis preneur ^^
Merci par avance
Version imprimable
Bonsoir,
J'aimerais savoir comment actualiser (ctrl + F5) sans pour autant revenir à l'index ?
Si vous des idées je suis preneur ^^
Merci par avance
que veut dire actualiser une application ?
si tu as un form tu peux faire une resset qui remets les données d'orrigine
si tu as un grid, un tree, ou un dataview tu peux faire un reload pour recharger les données
etc.
si tu veux associer à ctrl + F5 ou F5 un handler qui appelle pour chaque composant la méthode qui recharge les données tu peux regarder
http://docs.sencha.com/extjs/4.2.2/#...xt.util.KeyMap
http://docs.sencha.com/extjs/4.2.2/#...xt.util.KeyNav
les touche de navigation sont :le modifiers :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 left: 37, right: 39, up: 38, down: 40, space: 32, pageUp: 33, pageDown: 34, del: 46, backspace: 8, home: 36, end: 35, enter: 13, esc: 27, tab: 9
pense dans tes handlers à ne pas propager les événement sinon il remonte au navigateur et celui-ci exécutera la fonction associée.Code:'shift', 'ctrl', 'alt'
attention à la cible de ton application
utilise http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.is pour déterminer quel est l'OS et le navigateur
en effet ctrl + ... n'est pas utilisé sur mac. c'est alt + ... qui est utilisé. (il en va de même sous solaris de mémoire)
de même les touche de fonction sont capté par le système pour gérer le son, les players et la luminosité. les navigateur utilise traditionnellement
Alt + R pour "Reload"
remapper les touche est toujours une chose délicate ou il faut faire des choix entre homogénéité de l'application et spécifitées des OS.
A+JYT
Je me suis mal exprimé.
Lors de la navigation sur les différentes vues si je veux actualiser (et non recharger des données), je ne reste pas sur ma vue mais je reviens à celle d'origine (logique car l'url est http://nomDomaine).
Je cherche une solution pour rester sur ma vue.
Je ne sais pas si j'ai été plus précis sur ce coup :x
je ne comprends pas ce que signifie actualiser
soit c'est actualiser la page et c'est le navigateur qui le fait
soit c'est actualiser son contenu et a part recharger les données que peut-il y avoir à faire ?
A+JYT
Je parle de ce cas la :
Citation:
soit c'est actualiser la page et c'est le navigateur qui le fait
si tu actualise la page c'est comme si tu fermais et rouvrais la page
il est donc normal que tu revienne au debut.
c'est pour ça que je ne comprends pas ce que tu veux.
A+JYT
En faite je me prend la tête pour rien car je voulais faire le même comportement qu'un site internet en restant sur la page même après un ctrl + F5. mais c'est pas possible.
Merci pour ton aide quand même ^^
ce que tu veux c'est redessiner les composant présent dans ta vue ?
mais pourquoi faire ?
tous les composants que tu affichent avec ExtJS sont des dérivé de AbstractComponant cette classe privée (mais tu hérite des méthodes) offre la methode render qui à pour but d'afficher le composant.
ce qu'il faut comprendre avec JS c'est que si tu efface et redessine dans élément d'affichage tous les handler d'événement toutes les références sont perdu vu que tu supprime et recrée.
en Général on ne redessine pas les composants. on actualise leur contenu.
mais je ne vois pas l'utilité de réafficher un composant. soit tu veux modifier la géométrie pour ça il y a resize. soit c'est le contenu qui ne va pas et il faut le recharger. soit le composant s'enrichi d'un nouvel élément ou en perd un mais il suffit alors de l'ajouter ou le supprimer sans toucher à l'existant.
la fonction recharger du navigateur existe parce que dans le mode web pur le contenant et les donnée arrivent ensemble dans un seul echange. il est donc impossible de charger les donnée sans rechercher l'affichage. ce n'est pas le cas avec ExtJS qui et basé à 100% sur de l'assynhrone.
la question a se poser est quel est le but final. réafficher une page n'est qu'un moyen pas un but. tu réaffiche une page pour une raison bien précise. c'est cette raison qui dois te guider dans ce qu'il y a à faire.
il y a un cas où on réaffiche c'est lorsque l'appli gêre plusieurs langues et que l'on veut changer de langue. où qu'elle existe en plusieurs thèmes et que l'on en change.
l'appli doc de sencha monter une solution. elle utilise la réécriture des url pour garder dans l'historique du navigateur le parcours de l'utilisateur. ainsi on peux utiliser les méthodes du navigateur pour changer de vue.
tu peux regarder toute la doc sur stateSave StateRestore StateStore stateEvent etc.
tout cela est destiné à te permettre pour les composants de ton choix dans ton appli de conserver leur état. (par exemple le tri dans un grid) et de restaurer cet etat lorsque tu réaffiche ce composant.
il te faut penser à ton appli ExtJS comme à une application Windows. le lancer étant le naviagateur. F5 ou Ctrl + F5 cela revient à quitter l'application et la relancer. si tu as mis en place un mécanisme de restauration alors tu poura réouvrir ton application dans l'état ou tu l'a laissée.
A+JYT
Merci pour ce complément d'informations ^^
Je n'en suis pourtant pas à ma première appli en ExTJS mais cette fois je suis parti dans un délire totalement inutile...