From d19bdc3a80e336713f378a7b45f618673bc52075 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Tue, 19 Apr 2016 13:32:30 +0000
Subject: [PATCH] SSDM-3390 : Max number of items in menu, bugfix.

SVN: 36231
---
 .../SideMenu/SideMenuWidgetController.js      | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetController.js
index b1ac7f7174a..5aa22ff67e3 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetController.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetController.js
@@ -280,8 +280,7 @@ function SideMenuWidgetController(mainController) {
 
                 //Fill Sub Experiments
                 mainController.serverFacade.listSamplesForExperiments(experimentsToAskForSamples, function(subExperiments) {
-                	var childrenLimit = 20;
-                    if (subExperiments.result && subExperiments.result.length <= childrenLimit) {
+                    if (subExperiments.result) {
                         var toSortSubExperiments = {};
 
                         for (var i = 0; i < subExperiments.result.length; i++) {
@@ -303,14 +302,18 @@ function SideMenuWidgetController(mainController) {
                             }
                         }
 
+                        var childrenLimit = 20;
                         for(uniqueId in toSortSubExperiments) {
-                            toSortSubExperiments[uniqueId].newMenuIfSelected.children.sort(naturalSortSideMenuWidgetComponent); //Sort Sub Experiments
+                        	var experimentNode = toSortSubExperiments[uniqueId];
+                        	if(experimentNode.newMenuIfSelected.children.length > childrenLimit) {
+                        		experimentNode.newMenuIfSelected.children = [];
+                        		var menuItemSubExperiment = new SideMenuWidgetComponent(false, false, "Too many Experiment components for the menu, please check the experiment form.", null, experimentNode, null, null, null, "(Too many Experiment components.)");
+                        		experimentNode.newMenuIfSelected.children.push(menuItemSubExperiment);
+                        	} else {
+                        		experimentNode.newMenuIfSelected.children.sort(naturalSortSideMenuWidgetComponent); //Sort Sub Experiments
+                        	}
                         }
-                    } else if (subExperiments.result && subExperiments.result.length > childrenLimit) {
-                    	var subExperiment = subExperiments.result[0];
-                    	var experimentNode = _this._getUniqueId(subExperiment.experimentIdentifierOrNull);
-                    	var menuItemSubExperiment = new SideMenuWidgetComponent(false, false, "Too many Experiment components for the menu, please check the experiment form.", null, experimentNode, null, null, null, "(Too many Experiment components.)");
-                        experimentNode.newMenuIfSelected.children.push(menuItemSubExperiment);
+                        
                     }
 
 
-- 
GitLab