From 685ee393af3556415861f338c69e6868aa6ed806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Mon, 13 Nov 2017 12:09:26 +0100 Subject: [PATCH] graph: the stack & legend sort sync was not working correctly, the z-index sorting that happened in after the legend sort order was applied and messed with the order even though the sort function returned zero for all entries, combined the sort function to one sort function, fixes #9789 (#9797) --- public/app/plugins/panel/graph/graph.ts | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/public/app/plugins/panel/graph/graph.ts b/public/app/plugins/panel/graph/graph.ts index 0556207d08e..82bad53164c 100755 --- a/public/app/plugins/panel/graph/graph.ts +++ b/public/app/plugins/panel/graph/graph.ts @@ -375,20 +375,8 @@ function graphDirective($rootScope, timeSrv, popoverSrv, contextSrv) { var sortOrder = panel.legend.sortDesc; var haveSortBy = sortBy !== null || sortBy !== undefined; var haveSortOrder = sortOrder !== null || sortOrder !== undefined; - - if (panel.stack && haveSortBy && haveSortOrder) { - var desc = desc = panel.legend.sortDesc === true ? -1 : 1; - series.sort((x, y) => { - if (x.stats[sortBy] > y.stats[sortBy]) { - return 1 * desc; - } - if (x.stats[sortBy] < y.stats[sortBy]) { - return -1 * desc; - } - - return 0; - }); - } + var shouldSortBy = panel.stack && haveSortBy && haveSortOrder; + var sortDesc = panel.legend.sortDesc === true ? -1 : 1; series.sort((x, y) => { if (x.zindex > y.zindex) { @@ -399,6 +387,15 @@ function graphDirective($rootScope, timeSrv, popoverSrv, contextSrv) { return -1; } + if (shouldSortBy) { + if (x.stats[sortBy] > y.stats[sortBy]) { + return 1 * sortDesc; + } + if (x.stats[sortBy] < y.stats[sortBy]) { + return -1 * sortDesc; + } + } + return 0; });