From bf6bd0fa67045f82526d2b581cf400818ccb8379 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Mon, 14 Mar 2016 12:27:00 +0000
Subject: [PATCH] SSDM-3292 : Sample type placeholder on dropdown + Make
 experiment types on inventory to use default ones + Preview image out of
 column + Break long labels on forms.

SVN: 35891
---
 .../1/as/webapps/eln-lims/html/css/style.css  |  5 +++
 .../webapps/eln-lims/html/js/util/FormUtil.js |  2 +-
 .../js/views/DataGrid/SampleDataGridUtil.js   |  2 +-
 .../js/views/ProjectForm/ProjectFormView.js   | 32 +++++++++++++------
 .../js/views/SampleTable/SampleTableView.js   |  2 +-
 5 files changed, 31 insertions(+), 12 deletions(-)

diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/css/style.css b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/css/style.css
index fe790946333..b81204f8834 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/css/style.css
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/css/style.css
@@ -59,6 +59,11 @@ h1, h2, legend {
 	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
 	font-weight: 300;
 }
+
+.control-label {
+	word-wrap: break-word;
+}
+
 /*
 .btn {
 	min-width: 45px !important;
diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/FormUtil.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/FormUtil.js
index 37eecfdb7de..d0535007f44 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/FormUtil.js
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/FormUtil.js
@@ -224,7 +224,7 @@ var FormUtil = new function() {
 			$component.attr('required', '');
 		}
 		
-		$component.append($("<option>").attr('value', '').attr('selected', '').text(''));
+		$component.append($("<option>").attr('value', '').attr('selected', '').attr('disabled', '').text("Select a sample type"));
 		for(var i = 0; i < sampleTypes.length; i++) {
 			var sampleType = sampleTypes[i];
 			if(profile.isSampleTypeHidden(sampleType.code)) {
diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/SampleDataGridUtil.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/SampleDataGridUtil.js
index 8bfc427a216..8349321e516 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/SampleDataGridUtil.js
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/SampleDataGridUtil.js
@@ -71,7 +71,7 @@ var SampleDataGridUtil = new function() {
 							for(var pathIdx = 0; pathIdx < dataFiles.result.length; pathIdx++) {
 								if(!dataFiles.result[pathIdx].isDirectory) {
 									var downloadUrl = profile.allDataStores[0].downloadUrl + '/' + dataset.code + "/" + dataFiles.result[pathIdx].pathInDataSet + "?sessionID=" + mainController.serverFacade.getSession();
-									var previewImage = $("<img>", { 'src' : downloadUrl, 'class' : 'zoomableImage', 'style' : 'height:80px;' });
+									var previewImage = $("<img>", { 'src' : downloadUrl, 'class' : 'zoomableImage', 'style' : 'width:100%;' });
 									previewImage.click(function(event) {
 										Util.showImage(downloadUrl);
 										event.stopPropagation();
diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js
index f78ccca23bf..7d5896be05c 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js
@@ -62,17 +62,31 @@ function ProjectFormView(projectFormController, projectFormModel) {
 		if(this._projectFormModel.mode !== FormMode.CREATE) {
 			//Create Experiment
 			var $createExpBtn = FormUtil.getButtonWithIcon("glyphicon-plus", function() {
-				var $dropdown = FormUtil.getExperimentTypeDropdown("experimentTypeDropdown", true);
-				Util.blockUI("Select the type for the Experiment: <br><br>" + $dropdown[0].outerHTML + "<br> or <a class='btn btn-default' id='experimentTypeDropdownCancel'>Cancel</a>");
 				
-				$("#experimentTypeDropdown").on("change", function(event) {
-					var experimentTypeCode = $("#experimentTypeDropdown")[0].value;
-					_this._projectFormController.createNewExperiment(experimentTypeCode);
-				});
+				var showSelectExperimentType = function() {
+					var $dropdown = FormUtil.getExperimentTypeDropdown("experimentTypeDropdown", true);
+					Util.blockUI("Select the type for the Experiment: <br><br>" + $dropdown[0].outerHTML + "<br> or <a class='btn btn-default' id='experimentTypeDropdownCancel'>Cancel</a>");
+					
+					$("#experimentTypeDropdown").on("change", function(event) {
+						var experimentTypeCode = $("#experimentTypeDropdown")[0].value;
+						_this._projectFormController.createNewExperiment(experimentTypeCode);
+					});
+					
+					$("#experimentTypeDropdownCancel").on("click", function(event) { 
+						Util.unblockUI();
+					});
+				}
 				
-				$("#experimentTypeDropdownCancel").on("click", function(event) { 
-					Util.unblockUI();
-				});
+				if(profile.isInventorySpace(_this._projectFormModel.project.spaceCode)) {
+					var experimentType = profile.getExperimentTypeForExperimentTypeCode(_this._projectFormModel.project.spaceCode);
+					if(experimentType) {
+						_this._projectFormController.createNewExperiment(_this._projectFormModel.project.spaceCode);
+					} else {
+						showSelectExperimentType();
+					}
+				} else {
+					showSelectExperimentType();
+				}
 			});
 			toolbarModel.push({ component : $createExpBtn, tooltip: "Create Experiment" });
 			
diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js
index 4a1aebf8d5b..e0349d060b9 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js
@@ -134,7 +134,7 @@ function SampleTableView(sampleTableController, sampleTableModel) {
 	this._getLoadedSampleTypesDropdown = function() {
 		var _this = this;
 		var	$sampleTypesSelector = $('<select>', { 'id' : 'sampleTypeCodesToShow', class : 'form-control' });
-		$sampleTypesSelector.append($('<option>', { 'value' : '' }).text(''));
+		$sampleTypesSelector.append($("<option>").attr('value', '').attr('selected', '').attr('disabled', '').text("Select a sample type"));
 		for(sampleTypeCode in this._sampleTableModel.sampleTypes) {
 			$sampleTypesSelector.append($('<option>', { 'value' : sampleTypeCode }).text(sampleTypeCode));
 		}
-- 
GitLab