From ebee0f0c9de98d3fd0aaa6357dc87b753d557656 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Sat, 7 Nov 2015 18:06:05 +0530 Subject: [PATCH] CLOUDSTACK-9020: Metrics UI fixes - Allow all users to see resource metrics - Fix instance count issue on host metrics view - Fix sorting issue Signed-off-by: Rohit Yadav (cherry picked from commit 53084c4c8a87ccbdb1a7017e0a4cc66dbc386220) Signed-off-by: Rohit Yadav --- ui/scripts/instances.js | 3 --- ui/scripts/metrics.js | 16 +++++++++------- ui/scripts/storage.js | 3 --- ui/scripts/system.js | 12 ------------ ui/scripts/ui/widgets/dataTable.js | 11 ++++++++--- 5 files changed, 17 insertions(+), 28 deletions(-) diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js index 68bf0984f2d..094957af4b3 100644 --- a/ui/scripts/instances.js +++ b/ui/scripts/instances.js @@ -296,9 +296,6 @@ label: 'label.metrics', isHeader: true, addRow: false, - preFilter: function(args) { - return isAdmin(); - }, action: { custom: cloudStack.uiCustom.metricsView({resource: 'vms'}) }, diff --git a/ui/scripts/metrics.js b/ui/scripts/metrics.js index 77044695c07..609022a81a3 100644 --- a/ui/scripts/metrics.js +++ b/ui/scripts/metrics.js @@ -159,7 +159,7 @@ items[idx].clusters += parseInt(json.listclustersresponse.count); $.each(json.listclustersresponse.cluster, function(i, cluster) { if (cluster.allocationstate == 'Enabled' && cluster.managedstate == 'Managed') { - items[idx].clustersUp++; + items[idx].clustersUp += 1; } $.ajax({ url: createURL('listHosts'), @@ -714,12 +714,14 @@ success: function(json) { if (json && json.listvirtualmachinesresponse && json.listvirtualmachinesresponse.virtualmachine) { var vms = json.listvirtualmachinesresponse.virtualmachine; - $.each(vms, function(idx, vm) { - items[idx].instances++; - if (vm.state == 'Running') { - items[idx].instancesUp++; - } - }); + if (vms) { + $.each(vms, function(_, vm) { + items[idx].instances += 1; + if (vm.state == 'Running') { + items[idx].instancesUp += 1; + } + }); + } } }, async: false diff --git a/ui/scripts/storage.js b/ui/scripts/storage.js index ee913f591cb..78826a36024 100644 --- a/ui/scripts/storage.js +++ b/ui/scripts/storage.js @@ -257,9 +257,6 @@ label: 'label.metrics', isHeader: true, addRow: false, - preFilter: function(args) { - return isAdmin(); - }, action: { custom: cloudStack.uiCustom.metricsView({resource: 'volumes'}) }, diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 8d097f4fcd9..3aafd8d8125 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -7710,9 +7710,6 @@ label: 'label.metrics', isHeader: true, addRow: false, - preFilter: function(args) { - return isAdmin(); - }, action: { custom: cloudStack.uiCustom.metricsView({resource: 'zones'}) }, @@ -14392,9 +14389,6 @@ label: 'label.metrics', isHeader: true, addRow: false, - preFilter: function(args) { - return isAdmin(); - }, action: { custom: cloudStack.uiCustom.metricsView({resource: 'clusters'}) }, @@ -15646,9 +15640,6 @@ label: 'label.metrics', isHeader: true, addRow: false, - preFilter: function(args) { - return isAdmin(); - }, action: { custom: cloudStack.uiCustom.metricsView({resource: 'hosts'}) }, @@ -17468,9 +17459,6 @@ label: 'label.metrics', isHeader: true, addRow: false, - preFilter: function(args) { - return isAdmin(); - }, action: { custom: cloudStack.uiCustom.metricsView({resource: 'storagepool'}) }, diff --git a/ui/scripts/ui/widgets/dataTable.js b/ui/scripts/ui/widgets/dataTable.js index 22ddda6307f..45740527f71 100644 --- a/ui/scripts/ui/widgets/dataTable.js +++ b/ui/scripts/ui/widgets/dataTable.js @@ -177,14 +177,19 @@ var sortData = []; var numericDataCount = 0; $elems.each(function() { - var text = $(this).html(); + var text = $(this); if (hasAllRowsSameValue) { - if (firstElem !== text) { + if (firstElem !== text.html()) { hasAllRowsSameValue = false; } } + if (text.children()) { + text = text.children().html(); + } else { + text = text.html(); + } if (isNumeric(text) || !text) { - numericDataCount++; + numericDataCount += 1; } sortData.push($(this)); });