[4.2.0.265] TreeStore CRUD broken
This was broken back in 4.0.x, new regression in 4.2.0. 'internalId' is not set on a newly created Record. This breaks nodeHash when removing a record later.
Code:
Ext.onReady(function() {
Ext.define('Task', {
extend: 'Ext.data.Model',
idProperty : 'Id',
fields: [
{name: 'Id' },
{name: 'task', type: 'string'},
{name: 'user', type: 'string'},
{name: 'duration', type: 'string'},
{name: 'done', type: 'boolean'}
]
});
var store = Ext.create('Ext.data.TreeStore', {
model: 'Task',
proxy: {
type: 'ajax',
//the store will get the content from the .json file
api: {
create : 'treecreate.json'
}
},
root : {},
listeners : {
write : function() {
console.log(this.getRootNode().firstChild.internalId) // SHOULD BE 111
}
}
});
store.getRootNode().appendChild(new Task({}));
store.sync();
});
Server responds:
Code:
[{
task:'Project: Shopping',
Id : 111,
user:'Tommy Maintz',
iconCls:'task-folder'
}]