EXTJS: hidden élément ne s'affiche pas après setvisible

Bonjour, je veux montrer et de l'image qui est comme un signe d'alerte lorsqu'une modification est faite, alors j'ai un pied de page panneau comme celui-ci, avec le signe:

Ext.define('footerPanel', {
    extend: 'Ext.panel.Panel',
    cls: 'fastec_background',
    height: 24,
    autoScroll: false,
    border: false,
    layout: {
        type: 'border'
    },
    id: 'panel_footerFastec',


    initComponent: function () {
        var me = this;


        Ext.applyIf(me, {
            items: [{
                margin: '5 5 0 20',
                xtype: 'label',
                region: 'center',
                html: '<a>© 2012 FASTEC GmbH, Paderborn, Germany - </a><a target="_blank" href="http://www.easyoee.de">www.easyOEE.de</a> <a target="_blank" href="http://www.fastec.de">www.fastec.de</a>'
            }, {
                xtype: 'container',
                region: 'east',
                layout: 'table',
                id: 'cont_footer_icons',
                items: [{
                    xtype: 'image',
                    id: 'configchangedIcon',
                    height: 16,
                    margin: '5 0 5 0',
                    width: 16,
                    maxHeight: 20,
                    dock: 'right',
                    maxWidth: 20,
                    scale: 'large',
                    src: 'files/images/disk_blue.png',
                    hidden: true
                }, {
                    xtype: 'image',
                    height: 16,
                    id: 'errorIcon',
                    margin: '5 0 5 0',
                    width: 16,
                    dock: 'right',
                    maxHeight: 20,
                    maxWidth: 20,
                    scale: 'large',
                    src: 'files/images/error16.gif',
                    hidden: true
                }]
            }]
        });


        me.callParent(arguments);
    }
});

Et l'idée, c'est que j'ai une fonction générale qui je pourrais appeler de n'importe où et d'afficher ou de masquer l'icône, mais malheureusement, j'ai appeler cette fonction et rien ne se passe:

changeIconVisibility = function(str, value) {
    try {
        switch(str){
            case 'configchangedIcon':
                var img = Ext.getCmp('configchangedIcon');
                if(value){
                    img.setVisible(true);
                }else{
                    img.setVisible(false);
                }
            break;
        }
    } catch (e) {
        Ext.msg.alert(e);
    }
}

J'ai essayé en appelant directement le composant et setVisible(true) ainsi et rien ne se passe.

  • Vous voyez l'icône si la configuration caché est définie à false? Ne setVisible() appelée à tous (dire en mettant de la console.log() après elle)?
  • L'icône a la configuration caché vrai avant setVisible() est appel, et, après l'avoir appelé la configuration caché est faux, mais il n'affiche pas l'icône.
  • Ouais, mais si vous définissez la configuration caché à false, vous pouvez voir l'icône lors du chargement de l'application? C'est juste pour vérifier qu'il n'y a pas un problème avec votre mise en page/emplacement de l'image, etc.
  • ouais je peux le voir...
  • Ouvrir la console javascript (Firebug, outils de développement, ...) alors que dans votre application, et d'exécuter Ext.getCmp('configchangedIcon');. Elle n'a aucune raison (autre que null ou undefined) ?
  • hidden et visible ne sont pas le même attribut, c'est pourquoi le basculement ça ne marchera pas.