2011-08-12 5 views
1

Je créais Tree Panel similaire à TreeGrid example avec drag'n'drop. Le seul problème est que les éléments sont correctement affichés dans le panneau de l'arbre dans le navigateur Firefox alors que dans la grille de l'arbre de chrome est vide. Comment est-ce possible?ExtJS 4 éléments du panneau d'arborescence visibles dans Firefox mais pas dans Chrome

données JSON envoyées au serveur:

{"text":".","children": [ 
     { 
       "id":null, 
       "name":"en", 
       "visible":false, 
       "expanded":true, 
       "leaf":false, 
       "children":{ 
         "id":5, 
         "name":"/", 
         "visible":false,       
         "expanded":true, 
         "leaf":true, 
         "children":[]       
       } 
     }] 
} 

Modèle

Ext.define('Example.model.WebTreeItem', { 
    extend: 'Ext.data.Model', 
    idProperty: 'id', 
    fields: [ 
     {name: 'id',  type: 'int', defaultValue: 0}, 
     {name: 'visible', type: 'boolean' }, 
     {name: 'name',  type: 'string' } 
    ] 
}); 

Magasin

Ext.define('Example.store.WebTreeItems', { 
    extend: 'Ext.data.TreeStore', 
    model: 'Example.model.WebTreeItem',  
    autoLoad: true, 
    proxy: { 
     type: 'ajax', 
     api: { 
      read : 'getlist.json' 
     }, 
     reader: { 
      type: 'json' 
     } 
    } 
}); 

Voir

Ext.define('Example.view.webitem.Tree', { 
    extend: 'Ext.tree.Panel', 
    alias : 'widget.webtreeitem', 

    title : 'Web items', 
    store: 'WebTreeItems', 
    rootVisible: false, 
    multiSelect: true, 
    singleExpand: false, 
    collapsible: true, 
    selModel: Ext.create('Ext.selection.CheckboxModel'), 
    height: 800, 
    renderTo: 'webstructure-tree', 
    columns: [{ 
     xtype: 'treecolumn', 
     text: 'Name', 
     flex: 2, 
     sortable: true, 
     dataIndex: 'name' 
    },{ 
     xtype: 'booleancolumn', 
     text: 'Visible', 
     flex: 1, 
     dataIndex: 'visible', 
     sortable: false 
    }], 
    viewConfig: { 
     plugins: { 
      ptype: 'treeviewdragdrop' 
     } 
    }] 
}); 

dépendances sont chargées automatiquement à l'aide

Ext.Loader.setConfig({enabled:true}); 

Ext.application({ 
... 
}); 

Toute suggestion sera très appréciée.

Répondre

0

Eh bien, je pensais que j'envoyais JSON ci-dessus, mais en fait j'envoyais quelque chose comme ça (réponse citée avec des citations échappées) et le chrome ne pouvais pas lire correctement

"{\"text\":\".\",\"children\": [ 
     { 
       \"id\":null, 
       \"name\":\"en\", 
       \"visible\":false, 
       \"expanded\":true, 
       \"leaf\":false, 
       \"children\":{ 
         \"id\":5, 
         \"name\":\"/\", 
         \"visible\":false,       
         \"expanded\":true, 
         \"leaf\":true, 
         \"children\":[]       
       } 
     }] 
}" 
Questions connexes