From 6ad32fb8c6db594565192ad99d599fffb103f636 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Wed, 6 Apr 2016 12:59:21 +0000
Subject: [PATCH] SSDM-3108 : File upload mini, working prototype

SVN: 36092
---
 .../DataSetForm/DataSetFormController.js      |  6 +--
 .../js/views/DataSetForm/DataSetFormModel.js  |  3 +-
 .../js/views/DataSetForm/DataSetFormView.js   | 46 +++++++++++++++----
 .../js/views/SampleForm/SampleFormView.js     |  5 ++
 4 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js
index d73e37ca47d..2121dc937ae 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-function DataSetFormController(mainController, mode, sample, dataSet) {
-	this._mainController = mainController;
-	this._dataSetFormModel = new DataSetFormModel(mode, sample, dataSet);
+function DataSetFormController(parentController, mode, sample, dataSet, isMini) {
+	this._parentController = parentController;
+	this._dataSetFormModel = new DataSetFormModel(mode, sample, dataSet, isMini);
 	this._dataSetFormView = new DataSetFormView(this, this._dataSetFormModel);
 	
 	this.init = function($container) {
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormModel.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormModel.js
index 8de9907a9df..84718731d74 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormModel.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormModel.js
@@ -14,8 +14,9 @@
  * limitations under the License.
  */
 
-function DataSetFormModel(mode, sample, dataSet) {
+function DataSetFormModel(mode, sample, dataSet, isMini) {
 	this.mode = mode;
+	this.isMini = isMini;
 	this.isFormDirty = false;
 	
 	this.sample = sample;
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js
index 7b50d29fada..963c50e880a 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js
@@ -24,6 +24,11 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) {
 		
 		//Clean and prepare container
 		var $wrapper = $('<form>', { class : 'form-horizontal ', 'id' : 'mainDataSetForm', 'role' : 'form'});
+		if(this._dataSetFormModel.isMini) {
+			$wrapper.css('margin', '10px');
+			$wrapper.css('padding', '10px');
+			$wrapper.css('background-color', '#f8f8f8');
+		}
 		$wrapper.submit(function(event) {_this._dataSetFormController.submitDataSet(); event.preventDefault();});
 		
 		//
@@ -55,7 +60,10 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) {
 		$title
 			.append($("<h2>").append(titleText))
 			.append($("<h4>", { "style" : "font-weight:normal;" } ).append(entityPath));
-		$wrapper.append($title);
+		
+		if(!this._dataSetFormModel.isMini) {
+			$wrapper.append($title);
+		}
 		
 		//
 		// Toolbar
@@ -76,28 +84,41 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) {
 			}, true);
 			toolbarModel.push({ component : $deleteBtn, tooltip: "Delete" });
 		}
-		$wrapper.append(FormUtil.getToolbar(toolbarModel));
+		
+		if(!this._dataSetFormModel.isMini) {
+			$wrapper.append(FormUtil.getToolbar(toolbarModel));
+		}
 		
 		//Drop Down DataSetType Field Set
 		var $dataSetTypeFieldSet = $('<div>');
-		$dataSetTypeFieldSet.append($('<legend>').text('Identification Info'));
+		if(!this._dataSetFormModel.isMini) {
+			$dataSetTypeFieldSet.append($('<legend>').text('Identification Info'));
+		}
 		$wrapper.append($dataSetTypeFieldSet);
 		
 		var $dataSetTypeSelector = null;
 		if(this._dataSetFormModel.mode === FormMode.CREATE) {
 			$dataSetTypeSelector = FormUtil.getDataSetsDropDown('DATASET_TYPE', this._dataSetFormModel.dataSetTypes);
 			$dataSetTypeSelector.change(function() { 
-				_this._repaintMetadata(
-						_this._dataSetFormController._getDataSetType($('#DATASET_TYPE').val())
-				);
+				if(!_this._dataSetFormModel.isMini) {
+					_this._repaintMetadata(
+							_this._dataSetFormController._getDataSetType($('#DATASET_TYPE').val())
+					);
+				}
 				_this.isFormDirty = true;
 			});
 			
 			var $dataSetTypeDropDown = $('<div>', { class : 'form-group'});
-			$dataSetTypeDropDown.append($('<label>', {class: "control-label " + FormUtil.labelColumnClass}).html('Data Set Type&nbsp;(*):'));
+			if(!this._dataSetFormModel.isMini) {
+				$dataSetTypeDropDown.append($('<label>', {class: "control-label " + FormUtil.labelColumnClass}).html('Data Set Type&nbsp;(*):'));
+			}
+			
+			var $dataSetTypeDropDowContainer = $('<div>', {class: FormUtil.controlColumnClass});
+			if(this._dataSetFormModel.isMini) {
+				$dataSetTypeDropDowContainer.css('width', '100%');
+			}
 			$dataSetTypeDropDown.append(
-				$('<div>', {class: FormUtil.controlColumnClass})
-					.append($dataSetTypeSelector)
+				$dataSetTypeDropDowContainer.append($dataSetTypeSelector)
 			);
 			$dataSetTypeFieldSet.append($dataSetTypeDropDown);
 		} else {
@@ -112,7 +133,10 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) {
 		if(this._dataSetFormModel.sample.experimentIdentifierOrNull) {
 			owner = this._dataSetFormModel.sample.experimentIdentifierOrNull + "/" + this._dataSetFormModel.sample.code;
 		}
-		$dataSetTypeFieldSet.append(FormUtil.getFieldForLabelWithText(ownerName, owner));
+		
+		if(!this._dataSetFormModel.isMini) {
+			$dataSetTypeFieldSet.append(FormUtil.getFieldForLabelWithText(ownerName, owner));
+		}
 		
 		//
 		// Registration and modification info
@@ -158,7 +182,9 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) {
 			.append($('<div>', { class : "form-group"}))
 			.append($('<div>', {class: FormUtil.controlColumnClass})
 						.append($('<input>', { class : 'btn btn-primary', 'type' : 'submit', 'value' : btnText})));
+			
 			$wrapper.append($submitButton);
+			
 		}
 		
 		//Attach to main form
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js
index 9778006e67c..d65fead588a 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js
@@ -371,6 +371,11 @@ function SampleFormView(sampleFormController, sampleFormModel) {
 		
 		var $dataSetViewerContainer = $("<div>", { 'id' : 'dataSetViewerContainer', 'style' : 'margin-top:10px;'});
 		$rightPanel.append($dataSetViewerContainer);
+
+		var $inlineDataSetForm = $("<div>");
+		$rightPanel.append($inlineDataSetForm);
+		var $dataSetFormController = new DataSetFormController(this, FormMode.CREATE, this._sampleFormModel.sample, null, true);
+			$dataSetFormController.init($inlineDataSetForm);
 		
 		//
 		// INIT
-- 
GitLab