diff --git a/modules/presets/index.js b/modules/presets/index.js index 405dd88ff..a553779e3 100644 --- a/modules/presets/index.js +++ b/modules/presets/index.js @@ -328,6 +328,8 @@ export function presetIndex(context) { _addablePresetIDs = val; if (_addablePresetIDs) { // reset all presets _this.collection.forEach(p => p.addable(_addablePresetIDs.has(p.id))); + } else { + _this.collection.forEach(p => p.addable(true)); } return _this; diff --git a/test/spec/presets/index.js b/test/spec/presets/index.js index 7d062ef0e..21739d108 100644 --- a/test/spec/presets/index.js +++ b/test/spec/presets/index.js @@ -192,6 +192,10 @@ describe('iD.presetIndex', function () { expect(presets.item('point').addable()).to.be.true; expect(presets.item('line').addable()).to.be.false; expect(presets.addablePresetIDs()).to.eql(ids); + + presets.addablePresetIDs(null); + expect(presets.item('point').addable()).to.be.true; + expect(presets.item('line').addable()).to.be.true; }); });