diff --git a/xCAT-UI/js/custom/zvm.js b/xCAT-UI/js/custom/zvm.js index e8c70bdac..79e237387 100644 --- a/xCAT-UI/js/custom/zvm.js +++ b/xCAT-UI/js/custom/zvm.js @@ -963,13 +963,58 @@ zvmPlugin.prototype.loadProvisionPage = function(tabId) { // Append to provision tab $('#' + tabId).append(provForm); + /* + * Begin creating the form + */ + + // Create drop-down menu for provision type + var provType = $('
'); + var label = $(''); + var type = $(''); + var newNode = $(''); + var existNode = $(''); + type.append(newNode); + type.append(existNode); + provType.append(label); + provType.append(type); + provForm.append(provType); + + /* + * Create provision new node DIV + */ + var provNew = $('
'); + provForm.append(provNew); + + // Group + var group = $('
'); + var groupLabel = $(''); + var groupInput = $(''); + + // Get the groups on-focus + groupInput.focus(function() { + var groupNames = $.cookie('Groups'); + + // If there are groups, turn on auto-complete + if (groupNames) { + $(this).autocomplete(groupNames.split(',')); + } + }); + + group.append(groupLabel); + group.append(groupInput); + provNew.append(group); + // Node name - var nodeName = $('
'); - provForm.append(nodeName); + var nodeName = $('
'); + var nodeLabel = $(''); + var nodeInput = $(''); + nodeName.append(nodeLabel); + nodeName.append(nodeInput); + provNew.append(nodeName); // User ID var userId = $('
'); - provForm.append(userId); + provNew.append(userId); // Hardware control point var hcpDiv = $('
'); @@ -998,27 +1043,8 @@ zvmPlugin.prototype.loadProvisionPage = function(tabId) { } }); hcpDiv.append(hcpInput); - provForm.append(hcpDiv); - - // Group - var group = $('
'); - var groupLabel = $(''); - var groupInput = $(''); - - // Get the groups on-focus - groupInput.focus(function() { - var groupNames = $.cookie('Groups'); - - // If there are groups, turn on auto-complete - if (groupNames) { - $(this).autocomplete(groupNames.split(',')); - } - }); - - group.append(groupLabel); - group.append(groupInput); - provForm.append(group); - + provNew.append(hcpDiv); + // Operating system image var os = $('
'); var osLabel = $(''); @@ -1036,11 +1062,11 @@ zvmPlugin.prototype.loadProvisionPage = function(tabId) { os.append(osLabel); os.append(osInput); - provForm.append(os); + provNew.append(os); // User entry var userEntry = $('
'); - provForm.append(userEntry); + provNew.append(userEntry); // Create disk table var diskDiv = $('
'); @@ -1089,8 +1115,7 @@ zvmPlugin.prototype.loadProvisionPage = function(tabId) { diskRow.append(diskSize); // Get list of disk pools - var thisTabId = $(this).parent().parent().parent().parent().parent() - .attr('id'); + var thisTabId = $(this).parent().parent().parent().parent().parent().parent().attr('id'); var thisHcp = $('#' + thisTabId + ' input[name=hcp]').val(); var definedPools; if (thisHcp) { @@ -1117,8 +1142,8 @@ zvmPlugin.prototype.loadProvisionPage = function(tabId) { diskTable.append(diskBody); diskTable.append(diskFooter); diskDiv.append(diskTable); - provForm.append(diskDiv); - + provNew.append(diskDiv); + /** * Provision */ @@ -1128,7 +1153,7 @@ zvmPlugin.prototype.loadProvisionPage = function(tabId) { errMsg = ''; // Get the tab ID - var thisTabId = $(this).parent().parent().attr('id'); + var thisTabId = $(this).parent().parent().parent().attr('id'); var out2Id = thisTabId.replace('zvmProvisionTab', ''); // Check node name, userId, hardware control point, and group @@ -1224,13 +1249,19 @@ zvmPlugin.prototype.loadProvisionPage = function(tabId) { // Disable close button on disk table $('#' + thisTabId + ' table span').unbind('click'); - + // Disable all fields var inputs = $('#' + thisTabId + ' input'); - inputs.attr('readonly', 'readonly'); + inputs.attr('disabled', 'disabled'); inputs.css( { 'background-color' : '#F2F2F2' }); + + var selects = $('#' + thisTabId + ' select'); + selects.attr('disabled', 'disabled'); + selects.css( { + 'background-color' : '#F2F2F2' + }); var textarea = $('#' + thisTabId + ' textarea'); @@ -1302,10 +1333,16 @@ zvmPlugin.prototype.loadProvisionPage = function(tabId) { // Disable all fields var inputs = $('#' + thisTabId + ' input'); - inputs.attr('readonly', 'readonly'); + inputs.attr('disabled', 'disabled'); inputs.css( { 'background-color' : '#F2F2F2' }); + + var selects = $('#' + thisTabId + ' select'); + selects.attr('disabled', 'disabled'); + selects.css( { + 'background-color' : '#F2F2F2' + }); var textarea = $('#' + thisTabId + ' textarea'); @@ -1351,7 +1388,27 @@ zvmPlugin.prototype.loadProvisionPage = function(tabId) { alert('(Error) ' + errMsg); } }); - provForm.append(provisionBtn); + provNew.append(provisionBtn); + + /* + * Create provision existing node DIV + */ + var provExisting = $('
').hide(); + provForm.append(provExisting); + + // Toogle provision forms on select of provision type + type.change(function(){ + var selected = $(this).val(); + + // If the user wants to provision a new node + if (selected == 'new') { + provNew.toggle(); + provExisting.toggle(); + } else { + provNew.toggle(); + provExisting.toggle(); + } + }); }; /**