step9.hbs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. {{!
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. }}
  18. <div id="deploy">
  19. <h2>{{t installer.step9.header}}</h2>
  20. <p class="alert alert-info">{{t installer.step9.body}}</p>
  21. <div id="overallProgress">
  22. <div class="row-fluid">
  23. <div class="span10">
  24. <div {{bindAttr class="view.isStepCompleted::progress-striped view.isStepCompleted::active view.barColor :progress"}}>
  25. <div class="bar" {{bindAttr style="view.barWidth"}}>
  26. </div>
  27. </div>
  28. </div>
  29. <div class="span2">{{view.progressMessage}}</div>
  30. </div>
  31. </div>
  32. <div class="box">
  33. <div class="box-header">
  34. <div class="pull-left">
  35. {{#if controller.showRetry}}
  36. <a class="btn btn-primary" href="#" {{action retry}}>
  37. <i class="icon-repeat icon-white"></i>
  38. {{t common.retry}}
  39. </a>
  40. {{/if}}
  41. </div>
  42. <!-- filter by host level -->
  43. <div id="host-filter" class="pull-right">
  44. <ul class="clearfix">
  45. <li class="first">{{t common.show}}:</li>
  46. {{#each category in view.categories}}
  47. <li {{bindAttr class=":filter-status category.itemClass"}}>
  48. <a {{action selectCategory category target="view"}} href="#">
  49. {{category.label}}
  50. </a>
  51. </li>
  52. {{#unless category.last}}
  53. <li class="divider">|</li>
  54. {{/unless}}
  55. {{/each}}
  56. </ul>
  57. </div>
  58. </div>
  59. <div class="pre-scrollable">
  60. <table id="deploy-status-by-host" class="table table-bordered table-striped">
  61. <thead>
  62. <tr>
  63. <th class="host">
  64. {{t common.host}}
  65. </th>
  66. <th class="status">{{t common.status}}</th>
  67. <!-- given by the parsing function that parses data from bootstrap call -->
  68. <th class="message">{{t common.message}}</th>
  69. <!-- retrieved from local storage initially -->
  70. </tr>
  71. </thead>
  72. <tbody>
  73. {{#if view.pageContent}}
  74. {{#each host in view.pageContent}}
  75. {{#view App.HostStatusView objBinding="host" controllerBinding="controller"}}
  76. <td class="host">
  77. <span title="{{unbound host.name}}" class="trim_hostname">{{host.name}}</span>
  78. </td>
  79. <td>
  80. <div class="progress-bar pull-left">
  81. <div {{bindAttr class="view.isHostCompleted::progress-striped view.isHostCompleted::active view.barColor :progress"}}>
  82. <div class="bar" {{bindAttr style="view.barWidth"}}></div>
  83. </div>
  84. </div>
  85. <div class="progress-percentage pull-left">{{host.progress}}%</div>
  86. </td>
  87. <td class="host-message">
  88. <a {{bindAttr class="view.isFailed:text-error view.isSuccess:text-success view.isWarning:text-warning"}}
  89. href="javascript:void(null)"
  90. data-toggle="modal" {{action hostLogPopup target="view"}}>{{host.message}}</a>
  91. </td>
  92. {{/view}}
  93. {{/each}}
  94. {{else}}
  95. <tr>
  96. <td colspan="3"><p>{{t installer.step3.hosts.noHosts}}</p></td>
  97. </tr>
  98. {{/if}}
  99. </tbody>
  100. </table>
  101. </div>
  102. <div id="hosts">
  103. <div class="page-bar">
  104. <div class="selected-hosts-info pull-left">
  105. {{view.filteredHostsInfo}}
  106. -
  107. <a {{action showAllHosts target="view"}} href="#">{{t tableView.filters.showAll}}</a>
  108. </div>
  109. <div class="items-on-page">
  110. <label>{{t common.show}}: {{view view.rowsPerPageSelectView selectionBinding="view.displayLength"}}</label>
  111. </div>
  112. <div class="info">{{view.paginationInfo}}</div>
  113. <div class="paging_two_button">
  114. {{view view.paginationFirst}}
  115. {{view view.paginationLeft}}
  116. {{view view.paginationRight}}
  117. {{view view.paginationLast}}
  118. </div>
  119. </div>
  120. </div>
  121. </div>
  122. <div>
  123. {{#if view.resultMsg}}
  124. <p {{bindAttr class="view.resultMsgColor :alert"}}>{{view.resultMsg}}
  125. {{#if view.isHostHeartbeatLost}}
  126. <a href="javascript:void(null)"
  127. data-toggle="modal" {{action hostWithInstallFailed target="view"}}>{{t common.showDetails}}</a>
  128. {{/if}}
  129. </p>
  130. {{/if}}
  131. <div class="btn-area">
  132. <button
  133. class="btn btn-success pull-right" {{bindAttr disabled="isSubmitDisabled"}} {{action submit target="controller"}}>{{t common.next}} &rarr;</button>
  134. </div>
  135. </div>
  136. </div>