From d54e5af9abc3c5e5b324d7b07fa02af9b3a56f3f Mon Sep 17 00:00:00 2001
From: Uma <uma.s@vtiger.com>
Date: Tue, 1 Oct 2019 12:54:03 +0530
Subject: [PATCH] Fixes:#1077::Uma::Selected columns in reports is not keeping
 choosen order

---
 layouts/v7/modules/Reports/resources/Edit2.js | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/layouts/v7/modules/Reports/resources/Edit2.js b/layouts/v7/modules/Reports/resources/Edit2.js
index d938d86df..f85a27957 100644
--- a/layouts/v7/modules/Reports/resources/Edit2.js
+++ b/layouts/v7/modules/Reports/resources/Edit2.js
@@ -189,7 +189,7 @@ Reports_Edit_Js("Reports_Edit2_Js",{},{
 	 */
 	arrangeSelectChoicesInOrder : function() {
 		var selectElement = this.getReportsColumnsList();
-		var chosenElement = jQuery('#s2id_reportsColumnsList');
+		var chosenElement = app.getSelect2ElementFromSelect(selectElement);
 		var choicesContainer = chosenElement.find('ul.select2-choices');
 		var choicesList = choicesContainer.find('li.select2-search-choice');
 
@@ -204,7 +204,9 @@ Reports_Edit_Js("Reports_Edit2_Js",{},{
 		}
 		for(var index=selectedOrderKeys.length ; index > 0 ; index--) {
 			var selectedValue = selectedOrder[selectedOrderKeys[index-1]];
-			var option = selectedOptions.filter('[value="'+selectedValue+'"]');
+			//We should consider value as string 
+			var colonEscapedValue = selectedValue.replace(":", "\\:");
+			var option = selectedOptions.filter('[value="'+colonEscapedValue+'"]'); 
 			choicesList.each(function(choiceListIndex,element){
 				var liElement = jQuery(element);
 				if(liElement.find('div').html() == option.html()){
@@ -302,12 +304,12 @@ Reports_Edit_Js("Reports_Edit2_Js",{},{
 		//If the container is reloading, containers cache should be reset
 		this.reportsColumnsList = false;
 		this.selectedFields = false;
-		this.arrangeSelectChoicesInOrder();
 		this.registerLineItemCalculationLimit();
 		this.registerLineItemCalculationLimitOnLoad();
 		vtUtils.applyFieldElementsView(container);
 		this.registerSelect2ElementForReportColumns();
-          this.makeColumnListSortable();
+                this.arrangeSelectChoicesInOrder();
+                this.makeColumnListSortable();
 	}
 });
 
-- 
GitLab