From 689a6d1ed1c82bf84805b60da5100aef6e06c37f Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Wed, 20 Sep 2017 12:10:09 +0000
Subject: [PATCH] SSDM-4223 : Jupyter integration - ongoing work

SVN: 38738
---
 .../widgets/JupyterNotebookView.js            | 42 +++++++++++--------
 .../js/views/SideMenu/SideMenuWidgetView.js   |  7 +++-
 2 files changed, 29 insertions(+), 20 deletions(-)

diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/JupyterNotebookView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/JupyterNotebookView.js
index f23425471e0..b9c27b39fe8 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/JupyterNotebookView.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/JupyterNotebookView.js
@@ -31,33 +31,39 @@ function JupyterNotebookView(jupyterNotebookController, jupyterNotebookModel) {
 		var datasetsSearchDropdown = new AdvancedEntitySearchDropdown(true, true, "Select as many datasets as you need", false, false, true);
 		datasetsSearchDropdown.init($datasetsContainer);
 		
-		switch(entity["@type"]) {
-			case "DataSet":
-				datasetsSearchDropdown.addSelectedDataSet(entity.code);
-				break;
+		if(entity) {
+			switch(entity["@type"]) {
+				case "DataSet":
+					datasetsSearchDropdown.addSelectedDataSet(entity.code);
+					break;
+			}
 		}
 		
+		
 		var $ownerContainer = $("<div>", { style : "width: 100%;" });
 		$window.append(FormUtil.getFieldForComponentWithLabel($ownerContainer, "Owner (*)"));
 		var ownerSearchDropdown = new AdvancedEntitySearchDropdown(false, true, "Select one owner " + ELNDictionary.sample, true, true, false);
 		ownerSearchDropdown.init($ownerContainer);
 		
-		switch(entity["@type"]) {
-			case "DataSet":
-				if(entity.sampleIdentifierOrNull) {
-					ownerSearchDropdown.addSelectedSample(entity.sampleIdentifierOrNull);
-				} else if(entity.experimentIdentifier) {
-					ownerSearchDropdown.addSelectedExperiment(entity.experimentIdentifier);
-				}
-				break;
-			case "Sample":
-				ownerSearchDropdown.addSelectedSample(entity.identifier);
-				break;
-			case "Experiment":
-				ownerSearchDropdown.addSelectedExperiment(entity.identifier);
-				break;
+		if(entity) {
+			switch(entity["@type"]) {
+				case "DataSet":
+					if(entity.sampleIdentifierOrNull) {
+						ownerSearchDropdown.addSelectedSample(entity.sampleIdentifierOrNull);
+					} else if(entity.experimentIdentifier) {
+						ownerSearchDropdown.addSelectedExperiment(entity.experimentIdentifier);
+					}
+					break;
+				case "Sample":
+					ownerSearchDropdown.addSelectedSample(entity.identifier);
+					break;
+				case "Experiment":
+					ownerSearchDropdown.addSelectedExperiment(entity.identifier);
+					break;
+			}
 		}
 		
+		
 		var $workspace = FormUtil._getInputField('text', null, 'workspace Name', null, true);
 		var $notebookName = FormUtil._getInputField('text', null, 'notebook Name', null, true);
 		$window.append(FormUtil.getFieldForComponentWithLabel($workspace, "Workspace"));
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js
index e31c2931aff..60de4bb28fd 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js
@@ -169,8 +169,11 @@ function SideMenuWidgetView(sideMenuWidgetController, sideMenuWidgetModel) {
         var treeModelUtils = [];
         
         if(profile.jupyterEndpoint) {
-        	var settingsLink = _this.getLinkForNode("Jupyter", "JUPYTER_WORKSPACE", "showJupyterWorkspace", null);
-        	treeModelUtils.push({ title : settingsLink, entityType: "JUPYTER_WORKSPACE", key : "JUPYTER_WORKSPACE", folder : false, lazy : false, view : "showJupyterWorkspace", icon : "glyphicon glyphicon-log-in" });
+        	var jupyterLink = _this.getLinkForNode("Jupyter Workspace", "JUPYTER_WORKSPACE", "showJupyterWorkspace", null);
+        	treeModelUtils.push({ title : jupyterLink, entityType: "JUPYTER_WORKSPACE", key : "JUPYTER_WORKSPACE", folder : false, lazy : false, view : "showJupyterWorkspace", icon : "glyphicon glyphicon-log-in" });
+        	
+        	var jupyterNotebook = _this.getLinkForNode("New Jupyter Workspace", "NEW_JUPYTER_NOTEBOOK", "showNewJupyterWorkspaceCreator", null);
+        	treeModelUtils.push({ title : jupyterNotebook, entityType: "NEW_JUPYTER_NOTEBOOK", key : "NEW_JUPYTER_NOTEBOOK", folder : false, lazy : false, view : "showNewJupyterWorkspaceCreator", icon : "glyphicon glyphicon-log-in" });
         }
         
         if(profile.mainMenu.showUserProfile) {
-- 
GitLab