From 2e74c44149bb271d6a3334d2d9faa642b26a16f9 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Wed, 14 Dec 2016 15:43:41 +0000
Subject: [PATCH] SSDM-959 : Hide parent/children sections

SVN: 37497
---
 .../html/js/views/SampleForm/SampleFormView.js    |  6 ++++--
 .../views/SampleForm/widgets/LinksController.js   |  4 ++--
 .../js/views/SampleForm/widgets/LinksModel.js     |  3 ++-
 .../html/js/views/SampleForm/widgets/LinksView.js | 15 ++++++++++++---
 .../as/webapps/eln-lims/html/lib/grid/js/Grid.js  |  4 ++--
 5 files changed, 22 insertions(+), 10 deletions(-)

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 42bbe5dc6e8..82b375e76e7 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
@@ -328,7 +328,8 @@ function SampleFormView(sampleFormController, sampleFormModel) {
 																			isDisabled,
 																			currentParentsLinks,
 																			this._sampleFormModel.mode === FormMode.CREATE || this._sampleFormModel.mode === FormMode.EDIT,
-																			parentsAnyTypeDisabled);
+																			parentsAnyTypeDisabled,
+																			sampleTypeCode);
 		if( !sampleTypeDefinitionsExtension || 
 				(!sampleTypeDefinitionsExtension["SAMPLE_PARENTS_DISABLED"] ||
 				!sampleTypeDefinitionsExtension.showParents) ||
@@ -363,7 +364,8 @@ function SampleFormView(sampleFormController, sampleFormModel) {
 															isDisabled,
 															currentChildrenLinks,
 															this._sampleFormModel.mode === FormMode.CREATE,
-															childrenAnyTypeDisabled);
+															childrenAnyTypeDisabled,
+															sampleTypeCode);
 		if(!sampleTypeDefinitionsExtension || !sampleTypeDefinitionsExtension["SAMPLE_CHILDREN_DISABLED"]) {
 			this._sampleFormModel.sampleLinksChildren.init($sampleChildrenWidget);
 		}
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksController.js
index efe45f54f8c..aa2cf877514 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksController.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksController.js
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-function LinksController(title, sampleTypeHints, isDisabled, samplesToEdit, showAnnotableTypes, disableAddAnyType) {
-	var linksModel = new LinksModel(title, sampleTypeHints, isDisabled, showAnnotableTypes, disableAddAnyType);
+function LinksController(title, sampleTypeHints, isDisabled, samplesToEdit, showAnnotableTypes, disableAddAnyType, sampleTypeCode) {
+	var linksModel = new LinksModel(title, sampleTypeHints, isDisabled, showAnnotableTypes, disableAddAnyType, sampleTypeCode);
 	var linksView = new LinksView(this, linksModel);
 	
 	this.init = function($container) {
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksModel.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksModel.js
index 42d4669c471..def5c902004 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksModel.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksModel.js
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-function LinksModel(title, sampleTypeHints, isDisabled, showInfo, disableAddAnyType) {
+function LinksModel(title, sampleTypeHints, isDisabled, showInfo, disableAddAnyType, sampleTypeCode) {
 	this.title = title;
 	this.sampleTypeHints = sampleTypeHints;
 	this.isDisabled = isDisabled;
@@ -23,6 +23,7 @@ function LinksModel(title, sampleTypeHints, isDisabled, showInfo, disableAddAnyT
 	this.samplesRemoved = [];
 	this.samplesByType = {};
 	this.stateObj = {};
+	this.sampleTypeCode = sampleTypeCode;
 	
  	this.writeState = function(sample, propertyTypeCode, propertyValue, isDelete) {
 		this.loadState();
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksView.js
index 5f2f3c72e35..815b9b24c93 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksView.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksView.js
@@ -129,8 +129,14 @@ function LinksView(linksController, linksModel) {
 	}
 	
 	this.repaint = function($container) {
-		$savedContainer = $container;
+		var $fieldsetOwner = $("<div>");
+		var $legend = $("<legend>");
+		var $fieldset = $("<div>");
+		$fieldsetOwner.append($legend).append($fieldset);
+		
 		$container.empty();
+		$container.append($fieldsetOwner);
+		$savedContainer = $fieldset;
 		
 		var addAnyBtn = null;
 		if(linksModel.disableAddAnyType) {
@@ -139,8 +145,11 @@ function LinksView(linksController, linksModel) {
 			addAnyBtn = linksView.getAddAnyBtn();
 		}
 		
-		$container.append($("<legend>").append(linksModel.title).append("&nbsp;").append(addAnyBtn).css("margin-top", "20px").css("margin-bottom", "20px"));
-		$container.append($samplePicker);
+		$legend.append(linksModel.title).append("&nbsp;").append(addAnyBtn); //.css("margin-top", "20px").css("margin-bottom", "20px");
+		
+		$legend.prepend(FormUtil.getShowHideButton($fieldset, "SAMPLE-" + linksModel.sampleTypeCode + "-" + linksModel.title));
+		
+		$fieldset.append($samplePicker);
 	}
 	
 	//
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js
index b2854cd3fc0..320636db652 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js
@@ -679,8 +679,8 @@ $.extend(Grid.prototype, {
 				$(thisGrid.panel).hide().show(0); // HACK: Fixes Chrome rendering issues when refreshing the grid on fuelux 3.1.0
 				
 				// HACK: Fix that only works if there is only one table at a time (dont works Safari)
-				var newWidth = $(".repeater-list-wrapper > .table").width();
-				$(".repeater").width(newWidth);
+//				var newWidth = $(".repeater-list-wrapper > .table").width();
+//				$(".repeater").width(newWidth);
 				
 				var optionsDropdowns = $(".dropdown.table-options-dropdown");
 				for(var i = 0; i < optionsDropdowns.length; i++) {
-- 
GitLab