reviewAndDeploy.js 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. function renderDeploySummary (deployInfo) {
  2. var deploySummary = "";
  3. for (var serviceName in deployInfo.services) {
  4. var serviceHasToBeRendered = false;
  5. var masterSummary = "";
  6. var propertySummary = "";
  7. if (deployInfo.services.hasOwnProperty( serviceName )) {
  8. var perServiceInfo = deployInfo.services[serviceName];
  9. var configElementName = serviceName;
  10. var configElementIdName = configElementName + 'Id';
  11. if (perServiceInfo.isEnabled == false) {
  12. continue;
  13. }
  14. // Render all master components
  15. for (var componentIndex in perServiceInfo.components) {
  16. if (!perServiceInfo.components[componentIndex].isMaster) {
  17. continue;
  18. }
  19. var component = perServiceInfo.components[componentIndex];
  20. serviceHasToBeRendered = true;
  21. masterSummary += '<div class="formElement">' +
  22. '<label for=' + component.componentName + 'Id>' + component.displayName + '&nbsp; : &nbsp;</label>' +
  23. '<input type=text name=' + component.componentName + 'Name id=' + component.componentName + 'Id readonly=readonly value=\"' + component.hostName + '\">' +
  24. '</div>';
  25. }
  26. for (var mPropertiesKey in perServiceInfo.properties) {
  27. if (perServiceInfo.properties[mPropertiesKey].type == "NODISPLAY") {
  28. continue;
  29. }
  30. serviceHasToBeRendered = true;
  31. readOnlyAttr = 'readonly=readonly';
  32. valueAttr = 'value=\"' + perServiceInfo.properties[mPropertiesKey].value + '\"';
  33. type = convertDisplayType(perServiceInfo.properties[mPropertiesKey].type);
  34. if (type == "checkbox") {
  35. readOnlyAttr = 'disabled="disabled"';
  36. var checkVal = perServiceInfo.properties[mPropertiesKey].value;
  37. if (checkVal) {
  38. valueAttr = 'checked=yes';
  39. }
  40. valueAttr = '';
  41. }
  42. propertySummary += '<div class="formElement">' +
  43. '<label for=' + mPropertiesKey + 'Id>' + perServiceInfo.properties[mPropertiesKey].displayName + '</label>' +
  44. '<input type=' + type + ' name=' + mPropertiesKey + 'Name id=' + mPropertiesKey + 'Id ' + readOnlyAttr + ' ' + valueAttr + '>' +
  45. '</div>';
  46. }
  47. }
  48. if (serviceHasToBeRendered) {
  49. deploySummary += '<fieldset>' + '<legend>' + perServiceInfo.displayName + '</legend>';
  50. deploySummary += masterSummary;
  51. deploySummary += propertySummary;
  52. deploySummary += '</fieldset><br/>';
  53. }
  54. }
  55. globalYui.log("Final HTML: " + globalYui.Lang.dump(deploySummary));
  56. globalYui.one("#deployDynamicRenderDivId").setContent( deploySummary );
  57. hideLoadingImg();
  58. globalYui.one("#deployCoreDivId").setStyle("display", "block");
  59. }
  60. var globalDeployInfo = null;
  61. globalYui.one('#deploySubmitButtonId').on('click',function (e) {
  62. e.target.set('disabled', true);
  63. var deployRequestData = {};
  64. var url = "../php/frontend/deploy.php?clusterName="+globalDeployInfo.clusterName;
  65. var requestData = deployRequestData;
  66. var submitButton = e.target;
  67. var thisScreenId = "#deployCoreDivId";
  68. var nextScreenId = "#txnProgressCoreDivId";
  69. var nextScreenRenderFunction = renderDeployProgress;
  70. submitDataAndProgressToNextScreen(url, requestData, submitButton, thisScreenId, nextScreenId, nextScreenRenderFunction);
  71. });
  72. function renderDeploy (deployInfo) {
  73. globalDeployInfo = deployInfo;
  74. var inputUrl = "../php/frontend/fetchClusterServices.php?clusterName=" + deployInfo.clusterName + "&getConfigs=true&getComponents=true";
  75. executeStage(inputUrl, renderDeploySummary);
  76. }