diff --git a/src/sunstone/public/js/plugins/provision-tab.js b/src/sunstone/public/js/plugins/provision-tab.js
index 27b71b241b..369983f9ce 100644
--- a/src/sunstone/public/js/plugins/provision-tab.js
+++ b/src/sunstone/public/js/plugins/provision-tab.js
@@ -1498,7 +1498,7 @@ function provision_list_vms(opts_arg){
'
'+
'
'+
'
'+
- '
'+
+ ''+
''+
''+
''+tr("ID")+' | '+
@@ -2092,8 +2092,8 @@ function generate_provision_instance_type_accordion(context, capacity) {
"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
var data = aData;
- $(".provision_instance_types_ul", context).append(''+
- ''+
+ var li = $('- '+
+ '
'+
'- '+
data.name+
'
'+
@@ -2112,7 +2112,9 @@ function generate_provision_instance_type_accordion(context, capacity) {
(data.description || '')+
'
'+
'
'+
- '');
+ '').appendTo($(".provision_instance_types_ul", context));
+
+ $(".provision-pricing-table", li).data("opennebula", data)
return nRow;
}
@@ -3063,10 +3065,9 @@ function update_provision_vms_datatable(datatable, timeout) {
''+
'');
- if (datatable.attr('data')) {
- fill_provision_vms_datatable(
- datatable,
- JSON.parse(datatable.attr('data')))
+ var data = datatable.data('opennebula');
+ if (data) {
+ fill_provision_vms_datatable(datatable, data)
} else {
setTimeout( function(){
OpenNebula.VM.list({
@@ -4066,6 +4067,11 @@ function setup_provision_vms_list(context, opts) {
function generate_provision_vms_list(context, opts) {
context.off();
context.html(provision_list_vms(opts));
+
+ if (opts.data) {
+ $(".provision_vms_table", context).data("opennebula", opts.data)
+ }
+
setup_provision_vms_list(context, opts);
setup_info_vm(context);
}
@@ -4492,9 +4498,9 @@ function setup_info_flow(context) {
percentage : Math.floor((role.nodes ? role.nodes.length : 0) / role.cardinality)*100
}
- $(".provision_roles_ul", context).append(
+ var li = $(
''+
- ''+
+ ''+
'- '+
' '+
role.name+
@@ -4522,7 +4528,9 @@ function setup_info_flow(context) {
''+
'
'+
'
'+
- '
');
+ '').appendTo($(".provision_roles_ul", context));
+
+ $(".provision_role_ul", li).data("role", role);
});
}
@@ -4548,12 +4556,14 @@ function setup_info_flow(context) {
''+
'');
- var role_json = $(this).closest(".provision_role_ul").attr('role');
- var role = JSON.parse(role_json);
+ var role = $(this).closest(".provision_role_ul").data('role');
var vms = []
- $.each(role.nodes, function(index, node){
- vms.push(node.vm_info);
- })
+
+ if (role.nodes.length > 0) {
+ $.each(role.nodes, function(index, node){
+ vms.push(node.vm_info);
+ })
+ }
generate_provision_vms_list(
$(".provision_role_vms_container", context),
@@ -4568,8 +4578,7 @@ function setup_info_flow(context) {
})
context.on("click", ".provision_role_cardinality_button", function(){
- var role_json = $(this).closest(".provision_role_ul").attr('role');
- var role = JSON.parse(role_json);
+ var role = $(this).closest(".provision_role_ul").data('role');
var min_vms = (role.min_vms||1);
var max_vms = (role.max_vms||100);
@@ -5910,8 +5919,8 @@ $(document).ready(function(){
'';
}
- $("#provision_system_templates_ul").append(''+
- ''+
+ var li = $('- '+
+ '
'+
'- '+
data.NAME+
'
'+
@@ -5922,7 +5931,9 @@ $(document).ready(function(){
(data.TEMPLATE.DESCRIPTION || '...')+
'
'+
'
'+
- '');
+ '').appendTo($("#provision_system_templates_ul"));
+
+ $(".provision-pricing-table", li).data("opennebula", aData);
return nRow;
}
@@ -5976,8 +5987,8 @@ $(document).ready(function(){
'';
}
- $("#provision_vdc_templates_ul").append(''+
- ''+
+ var li = ('- '+
+ '
'+
'- '+
data.NAME+
'
'+
@@ -5988,7 +5999,9 @@ $(document).ready(function(){
(data.TEMPLATE.DESCRIPTION || '...')+
'
'+
'
'+
- '');
+ '').appendTo($("#provision_vdc_templates_ul"));
+
+ $(".provision-pricing-table", li).data("opennebula", aData);
return nRow;
}
@@ -6043,8 +6056,8 @@ $(document).ready(function(){
'';
}
- $("#provision_saved_templates_ul").append(''+
- ''+
+ var li = $('- '+
+ '
'+
'- '+
data.NAME+
'
'+
@@ -6055,7 +6068,9 @@ $(document).ready(function(){
(data.TEMPLATE.DESCRIPTION || '...')+
'
'+
'
'+
- '');
+ '').appendTo($("#provision_saved_templates_ul"));
+
+ $(".provision-pricing-table", li).data("opennebula", aData);
return nRow;
}
@@ -6093,7 +6108,7 @@ $(document).ready(function(){
$(".provision_accordion_template .select_template").show();
} else {
var template_id = $(this).attr("opennebula_id");
- var template_json = JSON.parse($(this).attr("data"));
+ var template_json = $(this).data("opennebula");
var template_nic = template_json.VMTEMPLATE.TEMPLATE.NIC
var nics = []
@@ -6180,10 +6195,10 @@ $(document).ready(function(){
}
if (instance_type.length > 0) {
- var instance_typa_data = instance_type.attr("data");
+ var instance_typa_data = instance_type.data("opennebula");
delete instance_typa_data.name;
- $.extend(extra_info.template, JSON.parse(instance_type.attr("data")))
+ $.extend(extra_info.template, instance_typa_data)
}
var missing_attr = false;
@@ -6283,8 +6298,8 @@ $(document).ready(function(){
'';
}
- $("#provision_flow_templates_ul").append(''+
- ''+
+ var li = $('- '+
+ '
'+
'- '+
data.NAME+
'
'+
@@ -6296,7 +6311,9 @@ $(document).ready(function(){
(data.TEMPLATE.DESCRIPTION || '')+
'
'+
'
'+
- '');
+ '').appendTo($("#provision_flow_templates_ul"));
+
+ $(".provision-pricing-table", li).data("opennebula", aData);
return nRow;
}
@@ -6331,7 +6348,7 @@ $(document).ready(function(){
$("#provision_customize_flow_template").show();
$("#provision_customize_flow_template").html("");
- var data = JSON.parse($(this).attr("data"));
+ var data = $(this).data("opennebula");
var body = data.DOCUMENT.TEMPLATE.BODY;
$(".provision_accordion_flow_template .selected_template").show();
@@ -6392,7 +6409,7 @@ $(document).ready(function(){
}
$.each(body.roles, function(index, role){
- var context = $('