service_config.hbs 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  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. {{#if view.supportsHostOverrides}}
  19. {{#if selectedService.restartRequired}}
  20. <div class="alert">
  21. <div class="clearfix like_pointer collapsable" {{action toggleRestartMessageView target="view"}}>
  22. {{#if view.isRestartMessageCollapsed}}
  23. <i class="icon-caret-down pull-left"></i>
  24. {{else}}
  25. <i class="icon-caret-right pull-left"></i>
  26. {{/if}}
  27. <i class="icon-refresh"></i>
  28. <strong>{{t dashboard.services.configs.popup.restartService.header}}</strong> {{selectedService.restartRequiredMessage}}
  29. </div>
  30. <div class="service-body">
  31. <ul>
  32. {{#each host in selectedService.restartRequiredHostsAndComponents}}
  33. <li>
  34. <a href="#" {{action showDetails host.hostData}}>{{host.hostData.publicHostName}}</a>
  35. <ul>
  36. {{#each component in host.components}}
  37. <li>{{component.name}}</li>
  38. {{/each}}
  39. </ul>
  40. </li>
  41. {{/each}}
  42. </ul>
  43. </div>
  44. </div>
  45. {{/if}}
  46. {{/if}}
  47. {{#if view.supportsHostOverrides}}
  48. <div class="alert alert-info">
  49. {{t common.group}}&nbsp;
  50. <span class="btn-group">
  51. <button {{bindAttr disabled="controller.isHostsConfigsPage"}} class="btn">{{selectedConfigGroup.displayNameHosts}}</button>
  52. <button {{bindAttr disabled="controller.isHostsConfigsPage"}} class="btn dropdown-toggle" data-toggle="dropdown">
  53. <span class="caret"></span>
  54. </button>
  55. <ul class="dropdown-menu">
  56. <!-- available config group menu links -->
  57. {{#each configGroup in configGroups}}
  58. <li>
  59. <a href="#" {{action "selectConfigGroup" configGroup target="controller"}}>
  60. {{configGroup.displayNameHosts}}
  61. </a>
  62. </li>
  63. {{/each}}
  64. </ul>
  65. </span>
  66. {{#if App.isAdmin}}
  67. {{#if controller.isHostsConfigsPage}}
  68. &nbsp;<a href="#" {{action "switchHostGroup" target="controller"}}>{{t common.change}}</a>
  69. {{else}}
  70. <a href="#" class="link-left-pad" {{action "manageConfigurationGroup" target="controller"}}>{{t services.service.actions.manage_configuration_groups.short}}</a>
  71. {{/if}}
  72. {{/if}}
  73. <div class="pull-right">
  74. {{view App.FilterComboCleanableView filterBinding="view.filter" columnsBinding="view.columns" popoverDescriptionBinding="view.propertyFilterPopover"}}
  75. </div>
  76. </div>
  77. {{/if}}
  78. {{#if App.supports.configHistory}}
  79. {{#if view.showConfigHistoryFlow}}
  80. {{view App.ConfigHistoryFlowView serviceBinding="selectedService"}}
  81. {{/if}}
  82. {{/if}}
  83. <div class="accordion">
  84. {{#each category in selectedService.configCategories}}
  85. {{#if category.isCustomView}}
  86. {{#if App.supports.capacitySchedulerUi}}
  87. {{view category.customView categoryBinding="category" serviceBinding="selectedService" canEditBinding="view.canEdit" serviceConfigsBinding="selectedService.configs"}}
  88. {{/if}}
  89. {{else}}
  90. {{#view App.ServiceConfigsByCategoryView categoryBinding="category" canEditBinding="view.canEdit" serviceBinding="selectedService" serviceConfigsBinding="selectedService.configs" supportsHostOverridesBinding="view.supportsHostOverrides"}}
  91. <div class="accordion-heading" {{action "onToggleBlock" category target="view"}}>
  92. <i {{bindAttr class=":pull-left :accordion-toggle category.isCollapsed:icon-caret-right:icon-caret-down"}}></i>
  93. <a class="accordion-toggle">{{category.displayName}}</a>
  94. </div>
  95. <div class="accordion-body collapse in" {{bindAttr style="view.isCategoryBodyVisible"}}>
  96. <div class="accordion-inner service-config-section">
  97. <form class="form-horizontal" autocomplete="off">
  98. {{#each view.filteredCategoryConfigs}}
  99. <div {{bindAttr class=":entry-row isOverridden:overridden-property isComparison:overridden-property"}}>
  100. {{#if showLabel}}
  101. <span {{bindAttr class="errorMessage:error: :control-group :control-label-span"}}>
  102. <label class="control-label">
  103. {{formatWordBreak displayName}}
  104. {{#if App.supports.secureCluster}}
  105. {{#if isSecureConfig}}
  106. <a href="javascript:void(null);"><i class="icon-lock" rel="tooltip" data-toggle="tooltip" title="security knob"></i></a>
  107. {{/if}}
  108. {{/if}}
  109. {{#if view.supportsHostOverrides}}
  110. {{#if isRestartRequired}}
  111. <i class="icon-refresh restart-required-property" rel="tooltip" {{bindAttr title="restartRequiredMessage"}}></i>
  112. {{/if}}
  113. {{/if}}
  114. </label>
  115. </span>
  116. {{/if}}
  117. <div {{bindAttr class="showLabel:controls"}}>
  118. {{! Here serviceConfigBinding should ideally be serviceConfigPropertyBinding }}
  119. <div {{bindAttr class="errorMessage:error: warnMessage:warning: :control-group"}}>
  120. {{view viewClass serviceConfigBinding="this" categoryConfigsAllBinding="view.categoryConfigsAll" }}
  121. {{#if view.canEdit}}
  122. {{#if isPropertyOverridable}}
  123. {{#if view.supportsHostOverrides}}
  124. {{#if App.isAdmin}}
  125. <a class="action" {{action "createOverrideProperty" this target="view" }} ><i class="icon-plus-sign"></i>{{t common.override}}</a>
  126. {{/if}}
  127. {{/if}}
  128. {{/if}}
  129. {{#unless cantBeUndone}}
  130. {{#if isNotDefaultValue}}
  131. <a class="action" {{action "doRestoreDefaultValue" this target="view" }} ><i class="icon-undo"></i>{{t common.undo}}</a>
  132. {{/if}}
  133. {{/unless}}
  134. {{#if isRemovable}}
  135. {{#if App.isAdmin}}
  136. <a class="action" {{action "removeProperty" this target="view" }} ><i class="icon-minus-sign"></i>{{t common.remove}}</a>
  137. {{/if}}
  138. {{/if}}
  139. {{#if supportsFinal}}
  140. <label class="checkbox inline">{{view Ember.Checkbox checkedBinding="isFinal"}}{{t services.service.config.final}}</label>
  141. {{/if}}
  142. {{/if}}
  143. <span class="help-inline">{{errorMessage}}</span>
  144. <span class="help-inline">{{warnMessage}}</span>
  145. </div>
  146. {{#if this.isOverridden}}
  147. {{view App.ServiceConfigView.SCPOverriddenRowsView serviceConfigPropertyBinding="this" isDefaultGroupSelectedBinding="controller.selectedConfigGroup.isDefault"}}
  148. {{/if}}
  149. {{#if this.isComparison}}
  150. {{view App.ServiceConfigView.SCPComparisonRowsView serviceConfigPropertyBinding="this"}}
  151. {{/if}}
  152. </div>
  153. </div>
  154. {{#if this.additionalView}}
  155. {{view additionalView}}
  156. {{/if}}
  157. {{/each}}
  158. {{! For Advanced, Advanced Core Site, Advanced HDFS Site sections, show the 'Add Property' link.}}
  159. {{#if App.isAdmin}}
  160. {{#if view.canEdit}}
  161. {{#if category.customCanAddProperty }}
  162. <div>
  163. <a href="#" {{action "showAddPropertyWindow" this target="view" }} >{{t installer.step7.config.addProperty}}...</a>
  164. </div>
  165. {{/if}}
  166. {{/if}}
  167. {{/if}}
  168. </form>
  169. </div>
  170. </div>
  171. {{/view}}
  172. {{/if}}
  173. {{/each}}
  174. </div>