remove all items in dstore
Why doesn't this delete all the items in a dstore? (see the console for the error "cannot read property '_id' of undefined")
HTML
<div id="usersGrid"></div>
<button id="reset">Remove All</button>
CSS
body {
font-family: sans-serif;
}
JavaScript
require({
packages: [{
name: 'dgrid',
location: '//cdn.rawgit.com/SitePen/dgrid/v0.4.0'
}, {
name: 'dstore',
location: '//cdn.rawgit.com/SitePen/dstore/v1.0.0'
}, {
name: 'xstyle',
location: '//cdn.rawgit.com/kriszyp/xstyle/v0.2.1'
}, {
name: 'put-selector',
location: '//cdn.rawgit.com/kriszyp/put-selector/v0.3.6'
}]
}, [
'dojo/dom',
'dojo/on',
'dojo/_base/declare',
'dgrid/OnDemandGrid',
'dstore/Memory',
'dstore/Trackable',
'dojo/domReady!'
], function(dom, on, declare, OnDemandGrid, Memory, Trackable) {
var TrackableMemory = declare([Memory, Trackable]);
var data = [{
_id: 1,
name: 'jill'
}, {
_id: 2,
name: 'bob'
}, {
_id: 3,
name: 'nancy'
}];
var userMem = new TrackableMemory({
data: data,
idProperty: '_id'
});
var usersGrid = new OnDemandGrid({
collection: userMem,
columns: {
_id: 'ID',
name: 'Name'
},
className: 'dgrid-autoheight',
noDataMessage: 'No records found'
}, 'usersGrid');
on(dom.byId('reset'), 'click', function(evt) {
console.log('resetting');
userMem.forEach(function(userObj) {
userMem.remove(userObj._id);
}).then(function() {
console.log('successfully removed users');
});
});
});