CLOUDSTACK-2074: cloudstack UI - Affinity - Instances page - Change Affinity 
action - populate affinity groups in dialog.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2198dda7
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2198dda7
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2198dda7

Branch: refs/heads/master
Commit: 2198dda74214866732235e33e391e608958d2ac2
Parents: 030235b
Author: Jessica Wang <jessica.w...@citrix.com>
Authored: Thu Apr 18 16:38:25 2013 -0700
Committer: Jessica Wang <jessica.w...@citrix.com>
Committed: Thu Apr 18 16:38:25 2013 -0700

----------------------------------------------------------------------
 ui/scripts/instances.js |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2198dda7/ui/scripts/instances.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js
index 7976ee6..08e7570 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});
+                                                                               
                }
+                                                                               
        });                                                                     
                                
                     }
                   }
                 },

Reply via email to