From b767ff8fc59bf8fdb3a55b6ff73b379eee2fe5cd Mon Sep 17 00:00:00 2001
From: Furkan <furkan.erdogan1205@gmail.com>
Date: Thu, 24 Oct 2024 14:16:01 +0000
Subject: [PATCH] #11500 - Done.

---
 js/app/models/PlotObjects/PlotIntervalsObject.js  |  8 ++++++--
 js/app/views/PlotComponents/PlotContextManager.js |  8 ++++++++
 js/app/views/PlotComponents/PlotIntervalsForm.js  | 18 ++++++++++++++++--
 php/classes/AmdaAction.php                        |  9 +++++++++
 php/config.php                                    |  2 ++
 5 files changed, 41 insertions(+), 4 deletions(-)

diff --git a/js/app/models/PlotObjects/PlotIntervalsObject.js b/js/app/models/PlotObjects/PlotIntervalsObject.js
index 20b6c73..6b7db03 100644
--- a/js/app/models/PlotObjects/PlotIntervalsObject.js
+++ b/js/app/models/PlotObjects/PlotIntervalsObject.js
@@ -26,7 +26,9 @@ Ext.define('amdaPlotObj.PlotIntervalsObject', {
         { name: 'legend-text-font-name', type: 'string', defaultValue: "sans-serif" },
         { name: 'legend-text-font-size', type: 'int', defaultValue: "12" },
         { name: 'legend-text-font-bold', type: 'boolean' },
-        { name: 'legend-text-font-italic', type: 'boolean' }
+        { name: 'legend-text-font-italic', type: 'boolean' },
+        { name: 'intervals-column-show', type: 'boolean', defaultValue: false},
+        { name: 'intervals-param-show', type: 'string', defaultValue: "none"}
 
     ],
     
@@ -64,7 +66,7 @@ Ext.define('amdaPlotObj.PlotIntervalsObject', {
     {
     	var intervalsValues  = new Object();
         intervalsValues['intervals-color'] = this.get('intervals-color');
-	intervalsValues['legend-text-activated'] = this.get('legend-text-activated');
+	    intervalsValues['legend-text-activated'] = this.get('legend-text-activated');
         intervalsValues['legend-text-value'] = this.get('legend-text-value');
         intervalsValues['legend-text-position'] = this.get('legend-text-position');
         intervalsValues['legend-text-color'] = this.get('legend-text-color');
@@ -73,6 +75,8 @@ Ext.define('amdaPlotObj.PlotIntervalsObject', {
         intervalsValues['legend-text-font-size'] = this.get('legend-text-font-size');
         intervalsValues['legend-text-font-bold'] = this.get('legend-text-font-bold');
         intervalsValues['legend-text-font-italic'] = this.get('legend-text-font-italic');
+        intervalsValues['intervals-column-show'] = this.get('intervals-column-show');
+        intervalsValues['intervals-param-show'] = this.get('intervals-param-show');
 
     	return intervalsValues;
     }
diff --git a/js/app/views/PlotComponents/PlotContextManager.js b/js/app/views/PlotComponents/PlotContextManager.js
index d7bf1c8..d4e56d3 100644
--- a/js/app/views/PlotComponents/PlotContextManager.js
+++ b/js/app/views/PlotComponents/PlotContextManager.js
@@ -54,11 +54,15 @@ Ext.define('amdaPlotComp.PlotContextManager', {
 	getIntervalCoordInfo: function (context, panel, crtTimestamp) {
 		var intervalName = new Array();
 		var intervalId = new Array();
+		var intervalSelectedColValue = "";
 		var intervalText = "";
 		Ext.each(panel.intervals, function (interval) {
 			if (crtTimestamp > interval.startTime && crtTimestamp < interval.stopTime) {
 				intervalName.push(interval.name);
 				intervalId.push(interval.id);
+				if(interval.selectedColValue != "")
+					intervalSelectedColValue = interval.selectedColValue;
+
 			}
 			return;
 		});
@@ -73,6 +77,10 @@ Ext.define('amdaPlotComp.PlotContextManager', {
 				}
 			}
 			intervalText += ']'
+			if(intervalSelectedColValue != "" ){
+				intervalText += ', Selected column : ' + intervalSelectedColValue.split("|")[1];
+
+			}
 		}
 		return intervalText;
 	},
diff --git a/js/app/views/PlotComponents/PlotIntervalsForm.js b/js/app/views/PlotComponents/PlotIntervalsForm.js
index f23f030..827ab98 100644
--- a/js/app/views/PlotComponents/PlotIntervalsForm.js
+++ b/js/app/views/PlotComponents/PlotIntervalsForm.js
@@ -13,17 +13,31 @@ Ext.define('amdaPlotComp.PlotIntervalsForm', {
 	
 	setObject : function(object) {
 		this.object = object.get('param-drawing-object');
+		
 		this.loadRecord(this.object);
+		this.updateColumnInfoCombo(object.get('paramid'));
+	},
+
+	updateColumnInfoCombo: function(catId){
+		if (catId.substring(0, 3) === 'cat'){
+			AmdaAction.getAllColumnNames(catId, function(result){
+				var combobox = this.getForm().findField('intervals-param-show');
+				combobox.store.loadData(result['result']);
+				combobox.reset();
+			}, this);
+		}
 	},
-	
 	getFormItems: function() {
 		var legendItems = [
 			this.addStandardText('legend-text-value', 'Text'),
 			this.addStandardCombo('legend-text-position', 'Position', amdaDefaultConfigs.availableLegendTextPositions),
 			this.addStandardFont('legend-text-font')]
-
+		
 		return [
 			this.addColorsPicker('intervals-color', 'Color', amdaDefaultConfigs.availableColorsNew, 'none'),
+			this.addStandardFieldSet('Show column info','intervals-column-show',  [
+				this.addStandardCombo('intervals-param-show', 'Parameter to show' ),
+			]),
 			this.addStandardFieldSet('Legend', 'legend-text-activated', legendItems)
 		];
 	}
diff --git a/php/classes/AmdaAction.php b/php/classes/AmdaAction.php
index 3746570..a82aef4 100644
--- a/php/classes/AmdaAction.php
+++ b/php/classes/AmdaAction.php
@@ -810,6 +810,15 @@ class AmdaAction
 		return  $objectMgr->getObject($id, $nodeType);
 	}
 
+	public function getAllColumnNames($id){
+		$objectMgr =  new CatalogMgr();
+		$columnInfos = $objectMgr->getCatalogParamDescription(array('id' => $id));
+		$columnNames = array();
+		foreach ($columnInfos['parameters'] as $columnInfo){
+			$columnNames[] = array("key" => $columnInfo['id'], "value" => $columnInfo['name']);
+		}
+		return array('success' => true ,"result" => $columnNames);
+	}
 /*
 *   $obj = { id: node.id, leaf: node.leaf, nodeType: node.nodeType }
 */
diff --git a/php/config.php b/php/config.php
index c77bfb2..23742cb 100644
--- a/php/config.php
+++ b/php/config.php
@@ -218,6 +218,8 @@ $API = array(
 			'getParametersList' => array('len' => 0),
             // Reset user password
             'resetPwd' => array('len' => 1),
+			// Get column names for a cat
+			'getAllColumnNames' => array('len' => 1),
 			
 		)
 	)
--
libgit2 0.21.2