CS-15863: cloudstack 3.0 UI - (1) extend multiEdit widget to be able to hide actions upon an each item's properties.
(2) IP Addresses page - load balancer listing - VM listing - hide destroy action for autoscale VM. Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/ce8fe90a Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/ce8fe90a Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/ce8fe90a Branch: refs/heads/master Commit: ce8fe90aae7467a38ca527a40c1712d91056a740 Parents: 2c98ec4 Author: Jessica Wang <[email protected]> Authored: Fri Aug 17 11:42:31 2012 -0700 Committer: Vijay Venkatachalam <[email protected]> Committed: Fri Nov 16 10:56:53 2012 +0530 ---------------------------------------------------------------------- ui/scripts/network.js | 5 +++++ ui/scripts/ui/widgets/multiEdit.js | 6 +++++- 2 files changed, 10 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/ce8fe90a/ui/scripts/network.js ---------------------------------------------------------------------- diff --git a/ui/scripts/network.js b/ui/scripts/network.js index 0c1a5a3..353be31 100644 --- a/ui/scripts/network.js +++ b/ui/scripts/network.js @@ -2765,6 +2765,11 @@ success: function(data) { lbInstances = data.listloadbalancerruleinstancesresponse.loadbalancerruleinstance ? data.listloadbalancerruleinstancesresponse.loadbalancerruleinstance : []; + + $(lbInstances).each(function() { + if(this.name.indexOf('AutoScale-LB-') > -1) //autoscale VM is not allowed to be deleted manually. So, hide destroy button + this._hideActions = ['destroy']; + }); }, error: function(data) { args.response.error(parseXMLHttpResponse(data)); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/ce8fe90a/ui/scripts/ui/widgets/multiEdit.js ---------------------------------------------------------------------- diff --git a/ui/scripts/ui/widgets/multiEdit.js b/ui/scripts/ui/widgets/multiEdit.js index ba5e709..bccbab0 100755 --- a/ui/scripts/ui/widgets/multiEdit.js +++ b/ui/scripts/ui/widgets/multiEdit.js @@ -626,7 +626,11 @@ var $itemActions = $('<td>').addClass('actions item-actions'); $.each(itemActions, function(itemActionID, itemAction) { - if (itemActionID == 'add') return true; + if (itemActionID == 'add') + return true; + + if(item._hideActions != null && $.inArray(itemActionID, item._hideActions) > -1) + return true; var $itemAction = $('<div>').addClass('action').addClass(itemActionID);
