From 2198dda74214866732235e33e391e608958d2ac2 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 18 Apr 2013 16:38:25 -0700 Subject: [PATCH] CLOUDSTACK-2074: cloudstack UI - Affinity - Instances page - Change Affinity action - populate affinity groups in dialog. --- ui/scripts/instances.js | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js index 7976ee6fa87..08e75708ac6 100644 --- a/ui/scripts/instances.js +++ b/ui/scripts/instances.js @@ -692,14 +692,32 @@ name: { label: 'label.name' }, type: { label: 'label.type' } }, - dataProvider: function(args) { - args.response.success({ - data: [ - { id: 1, name: 'Affinity Group 1', type: 'Affinity', _isSelected: true }, - { id: 2, name: 'Affinity Group 2', type: 'Anti-affinity' }, - { id: 3, name: 'Anti-affinity Group', type: 'Anti-affinity', _isSelected: true } - ] - }); + dataProvider: function(args) { + $.ajax({ + url: createURL('listAffinityGroups'), + success: function(json) { + var items = []; + var allAffinityGroups = json.listaffinitygroupsresponse.affinitygroup; + var previouslySelectedAffinityGroups = args.context.instances[0].affinitygroup; + if(allAffinityGroups != null) { + for(var i = 0; i < allAffinityGroups.length; i++) { + var isPreviouslySelected = false; + if(previouslySelectedAffinityGroups != null) { + for(var k = 0; k < previouslySelectedAffinityGroups.length; k++) { + if(previouslySelectedAffinityGroups[k].id == allAffinityGroups[i].id) { + isPreviouslySelected = true; + break; //break for loop + } + } + } + items.push($.extend(allAffinityGroups[i], { + _isSelected: isPreviouslySelected + })); + } + } + args.response.success({data: items}); + } + }); } } },