From 4c911b292074800eb32da3b7f69d0c630690c1af Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 25 May 2018 09:50:56 +0200
Subject: [PATCH] listener onProjectAdd added

---
 frontend-js/src/main/js/gui/admin/AddProjectDialog.js      | 7 +++++++
 frontend-js/src/test/js/gui/admin/AddProjectDialog-test.js | 6 ++++++
 2 files changed, 13 insertions(+)

diff --git a/frontend-js/src/main/js/gui/admin/AddProjectDialog.js b/frontend-js/src/main/js/gui/admin/AddProjectDialog.js
index 4d29994513..0ab83e41a5 100644
--- a/frontend-js/src/main/js/gui/admin/AddProjectDialog.js
+++ b/frontend-js/src/main/js/gui/admin/AddProjectDialog.js
@@ -26,6 +26,7 @@ function AddProjectDialog(params) {
   var self = this;
   self.registerListenerType("onFileUpload");
   self.registerListenerType("onZipFileUpload");
+  self.registerListenerType("onProjectAdd");
   self.setZipEntries([]);
   $(self.getElement()).addClass("minerva-edit-project-dialog");
   $(self.getElement()).css({overflow: "hidden"});
@@ -1030,6 +1031,10 @@ AddProjectDialog.prototype.getConverter = function () {
   });
 };
 
+/**
+ *
+ * @returns {Promise<Project>}
+ */
 AddProjectDialog.prototype.onSaveClicked = function () {
   var self = this;
   var parserClass;
@@ -1061,6 +1066,8 @@ AddProjectDialog.prototype.onSaveClicked = function () {
       "zip-entries": self.getZipEntries()
     };
     return ServerConnector.addProject(options);
+  }).then(function (project) {
+    self.callListeners("onProjectAdd", project);
   }).finally(function () {
     GuiConnector.hideProcessing();
   });
diff --git a/frontend-js/src/test/js/gui/admin/AddProjectDialog-test.js b/frontend-js/src/test/js/gui/admin/AddProjectDialog-test.js
index 8b4e31b352..a1e373fcd6 100644
--- a/frontend-js/src/test/js/gui/admin/AddProjectDialog-test.js
+++ b/frontend-js/src/test/js/gui/admin/AddProjectDialog-test.js
@@ -130,6 +130,10 @@ describe('AddProjectDialog', function () {
         options = params;
       };
       var dialog = createDialog();
+      var projectAdded = false;
+      dialog.addListener("onProjectAdd", function(){
+        projectAdded = true;
+      });
 
       var file = new Blob(["<node></node>"]);
       file.name = "test.xml";
@@ -151,6 +155,8 @@ describe('AddProjectDialog', function () {
         assert.ok(options["version"] !== undefined);
 
         assert.ok(options["semantic-zoom"] !== undefined);
+
+        assert.ok(projectAdded);
       }).finally(function () {
         return dialog.destroy();
       });
-- 
GitLab