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));