IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

Création composant personnel


Sujet :

Ext JS / Sencha

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2010
    Messages : 394
    Points : 1 212
    Points
    1 212
    Par défaut Création composant personnel
    Bonjour,

    Ce que j'essaye de faire, c'est un composant pré-configuré, comprenant un formPanel avec une grille dedans (et deux boutons). Malheureusement, cela ne fonctionne pas vraiment comme je le voudrais (limite pas du tout...). Afin de rendre la chose intéressante (et réutilisable), je veux que mon composant soit défini dans un .js à part, et que je puisse le réutiliser par la suite dans différentes jsp.

    Voici donc actuellement le code de grillePanel.js (gridPanel étant le nom de mon "nouveau composant") :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Ext.namespace('Ext.perso');
    Ext.perso.Gridpanel = function(config) {
         Ext.perso.Gridpanel.superclass.constructor.call(this, Ext.apply({
              title: 'mon nouveau composant',
              // + plein de configurations que je veux avoir de base pour mon composant
         }, config));
    };
    Ext.extend{Ext.perso.Gridpanel, Ext.form.FormPanel, {
         // On rajoute qques getter et setter qui vont bien
    };
    Le problème est double pour le moment. Si je laisse ça tel quel, et que je veux créer mon composant dans ma jsp, je n'ai pas d'erreurs, mais je n'ai rien d'affiché.

    Code de la jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var maGrille = new Ext.perso.Gridpanel({
         renderTo: 'test'     
    });
     
    <div id='test' />
    Le second problème, c'est que lorsque j'essaie de déclarer mon objet dans .js, cela me sort des erreurs (du style 'undefined is null or not an object'), et j'ai un truc (très laid, du genre un panel, pas de grille, mais tout de même le toolbar de la grille), mais pas à l'endroit voulu (en sachant que le but est de pouvoir utiliser le composant directement dans la jsp bien entendu).

    Mako

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    première chose a faire, rajouter en bas de grillePanel.js:


    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    Ext.reg('perso_grid_panel', Ext.perso.Gridpanel);


    puis, quand tu voudras le mettre kk part ...

    tu fais un truc du genre ... :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var toto = new  Ext.perso.Gridpanel({...});

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2010
    Messages : 394
    Points : 1 212
    Points
    1 212
    Par défaut
    Entre temps, j'avais déjà rajouté le Ext.reg, bien que je n'en ai pas encore eu besoin pour le moment.

    Ensuite, je déclare bien mon composant comme tu le préconises, mais cela n'a pas beaucoup de réussites.

    Par contre, j'avais peut-être voulu être trop gourmand, car ce que j'essayais de faire, c'est un composant qui serait en fait plusieurs composants réunis (comme expliqué dans le premier message). Je suis en train d'essayer en séparant les différentes parties (notamment le formPanel et la grille), car j'avais des soucis pour accéder aux items de mon formPanel.

    Petite question: la méthode get('id') permet d'avoir accès aux éléments internes, mais est-ce que cela fonctionne pour tous les éléments internes, ou juste ceux du premier niveau ?

    Si j'ai par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var form = new Ext.form.FormPanel({
         items: {
              id: 'toto1',
              items: {
                   id: 'toto2'
              }
         }
    });
    est-ce que form.get('toto2') va fonctionner (j'ai eu des soucis avec des cas similaires) ?

    Je reviendrais quand j'aurais avancé sur mon problèmes de composants.

    Mako

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    bonjour,

    il me semble que ta fonction de configuration doit etre à l'intérieur de ton extend ...

    essayes de faire par étape ...
    gridpanel+ 2 boutons,
    après tu rajoutes ton formpanel ...

Discussions similaires

  1. [Débutant] Création d'un composant personnel
    Par Mercusyo dans le forum C++Builder
    Réponses: 2
    Dernier message: 09/09/2014, 14h29
  2. Réponses: 3
    Dernier message: 01/07/2006, 14h04
  3. Cherche exemple création composant visuel
    Par bertin dans le forum Composants VCL
    Réponses: 1
    Dernier message: 02/08/2005, 16h14
  4. [C#] OnPaint(PaintEventArgs e) sur création Composant
    Par pc152 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/08/2004, 16h13
  5. Création composant et BD
    Par gibet_b dans le forum Composants VCL
    Réponses: 6
    Dernier message: 07/07/2004, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo