oddz
5 Nov 2011, 1:13 PM
The nested list seems to be duplicating items at the root level. The problem does not seem to persist to any levels other than the root.
app.js
Ext.define('Classifieds.model.Category',{
extend: 'Ext.data.Model',
fields: [
{name: 'id' , type: 'int'},
{name: 'title' , type: 'string',mapping: 'fileName'},
]
});
Ext.define('Classifieds.store.Categories',{
extend: 'Ext.data.TreeStore',
model: 'Classifieds.model.Category',
requires: ['Classifieds.model.Category'],
autoLoad: true,
proxy: {
type: 'ajax',
root: {},
url: 'categories.json',
}
});
Ext.define('Classifieds.view.Categories',{
extend: 'Ext.dataview.NestedList',
xtype: 'categories',
requires: ['Classifieds.store.Categories'],
config: {
store: Ext.create('Classifieds.store.Categories'),
title: 'Categories',
displayField: 'title',
}
});
Ext.application({
name: 'Classifieds',
launch: function() {
Ext.widget('categories',{
fullscreen: true
});
}
});
categories.json
{
"children":[
{
"cls":"file",
"fileName":"Ajax.js",
"id":"./Ajax.js",
"leaf":true
},
{
"cls":"folder",
"fileName":"form",
"id":"./form",
"children": [
{
"fileName":"Panel.js",
"id":"form\/Panel.js",
"leaf":true,
"cls":"file"
},
{
"fileName":"Field",
"id":"field\/Field",
"cls":"folder",
"children": [
{
"fileName":"Number.js",
"id":"field\/Number.js",
"leaf":true,
"cls":"file"
},
{
"fileName":"Text.js",
"id":"field\/Text.js",
"leaf":true,
"cls":"file"
}
]
}
]
},
{
"cls":"folder",
"fileName":"util",
"id":"./util",
"children": [
{
"fileName":"TapRepeater.js",
"id":"util\/TapRepeater.js",
"leaf":true,
"cls":"file"
}
]
}
],
"text":"."
}
29054
app.js
Ext.define('Classifieds.model.Category',{
extend: 'Ext.data.Model',
fields: [
{name: 'id' , type: 'int'},
{name: 'title' , type: 'string',mapping: 'fileName'},
]
});
Ext.define('Classifieds.store.Categories',{
extend: 'Ext.data.TreeStore',
model: 'Classifieds.model.Category',
requires: ['Classifieds.model.Category'],
autoLoad: true,
proxy: {
type: 'ajax',
root: {},
url: 'categories.json',
}
});
Ext.define('Classifieds.view.Categories',{
extend: 'Ext.dataview.NestedList',
xtype: 'categories',
requires: ['Classifieds.store.Categories'],
config: {
store: Ext.create('Classifieds.store.Categories'),
title: 'Categories',
displayField: 'title',
}
});
Ext.application({
name: 'Classifieds',
launch: function() {
Ext.widget('categories',{
fullscreen: true
});
}
});
categories.json
{
"children":[
{
"cls":"file",
"fileName":"Ajax.js",
"id":"./Ajax.js",
"leaf":true
},
{
"cls":"folder",
"fileName":"form",
"id":"./form",
"children": [
{
"fileName":"Panel.js",
"id":"form\/Panel.js",
"leaf":true,
"cls":"file"
},
{
"fileName":"Field",
"id":"field\/Field",
"cls":"folder",
"children": [
{
"fileName":"Number.js",
"id":"field\/Number.js",
"leaf":true,
"cls":"file"
},
{
"fileName":"Text.js",
"id":"field\/Text.js",
"leaf":true,
"cls":"file"
}
]
}
]
},
{
"cls":"folder",
"fileName":"util",
"id":"./util",
"children": [
{
"fileName":"TapRepeater.js",
"id":"util\/TapRepeater.js",
"leaf":true,
"cls":"file"
}
]
}
],
"text":"."
}
29054