/* * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * */ InstallationWizard.SelectServicesForNewNodes = { renderData: {}, render: function (deployAddedNodesData) { InstallationWizard.SelectServicesForNewNodes.renderData = deployAddedNodesData; getServiceComponentListAndRender(clusterName); } }; function getServiceComponentListAndRender(clusterName) { globalYui.io("../php/frontend/fetchClusterServices.php?clusterName=" + clusterName + "&getComponents=true", { method: 'GET', timeout: 10000, on: { success: function (x,o) { globalYui.log("RAW JSON DATA: " + o.responseText); // Process the JSON data returned from the server try { responseJson = globalYui.JSON.parse(o.responseText); } catch (e) { alert("JSON Parse failed!"); return; } globalYui.log("PARSED DATA: " + globalYui.Lang.dump(responseJson)); if (responseJson.result != 0) { // Error! alert("Got error during fetching services !" + responseJson.error); return; } data = responseJson.response; var divContent = ''; globalYui.one("#selectComponentsDynamicRenderDivId").setContent(divContent); globalYui.one('#selectServicesCoreDivId').setStyle("display", "block"); }, failure: function (x,o) { alert("Async call failed!"); } } }); } function getSelectedComponents () { var desiredComponents = []; var selections = globalYui.all("#selectComponentsDynamicRenderDivId input[type=checkbox]"); selections.each(function(selection) { if (selection.get('checked') == true) { desiredComponents.push(selection.get('value')); } }); return desiredComponents; } function renderSelectServicesBlock( selectServicesInfo ) { InstallationWizard.SelectServicesForNewNodes.render(selectServicesInfo); } globalYui.one('#deployAddedNodesSubmitButtonId').on('click',function (e) { e.target.set('disabled', true); var deployRequestData = getSelectedComponents(); var url = "../php/frontend/deployAddedNodes.php?clusterName=" + InstallationWizard.SelectServicesForNewNodes.renderData.clusterName; var requestData = deployRequestData; var submitButton = e.target; var thisScreenId = "#selectServicesCoreDivId"; var nextScreenId = "#txnProgressCoreDivId"; var nextScreenRenderFunction = renderDeployAddedNodesProgress; submitDataAndProgressToNextScreen(url, requestData, submitButton, thisScreenId, nextScreenId, nextScreenRenderFunction); });