From 633f067a091daae589e36e1d604b806e159a528e Mon Sep 17 00:00:00 2001 From: Benjamin Renard <benjamin.renard@akka.eu> Date: Thu, 27 Feb 2025 08:03:05 +0000 Subject: [PATCH] Fix regression with Open Reference in interactive plot --- js/app/views/PlotComponents/PlotContextManager.js | 20 +++++++++++++------- js/app/views/PlotTabResultUI.js | 36 +++++++++++++++++++++--------------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/js/app/views/PlotComponents/PlotContextManager.js b/js/app/views/PlotComponents/PlotContextManager.js index d8aa01c..9e8ed8c 100644 --- a/js/app/views/PlotComponents/PlotContextManager.js +++ b/js/app/views/PlotComponents/PlotContextManager.js @@ -82,16 +82,22 @@ Ext.define('amdaPlotComp.PlotContextManager', { var intToPush = { 'id': id, 'start': interval.start, - 'stop': interval.stop + 'stop': interval.stop, + 'links': [] }; - if ((columnToShow != '') && (columnName != '') && interval.hasOwnProperty('params')) { - Ext.Object.each(interval.params, function (param_id, param_value) { - if (param_id == columnToShow) { + + Ext.Object.each(interval.params, function (param_id, param_value) { + if (interval.hasOwnProperty('params')) { + if ((columnToShow != '') && (columnName != '') && (param_id == columnToShow)) { intToPush['info'] = columnName + ': ' + param_value; - return; } - }); - } + if (param_value.toLowerCase().startsWith("http://") || param_value.toLowerCase().startsWith("https://")) { + if (intToPush['links'].indexOf(param_value) < 0) { + intToPush['links'].push(param_value); + } + } + } + }); intervalsOver[parameter.ttorcat.name].push(intToPush); diff --git a/js/app/views/PlotTabResultUI.js b/js/app/views/PlotTabResultUI.js index c9be834..be4989c 100644 --- a/js/app/views/PlotTabResultUI.js +++ b/js/app/views/PlotTabResultUI.js @@ -502,21 +502,9 @@ Ext.define('amdaUI.PlotTabResultUI', { if (timeAxisContext) { var intervals = amdaPlotComp.PlotContextManager.getIntervalsOverMouse(me.crtContext, panel, crtTimestamp); - if (Object.keys(intervals).length > 0) { - var links = []; - Ext.Object.each(intervals, function (ttorcatname, intervals) { - Ext.each(intervals, function (interval) { - if (interval.params) { - Ext.Object.each(interval.params, function (paramKey, paramValue) { - if (paramValue.toLowerCase().startsWith("http://") || paramValue.toLowerCase().startsWith("https://")) { - if (links.indexOf(paramValue) < 0) { - links.push(paramValue); - } - } - }); - } - }); - }); + + if (Object.keys(intervals).length > 0) { + var links = me.getIntervalsLinks(intervals); if (links.length > 0) { var menu = Ext.create('Ext.menu.Menu', { plain: true }); Ext.each(links, function (link) { @@ -586,6 +574,24 @@ Ext.define('amdaUI.PlotTabResultUI', { return intervalText; }, + getIntervalsLinks: function(intervals) { + var links = []; + Ext.Object.each(intervals, function (ttorcatname, intervals) { + Ext.each(intervals, function (interval) { + if (interval.hasOwnProperty('links') && interval.links.length > 0) { + Ext.each(interval.links, function (link) { + if (link.toLowerCase().startsWith("http://") || link.toLowerCase().startsWith("https://")) { + if (links.indexOf(link) < 0) { + links.push(link); + } + } + }); + } + }); + }); + return links; + }, + updateTimeTableInfo: function () { if (!this.navToolBar) return; -- libgit2 0.21.2