Repository: cloudstack Updated Branches: refs/heads/master 69e3c915b -> f3cf85bb6
CLOUDSTACK-6394: Add gpu details in "Add Compute Offeringâ Signed-off-by: Mihaela Stoica <[email protected]> Signed-off-by: Sanjay Tripathi <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7c02a996 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7c02a996 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7c02a996 Branch: refs/heads/master Commit: 7c02a996f7f65a54dc40002c3f9db403193fa544 Parents: 69e3c91 Author: Mihaela Stoica <[email protected]> Authored: Sat Apr 12 11:11:21 2014 +0100 Committer: Sanjay Tripathi <[email protected]> Committed: Wed Apr 16 16:09:40 2014 +0530 ---------------------------------------------------------------------- ui/scripts/configuration.js | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7c02a996/ui/scripts/configuration.js ---------------------------------------------------------------------- diff --git a/ui/scripts/configuration.js b/ui/scripts/configuration.js index e6503d7..6293a6a 100644 --- a/ui/scripts/configuration.js +++ b/ui/scripts/configuration.js @@ -384,7 +384,7 @@ }, pciDevice: { - label: 'GPU Type', + label: 'GPU', select: function(args) { var items = []; items.push({ @@ -402,11 +402,43 @@ args.response.success({ data: items }); + + var vGpuMap = {}; + vGpuMap['Group of NVIDIA Corporation GK107GL [GRID K1] GPUs'] = ['passthrough', 'GRID K100', 'GRID K140Q']; + vGpuMap['Group of NVIDIA Corporation GK104GL [GRID K2] GPUs'] = ['passthrough', 'GRID K200', 'GRID K240Q', 'GRID K260Q']; + + args.$select.change(function() { + var gpu = $(this).val(); + + if (gpu == '') { + $(this).closest('form').find('.form-item[rel=\"vgpuType\"]').hide(); + } + else { + $(this).closest('form').find('.form-item[rel=\"vgpuType\"]').css('display', 'inline-block'); + + // enable/disable vGPU type options, depending on selected GPU + var $vGpuTypeSelect = $(this).closest('form').find('select[name=vgpuType]'); + var $vGpuTypeOptions = $vGpuTypeSelect.find('option'); + $vGpuTypeOptions.each(function(index) { + var vGpuTypeOption = $(this).val(); + if (vGpuTypeOption == '' || (gpu in vGpuMap && $.inArray(vGpuTypeOption, vGpuMap[gpu]) > -1)) + $(this).attr('disabled', false); + else + $(this).attr('disabled', true); + }); + + //if selected option is disabled, select the first enabled option instead + if ($vGpuTypeSelect.find('option:selected:disabled').length > 0) { + $vGpuTypeSelect.val($vGpuTypeSelect.find('option:enabled:first').val()); + } + } + }); } }, vgpuType: { - label: 'VGPU Type', + label: 'vGPU Type', + isHidden: true, select: function(args) { var items = []; items.push({
