This is an automated email from the ASF dual-hosted git repository.

dahn pushed a commit to branch 4.11
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/4.11 by this push:
     new 9b772db  populate project select when clicked on to display latest 
project options (#2810)
9b772db is described below

commit 9b772db0f1d6f3dda3c60184e384aaa03bd10ea2
Author: ernjvr <[email protected]>
AuthorDate: Mon Aug 20 10:03:51 2018 +0200

    populate project select when clicked on to display latest project options 
(#2810)
---
 ui/scripts/ui-custom/projectSelect.js | 55 ++++++++++++++++++++---------------
 1 file changed, 32 insertions(+), 23 deletions(-)

diff --git a/ui/scripts/ui-custom/projectSelect.js 
b/ui/scripts/ui-custom/projectSelect.js
index a5beae0..d1e9153 100644
--- a/ui/scripts/ui-custom/projectSelect.js
+++ b/ui/scripts/ui-custom/projectSelect.js
@@ -24,33 +24,35 @@
         );
         var $label = $('<label>').html(_l('label.project'));
 
-        // Get project list
-        cloudStack.projects.dataProvider({
-            context: cloudStack.context,
-            response: {
-                success: function(args) {
-                    var projects = args.data;
-                    var arrayOfProjs = [];
+        var populateProjectSelect = function() {
+            // Get project list
+            cloudStack.projects.dataProvider({
+                context: cloudStack.context,
+                response: {
+                    success: function(args) {
+                        var projects = args.data;
+                        var arrayOfProjs = [];
 
-                    $(projects).map(function(index, project) {
-                        var proj = {id: _s(project.id), html: 
_s(project.displaytext ? project.displaytext : project.name)};
-                        arrayOfProjs.push(proj);
-                    });
+                        $(projects).map(function(index, project) {
+                            var proj = {id: _s(project.id), html: 
_s(project.displaytext ? project.displaytext : project.name)};
+                            arrayOfProjs.push(proj);
+                        });
 
-                    arrayOfProjs.sort(function(a,b) {
-                        return a.html.localeCompare(b.html);
-                    });
+                        arrayOfProjs.sort(function(a,b) {
+                            return a.html.localeCompare(b.html);
+                        });
 
-                    $(arrayOfProjs).map(function(index, project) {
-                        var $option = $('<option>').val(_s(project.id));
+                        $(arrayOfProjs).map(function(index, project) {
+                            var $option = $('<option>').val(_s(project.id));
 
-                        $option.html(_s(project.html));
-                        $option.appendTo($projectSelect);
-                    });
-                },
-                error: function() {}
-            }
-        });
+                            $option.html(_s(project.html));
+                            $option.appendTo($projectSelect);
+                        });
+                    },
+                    error: function() {}
+                }
+            });
+        }
 
         $projectSwitcher.append($label, $projectSelect);
         $projectSwitcher.insertBefore($header.find('.region-switcher'));
@@ -73,5 +75,12 @@
                 $('#navigation li.dashboard').click();
             }
         });
+
+        $projectSelect.mousedown(function() {
+           var projectID = $projectSelect.val();
+           $('.project-switcher option:not(:first)').remove();
+           populateProjectSelect();
+           $projectSelect.val(projectID);
+        });
     });
 }(jQuery, cloudStack));

Reply via email to