Commit 633f067a091daae589e36e1d604b806e159a528e
1 parent
6f1f2556
Exists in
master
and in
2 other branches
Fix regression with Open Reference in interactive plot
Showing
2 changed files
with
34 additions
and
22 deletions
Show diff stats
js/app/views/PlotComponents/PlotContextManager.js
... | ... | @@ -82,16 +82,22 @@ Ext.define('amdaPlotComp.PlotContextManager', { |
82 | 82 | var intToPush = { |
83 | 83 | 'id': id, |
84 | 84 | 'start': interval.start, |
85 | - 'stop': interval.stop | |
85 | + 'stop': interval.stop, | |
86 | + 'links': [] | |
86 | 87 | }; |
87 | - if ((columnToShow != '') && (columnName != '') && interval.hasOwnProperty('params')) { | |
88 | - Ext.Object.each(interval.params, function (param_id, param_value) { | |
89 | - if (param_id == columnToShow) { | |
88 | + | |
89 | + Ext.Object.each(interval.params, function (param_id, param_value) { | |
90 | + if (interval.hasOwnProperty('params')) { | |
91 | + if ((columnToShow != '') && (columnName != '') && (param_id == columnToShow)) { | |
90 | 92 | intToPush['info'] = columnName + ': ' + param_value; |
91 | - return; | |
92 | 93 | } |
93 | - }); | |
94 | - } | |
94 | + if (param_value.toLowerCase().startsWith("http://") || param_value.toLowerCase().startsWith("https://")) { | |
95 | + if (intToPush['links'].indexOf(param_value) < 0) { | |
96 | + intToPush['links'].push(param_value); | |
97 | + } | |
98 | + } | |
99 | + } | |
100 | + }); | |
95 | 101 | |
96 | 102 | intervalsOver[parameter.ttorcat.name].push(intToPush); |
97 | 103 | |
... | ... |
js/app/views/PlotTabResultUI.js
... | ... | @@ -502,21 +502,9 @@ Ext.define('amdaUI.PlotTabResultUI', { |
502 | 502 | |
503 | 503 | if (timeAxisContext) { |
504 | 504 | var intervals = amdaPlotComp.PlotContextManager.getIntervalsOverMouse(me.crtContext, panel, crtTimestamp); |
505 | - if (Object.keys(intervals).length > 0) { | |
506 | - var links = []; | |
507 | - Ext.Object.each(intervals, function (ttorcatname, intervals) { | |
508 | - Ext.each(intervals, function (interval) { | |
509 | - if (interval.params) { | |
510 | - Ext.Object.each(interval.params, function (paramKey, paramValue) { | |
511 | - if (paramValue.toLowerCase().startsWith("http://") || paramValue.toLowerCase().startsWith("https://")) { | |
512 | - if (links.indexOf(paramValue) < 0) { | |
513 | - links.push(paramValue); | |
514 | - } | |
515 | - } | |
516 | - }); | |
517 | - } | |
518 | - }); | |
519 | - }); | |
505 | + | |
506 | + if (Object.keys(intervals).length > 0) { | |
507 | + var links = me.getIntervalsLinks(intervals); | |
520 | 508 | if (links.length > 0) { |
521 | 509 | var menu = Ext.create('Ext.menu.Menu', { plain: true }); |
522 | 510 | Ext.each(links, function (link) { |
... | ... | @@ -586,6 +574,24 @@ Ext.define('amdaUI.PlotTabResultUI', { |
586 | 574 | return intervalText; |
587 | 575 | }, |
588 | 576 | |
577 | + getIntervalsLinks: function(intervals) { | |
578 | + var links = []; | |
579 | + Ext.Object.each(intervals, function (ttorcatname, intervals) { | |
580 | + Ext.each(intervals, function (interval) { | |
581 | + if (interval.hasOwnProperty('links') && interval.links.length > 0) { | |
582 | + Ext.each(interval.links, function (link) { | |
583 | + if (link.toLowerCase().startsWith("http://") || link.toLowerCase().startsWith("https://")) { | |
584 | + if (links.indexOf(link) < 0) { | |
585 | + links.push(link); | |
586 | + } | |
587 | + } | |
588 | + }); | |
589 | + } | |
590 | + }); | |
591 | + }); | |
592 | + return links; | |
593 | + }, | |
594 | + | |
589 | 595 | updateTimeTableInfo: function () { |
590 | 596 | if (!this.navToolBar) |
591 | 597 | return; |
... | ... |