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 :

Tree, Ext.select - elements est vide si mon record contient un espace ?!


Sujet :

Ext JS / Sencha

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut Tree, Ext.select - elements est vide si mon record contient un espace ?!
    Bonjour à tous,

    J'ai un Tree qui contient 2 colonnes (Name, Action).

    J'affiche une icône dans Action si il y a une action à faire.
    Jusque là tout va bien.

    J'ai voulu améliorer mon Tree en n'affichant l'icône QUE si la souris passe dessus.

    Tout se passe très bien SAUF si la valeur de record.get('name') contient un espace.
    Par exemple avec name = "snowboard" cela fonctionne, l'icône s'affiche sur le passage de la souris
    mais avec name = "snowboard binding" cela ne fonctionne plus, je n'ai pas d'erreur, je rentre bien dans le bon IF
    mais j'ai remarqué que mon cmp.elements est vide alors qu'il ne le devrait pas.

    Voici mon listeners de mon Tree

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    ....
            listeners: {
                    /* NE FONCTIONNE PAS SI IL Y A UN ESPACE DANS LE NAME
                          PERMET D'AFFICHER ou PAS l'icone Add au passage de la souris */
                    itemmouseenter: function( view, record, item, rowIndex, e, eOpts ) {
                        // show the icon
                        var cmp = Ext.select('#' + Ext.get(item).id + ' img.x-action-col-icon');
     
    // Ici la console affiche bien le composant mais bizarrement pour les names contenant un espace
    // alors que normalement il doit afficher:	
    // object - elements
    //	[img.x-action-col-icon.x-action-col-0.x-hide-display resources.../add.png]
    console.log(cmp);
     
    // Ci-dessous, je rentre bien dans le bon IF mais cela n'a aucun effet.
                        cmp.removeCls('x-hide-display');
                        if (record.data.leaf || (record.get('name')==='Temporary') || (record.get('name')==='Trash')) {
                            cmp.addCls('x-hide-display');
                        } else
                        {
                            cmp.addCls('x-grid-center-icon');
                        }                                                    
                    },
     
                    itemmouseleave: function( view, record, item, rowIndex, e, eOpts ) {
                        // hide the icon
                        var cmp = Ext.select('#' + Ext.get(item).id + ' img.x-action-col-icon');                                              
                        cmp.removeCls('x-grid-center-icon');
                        cmp.addCls('x-hide-display');        
                    }
            }
        },
     
        columns: [{
                    xtype       : 'treecolumn', //this is so we know which column will show the tree
                    text        : 'Name',
                    itemId      : 'itemtreefolder',
                    flex        : 1,
                    sortable    : true,
                    dataIndex   : 'name'
                }, 
                {
                    width           : 40,
                    xtype           : 'actioncolumn',
                    itemId          : 'btnaddsubfolder',
                    tooltip         : 'Create sub-folder',
                    align           : 'center',
                    icon            : 'resources/icons/add.png',
     
                    getClass: function(v, meta, record) {          
                            return 'x-hide-display';
                    }
                }
        ],

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    je ne comprends pas du tout pourquoi tous ce code

    lorsque tu crée ton noeud tu peux lui mettre un attribut cls
    qui est une class css
    pourquoi ne pas simplement
    utiliser cette class avec les attribut css mouseover
    pour afficher l'icône

    ça ne demande rien de plus.

    A+JYT

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Salut Sekaijin,

    Je t'avoue que c'est tout simplement parce que c'est un bout de code qui me semblait simple à comprendre, mais aussi
    parce que je n'ai pas du tout pensé à la méthode dont tu parles. D'ailleurs, je ne l'ai pas tout à fait comprise mais bon
    je ne sais pas pourquoi, maintenant cela fonctionne parfaitement.

    Je ne sais pas ce que j'ai fait en plus ou en moins mais là tout fonctionne parfaitement et sans changer la moindre ligne de code de l'exemple ci-dessus... ?!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Etats] [2000] Et si mon champ est vide.
    Par DamKre dans le forum IHM
    Réponses: 15
    Dernier message: 22/12/2007, 13h30
  2. Cmt tester si le résultat de mon SQL est VIDE?
    Par ac264 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/10/2007, 11h09
  3. Réponses: 4
    Dernier message: 29/08/2007, 22h54
  4. Réponses: 4
    Dernier message: 22/02/2007, 15h55
  5. [VBA] Pourquoi mon jeu d'enregistrement est vide ?
    Par gyzmo5 dans le forum Access
    Réponses: 2
    Dernier message: 09/02/2006, 14h15

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