From e3f339fb9adcf6c57ab74dd5610e2bf701f08a9b Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Fri, 28 Oct 2016 14:13:50 +0200 Subject: [PATCH] Fix #25 a regression introduced by traits --- src/code_manager/model/JsonGenerator.js | 5 +---- src/demo.js | 4 +++- src/trait_manager/model/Trait.js | 12 ++++++++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/code_manager/model/JsonGenerator.js b/src/code_manager/model/JsonGenerator.js index d048fbae8..a1825ffcc 100644 --- a/src/code_manager/model/JsonGenerator.js +++ b/src/code_manager/model/JsonGenerator.js @@ -6,12 +6,10 @@ define(['backbone'], return Backbone.Model.extend({ /** @inheritdoc */ - build: function(model) - { + build: function(model) { var json = model.toJSON(); this.beforeEach(json); - // Avoid jshint 'loopfunc' error _.each(json,function(v, attr){ var obj = json[attr]; if(obj instanceof Backbone.Model){ @@ -25,7 +23,6 @@ define(['backbone'], }, this); } } - }, this); return json; diff --git a/src/demo.js b/src/demo.js index 751adc13a..8f6042028 100644 --- a/src/demo.js +++ b/src/demo.js @@ -30,7 +30,9 @@ require(['config/require-config'], function() { content: 'mylink', }], */ - storageManager:{ autoload: 0}, + storageManager:{ + autoload: 0, + }, commands: { defaults : [{ id: 'open-github', diff --git a/src/trait_manager/model/Trait.js b/src/trait_manager/model/Trait.js index acedf1b8a..b15bc7f59 100644 --- a/src/trait_manager/model/Trait.js +++ b/src/trait_manager/model/Trait.js @@ -19,5 +19,17 @@ define(['backbone'], throw new Error('Target not found'); }, + /** + * Need to remove target from it otherwise with toJSON + * creates an infinite loop + * @return {Object} + * @private + */ + toJSON: function(){ + var obj = this.attributes; + delete obj.target; + return obj; + } + }); });