You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mt...@apache.org on 2015/09/19 03:31:44 UTC
[38/50] git commit: updated refs/heads/sf-plugins to 157efc3
Adding in Virtual Networks panel
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c7161556
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c7161556
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c7161556
Branch: refs/heads/sf-plugins
Commit: c71615561571c12d81719f6a500a63fe2c5385ac
Parents: f6f2ba6
Author: Mike Tutkowski <mi...@solidfire.com>
Authored: Sat Jul 18 23:33:57 2015 -0600
Committer: Mike Tutkowski <mi...@solidfire.com>
Committed: Fri Sep 18 19:28:22 2015 -0600
----------------------------------------------------------------------
ui/plugins/sfAdministration/sfAdministration.js | 538 +++++++++++--------
1 file changed, 300 insertions(+), 238 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c7161556/ui/plugins/sfAdministration/sfAdministration.js
----------------------------------------------------------------------
diff --git a/ui/plugins/sfAdministration/sfAdministration.js b/ui/plugins/sfAdministration/sfAdministration.js
index bdb467b..be1be98 100644
--- a/ui/plugins/sfAdministration/sfAdministration.js
+++ b/ui/plugins/sfAdministration/sfAdministration.js
@@ -3,278 +3,340 @@
plugin.ui.addSection({
id: 'sfAdministration',
title: 'SolidFire Administration',
+ sectionSelect: {
+ label: 'label.select-view',
+ preFilter: function() {
+ return ['sfAdministration'];
+ }
+ },
preFilter: function(args) {
return isAdmin();
},
- listView: {
- id: 'sfAdministration',
- fields: {
- name: { label: 'label.name' },
- mvip: { label: 'MVIP' },
- username: { label: 'Username' },
- zonename: { label: 'label.zone' }
- },
- dataProvider: function(args) {
- plugin.ui.apiCall('listSolidFireClusters', {
- success: function(json) {
- var sfclustersfiltered = [];
- var sfclusters = json.listsolidfireclustersresponse.sfcluster;
- var search = args.filterBy.search.value == null ? "" : args.filterBy.search.value.toLowerCase();
-
- if (search == "") {
- sfclustersfiltered = sfclusters;
- }
- else {
- for (i = 0; i < sfclusters.length; i++) {
- sfcluster = sfclusters[i];
+ sections: {
+ sfAdministration: {
+ id: 'sfAdministration',
+ type: 'select',
+ title: 'SolidFire Clusters',
+ listView: {
+ section: 'sfAdministration',
+ id: 'sfAdministration',
+ fields: {
+ name: { label: 'label.name' },
+ mvip: { label: 'MVIP' },
+ username: { label: 'Username' },
+ zonename: { label: 'label.zone' }
+ },
+ dataProvider: function(args) {
+ plugin.ui.apiCall('listSolidFireClusters', {
+ success: function(json) {
+ var sfclustersfiltered = [];
+ var sfclusters = json.listsolidfireclustersresponse.sfcluster;
+ var search = args.filterBy.search.value == null ? "" : args.filterBy.search.value.toLowerCase();
- if (sfcluster.name.toLowerCase().indexOf(search) > -1 ) {
- sfclustersfiltered.push(sfcluster);
+ if (search == "") {
+ sfclustersfiltered = sfclusters;
}
- }
- }
-
- args.response.success({ data: sfclustersfiltered });
- },
- error: function(errorMessage) {
- args.response.error(errorMessage);
- }
- });
- },
- actions: {
- add: {
- label: 'Add Reference to Cluster',
- preFilter: function(args) {
- return true;
- },
- messages: {
- confirm: function(args) {
- return 'Please fill in the following data to add a new reference to a cluster.';
- },
- notification: function(args) {
- return 'Add Reference to Cluster';
- }
- },
- createForm: {
- title: 'Add Reference to Cluster',
- desc: 'Please fill in the following data to add a new reference to a cluster.',
- fields: {
- availabilityZone: {
- label: 'label.availability.zone',
- docID: 'helpVolumeAvailabilityZone',
- validation: {
- required: true
- },
- select: function(args) {
- $.ajax({
- url: createURL("listZones&available=true"),
- dataType: "json",
- async: true,
- success: function(json) {
- var zoneObjs = json.listzonesresponse.zone;
+ else {
+ for (i = 0; i < sfclusters.length; i++) {
+ sfcluster = sfclusters[i];
- args.response.success({
- descriptionField: 'name',
- data: zoneObjs
- });
+ if (sfcluster.name.toLowerCase().indexOf(search) > -1 ) {
+ sfclustersfiltered.push(sfcluster);
}
- });
- }
- },
- mvip: {
- label: 'MVIP',
- validation: {
- required: true
- }
- },
- username: {
- label: 'label.username',
- docID: 'helpUserUsername',
- validation: {
- required: true
- }
- },
- password: {
- label: 'label.password',
- docID: 'helpUserPassword',
- isPassword: true,
- validation: {
- required: true
+ }
}
+
+ args.response.success({ data: sfclustersfiltered });
},
- totalCapacity: {
- label: 'Total Capacity',
- validation: {
- required: true,
- number: true
- }
+ error: function(errorMessage) {
+ args.response.error(errorMessage);
+ }
+ });
+ },
+ actions: {
+ add: {
+ label: 'Add Reference to Cluster',
+ preFilter: function(args) {
+ return true;
},
- totalMinIops: {
- label: 'Total Min IOPS',
- validation: {
- required: true,
- number: true
+ messages: {
+ confirm: function(args) {
+ return 'Please fill in the following data to add a new reference to a cluster.';
+ },
+ notification: function(args) {
+ return 'Add Reference to Cluster';
}
},
- totalMaxIops: {
- label: 'Total Max IOPS',
- validation: {
- required: true,
- number: true
+ createForm: {
+ title: 'Add Reference to Cluster',
+ desc: 'Please fill in the following data to add a new reference to a cluster.',
+ fields: {
+ availabilityZone: {
+ label: 'label.availability.zone',
+ docID: 'helpVolumeAvailabilityZone',
+ validation: {
+ required: true
+ },
+ select: function(args) {
+ $.ajax({
+ url: createURL("listZones&available=true"),
+ dataType: "json",
+ async: true,
+ success: function(json) {
+ var zoneObjs = json.listzonesresponse.zone;
+
+ args.response.success({
+ descriptionField: 'name',
+ data: zoneObjs
+ });
+ }
+ });
+ }
+ },
+ mvip: {
+ label: 'MVIP',
+ validation: {
+ required: true
+ }
+ },
+ username: {
+ label: 'label.username',
+ docID: 'helpUserUsername',
+ validation: {
+ required: true
+ }
+ },
+ password: {
+ label: 'label.password',
+ docID: 'helpUserPassword',
+ isPassword: true,
+ validation: {
+ required: true
+ }
+ },
+ totalCapacity: {
+ label: 'Total Capacity',
+ validation: {
+ required: true,
+ number: true
+ }
+ },
+ totalMinIops: {
+ label: 'Total Min IOPS',
+ validation: {
+ required: true,
+ number: true
+ }
+ },
+ totalMaxIops: {
+ label: 'Total Max IOPS',
+ validation: {
+ required: true,
+ number: true
+ }
+ },
+ totalBurstIops: {
+ label: 'Total Burst IOPS',
+ validation: {
+ required: true,
+ number: true
+ }
+ }
}
},
- totalBurstIops: {
- label: 'Total Burst IOPS',
- validation: {
- required: true,
- number: true
- }
- }
- }
- },
- action: function(args) {
- var data = {
- zoneid: args.data.availabilityZone,
- mvip: args.data.mvip,
- username: args.data.username,
- password: args.data.password,
- totalcapacity: args.data.totalCapacity,
- totalminiops: args.data.totalMinIops,
- totalmaxiops: args.data.totalMaxIops,
- totalburstiops: args.data.totalBurstIops
- };
+ action: function(args) {
+ var data = {
+ zoneid: args.data.availabilityZone,
+ mvip: args.data.mvip,
+ username: args.data.username,
+ password: args.data.password,
+ totalcapacity: args.data.totalCapacity,
+ totalminiops: args.data.totalMinIops,
+ totalmaxiops: args.data.totalMaxIops,
+ totalburstiops: args.data.totalBurstIops
+ };
- $.ajax({
- url: createURL('createReferenceToSolidFireCluster'),
- data: data,
- success: function(json) {
- var sfclusterObj = json.createreferencetosolidfireclusterresponse.apicreatereferencetosolidfirecluster;
+ $.ajax({
+ url: createURL('createReferenceToSolidFireCluster'),
+ data: data,
+ success: function(json) {
+ var sfclusterObj = json.createreferencetosolidfireclusterresponse.apicreatereferencetosolidfirecluster;
- args.response.success({
- data: sfclusterObj
+ args.response.success({
+ data: sfclusterObj
+ });
+ },
+ error: function(json) {
+ args.response.error(parseXMLHttpResponse(json));
+ }
});
- },
- error: function(json) {
- args.response.error(parseXMLHttpResponse(json));
- }
- });
- }
- }
- },
- detailView: {
- name: 'label.details',
- actions: {
- edit: {
- label: 'label.edit',
- messages: {
- notification: function(args) {
- return 'Edit Cluster';
}
+ }
+ },
+ detailView: {
+ name: 'label.details',
+ viewAll: {
+ path: 'sfAdministration.sfVirtualNetworks',
+ label: 'Virtual Networks'
},
- action: function (args) {
- var params = [];
+ actions: {
+ edit: {
+ label: 'label.edit',
+ messages: {
+ notification: function(args) {
+ return 'Edit Cluster';
+ }
+ },
+ action: function (args) {
+ var params = [];
- params.push("&name=" + args.context.sfAdministration[0].name);
- params.push("&totalcapacity=" + args.data.totalcapacity);
- params.push("&totalminiops=" + args.data.totalminiops);
- params.push("&totalmaxiops=" + args.data.totalmaxiops);
- params.push("&totalburstiops=" + args.data.totalburstiops);
+ params.push("&name=" + args.context.sfAdministration[0].name);
+ params.push("&totalcapacity=" + args.data.totalcapacity);
+ params.push("&totalminiops=" + args.data.totalminiops);
+ params.push("&totalmaxiops=" + args.data.totalmaxiops);
+ params.push("&totalburstiops=" + args.data.totalburstiops);
- $.ajax({
- url: createURL('updateReferenceToSolidFireCluster' + params.join("")),
- success: function(json) {
- var sfclusterObj = json.updatereferencetosolidfireclusterresponse.apiupdatereferencetosolidfirecluster;
+ $.ajax({
+ url: createURL('updateReferenceToSolidFireCluster' + params.join("")),
+ success: function(json) {
+ var sfclusterObj = json.updatereferencetosolidfireclusterresponse.apiupdatereferencetosolidfirecluster;
- args.response.success({
- data: sfclusterObj
+ args.response.success({
+ data: sfclusterObj
+ });
+ },
+ error: function(json) {
+ args.response.error(parseXMLHttpResponse(json));
+ }
});
- },
- error: function(json) {
- args.response.error(parseXMLHttpResponse(json));
}
- });
- }
- },
- remove: {
- label: 'Delete Reference to Cluster',
- messages: {
- confirm: function(args) {
- return 'Are you sure you would like to delete this reference to a SolidFire cluster?';
},
- notification: function(args) {
- return 'Delete Reference to Cluster';
+ remove: {
+ label: 'Delete Reference to Cluster',
+ messages: {
+ confirm: function(args) {
+ return 'Are you sure you would like to delete this reference to a SolidFire cluster?';
+ },
+ notification: function(args) {
+ return 'Delete Reference to Cluster';
+ }
+ },
+ action: function(args) {
+ $.ajax({
+ url: createURL('deleteReferenceToSolidFireCluster&name=' + args.context.sfAdministration[0].name),
+ success: function(json) {
+ args.response.success();
+ },
+ error: function(json) {
+ args.response.error(parseXMLHttpResponse(json));
+ }
+ });
+ }
}
},
- action: function(args) {
- $.ajax({
- url: createURL('deleteReferenceToSolidFireCluster&name=' + args.context.sfAdministration[0].name),
- success: function(json) {
- args.response.success();
+ tabs: {
+ details: {
+ title: 'label.details',
+ preFilter: function(args) {
+ return [];
},
- error: function(json) {
- args.response.error(parseXMLHttpResponse(json));
+ fields: [
+ {
+ name: {
+ label: 'label.name'
+ }
+ },
+ {
+ uuid: {
+ label: 'label.id'
+ },
+ zonename: {
+ label: 'label.zone'
+ },
+ mvip: {
+ label: 'MVIP'
+ },
+ username: {
+ label: 'Username'
+ },
+ totalcapacity: {
+ label: 'Total Capacity',
+ isEditable: true
+ },
+ totalminiops: {
+ label: 'Total Min IOPS',
+ isEditable: true
+ },
+ totalmaxiops: {
+ label: 'Total Max IOPS',
+ isEditable: true
+ },
+ totalburstiops: {
+ label: 'Total Burst IOPS',
+ isEditable: true
+ }
+ }
+ ],
+ dataProvider: function(args) {
+ $.ajax({
+ url: createURL("listSolidFireClusters&name=" + args.context.sfAdministration[0].name),
+ dataType: "json",
+ async: true,
+ success: function(json) {
+ var jsonObj = json.listsolidfireclustersresponse.sfcluster[0];
+
+ args.response.success({
+ data: jsonObj
+ });
+ }
+ });
}
- });
+ }
}
}
- },
- tabs: {
- details: {
- title: 'label.details',
- preFilter: function(args) {
- return [];
- },
- fields: [
- {
- name: {
- label: 'label.name'
- }
- },
- {
- uuid: {
- label: 'label.id'
- },
- zonename: {
- label: 'label.zone'
- },
- mvip: {
- label: 'MVIP'
- },
- username: {
- label: 'Username'
- },
- totalcapacity: {
- label: 'Total Capacity',
- isEditable: true
- },
- totalminiops: {
- label: 'Total Min IOPS',
- isEditable: true
- },
- totalmaxiops: {
- label: 'Total Max IOPS',
- isEditable: true
- },
- totalburstiops: {
- label: 'Total Burst IOPS',
- isEditable: true
+ }
+ },
+ sfVirtualNetworks: {
+ id: 'sfVirtualNetworks',
+ type: 'select',
+ title: 'SolidFire Virtual Networks',
+ listView: {
+ section: 'sfVirtualNetworks',
+ id: 'sfVirtualNetworks',
+ fields: {
+ name: { label: 'label.name' },
+ tag: { label: 'Tag' },
+ svip: { label: 'SVIP' },
+ account: { label: 'label.account' }
+ },
+ dataProvider: function(args) {
+ var virtualnetworkid = args.context.virtualnetwork[0].id;
+
+ plugin.ui.apiCall('listSolidFireVirtualNetworks&' + virtualnetworkid, {
+ success: function(json) {
+ var sfvirtualnetworksfiltered = [];
+ var sfvirtualnetworks = json.listsolidfirevirtualnetworksresponse.sfvirtualnetwork;
+ var search = args.filterBy.search.value == null ? "" : args.filterBy.search.value.toLowerCase();
+
+ if (search == "") {
+ sfvirtualnetworksfiltered = sfvirtualnetworks;
}
- }
- ],
- dataProvider: function(args) {
- $.ajax({
- url: createURL("listSolidFireClusters&name=" + args.context.sfAdministration[0].name),
- dataType: "json",
- async: true,
- success: function(json) {
- var jsonObj = json.listsolidfireclustersresponse.sfcluster[0];
+ else {
+ for (i = 0; i < sfvirtualnetworks.length; i++) {
+ sfvirtualnetwork = sfvirtualnetworks[i];
- args.response.success({
- data: jsonObj
- });
+ if (sfvirtualnetwork.name.toLowerCase().indexOf(search) > -1 ) {
+ sfvirtualnetworksfiltered.push(sfvirtualnetwork);
+ }
+ }
}
- });
- }
+
+ args.response.success({ data: sfvirtualnetworksfiltered });
+ },
+ error: function(errorMessage) {
+ args.response.error(errorMessage);
+ }
+ });
}
}
}