From 1b787e3da57690ca72bcc178341a48880b5803ee Mon Sep 17 00:00:00 2001
From: gakin <gakin>
Date: Tue, 24 Mar 2015 14:57:46 +0000
Subject: [PATCH] SSDM-180 : PAPER/PETER - ELN UI - Storing tables
 configuration by user

SVN: 33724
---
 .../html/js/views/DataGrid/DataGridController.js      | 11 ++++-------
 .../js/views/SampleForm/widgets/StorageListView.js    |  2 +-
 .../js/views/SampleTable/SampleTableController.js     |  3 ++-
 .../html/js/views/legacy/SampleLinksWidget.js         |  3 ++-
 4 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/DataGrid/DataGridController.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/DataGrid/DataGridController.js
index 5812fa9c7ca..1a4b92752a1 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/DataGrid/DataGridController.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/DataGrid/DataGridController.js
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-function DataGridController(title, columns, data, rowClickEventHandler, showAllColumns) {
+function DataGridController(title, columns, data, rowClickEventHandler, showAllColumns,configKey) {
 	this._grid = null;
 	this._dataGridModel = null;
 	this._dataGridView = null;
@@ -25,11 +25,10 @@ function DataGridController(title, columns, data, rowClickEventHandler, showAllC
 		mainController.serverFacade.openbisServer.getWebAppSettings(webAppId, function(response) {
 			var settings = response.result.settings;
 			var onColumnsChange = function(columnsModel) {
-				console.log("SAVING START");
 				if(!settings) {
 					settings = {};
 				}
-				settings[_this._dataGridModel.title] = JSON.stringify(columnsModel);
+				settings[configKey] = JSON.stringify(columnsModel);
 				
 				var webAppSettings = {
 						"@type" : "WebAppSettings",
@@ -37,13 +36,11 @@ function DataGridController(title, columns, data, rowClickEventHandler, showAllC
 						"settings" : settings
 				}
 				
-				console.log("SAVING: " + JSON.stringify(settings));
 				mainController.serverFacade.openbisServer.setWebAppSettings(webAppSettings, function(result) {});
 			}
-			console.log("LOAD: " + JSON.stringify(settings));
 			var tableSettings = null;
-			if(settings[title]) {
-				tableSettings = JSON.parse(settings[title]);
+			if(settings[configKey]) {
+				tableSettings = JSON.parse(settings[configKey]);
 			}
 			_this._grid = new Grid(columns, data, showAllColumns, tableSettings, onColumnsChange);
 			_this._grid.addRowClickListener(rowClickEventHandler);
diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/StorageListView.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/StorageListView.js
index bd046f0d018..203b8c068fe 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/StorageListView.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/StorageListView.js
@@ -92,7 +92,7 @@ function StorageListView(storageListController, storageListModel) {
 			}
 		}
 		
-		this._dataGrid = new DataGridController(null, columns, getDataList, rowClick);
+		this._dataGrid = new DataGridController(null, columns, getDataList, rowClick, false, "STORAGE_WIDGET");
 		
 		var $dataGridContainer = $("<div>");
 		this._dataGrid.init($dataGridContainer);
diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable/SampleTableController.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable/SampleTableController.js
index 049ee5c6550..a0a5f98a013 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable/SampleTableController.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable/SampleTableController.js
@@ -222,7 +222,8 @@ function SampleTableController(parentController, title, experimentIdentifier) {
 			}
 			
 			//Create and display table
-			var dataGridController = new DataGridController(null, columns, getDataList, rowClick);
+			var configKey = "SAMPLE_"+ sampleType.code;
+			var dataGridController = new DataGridController(configKey, columns, getDataList, rowClick, false, configKey);
 			dataGridController.init(this._sampleTableView.getTableContainer());
 		}
 	}
diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/legacy/SampleLinksWidget.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/legacy/SampleLinksWidget.js
index 836d1a7c01c..e3522aab070 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/legacy/SampleLinksWidget.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/legacy/SampleLinksWidget.js
@@ -306,7 +306,8 @@ function SampleLinksWidget(containerId, profile, serverFacade, title, sampleType
 								callback(dataList);
 							};
 							
-							var dataGrid = new DataGridController(null, columns, getDataList, rowClick);
+							var configKey = "SAMPLE_" + sampleTypeCode;
+							var dataGrid = new DataGridController(null, columns, getDataList, rowClick, false, configKey);
 							dataGrid.init($("#" + tableId));
 							
 							//Store new state
-- 
GitLab