You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by se...@apache.org on 2013/07/18 18:35:09 UTC
[34/39] Format JS
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad69bc8d/ui/scripts/configuration.js
----------------------------------------------------------------------
diff --git a/ui/scripts/configuration.js b/ui/scripts/configuration.js
index 8bc40d6..68f38ec 100644
--- a/ui/scripts/configuration.js
+++ b/ui/scripts/configuration.js
@@ -17,1788 +17,1978 @@
(function(cloudStack, $) {
- var requiredNetworkOfferingExists = false;
- var networkServiceObjs = [], serviceCheckboxNames = [];
- var serviceFields = [];
-
- cloudStack.sections.configuration = {
- title: 'label.menu.service.offerings',
- id: 'configuration',
- sectionSelect: {
- label: 'label.select.offering'
- },
- sections: {
- serviceOfferings: {
- type: 'select',
- title: 'label.compute.offerings',
- listView: {
- id: 'serviceOfferings',
- label: 'label.menu.service.offerings',
- fields: {
- name: { label: 'label.name', editable: true },
- displaytext: { label: 'label.description' }
- },
-
- reorder: cloudStack.api.actions.sort('updateServiceOffering', 'serviceOfferings'),
-
- actions: {
- add: {
- label: 'label.add.compute.offering',
-
- messages: {
- confirm: function(args) {
- return 'message.add.service.offering';
- },
- notification: function(args) {
- return 'label.add.compute.offering';
- }
- },
-
- createForm: {
- bigSize: true,
- title: 'label.add.compute.offering',
- fields: {
- name: {
- label: 'label.name',
- docID: 'helpComputeOfferingName',
- validation: { required: true }
- },
- description: {
- label: 'label.description',
- docID: 'helpComputeOfferingDescription',
- validation: { required: true }
- },
- storageType: {
- label: 'label.storage.type',
- docID: 'helpComputeOfferingStorageType',
- select: function(args) {
- var items = [];
- items.push({id: 'shared', description: 'shared'});
- items.push({id: 'local', description: 'local'});
- args.response.success({data: items});
- }
- },
- cpuNumber: {
- label: 'label.num.cpu.cores',
- docID: 'helpComputeOfferingCPUCores',
- validation: {
- required: true,
- number: true
- }
- },
- cpuSpeed: {
- label: 'label.cpu.mhz',
- docID: 'helpComputeOfferingCPUMHz',
- validation: {
- required: true,
- number: true
- }
- },
- memory: {
- label: 'label.memory.mb',
- docID: 'helpComputeOfferingMemory',
- validation: {
- required: true,
- number: true
- }
- },
- networkRate: {
- label: 'label.network.rate',
- docID: 'helpComputeOfferingNetworkRate',
- validation: {
- required: false, //optional
- number: true
- }
- },
- diskBytesReadRate: {
- label: 'label.disk.bytes.read.rate',
- docID: 'helpComputeOfferingDiskBytesReadRate',
- validation: {
- required: false, //optional
- number: true
- }
- },
- diskBytesWriteRate: {
- label: 'label.disk.bytes.write.rate',
- docID: 'helpComputeOfferingDiskBytesWriteRate',
- validation: {
- required: false, //optional
- number: true
- }
- },
- diskIopsReadRate: {
- label: 'label.disk.iops.read.rate',
- docID: 'helpComputeOfferingDiskIopsReadRate',
- validation: {
- required: false, //optional
- number: true
- }
- },
- diskIopsWriteRate: {
- label: 'label.disk.iops.write.rate',
- docID: 'helpComputeOfferingDiskIopsWriteRate',
- validation: {
- required: false, //optional
- number: true
- }
- },
- offerHA: {
- label: 'label.offer.ha',
- docID: 'helpComputeOfferingHA',
- isBoolean: true,
- isChecked: false
- },
- storageTags: {
- label: 'label.storage.tags',
- docID: 'helpComputeOfferingStorageType'
- },
- hostTags: {
- label: 'label.host.tags',
- docID: 'helpComputeOfferingHostTags'
- },
- cpuCap: {
- label: 'label.CPU.cap',
- isBoolean: true,
- isChecked: false,
- docID: 'helpComputeOfferingCPUCap'
- },
- isPublic: {
- label: 'label.public',
- isBoolean: true,
- isReverse: true,
- isChecked: true,
- docID: 'helpComputeOfferingPublic'
- },
+ var requiredNetworkOfferingExists = false;
+ var networkServiceObjs = [],
+ serviceCheckboxNames = [];
+ var serviceFields = [];
+
+ cloudStack.sections.configuration = {
+ title: 'label.menu.service.offerings',
+ id: 'configuration',
+ sectionSelect: {
+ label: 'label.select.offering'
+ },
+ sections: {
+ serviceOfferings: {
+ type: 'select',
+ title: 'label.compute.offerings',
+ listView: {
+ id: 'serviceOfferings',
+ label: 'label.menu.service.offerings',
+ fields: {
+ name: {
+ label: 'label.name',
+ editable: true
+ },
+ displaytext: {
+ label: 'label.description'
+ }
+ },
- isVolatile:{
- label:'isVolatile',
- isBoolean:true,
- isChecked:false
+ reorder: cloudStack.api.actions.sort('updateServiceOffering', 'serviceOfferings'),
+
+ actions: {
+ add: {
+ label: 'label.add.compute.offering',
+
+ messages: {
+ confirm: function(args) {
+ return 'message.add.service.offering';
+ },
+ notification: function(args) {
+ return 'label.add.compute.offering';
+ }
+ },
+
+ createForm: {
+ bigSize: true,
+ title: 'label.add.compute.offering',
+ fields: {
+ name: {
+ label: 'label.name',
+ docID: 'helpComputeOfferingName',
+ validation: {
+ required: true
+ }
+ },
+ description: {
+ label: 'label.description',
+ docID: 'helpComputeOfferingDescription',
+ validation: {
+ required: true
+ }
+ },
+ storageType: {
+ label: 'label.storage.type',
+ docID: 'helpComputeOfferingStorageType',
+ select: function(args) {
+ var items = [];
+ items.push({
+ id: 'shared',
+ description: 'shared'
+ });
+ items.push({
+ id: 'local',
+ description: 'local'
+ });
+ args.response.success({
+ data: items
+ });
+ }
+ },
+ cpuNumber: {
+ label: 'label.num.cpu.cores',
+ docID: 'helpComputeOfferingCPUCores',
+ validation: {
+ required: true,
+ number: true
+ }
+ },
+ cpuSpeed: {
+ label: 'label.cpu.mhz',
+ docID: 'helpComputeOfferingCPUMHz',
+ validation: {
+ required: true,
+ number: true
+ }
+ },
+ memory: {
+ label: 'label.memory.mb',
+ docID: 'helpComputeOfferingMemory',
+ validation: {
+ required: true,
+ number: true
+ }
+ },
+ networkRate: {
+ label: 'label.network.rate',
+ docID: 'helpComputeOfferingNetworkRate',
+ validation: {
+ required: false, //optional
+ number: true
+ }
+ },
+ diskBytesReadRate: {
+ label: 'label.disk.bytes.read.rate',
+ docID: 'helpComputeOfferingDiskBytesReadRate',
+ validation: {
+ required: false, //optional
+ number: true
+ }
+ },
+ diskBytesWriteRate: {
+ label: 'label.disk.bytes.write.rate',
+ docID: 'helpComputeOfferingDiskBytesWriteRate',
+ validation: {
+ required: false, //optional
+ number: true
+ }
+ },
+ diskIopsReadRate: {
+ label: 'label.disk.iops.read.rate',
+ docID: 'helpComputeOfferingDiskIopsReadRate',
+ validation: {
+ required: false, //optional
+ number: true
+ }
+ },
+ diskIopsWriteRate: {
+ label: 'label.disk.iops.write.rate',
+ docID: 'helpComputeOfferingDiskIopsWriteRate',
+ validation: {
+ required: false, //optional
+ number: true
+ }
+ },
+ offerHA: {
+ label: 'label.offer.ha',
+ docID: 'helpComputeOfferingHA',
+ isBoolean: true,
+ isChecked: false
+ },
+ storageTags: {
+ label: 'label.storage.tags',
+ docID: 'helpComputeOfferingStorageType'
+ },
+ hostTags: {
+ label: 'label.host.tags',
+ docID: 'helpComputeOfferingHostTags'
+ },
+ cpuCap: {
+ label: 'label.CPU.cap',
+ isBoolean: true,
+ isChecked: false,
+ docID: 'helpComputeOfferingCPUCap'
+ },
+ isPublic: {
+ label: 'label.public',
+ isBoolean: true,
+ isReverse: true,
+ isChecked: true,
+ docID: 'helpComputeOfferingPublic'
+ },
+
+ isVolatile: {
+ label: 'isVolatile',
+ isBoolean: true,
+ isChecked: false
+
+ },
+
+ deploymentPlanner: {
+ label: 'Deployment Planner',
+ select: function(args) {
+ $.ajax({
+ url: createURL('listDeploymentPlanners'),
+ dataType: 'json',
+ success: function(json) {
+ var items = [{
+ id: '',
+ description: ''
+ }];
+ var plannerObjs = json.listdeploymentplannersresponse.deploymentPlanner;
+ $(plannerObjs).each(function() {
+ items.push({
+ id: this.name,
+ description: this.name
+ });
+ });
+ args.response.success({
+ data: items
+ });
+
+
+ }
+ });
+ }
+ },
+
+ // plannerKey:{label:'Planner Key' , docID:'helpImplicitPlannerKey'},
+ plannerMode: {
+ label: 'Planner Mode',
+ select: function(args) {
+ var items = [];
+ items.push({
+ id: '',
+ description: ''
+ });
+ items.push({
+ id: 'Strict',
+ description: 'Strict'
+ });
+ items.push({
+ id: 'Preferred',
+ description: 'Preferred'
+ });
+ args.response.success({
+ data: items
+ });
+ }
+ },
+
+ domainId: {
+ label: 'label.domain',
+ docID: 'helpComputeOfferingDomain',
+ dependsOn: 'isPublic',
+ select: function(args) {
+ $.ajax({
+ url: createURL("listDomains&listAll=true"),
+ dataType: "json",
+ async: false,
+ success: function(json) {
+ var items = [];
+ var domainObjs = json.listdomainsresponse.domain;
+ $(domainObjs).each(function() {
+ items.push({
+ id: this.id,
+ description: this.path
+ });
+ });
+ args.response.success({
+ data: items
+ });
+ }
+ });
+ },
+ isHidden: true
+ }
+ }
+ },
+
+ action: function(args) {
+ var data = {
+ issystem: false,
+ name: args.data.name,
+ displaytext: args.data.description,
+ storageType: args.data.storageType,
+ cpuNumber: args.data.cpuNumber,
+ cpuSpeed: args.data.cpuSpeed,
+ memory: args.data.memory
+ };
- },
+ if (args.data.deploymentPlanner != null && args.data.deploymentPlanner.length > 0) {
+ $.extend(data, {
+ deploymentplanner: args.data.deploymentPlanner
+ });
+ }
+
+ var array1 = [];
+ if (args.data.deploymentPlanner == "ImplicitDedicationPlanner" && args.data.plannerMode != "") {
+ array1.push("&serviceofferingdetails[0].ImplicitDedicationMode" + "=" + args.data.plannerMode);
+ }
+
+ if (args.data.networkRate != null && args.data.networkRate.length > 0) {
+ $.extend(data, {
+ networkrate: args.data.networkRate
+ });
+ }
+ if (args.data.diskBytesReadRate != null && args.data.diskBytesReadRate.length > 0) {
+ $.extend(data, {
+ bytesreadrate: args.data.diskBytesReadRate
+ });
+ }
+ if (args.data.diskBytesWriteRate != null && args.data.diskBytesWriteRate.length > 0) {
+ $.extend(data, {
+ byteswriterate: args.data.diskBytesWriteRate
+ });
+ }
+ if (args.data.diskIopsReadRate != null && args.data.diskIopsReadRate.length > 0) {
+ $.extend(data, {
+ iopsreadrate: args.data.diskIopsReadRate
+ });
+ }
+ if (args.data.diskIopsWriteRate != null && args.data.diskIopsWriteRate.length > 0) {
+ $.extend(data, {
+ iopswriterate: args.data.diskIopsWriteRate
+ });
+ }
+ $.extend(data, {
+ offerha: (args.data.offerHA == "on")
+ });
+
+ if (args.data.storageTags != null && args.data.storageTags.length > 0) {
+ $.extend(data, {
+ tags: args.data.storageTags
+ });
+ }
+
+ if (args.data.hostTags != null && args.data.hostTags.length > 0) {
+ $.extend(data, {
+ hosttags: args.data.hostTags
+ });
+ }
+
+ $.extend(data, {
+ limitcpuuse: (args.data.cpuCap == "on")
+ });
+
+ $.extend(data, {
+ isvolatile: (args.data.isVolatile == "on")
+ });
+
+ if (args.$form.find('.form-item[rel=domainId]').css("display") != "none") {
+ $.extend(data, {
+ domainid: args.data.domainId
+ });
+ }
+
+ $.ajax({
+ url: createURL('createServiceOffering' + array1.join("")),
+ data: data,
+ success: function(json) {
+ var item = json.createserviceofferingresponse.serviceoffering;
+ args.response.success({
+ data: item
+ });
+ },
+ error: function(data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
+ },
+
+ notification: {
+ poll: function(args) {
+ args.complete();
+ }
+ }
+ }
+ },
- deploymentPlanner:{
- label:'Deployment Planner',
- select:function(args){
- $.ajax({
- url:createURL('listDeploymentPlanners'),
- dataType:'json',
- success:function(json){
- var items=[{id: '', description: ''}];
- var plannerObjs = json.listdeploymentplannersresponse.deploymentPlanner;
- $(plannerObjs).each(function(){
- items.push({id: this.name, description: this.name});
- });
- args.response.success({data: items});
+ dataProvider: function(args) {
+ var data = {};
+ listViewDataProvider(args, data);
+ $.extend(data, {
+ issystem: false
+ });
+ $.ajax({
+ url: createURL('listServiceOfferings'),
+ data: data,
+ success: function(json) {
+ var items = json.listserviceofferingsresponse.serviceoffering;
+ args.response.success({
+ actionFitler: serviceOfferingActionfilter,
+ data: items
+ });
+ },
+ error: function(data) {
+ args.response.error(parseXMLHttpResponse(data));
}
- });
- }
- },
+ });
+ },
- // plannerKey:{label:'Planner Key' , docID:'helpImplicitPlannerKey'},
- plannerMode:{
- label:'Planner Mode',
- select:function(args){
- var items=[];
- items.push({id:'',description:''});
- items.push({id:'Strict', description:'Strict'});
- items.push({id:'Preferred', description:'Preferred'});
- args.response.success({data:items});
- }
- },
+ detailView: {
+ name: 'Service offering details',
+ actions: {
+ edit: {
+ label: 'label.edit',
+ action: function(args) {
+ var data = {
+ id: args.context.serviceOfferings[0].id,
+ name: args.data.name,
+ displaytext: args.data.displaytext
+ };
+ $.ajax({
+ url: createURL('updateServiceOffering'),
+ data: data,
+ success: function(json) {
+ var item = json.updateserviceofferingresponse.serviceoffering;
+ args.response.success({
+ data: item
+ });
+ },
+ error: function(data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
+ }
+ },
+
+ remove: {
+ label: 'label.action.delete.service.offering',
+ messages: {
+ confirm: function(args) {
+ return 'message.action.delete.service.offering';
+ },
+ notification: function(args) {
+ return 'label.action.delete.service.offering';
+ }
+ },
+ action: function(args) {
+ var data = {
+ id: args.context.serviceOfferings[0].id
+ };
+ $.ajax({
+ url: createURL('deleteServiceOffering'),
+ data: data,
+ async: true,
+ success: function(json) {
+ args.response.success();
+ },
+ error: function(data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
+ },
+ notification: {
+ poll: function(args) {
+ args.complete();
+ }
+ }
+ }
+ },
- domainId: {
- label: 'label.domain',
- docID: 'helpComputeOfferingDomain',
- dependsOn: 'isPublic',
- select: function(args) {
- $.ajax({
- url: createURL("listDomains&listAll=true"),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = [];
- var domainObjs = json.listdomainsresponse.domain;
- $(domainObjs).each(function(){
- items.push({id: this.id, description: this.path});
- });
- args.response.success({data: items});
+ tabs: {
+ details: {
+ title: 'label.details',
+
+ fields: [{
+ name: {
+ label: 'label.name',
+ isEditable: true,
+ validation: {
+ required: true
+ }
+ }
+ }, {
+ id: {
+ label: 'label.id'
+ },
+ displaytext: {
+ label: 'label.description',
+ isEditable: true,
+ validation: {
+ required: true
+ }
+ },
+ storagetype: {
+ label: 'label.storage.type'
+ },
+ cpunumber: {
+ label: 'label.num.cpu.cores'
+ },
+ cpuspeed: {
+ label: 'label.cpu.mhz',
+ converter: function(args) {
+ return cloudStack.converters.convertHz(args);
+ }
+ },
+ memory: {
+ label: 'label.memory.mb',
+ converter: function(args) {
+ return cloudStack.converters.convertBytes(args * 1024 * 1024);
+ }
+ },
+ networkrate: {
+ label: 'label.network.rate'
+ },
+ diskBytesReadRate: {
+ label: 'label.disk.bytes.read.rate'
+ },
+ diskBytesWriteRate: {
+ label: 'label.disk.bytes.write.rate'
+ },
+ diskIopsReadRate: {
+ label: 'label.disk.iops.read.rate'
+ },
+ diskIopsWriteRate: {
+ label: 'label.disk.iops.write.rate'
+ },
+ offerha: {
+ label: 'label.offer.ha',
+ converter: cloudStack.converters.toBooleanText
+ },
+ limitcpuuse: {
+ label: 'label.CPU.cap',
+ converter: cloudStack.converters.toBooleanText
+ },
+ isvolatile: {
+ label: 'Volatile',
+ converter: cloudStack.converters.toBooleanText
+ },
+ deploymentplanner: {
+ label: 'Deployment Planner'
+ },
+ tags: {
+ label: 'label.storage.tags'
+ },
+ hosttags: {
+ label: 'label.host.tags'
+ },
+ domain: {
+ label: 'label.domain'
+ },
+ created: {
+ label: 'label.created',
+ converter: cloudStack.converters.toLocalDate
+ }
+ }],
+
+ dataProvider: function(args) {
+ var data = {
+ issystem: false,
+ id: args.context.serviceOfferings[0].id
+ };
+ $.ajax({
+ url: createURL('listServiceOfferings'),
+ data: data,
+ async: true,
+ success: function(json) {
+ var item = json.listserviceofferingsresponse.serviceoffering[0];
+ args.response.success({
+ actionFitler: serviceOfferingActionfilter,
+ data: item
+ });
+ }
+ });
+ }
+ }
}
- });
- },
- isHidden: true
- }
- }
- },
-
- action: function(args) {
- var data = {
- issystem: false,
- name: args.data.name,
- displaytext: args.data.description,
- storageType: args.data.storageType,
- cpuNumber: args.data.cpuNumber,
- cpuSpeed: args.data.cpuSpeed,
- memory: args.data.memory
- };
-
- if(args.data.deploymentPlanner != null && args.data.deploymentPlanner.length > 0) {
- $.extend(data, {
- deploymentplanner: args.data.deploymentPlanner
- });
- }
-
- var array1 =[];
- if(args.data.deploymentPlanner == "ImplicitDedicationPlanner" && args.data.plannerMode != ""){
- array1.push("&serviceofferingdetails[0].ImplicitDedicationMode" + "=" + args.data.plannerMode);
- }
-
- if(args.data.networkRate != null && args.data.networkRate.length > 0) {
- $.extend(data, {
- networkrate: args.data.networkRate
- });
- }
- if(args.data.diskBytesReadRate != null && args.data.diskBytesReadRate.length > 0) {
- $.extend(data, {
- bytesreadrate: args.data.diskBytesReadRate
- });
- }
- if(args.data.diskBytesWriteRate != null && args.data.diskBytesWriteRate.length > 0) {
- $.extend(data, {
- byteswriterate: args.data.diskBytesWriteRate
- });
- }
- if(args.data.diskIopsReadRate != null && args.data.diskIopsReadRate.length > 0) {
- $.extend(data, {
- iopsreadrate: args.data.diskIopsReadRate
- });
- }
- if(args.data.diskIopsWriteRate != null && args.data.diskIopsWriteRate.length > 0) {
- $.extend(data, {
- iopswriterate: args.data.diskIopsWriteRate
- });
- }
- $.extend(data, {
- offerha: (args.data.offerHA == "on")
- });
-
- if(args.data.storageTags != null && args.data.storageTags.length > 0) {
- $.extend(data, {
- tags: args.data.storageTags
- });
- }
-
- if(args.data.hostTags != null && args.data.hostTags.length > 0) {
- $.extend(data, {
- hosttags: args.data.hostTags
- });
- }
-
- $.extend(data, {
- limitcpuuse: (args.data.cpuCap == "on")
- });
-
- $.extend(data, {
- isvolatile: (args.data.isVolatile == "on")
- });
-
- if(args.$form.find('.form-item[rel=domainId]').css("display") != "none") {
- $.extend(data, {
- domainid: args.data.domainId
- });
- }
-
- $.ajax({
- url: createURL('createServiceOffering' + array1.join("")),
- data: data,
- success: function(json) {
- var item = json.createserviceofferingresponse.serviceoffering;
- args.response.success({data: item});
- },
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
- }
- });
- },
-
- notification: {
- poll: function(args) {
- args.complete();
- }
- }
- }
- },
-
- dataProvider: function(args) {
- var data = {};
- listViewDataProvider(args, data);
-
- $.extend(data, {
- issystem: false
- });
-
- $.ajax({
- url: createURL('listServiceOfferings'),
- data: data,
- success: function(json) {
- var items = json.listserviceofferingsresponse.serviceoffering;
- args.response.success({
- actionFitler: serviceOfferingActionfilter,
- data:items
- });
- },
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
- }
- });
- },
-
- detailView: {
- name: 'Service offering details',
- actions: {
- edit: {
- label: 'label.edit',
- action: function(args) {
- var data = {
- id: args.context.serviceOfferings[0].id,
- name: args.data.name,
- displaytext: args.data.displaytext
- };
- $.ajax({
- url: createURL('updateServiceOffering'),
- data: data,
- success: function(json) {
- var item = json.updateserviceofferingresponse.serviceoffering;
- args.response.success({data: item});
- },
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
}
- });
}
- },
+ },
- remove: {
- label: 'label.action.delete.service.offering',
- messages: {
- confirm: function(args) {
- return 'message.action.delete.service.offering';
- },
- notification: function(args) {
- return 'label.action.delete.service.offering';
- }
- },
- action: function(args) {
- var data = {
- id: args.context.serviceOfferings[0].id
- };
- $.ajax({
- url: createURL('deleteServiceOffering'),
- data: data,
- async: true,
- success: function(json) {
- args.response.success();
+ systemServiceOfferings: {
+ type: 'select',
+ title: 'label.menu.system.service.offerings',
+ listView: {
+ id: 'systemServiceOfferings',
+ label: 'label.menu.system.service.offerings',
+ fields: {
+ name: {
+ label: 'label.name',
+ editable: true
+ },
+ displaytext: {
+ label: 'label.description'
+ }
},
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
- }
- });
- },
- notification: {
- poll: function(args) {
- args.complete();
- }
- }
- }
- },
- tabs: {
- details: {
- title: 'label.details',
+ reorder: cloudStack.api.actions.sort('updateServiceOffering', 'systemServiceOfferings'),
+
+ actions: {
+ add: {
+ label: 'label.add.system.service.offering',
+
+ messages: {
+ confirm: function(args) {
+ return 'message.add.system.service.offering';
+ },
+ notification: function(args) {
+ return 'label.add.system.service.offering';
+ }
+ },
+
+ createForm: {
+ title: 'label.add.system.service.offering',
+ fields: {
+ name: {
+ label: 'label.name',
+ validation: {
+ required: true
+ },
+ docID: 'helpSystemOfferingName'
+ },
+ description: {
+ label: 'label.description',
+ validation: {
+ required: true
+ },
+ docID: 'helpSystemOfferingDescription'
+ },
+ systemvmtype: {
+ label: 'label.system.vm.type',
+ docID: 'helpSystemOfferingVMType',
+ select: function(args) {
+ var items = [];
+ items.push({
+ id: 'domainrouter',
+ description: dictionary['label.domain.router']
+ });
+ items.push({
+ id: 'consoleproxy',
+ description: dictionary['label.console.proxy']
+ });
+ items.push({
+ id: 'secondarystoragevm',
+ description: dictionary['label.secondary.storage.vm']
+ });
+ args.response.success({
+ data: items
+ });
+ }
+ },
+ storageType: {
+ label: 'label.storage.type',
+ docID: 'helpSystemOfferingStorageType',
+ select: function(args) {
+ var items = [];
+ items.push({
+ id: 'shared',
+ description: 'shared'
+ });
+ items.push({
+ id: 'local',
+ description: 'local'
+ });
+ args.response.success({
+ data: items
+ });
+ }
+ },
+ cpuNumber: {
+ label: 'label.num.cpu.cores',
+ docID: 'helpSystemOfferingCPUCores',
+ validation: {
+ required: true,
+ number: true
+ }
+ },
+ cpuSpeed: {
+ label: 'label.cpu.mhz',
+ docID: 'helpSystemOfferingCPUMHz',
+ validation: {
+ required: true,
+ number: true
+ }
+ },
+ memory: {
+ label: 'label.memory.mb',
+ docID: 'helpSystemOfferingMemory',
+ validation: {
+ required: true,
+ number: true
+ }
+ },
+ networkRate: {
+ label: 'label.network.rate',
+ docID: 'helpSystemOfferingNetworkRate',
+ validation: {
+ required: false, //optional
+ number: true
+ }
+ },
+ diskBytesReadRate: {
+ label: 'label.disk.bytes.read.rate',
+ docID: 'helpSystemOfferingDiskBytesReadRate',
+ validation: {
+ required: false, //optional
+ number: true
+ }
+ },
+ diskBytesWriteRate: {
+ label: 'label.disk.bytes.write.rate',
+ docID: 'helpSystemOfferingDiskBytesWriteRate',
+ validation: {
+ required: false, //optional
+ number: true
+ }
+ },
+ diskIopsReadRate: {
+ label: 'label.disk.iops.read.rate',
+ docID: 'helpSystemOfferingDiskIopsReadRate',
+ validation: {
+ required: false, //optional
+ number: true
+ }
+ },
+ diskIopsWriteRate: {
+ label: 'label.disk.iops.write.rate',
+ docID: 'helpSystemOfferingDiskIopsWriteRate',
+ validation: {
+ required: false, //optional
+ number: true
+ }
+ },
+ offerHA: {
+ label: 'label.offer.ha',
+ docID: 'helpSystemOfferingHA',
+ isBoolean: true,
+ isChecked: false
+ },
+ storageTags: {
+ label: 'label.storage.tags',
+ docID: 'helpSystemOfferingStorageTags'
+ },
+ hostTags: {
+ label: 'label.host.tags',
+ docID: 'helpSystemOfferingHostTags'
+ },
+ cpuCap: {
+ label: 'label.CPU.cap',
+ isBoolean: true,
+ isChecked: false,
+ docID: 'helpSystemOfferingCPUCap'
+ },
+ isPublic: {
+ label: 'label.public',
+ isBoolean: true,
+ isReverse: true,
+ isChecked: true,
+ docID: 'helpSystemOfferingPublic'
+ },
+ domainId: {
+ label: 'label.domain',
+ docID: 'helpSystemOfferingDomain',
+ dependsOn: 'isPublic',
+ select: function(args) {
+ $.ajax({
+ url: createURL("listDomains&listAll=true"),
+ dataType: "json",
+ async: false,
+ success: function(json) {
+ var items = [];
+ var domainObjs = json.listdomainsresponse.domain;
+ $(domainObjs).each(function() {
+ items.push({
+ id: this.id,
+ description: this.path
+ });
+ });
+ args.response.success({
+ data: items
+ });
+ }
+ });
+ },
+ isHidden: true
+ }
+ }
+ },
+
+ action: function(args) {
+ var data = {
+ issystem: true,
+ name: args.data.name,
+ displaytext: args.data.description,
+ systemvmtype: args.data.systemvmtype,
+ storageType: args.data.storageType,
+ cpuNumber: args.data.cpuNumber,
+ cpuSpeed: args.data.cpuSpeed,
+ memory: args.data.memory
+ };
- fields: [
- {
- name: {
- label: 'label.name',
- isEditable: true,
- validation: { required: true }
- }
- },
- {
- id: { label: 'label.id' },
- displaytext: {
- label: 'label.description',
- isEditable: true,
- validation: { required: true }
- },
- storagetype: { label: 'label.storage.type' },
- cpunumber: { label: 'label.num.cpu.cores' },
- cpuspeed: {
- label: 'label.cpu.mhz',
- converter: function(args) {
- return cloudStack.converters.convertHz(args);
- }
- },
- memory: {
- label: 'label.memory.mb',
- converter: function(args) {
- return cloudStack.converters.convertBytes(args*1024*1024);
- }
- },
- networkrate: { label: 'label.network.rate' },
- diskBytesReadRate: { label: 'label.disk.bytes.read.rate' },
- diskBytesWriteRate: { label: 'label.disk.bytes.write.rate' },
- diskIopsReadRate: { label: 'label.disk.iops.read.rate' },
- diskIopsWriteRate: { label: 'label.disk.iops.write.rate' },
- offerha: {
- label: 'label.offer.ha',
- converter: cloudStack.converters.toBooleanText
- },
- limitcpuuse: {
- label: 'label.CPU.cap',
- converter: cloudStack.converters.toBooleanText
- },
- isvolatile:{ label:'Volatile' , converter: cloudStack.converters.toBooleanText },
- deploymentplanner:{label:'Deployment Planner'},
- tags: { label: 'label.storage.tags' },
- hosttags: { label: 'label.host.tags' },
- domain: { label: 'label.domain' },
- created: { label: 'label.created', converter: cloudStack.converters.toLocalDate }
- }
- ],
-
- dataProvider: function(args) {
- var data = {
- issystem: false,
- id: args.context.serviceOfferings[0].id
- };
- $.ajax({
- url: createURL('listServiceOfferings'),
- data: data,
- async: true,
- success: function(json) {
- var item = json.listserviceofferingsresponse.serviceoffering[0];
- args.response.success({
- actionFitler: serviceOfferingActionfilter,
- data: item
- });
- }
- });
- }
- }
- }
- }
- }
- },
-
- systemServiceOfferings: {
- type: 'select',
- title: 'label.menu.system.service.offerings',
- listView: {
- id: 'systemServiceOfferings',
- label: 'label.menu.system.service.offerings',
- fields: {
- name: {
- label: 'label.name',
- editable: true
- },
- displaytext: {
- label: 'label.description'
- }
- },
-
- reorder: cloudStack.api.actions.sort('updateServiceOffering', 'systemServiceOfferings'),
-
- actions: {
- add: {
- label: 'label.add.system.service.offering',
-
- messages: {
- confirm: function(args) {
- return 'message.add.system.service.offering';
- },
- notification: function(args) {
- return 'label.add.system.service.offering';
- }
- },
-
- createForm: {
- title: 'label.add.system.service.offering',
- fields: {
- name: {
- label: 'label.name',
- validation: { required: true },
- docID: 'helpSystemOfferingName'
- },
- description: {
- label: 'label.description',
- validation: { required: true },
- docID: 'helpSystemOfferingDescription'
- },
- systemvmtype: {
- label: 'label.system.vm.type',
- docID: 'helpSystemOfferingVMType',
- select: function(args) {
- var items = [];
- items.push({id: 'domainrouter', description: dictionary['label.domain.router']});
- items.push({id: 'consoleproxy', description: dictionary['label.console.proxy']});
- items.push({id: 'secondarystoragevm', description: dictionary['label.secondary.storage.vm']});
- args.response.success({data: items});
- }
- },
- storageType: {
- label: 'label.storage.type',
- docID: 'helpSystemOfferingStorageType',
- select: function(args) {
- var items = [];
- items.push({id: 'shared', description: 'shared'});
- items.push({id: 'local', description: 'local'});
- args.response.success({data: items});
- }
- },
- cpuNumber: {
- label: 'label.num.cpu.cores',
- docID: 'helpSystemOfferingCPUCores',
- validation: {
- required: true,
- number: true
- }
- },
- cpuSpeed: {
- label: 'label.cpu.mhz',
- docID: 'helpSystemOfferingCPUMHz',
- validation: {
- required: true,
- number: true
- }
- },
- memory: {
- label: 'label.memory.mb',
- docID: 'helpSystemOfferingMemory',
- validation: {
- required: true,
- number: true
- }
- },
- networkRate: {
- label: 'label.network.rate',
- docID: 'helpSystemOfferingNetworkRate',
- validation: {
- required: false, //optional
- number: true
- }
- },
- diskBytesReadRate: {
- label: 'label.disk.bytes.read.rate',
- docID: 'helpSystemOfferingDiskBytesReadRate',
- validation: {
- required: false, //optional
- number: true
- }
- },
- diskBytesWriteRate: {
- label: 'label.disk.bytes.write.rate',
- docID: 'helpSystemOfferingDiskBytesWriteRate',
- validation: {
- required: false, //optional
- number: true
- }
- },
- diskIopsReadRate: {
- label: 'label.disk.iops.read.rate',
- docID: 'helpSystemOfferingDiskIopsReadRate',
- validation: {
- required: false, //optional
- number: true
- }
- },
- diskIopsWriteRate: {
- label: 'label.disk.iops.write.rate',
- docID: 'helpSystemOfferingDiskIopsWriteRate',
- validation: {
- required: false, //optional
- number: true
- }
- },
- offerHA: {
- label: 'label.offer.ha',
- docID: 'helpSystemOfferingHA',
- isBoolean: true,
- isChecked: false
- },
- storageTags: {
- label: 'label.storage.tags',
- docID: 'helpSystemOfferingStorageTags'
- },
- hostTags: {
- label: 'label.host.tags',
- docID: 'helpSystemOfferingHostTags'
- },
- cpuCap: {
- label: 'label.CPU.cap',
- isBoolean: true,
- isChecked: false,
- docID: 'helpSystemOfferingCPUCap'
- },
- isPublic: {
- label: 'label.public',
- isBoolean: true,
- isReverse: true,
- isChecked: true,
- docID: 'helpSystemOfferingPublic'
- },
- domainId: {
- label: 'label.domain',
- docID: 'helpSystemOfferingDomain',
- dependsOn: 'isPublic',
- select: function(args) {
- $.ajax({
- url: createURL("listDomains&listAll=true"),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = [];
- var domainObjs = json.listdomainsresponse.domain;
- $(domainObjs).each(function(){
- items.push({id: this.id, description: this.path});
- });
- args.response.success({data: items});
+ if (args.data.networkRate != null && args.data.networkRate.length > 0) {
+ $.extend(data, {
+ networkrate: args.data.networkRate
+ });
+ }
+ if (args.data.diskBytesReadRate != null && args.data.diskBytesReadRate.length > 0) {
+ $.extend(data, {
+ bytesreadrate: args.data.diskBytesReadRate
+ });
+ }
+ if (args.data.diskBytesWriteRate != null && args.data.diskBytesWriteRate.length > 0) {
+ $.extend(data, {
+ byteswriterate: args.data.diskBytesWriteRate
+ });
+ }
+ if (args.data.diskIopsReadRate != null && args.data.diskIopsReadRate.length > 0) {
+ $.extend(data, {
+ iopsreadrate: args.data.diskIopsReadRate
+ });
+ }
+ if (args.data.diskIopsWriteRate != null && args.data.diskIopsWriteRate.length > 0) {
+ $.extend(data, {
+ iopswriterate: args.data.diskIopsWriteRate
+ });
+ }
+
+ $.extend(data, {
+ offerha: (args.data.offerHA == "on")
+ });
+
+ if (args.data.storageTags != null && args.data.storageTags.length > 0) {
+ $.extend(data, {
+ tags: args.data.storageTags
+ });
+ }
+
+ if (args.data.hostTags != null && args.data.hostTags.length > 0) {
+ $.extend(data, {
+ hosttags: args.data.hostTags
+ });
+ }
+
+ $.extend(data, {
+ limitcpuuse: (args.data.cpuCap == "on")
+ });
+
+ if (args.$form.find('.form-item[rel=domainId]').css("display") != "none") {
+ $.extend(data, {
+ domainid: args.data.domainId
+ });
+ }
+
+ $.ajax({
+ url: createURL('createServiceOffering'),
+ data: data,
+ success: function(json) {
+ var item = json.createserviceofferingresponse.serviceoffering;
+ args.response.success({
+ data: item
+ });
+ },
+ error: function(data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
+ },
+
+ notification: {
+ poll: function(args) {
+ args.complete();
+ }
+ }
}
- });
},
- isHidden: true
- }
- }
- },
-
- action: function(args) {
- var data = {
- issystem: true,
- name: args.data.name,
- displaytext: args.data.description,
- systemvmtype: args.data.systemvmtype,
- storageType: args.data.storageType,
- cpuNumber: args.data.cpuNumber,
- cpuSpeed: args.data.cpuSpeed,
- memory: args.data.memory
- };
-
- if(args.data.networkRate != null && args.data.networkRate.length > 0) {
- $.extend(data, {
- networkrate: args.data.networkRate
- });
- }
- if(args.data.diskBytesReadRate != null && args.data.diskBytesReadRate.length > 0) {
- $.extend(data, {
- bytesreadrate: args.data.diskBytesReadRate
- });
- }
- if(args.data.diskBytesWriteRate != null && args.data.diskBytesWriteRate.length > 0) {
- $.extend(data, {
- byteswriterate: args.data.diskBytesWriteRate
- });
- }
- if(args.data.diskIopsReadRate != null && args.data.diskIopsReadRate.length > 0) {
- $.extend(data, {
- iopsreadrate: args.data.diskIopsReadRate
- });
- }
- if(args.data.diskIopsWriteRate != null && args.data.diskIopsWriteRate.length > 0) {
- $.extend(data, {
- iopswriterate: args.data.diskIopsWriteRate
- });
- }
- $.extend(data, {
- offerha: (args.data.offerHA == "on")
- });
-
- if(args.data.storageTags != null && args.data.storageTags.length > 0) {
- $.extend(data, {
- tags: args.data.storageTags
- });
- }
-
- if(args.data.hostTags != null && args.data.hostTags.length > 0) {
- $.extend(data, {
- hosttags: args.data.hostTags
- });
- }
-
- $.extend(data, {
- limitcpuuse: (args.data.cpuCap == "on")
- });
-
- if(args.$form.find('.form-item[rel=domainId]').css("display") != "none") {
- $.extend(data, {
- domainid: args.data.domainId
- });
- }
-
- $.ajax({
- url: createURL('createServiceOffering'),
- data: data,
- success: function(json) {
- var item = json.createserviceofferingresponse.serviceoffering;
- args.response.success({data: item});
- },
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
- }
- });
- },
-
- notification: {
- poll: function(args) {
- args.complete();
- }
- }
- }
- },
-
- dataProvider: function(args) {
- var data = {};
- listViewDataProvider(args, data);
-
- $.extend(data, {
- issystem: true
- });
-
- $.ajax({
- url: createURL('listServiceOfferings'),
- data: data,
- success: function(json) {
- var items = json.listserviceofferingsresponse.serviceoffering;
- args.response.success({data:items});
- },
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
- }
- });
- },
-
- detailView: {
- name: 'System service offering details',
- actions: {
- edit: {
- label: 'label.edit',
- action: function(args) {
- var data = {
- id: args.context.systemServiceOfferings[0].id,
- name: args.data.name,
- displaytext: args.data.displaytext
- };
- $.ajax({
- url: createURL('updateServiceOffering'),
- data: data,
- success: function(json) {
- var item = json.updateserviceofferingresponse.serviceoffering;
- args.response.success({data: item});
- },
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
- }
- });
- }
- },
+ dataProvider: function(args) {
+ var data = {};
+ listViewDataProvider(args, data);
- remove: {
- label: 'label.action.delete.system.service.offering',
- messages: {
- confirm: function(args) {
- return 'message.action.delete.system.service.offering';
- },
- notification: function(args) {
- return 'label.action.delete.system.service.offering';
- }
- },
- action: function(args) {
- var data = {
- id: args.context.systemServiceOfferings[0].id
- };
- $.ajax({
- url: createURL('deleteServiceOffering'),
- data: data,
- success: function(json) {
- args.response.success();
+ $.extend(data, {
+ issystem: true
+ });
+
+ $.ajax({
+ url: createURL('listServiceOfferings'),
+ data: data,
+ success: function(json) {
+ var items = json.listserviceofferingsresponse.serviceoffering;
+ args.response.success({
+ data: items
+ });
+ },
+ error: function(data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
},
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
- }
- });
- },
- notification: {
- poll: function(args) {
- args.complete();
- }
- }
- }
- },
- tabs: {
- details: {
- title: 'label.details',
+ detailView: {
+ name: 'System service offering details',
+ actions: {
+ edit: {
+ label: 'label.edit',
+ action: function(args) {
+ var data = {
+ id: args.context.systemServiceOfferings[0].id,
+ name: args.data.name,
+ displaytext: args.data.displaytext
+ };
+ $.ajax({
+ url: createURL('updateServiceOffering'),
+ data: data,
+ success: function(json) {
+ var item = json.updateserviceofferingresponse.serviceoffering;
+ args.response.success({
+ data: item
+ });
+ },
+ error: function(data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
+ }
+ },
+
+ remove: {
+ label: 'label.action.delete.system.service.offering',
+ messages: {
+ confirm: function(args) {
+ return 'message.action.delete.system.service.offering';
+ },
+ notification: function(args) {
+ return 'label.action.delete.system.service.offering';
+ }
+ },
+ action: function(args) {
+ var data = {
+ id: args.context.systemServiceOfferings[0].id
+ };
+ $.ajax({
+ url: createURL('deleteServiceOffering'),
+ data: data,
+ success: function(json) {
+ args.response.success();
+ },
+ error: function(data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
+ },
+ notification: {
+ poll: function(args) {
+ args.complete();
+ }
+ }
+ }
+ },
- fields: [
- {
- name: {
- label: 'label.name',
- isEditable: true,
- validation: { required: true }
+ tabs: {
+ details: {
+ title: 'label.details',
+
+ fields: [{
+ name: {
+ label: 'label.name',
+ isEditable: true,
+ validation: {
+ required: true
+ }
+ }
+ }, {
+ id: {
+ label: 'label.id'
+ },
+ displaytext: {
+ label: 'label.description',
+ isEditable: true,
+ validation: {
+ required: true
+ }
+ },
+ systemvmtype: {
+ label: 'label.system.vm.type',
+ converter: function(args) {
+ var text = '';
+ switch (args) {
+ case 'domainrouter':
+ text = dictionary['label.domain.router'];
+ break;
+ case 'consoleproxy':
+ text = dictionary['label.console.proxy'];
+ break;
+ case 'secondarystoragevm':
+ text = dictionary['label.secondary.storage.vm'];
+ break;
+ }
+ return text;
+ }
+ },
+ storagetype: {
+ label: 'label.storage.type'
+ },
+ cpunumber: {
+ label: 'label.num.cpu.cores'
+ },
+ cpuspeed: {
+ label: 'label.cpu.mhz',
+ converter: function(args) {
+ return cloudStack.converters.convertHz(args);
+ }
+ },
+ memory: {
+ label: 'label.memory.mb',
+ converter: function(args) {
+ return cloudStack.converters.convertBytes(args * 1024 * 1024);
+ }
+ },
+ networkrate: {
+ label: 'label.network.rate'
+ },
+ diskBytesReadRate: {
+ label: 'label.disk.bytes.write.rate'
+ },
+ diskBytesWriteRate: {
+ label: 'label.disk.bytes.write.rate'
+ },
+ diskIopsReadRate: {
+ label: 'label.disk.iops.write.rate'
+ },
+ diskIopsWriteRate: {
+ label: 'label.disk.iops.write.rate'
+ },
+ offerha: {
+ label: 'label.offer.ha',
+ converter: cloudStack.converters.toBooleanText
+ },
+ limitcpuuse: {
+ label: 'label.CPU.cap',
+ converter: cloudStack.converters.toBooleanText
+ },
+ tags: {
+ label: 'label.storage.tags'
+ },
+ hosttags: {
+ label: 'label.host.tags'
+ },
+ domain: {
+ label: 'label.domain'
+ },
+ created: {
+ label: 'label.created',
+ converter: cloudStack.converters.toLocalDate
+ }
+ }],
+
+ dataProvider: function(args) {
+
<TRUNCATED>