I’m looking for a way to combine local data with ajax loaded data in a single store. It’s difficult for me to explain this in english, I hope this piece of code will be more explicit :
var store = Ext.create('Ext.data.Store', {
autoLoad: true,
fields: ['id', 'name'],
proxy: { type: 'ajax', api: { read: '/read' } },
data: [{ id: 1, name: 'John' }]
});
Json returned by “/read” : [{ id: 2, name: 'Jack' }].
Desired behaviour : store.count() // 2
You can use
.load({addRecords: true}to add loaded records to existing records.Of course if you load again with the
addRecords: trueoption enabled it will add the records to the existing records again resulting in:You could implement a before load handler to reset the store to the original data and load again if you want only
[{ id: 1, name: 'John' },{ id: 2, name: 'Jack' }]every time you load again.