/** * Global variables */ var provisionTabs; // Provision tabs /** * Set the provision tab * * @param obj * Tab object * @return Nothing */ function setProvisionTab(obj) { provisionTabs = obj; } /** * Get the provision tab * * @param Nothing * @return Tab object */ function getProvisionTab() { return provisionTabs; } /** * Load provision page * * @return Nothing */ function loadProvisionPage() { // If the page is loaded if ($('#provision_page').children().length) { // Do not load again return; } // Create status bar, hide on load var statBarId = 'ProvisionStatusBar'; var statBar = $('
') .hide(); // Create info bar var infoBar = createInfoBar('Provision a node'); $('#provision_page').append(infoBar); // Create provision form provForm = $(''); provForm.append(statBar); provForm.append(infoBar); // Create provision tab var tab = new Tab(); setProvisionTab(tab); tab.init(); $('#provision_page').append(tab.object()); // Create drop-down menu // Hardware available to provision - ipmi, blade, hmc, ivm, fsp, and zvm var div = $(''); provForm.append(div); var label = $('Select the hardware to provision:'); var hw = $(''); var ipmi = $(''); var blade = $(''); var hmc = $(''); var ivm = $(''); var fsp = $(''); var zvm = $(''); hw.append(ipmi); hw.append(blade); hw.append(hmc); hw.append(ivm); hw.append(fsp); hw.append(zvm); div.append(label); div.append(hw); /** * Ok */ var okBtn = createButton('Ok'); okBtn.bind('click', function(event) { // Get hardware that was selected var hw = $(this).parent().find('select').val(); // Generate new tab ID var instance = 0; var newTabId = hw + 'ProvisionTab' + instance; while ($('#' + newTabId).length) { // If one already exists, generate another one instance = instance + 1; newTabId = hw + 'ProvisionTab' + instance; } tab.add(newTabId, hw, ''); // Select tab tab.select(newTabId); if (hw == 'zvm') { loadZProvisionPage(newTabId); } else { // TODO: Add other platforms to this section $('#' + newTabId).append('Not supported
'); } }); provForm.append(okBtn); tab.add('provisionTab', 'Provision', provForm); }