Элементы дерева ExtJS 4, видимые в Firefox, но не в Chromium - PullRequest
1 голос
/ 12 августа 2011

Я создавал панель дерева, похожую на Пример TreeGrid с помощью drag'n'drop. Единственная проблема состоит в том, что элементы правильно отображаются на древовидной панели в браузере Firefox, тогда как в древовидной сетке Chromium пусто. Как это возможно?

Данные JSON, отправленные на сервер:

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

Модель

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'  }
    ]
});

магазин

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'
        }
    }
});

View

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'
        }
    }]
});

Зависимости загружаются автоматически с помощью

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

Ext.application({
 ...
});

Любое предложение будет высоко оценено.

1 Ответ

0 голосов
/ 13 августа 2011

Ну, я подумал, что отправлял вышеупомянутый JSON, но на самом деле я отправлял что-то вроде этого (цитируемый ответ с экранированными кавычками), и Chromium не мог правильно его прочитать

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