diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties index 93e73fa1c7b..3219b2666c2 100644 --- a/client/WEB-INF/classes/resources/messages.properties +++ b/client/WEB-INF/classes/resources/messages.properties @@ -38,7 +38,7 @@ label.smb.domain=SMB Domain label.hypervisors=Hypervisors label.home=Home label.sockets=CPU Sockets -label.root.disk.size=Root disk size +label.root.disk.size=Root disk size (GB) label.s3.nfs.server=S3 NFS Server label.s3.nfs.path=S3 NFS Path label.delete.events=Delete events diff --git a/ui/scripts/instanceWizard.js b/ui/scripts/instanceWizard.js index 97cb337feb8..9b77c3d1d0c 100644 --- a/ui/scripts/instanceWizard.js +++ b/ui/scripts/instanceWizard.js @@ -279,10 +279,6 @@ hypervisors: hypervisorObjs }, customHidden: function(args) { - //// - return true; // Disabled -- not supported in backend right now - //// - if (selectedTemplateOrIso == 'select-template') { return false; //show Root Disk Size field } else { //selectedTemplateOrIso == 'select-iso' diff --git a/ui/scripts/ui-custom/instanceWizard.js b/ui/scripts/ui-custom/instanceWizard.js index a7ce13965c8..78f781f6b8e 100644 --- a/ui/scripts/ui-custom/instanceWizard.js +++ b/ui/scripts/ui-custom/instanceWizard.js @@ -419,8 +419,6 @@ }); }); - originalValues(formData); - var custom = args.customHidden({ context: context, data: args.data @@ -428,13 +426,52 @@ $step.find('.custom-size-label').remove(); - if (!custom) { - $step.find('.section.custom-size').show(); - $step.addClass('custom-disk-size'); - } else { + if (custom) { $step.find('.section.custom-size').hide(); $step.removeClass('custom-disk-size'); } + + $step.find('input[type=radio]').bind('change', function() { + var $target = $(this); + var val = $target.val(); + var item = null; + if (item == null) { + item = $.grep(args.data.templates.featuredtemplates, function(elem) { + return elem.id == val; + })[0]; + } + if (item == null) { + item = $.grep(args.data.templates.communitytemplates, function(elem) { + return elem.id == val; + })[0]; + } + if (item == null) { + item = $.grep(args.data.templates.mytemplates, function(elem) { + return elem.id == val; + })[0]; + } + if (item == null) { + item = $.grep(args.data.templates.sharedtemplates, function(elem) { + return elem.id == val; + })[0]; + } + + if (!item) return true; + + var hypervisor = item['hypervisor']; + if (hypervisor == 'KVM') { + $step.find('.section.custom-size').show(); + $step.addClass('custom-disk-size'); + } else { + $step.find('.section.custom-size').hide(); + $step.removeClass('custom-disk-size'); + } + + return true; + }); + + originalValues(formData); + } } }; @@ -1271,9 +1308,9 @@ args.maxDiskOfferingSize() : 100; // Setup tabs and slider - $wizard.find('.section.custom-size .size.min span').html(minCustomDiskSize); - $wizard.find('.section.custom-size input[type=text]').val(minCustomDiskSize); - $wizard.find('.section.custom-size .size.max span').html(maxCustomDiskSize); + $wizard.find('.section.custom-size.custom-disk-size .size.min span').html(minCustomDiskSize); + $wizard.find('.section.custom-size.custom-disk-size input[type=text]').val(minCustomDiskSize); + $wizard.find('.section.custom-size.custom-disk-size .size.max span').html(maxCustomDiskSize); $wizard.find('.tab-view').tabs(); $wizard.find('.slider').each(function() { var $slider = $(this);