You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by je...@apache.org on 2013/04/16 21:39:04 UTC
git commit: updated refs/heads/master to 8bef069
Updated Branches:
refs/heads/master 202930fd5 -> 8bef069f0
CLOUDSTACK-1910: cloudstack UI - Regions menu - GSLB - (1) add detailView (2) implement Delete GSLB action.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8bef069f
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8bef069f
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8bef069f
Branch: refs/heads/master
Commit: 8bef069f01aaf1550b9cacb0363f04e5a01541ee
Parents: 202930f
Author: Jessica Wang <je...@citrix.com>
Authored: Tue Apr 16 12:38:00 2013 -0700
Committer: Jessica Wang <je...@citrix.com>
Committed: Tue Apr 16 12:38:37 2013 -0700
----------------------------------------------------------------------
ui/scripts/regions.js | 139 ++++++++++++++++++++++++++++++++------------
1 files changed, 102 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bef069f/ui/scripts/regions.js
----------------------------------------------------------------------
diff --git a/ui/scripts/regions.js b/ui/scripts/regions.js
index ec5e21b..2cfb0fe 100644
--- a/ui/scripts/regions.js
+++ b/ui/scripts/regions.js
@@ -246,8 +246,30 @@
},
description: {
label: 'label.description'
- },
- /*
+ },
+ gslbdomainname: {
+ label: 'GSLB Domain Name',
+ validation: { required: true }
+ },
+ gslblbmethod: {
+ label: 'Algorithm',
+ select: function(args) {
+ var array1 = [{id: 'roundrobin', description: 'roundrobin'}, {id: 'leastconn', description: 'leastconn'}, {id: 'proximity', description: 'proximity'}];
+ args.response.success({
+ data: array1
+ });
+ }
+ },
+ gslbservicetype: {
+ label: 'Service Type',
+ select: function(args) {
+ var array1 = [{id: 'tcp', description: 'tcp'}, {id: 'udp', description: 'udp'}];
+ args.response.success({
+ data: array1
+ });
+ },
+ validation: { required: true }
+ },
domainid: {
label: 'Domain',
select: function(args) {
@@ -293,31 +315,7 @@
else
return true;
}
- },
- */
- gslblbmethod: {
- label: 'Algorithm',
- select: function(args) {
- var array1 = [{id: 'roundrobin', description: 'roundrobin'}, {id: 'leastconn', description: 'leastconn'}, {id: 'proximity', description: 'proximity'}];
- args.response.success({
- data: array1
- });
- }
- },
- gslbdomainname: {
- label: 'GSLB Domain Name',
- validation: { required: true }
- },
- gslbservicetype: {
- label: 'Service Type',
- select: function(args) {
- var array1 = [{id: 'tcp', description: 'tcp'}, {id: 'udp', description: 'udp'}];
- args.response.success({
- data: array1
- });
- },
- validation: { required: true }
- }
+ }
}
},
action: function(args) {
@@ -330,23 +328,22 @@
gslbservicetype: args.data.gslbservicetype
};
if(args.data.description != null && args.data.description.length > 0)
- $.extend(data, { description: args.data.description });
- /*
+ $.extend(data, { description: args.data.description });
if(args.data.domainid != null && args.data.domainid.length > 0)
$.extend(data, { domainid: args.data.domainid });
if(args.data.account != null && args.data.account.length > 0)
$.extend(data, { account: args.data.account });
- */
+
$.ajax({
url: createURL('createGlobalLoadBalancerRule'),
data: data,
success: function(json) {
- var jid = json.creategloballoadbalancerruleresponse.jobid;
+ var jid = json.creategloballoadbalancerruleresponse.jobid;
args.response.success(
{_custom:
{jobId: jid,
- getUpdatedItem: function(json) {
- return json.queryasyncjobresultresponse.jobresult.globalloadbalancerrule;
+ getUpdatedItem: function(json) {
+ return json.queryasyncjobresultresponse.jobresult.globalloadbalancer;
}
}
}
@@ -355,9 +352,7 @@
});
},
notification: {
- poll: function(args) {
- poll: pollAsyncJobResult
- }
+ poll: pollAsyncJobResult
}
}
},
@@ -383,7 +378,77 @@
data: null
});
}
- }
+ },
+
+ detailView: {
+ name: 'GSLB details',
+ //viewAll: { path: 'storage.snapshots', label: 'label.snapshots' },
+ actions: {
+ remove: {
+ label: 'delete GSLB',
+ messages: {
+ confirm: function(args) {
+ return 'Please confirm you want to delete this GSLB';
+ },
+ notification: function(args) {
+ return 'delete GSLB';
+ }
+ },
+ action: function(args) {
+ var data = {
+ id: args.context.GSLB[0].id
+ };
+ $.ajax({
+ url: createURL("deleteGlobalLoadBalancerRule"),
+ data: data,
+ success: function(json) {
+ var jid = json.deletegloballoadbalancerruleresponse.jobid;
+ args.response.success({
+ _custom: {
+ jobId: jid
+ }
+ });
+ }
+ });
+ },
+ notification: {
+ poll: pollAsyncJobResult
+ }
+ }
+ },
+ tabs: {
+ details: {
+ title: 'label.details',
+ fields: [
+ {
+ name: { label: 'label.name' }
+ },
+ {
+ description: { label: 'label.description' },
+ gslbdomainname: { label: 'GSLB Domain Name' },
+ gslblbmethod: { label: 'Algorithm' },
+ gslbservicetype: { label: 'Service Type' },
+ id: { label: 'ID' }
+ }
+ ],
+ dataProvider: function(args) {
+ var data = {
+ id: args.context.GSLB[0].id
+ };
+ $.ajax({
+ url: createURL('listGlobalLoadBalancerRules'),
+ data: data,
+ success: function(json) {
+ var item = json.listgloballoadbalancerrulesresponse.globalloadbalancerrule[0];
+ args.response.success({
+ data: item
+ });
+ }
+ });
+ }
+ }
+ }
+ }
}
}
}