CLOUDSTACK-2855: UI - project view

1.Dynamically add newly created project to dropdown list
2.Return to default view if a user deletes the same project in project view

Modified:   ui/scripts/projects.js
Modified:   ui/scripts/ui-custom/projects.js
This commit is contained in:
Isaac Chiang 2013-06-05 20:14:21 +08:00
parent 5af702dd90
commit 202da411fa
2 changed files with 28 additions and 0 deletions

View File

@ -849,6 +849,9 @@
getUpdatedItem: function(data) {
return $.extend(data, { state: 'Destroyed' });
},
onComplete: function(data) {
$(window).trigger('cloudStack.deleteProject', args);
},
getActionFilter: function(args) {
return function() {
return [];

View File

@ -333,9 +333,15 @@
response: {
success: function(args) {
var project = args.data;
var $projectSwitcher = $('div.project-switcher');
$(window).trigger('cloudStack.fullRefresh');
// dynamically add newly created project into project switcher
$projectSwitcher.find('select').append(
$('<option>').val(project.id).html(project.name)
);
$loading.remove();
// Confirmation
@ -681,6 +687,20 @@
}).closest('.ui-dialog').overlay();
};
var deleteProject = function(args) {
var projectId = args.id;
var $projectSwitcher = $('div.project-switcher');
var contextProjectId = cloudStack.context.projects ? cloudStack.context.projects[0].id : -1;
$projectSwitcher.find('option[value="'+projectId+'"]').remove();
//return to default view if current project is deleted
if(contextProjectId == projectId) {
$projectSwitcher.find('select').trigger('change');
}
return false;
};
/**
* Show the dashboard, in panel
*/
@ -741,4 +761,9 @@
$(window).bind('cloudStack.newProject', function() {
addProject();
});
$(window).bind('cloudStack.deleteProject', function(event, args) {
deleteProject({id: args.data.id});
});
})(cloudStack, jQuery);