From 81ce72982b8f9ede49a2bc4ff99d746bbdc8770d Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Fri, 30 Oct 2015 13:20:16 +0530 Subject: [PATCH] metrics: remember what to sort after refreshing metrics ui Signed-off-by: Rohit Yadav --- ui/scripts/ui-custom/metricsView.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/ui/scripts/ui-custom/metricsView.js b/ui/scripts/ui-custom/metricsView.js index 5d6ea1eef16..ef5dbba4ba4 100644 --- a/ui/scripts/ui-custom/metricsView.js +++ b/ui/scripts/ui-custom/metricsView.js @@ -91,8 +91,26 @@ $newPanel.find('.list-view').css({'overflow-x': 'visible'}); // Refresh metrics when refresh button is clicked $newPanel.find('.refreshMetrics').click(function() { + var sortedTh = $newPanel.find('table thead tr:last th.sorted'); + var thIndex = sortedTh.index(); + var thClassName = null; + var wasSorted = false; + var sortClassName = 'asc'; + if (sortedTh && sortedTh.hasClass('sorted')) { + wasSorted = true; + var classes = sortedTh.attr('class').split(/\s+/); + thClassName = classes[0]; + if (classes.indexOf('desc') > -1) { + sortClassName = 'desc'; + } + } $browser.cloudBrowser('removeLastPanel', {}); - cloudStack.uiCustom.metricsView(args)(); + var refreshedPanel = cloudStack.uiCustom.metricsView(args)(); + if (wasSorted && thClassName) { + refreshedPanel.find('th.' + thClassName).filter(function() { + return $(this).index() == thIndex; + }).addClass('sorted').addClass(sortClassName); + } }); var filterMetricView = metricsListView.browseBy;