Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Ext JS / Sencha
Ext JS / Sencha Ext JS / Sencha Forum d'entraide sur les frameworks Ext JS et Sencha. Avant de poster : FAQ ExtJS / Sencha, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2010, 15h44   #1
Invité de passage
 
Marc Polo
Inscription : novembre 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Marc Polo

Informations forums :
Inscription : novembre 2010
Messages : 4
Points : 0
Points : 0
Par défaut Forcer le redimensionnement d'une fenêtre après l'exécution

Bonjour,



Je débute avec Ext JS et je recherche une solution au problème suivant dont je ne trouve pas de solution.


Je possède un serveur NAS sur lequel j'ai créé une application, lorsque je clic sur le lien de celle-ci, elle ouvre une fenêtre mais avec une largeur et une hauteur par défaut.

Ces dimensions je ne peux pas les modifier dans le serveur NAS.


Je souhaite simplement ajouter à mon application quelques lignes de code pour forcer le redimensionnement de mon application après son lancement par exemple:

width = 500px
height = 1000px
minimise = false
etc ...


Genre comme ceci:


Code :
1
2
3
4
5
6
7
8
9
10
Ext.onReady (function () {
 
var w = MaFenêtreActive ({
height: 50,
width: 100,
closable: false,
draggable: false,
resizable: false,
 });
});
Est-ce possible ?

Merci.
Newb2010 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 13h08   #2
Invité de passage
 
Marc Polo
Inscription : novembre 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Marc Polo

Informations forums :
Inscription : novembre 2010
Messages : 4
Points : 0
Points : 0
Bonjour,

Peut-être qu'avec cet exemple, il y aura quelqu'un pour m'aider, merci.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
 
<script type="text/javascript">
 
Ext.onReady(function() {
var win_1 = new Ext.Window({
id : "my_window_1",
shadow : true,
width : 150,
height : 200,
title : "Title_of_window_1",
})
win_1.show();
 
});
 
function change_window_1() {
 
var win_2 = new Ext.Window({
applyTo : "my_window_1",
shadow : false,
width : 200,
height : 250,
title : "New_title_of_window_1",
})
win_2.show();
 
 
}
 
</script>
 
 
<input type="button" name="change_window_1" value="Change title window 1" onclick="change_window_1();" />
Newb2010 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 09h49   #3
Membre éclairé
 
Avatar de JulienFio
 
Julien Fiorentino
Inscription : novembre 2007
Messages : 201
Détails du profil
Informations personnelles :
Nom : Julien Fiorentino
Âge : 28
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2007
Messages : 201
Points : 336
Points : 336
Bonjour NewB2010,

Je pense que tu peux t'en sortir avec l'Event "afterrender" (après affichage).
exemple pour la fenetre 1:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Ext.onReady (function () {
 Ext.onReady(function() {
var win_1 = new Ext.Window({
id : "my_window_1",
shadow : true,
width : 150,
height : 200,
title : "Title_of_window_1",
})
win_1.show();
 
});
 
 
 
Ext.getCmp('my_window_1').on('afterrender', function() {
        var myWindow = Ext.getCmp('my_window_1');
        myWindow.setSize(500, 1000);
        myWindow.minizable = false;  // pas sûr de ça
    });
tu peux jouer aussi sur la position de ta fenêtre avec la méthode setPosition( Number left, Number top )
JulienFio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 17h40   #4
Invité de passage
 
Marc Polo
Inscription : novembre 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Marc Polo

Informations forums :
Inscription : novembre 2010
Messages : 4
Points : 0
Points : 0
Merci JulienFio de ta réponse, cependant elle ne fonctionne pas.
J'ai supprimé la première ligne, mais j'ai l'erreur: Ext.getCmp("my_window_1") is undefined, et je ne sais pas pourquoi.
Newb2010 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 22h08   #5
Membre éclairé
 
Avatar de JulienFio
 
Julien Fiorentino
Inscription : novembre 2007
Messages : 201
Détails du profil
Informations personnelles :
Nom : Julien Fiorentino
Âge : 28
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2007
Messages : 201
Points : 336
Points : 336
Tu peux poster ton code ?

Je ne vois pas pourquoi tu as une erreur comme ça
JulienFio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 11h13   #6
Invité de passage
 
Marc Polo
Inscription : novembre 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Marc Polo

Informations forums :
Inscription : novembre 2010
Messages : 4
Points : 0
Points : 0
Ci-dessous:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css"/>
    <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="../../ext-all.js"></script>
 
</head>
<body>
 
<script type="text/javascript">
 
Ext.onReady(function() {
	var win_1 = new Ext.Window({
		id : "my_window_1",
		shadow : true,
		width : 150,
		height : 200,
		title : "Title_of_window_1",
})
win_1.show();
 
});
 
 
Ext.getCmp('my_window_1').on('afterrender', function() {
        var myWindow = Ext.getCmp('my_window_1');
        myWindow.setSize(500, 1000);
        myWindow.minizable = false;  // pas sûr de ça
});
 
 
</script>
 
</body>
 
 
</html>
Newb2010 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 09h25   #7
Membre éclairé
 
Avatar de JulienFio
 
Julien Fiorentino
Inscription : novembre 2007
Messages : 201
Détails du profil
Informations personnelles :
Nom : Julien Fiorentino
Âge : 28
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2007
Messages : 201
Points : 336
Points : 336
J'ai cherché mais je ne vois pas Newb2010. J'ai moi aussi ce même genre de problème, je déclare un composant et ensuite je tente d'y accéder avec un getCmp()

Je ne saurais pas expliquer pourquoi cela retourne cette erreur mais après avoir cherché j'en ai compris quelque chose, c'est que d'utiliser getCmp à tord et à travers n'est pas une bonne solution (code pas très propre et difficile à maintenir). Je suis tombé sur une vidéo qui explique les dangers de ces utilisations et des solutions à ce problème. L'ayant trouvé très intéressant je te le fais partager.


Je suis en train de revoir l'architecture de mon code en utilisant le design pattern property.

(Ca ne résoudra pas ton problème cependant)

Edit: si tu place l'event à l'interieur de ton bloc onready tu ne devrais plus avoir le problème d'undefined sur ta window, mais chez moi le resize ne fonctionne pas...
JulienFio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2010, 10h28   #8
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 22
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 22
Points : 13
Points : 13
bonjour,

Perso, depuis la sortie de Ext.js 3.*.*,pour faciliter la maintenance du code et sa lecture, j'intègre directement la gestion des événements dans la déclaration du l'élément, c'est utilisable dans la majorité des cas.

Exemple

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
flogin=new Ext.Window({
		layout:'fit',
		title:'Authentification',
		id:"flogin",
		width:270,
		height:150,
		plain:false,
		stateful : false,
		modal:true,
		closable:false,
		resizable:false,
		bodyBorder:false,
		items:[formLogin],
		listeners:{
			afterrender:function(w){
				//Mon code après affichage
			}
		}	
	});
 
	flogin.show();
Remarque : je n'ai pas regarder la vidéo et c'est peut-être abordé dedans.
ultimus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h37.


 
 
 
 
Partenaires

Hébergement Web