From c43acdf6a02caf97d667e99e0fea237f45237ee9 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Thu, 4 Jun 2015 14:45:59 +0200 Subject: [PATCH] reopen existing model from workspace --- .../src/main/js/components/workspace/main.js | 15 +++++++-------- .../main/js/components/workspace/models/items.js | 7 +++++++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/server/sonar-web/src/main/js/components/workspace/main.js b/server/sonar-web/src/main/js/components/workspace/main.js index 8b4be12009a..14edb7e4d5b 100644 --- a/server/sonar-web/src/main/js/components/workspace/main.js +++ b/server/sonar-web/src/main/js/components/workspace/main.js @@ -58,10 +58,9 @@ define([ }, addComponent: function (model) { - if (!this.items.has(model)) { - this.items.add(model); - } + var m = this.items.add2(model); this.save(); + return m; }, open: function (options) { @@ -69,12 +68,12 @@ define([ if (!model.isValid()) { throw new Error(model.validationError); } - this.addComponent(model); - if (model.isComponent()) { - this.showComponentViewer(model); + var m = this.addComponent(model); + if (m.isComponent()) { + this.showComponentViewer(m); } - if (model.isRule()) { - this.showRule(model); + if (m.isRule()) { + this.showRule(m); } }, diff --git a/server/sonar-web/src/main/js/components/workspace/models/items.js b/server/sonar-web/src/main/js/components/workspace/models/items.js index dfed439bb52..2fa11670ed3 100644 --- a/server/sonar-web/src/main/js/components/workspace/models/items.js +++ b/server/sonar-web/src/main/js/components/workspace/models/items.js @@ -47,6 +47,13 @@ define(['./item'], function (Item) { var forComponent = model.isComponent() && this.findWhere({ uuid: model.get('uuid') }) != null, forRule = model.isRule() && this.findWhere({ key: model.get('key') }) != null; return forComponent || forRule; + }, + + add2: function (model) { + var tryModel = model.isComponent() ? + this.findWhere({ uuid: model.get('uuid') }) : + this.findWhere({ key: model.get('key') }); + return tryModel != null ? tryModel : this.add(model); } }); -- 2.39.5