From ac8b80c2512417071e1b82d7c773c8b8feb197bf Mon Sep 17 00:00:00 2001
From: "Fuentes Serna  Juan Mariano (ID SIS)" <juanf@bs-mbpr28.d.ethz.ch>
Date: Thu, 8 Feb 2018 10:51:51 +0100
Subject: [PATCH] SSDM-6169 - Bugfix, CKEditor breaks when modifing layout

---
 .../webapps/eln-lims/html/js/controllers/LayoutManager.js  | 7 +++++--
 .../webapps/eln-lims/html/js/controllers/MainController.js | 3 ---
 .../eln-lims/html/js/views/DataSetForm/DataSetFormView.js  | 4 ++++
 .../html/js/views/ExperimentForm/ExperimentFormView.js     | 4 ++++
 .../eln-lims/html/js/views/SampleForm/SampleFormView.js    | 4 ++++
 5 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/LayoutManager.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/LayoutManager.js
index 82931cea01b..95955113349 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/LayoutManager.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/LayoutManager.js
@@ -339,7 +339,10 @@ var LayoutManager = {
 		}
 	},
 	canReload : function() {
-		return this.isBlocked == false && this.isResizingColumn === false && this.isLoadingView === false && this.firstColumn.width() > 0;
+		return  this.isBlocked == false && 
+				this.isResizingColumn === false && 
+				this.isLoadingView === false && 
+				this.firstColumn.width() > 0;
 	},
 	reloadView : function(view, forceFirstTime) {
 		var _this = this;
@@ -374,8 +377,8 @@ var LayoutManager = {
 		this.secondColumnContentResize();
 	},
 	resize : function(view, forceFirstTime) {
-		console.log("resize");
 		if(this.canReload()) {
+			console.log("reloadView");
 			this.reloadView(view, forceFirstTime);
 		}
 	}
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js
index 52b19dfd27b..00229d926a1 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js
@@ -464,7 +464,6 @@ function MainController(profile) {
 					});
 					break;
 				case "showEditExperimentPageFromIdentifier":
-					LayoutManager.isBlocked = true; // CKEDITOR owns hooks and variables that will break if the layout manager does its magic
 					var _this = this;
 					this.serverFacade.listExperimentsForIdentifiers([arg], function(data) {
 						document.title = "" + ELNDictionary.getExperimentKindName(arg) + " " + arg;
@@ -497,7 +496,6 @@ function MainController(profile) {
 					//window.scrollTo(0,0);
 					break;
 				case "showEditSamplePageFromPermId":
-					LayoutManager.isBlocked = true; // CKEDITOR owns hooks and variables that will break if the layout manager does its magic
 					var _this = this;
 					var permId = null;
 					var paginationInfo = null;
@@ -617,7 +615,6 @@ function MainController(profile) {
 					});
 					break;
 				case "showEditDataSetPageFromPermId":
-					LayoutManager.isBlocked = true; // CKEDITOR owns hooks and variables that will break if the layout manager does its magic
 					var _this = this;
 					var dsCriteria = { 	
 							entityKind : "DATASET", 
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 ac938eb6f73..f041c1b5252 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
@@ -22,6 +22,10 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) {
 		var $container = views.content;
 		var _this = this;
 		
+		if(!this._dataSetFormModel.isMini && this._dataSetFormModel.mode !== FormMode.VIEW) {
+			LayoutManager.isBlocked = true; // CKEDITOR owns hooks and variables that will break if the layout manager does its magic
+		}
+		
 		//Clean and prepare container
 		var $wrapper = $('<form>', { 'id' : 'mainDataSetForm', 'role' : 'form'});
 		if(this._dataSetFormModel.isMini) {
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js
index 2963624187d..ba563f6106b 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js
@@ -29,6 +29,10 @@ function ExperimentFormView(experimentFormController, experimentFormModel) {
 			'action' : 'javascript:void(0);'
 		});
 		
+		if(this._experimentFormModel.mode !== FormMode.VIEW) {
+			LayoutManager.isBlocked = true; // CKEDITOR owns hooks and variables that will break if the layout manager does its magic
+		}
+		
 		var $rightPanel = null;
 		if(this._experimentFormModel.mode === FormMode.VIEW) {
 			$rightPanel = views.auxContent;
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 68e9fc8b2e7..c3b21666e7b 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
@@ -32,6 +32,10 @@ function SampleFormView(sampleFormController, sampleFormModel) {
 			'action' : 'javascript:void(0);'
 		});
 		
+		if(this._sampleFormModel.mode !== FormMode.VIEW) {
+			LayoutManager.isBlocked = true; // CKEDITOR owns hooks and variables that will break if the layout manager does its magic
+		}
+		
 		var $rightPanel = null;
 		if(this._sampleFormModel.mode === FormMode.VIEW) {
 			$rightPanel = views.auxContent;
-- 
GitLab