From a5d6b55eb41f8082bd5f4cf7c403e49ec1655a95 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Wed, 19 Oct 2016 11:41:08 +0530 Subject: [PATCH] APPLE-309: Use context to filter items in a metrics view Use available context to filter a metrics view based on zone, cluster, host in the context object. This fixes metrics view filtering when metrics view is viewed via Zone->Compute and Storage-> for a resource. Signed-off-by: Rohit Yadav --- ui/scripts/metrics.js | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/ui/scripts/metrics.js b/ui/scripts/metrics.js index 2b1ecdfc2a7..f90f5faa7ce 100644 --- a/ui/scripts/metrics.js +++ b/ui/scripts/metrics.js @@ -358,9 +358,19 @@ dataProvider: function(args) { var data = {}; listViewDataProvider(args, data); + + if ("zones" in args.context && args.context.zones[0]) { + data['zoneid'] = args.context.zones[0].id; + } + + if ("pods" in args.context && args.context.pods[0]) { + data['podid'] = args.context.pods[0].id; + } + if (args.context.metricsFilterData && args.context.metricsFilterData.key && args.context.metricsFilterData.value) { data[args.context.metricsFilterData.key] = args.context.metricsFilterData.value; } + $.ajax({ url: createURL('listClusters'), data: data, @@ -636,9 +646,29 @@ var data = {}; data.type = 'routing'; listViewDataProvider(args, data); + + if (!args.context.instances) { + if ("zones" in args.context && args.context.zones[0]) { + data['zoneid'] = args.context.zones[0].id; + } + + if ("pods" in args.context && args.context.pods[0]) { + data['podid'] = args.context.pods[0].id; + } + + if ("clusters" in args.context && args.context.clusters[0]) { + data['clusterid'] = args.context.clusters[0].id; + } + } else { + if (args.context.instances[0]) { + data['id'] = args.context.instances[0].hostid; + } + } + if (args.context.metricsFilterData && args.context.metricsFilterData.key && args.context.metricsFilterData.value) { data[args.context.metricsFilterData.key] = args.context.metricsFilterData.value; } + $.ajax({ url: createURL('listHosts'), data: data, @@ -859,9 +889,15 @@ dataProvider: function(args) { var data = {}; listViewDataProvider(args, data); + + if ("hosts" in args.context && args.context.hosts[0]) { + data['hostid'] = args.context.hosts[0].id; + } + if (args.context.metricsFilterData && args.context.metricsFilterData.key && args.context.metricsFilterData.value) { data[args.context.metricsFilterData.key] = args.context.metricsFilterData.value; } + $.ajax({ url: createURL('listVirtualMachines'), data: data, @@ -958,9 +994,19 @@ dataProvider: function(args) { var data = {listAll: true}; listViewDataProvider(args, data); + + if ("instances" in args.context && args.context.instances[0]) { + data['virtualmachineid'] = args.context.instances[0].id; + } + + if ("primarystorages" in args.context && args.context.primarystorages[0]) { + data['storageid'] = args.context.primarystorages[0].id; + } + if (args.context.metricsFilterData && args.context.metricsFilterData.key && args.context.metricsFilterData.value) { data[args.context.metricsFilterData.key] = args.context.metricsFilterData.value; } + $.ajax({ url: createURL('listVolumes'), data: data, @@ -1060,9 +1106,23 @@ dataProvider: function(args) { var data = {}; listViewDataProvider(args, data); + + if ("zones" in args.context && args.context.zones[0]) { + data['zoneid'] = args.context.zones[0].id; + } + + if ("pods" in args.context && args.context.pods[0]) { + data['podid'] = args.context.pods[0].id; + } + + if ("clusters" in args.context && args.context.clusters[0]) { + data['clusterid'] = args.context.clusters[0].id; + } + if (args.context.metricsFilterData && args.context.metricsFilterData.key && args.context.metricsFilterData.value) { data[args.context.metricsFilterData.key] = args.context.metricsFilterData.value; } + $.ajax({ url: createURL('listStoragePools'), data: data,