AMBARI-3790. Cleanup component filtering dialog control. (Jeff Sposetti via yusaku)
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 3cc8bdc..3f4af4b 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -1625,6 +1625,7 @@
'apps.filters.filteredHostsInfo': '{0} of {1} hosts showing - ',
'apps.filters.customRunDate':'Run Date custom filter',
'apps.filters.nothingToShow': 'No jobs to display',
+ 'apps.filters.filterComponents': 'Filter by <strong>Component</strong>',
'apps.dagCharts.popup':'Job Charts',
'apps.dagCharts.popup.job': 'Job',
'apps.dagCharts.popup.dag':'Job Timeline',
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index db514f3..29b6e1b 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -2541,6 +2541,9 @@
padding-left: 6px;
text-align: left;
width: 100px;
+ .icon-filter {
+ color: #999999;
+ }
}
}
thead {
@@ -2757,22 +2760,64 @@
}
ul.filter-components {
padding: 5px 0;
+ background: #777777;
+ color: #ffffff;
+ font-weight: normal;
+ font-size: 12px;
+ label {
+ font-size: 12px;
+ }
li {
display: block;
padding: 3px 0 3px 5px;
line-height: 20px;
-
label.checkbox {
padding-left: 3px;
}
-
input[type="checkbox"] {
margin: 4px 4px 2px 2px;
}
}
+ li#title-bar {
+ text-align: left;
+ border-bottom: 1px solid #e4e4e4;
+ a.close {
+ background: #777777;
+ display: inline;
+ color: #ffffff;
+ padding-left: 35px;
+ padding-right: 12px;
+ text-shadow: 0 1px 0 #ffffff;
+ float: none;
+ font-size: 10px;
+ opacity: 0.6;
+ }
+ a.close:hover {
+ background: #777777;
+ opacity: 1.0;
+ }
+ }
+ li#selector-bar {
+ text-align: left;
+ border-bottom: 1px solid #e4e4e4;
+ font-size: 6px;
+ }
+ li#list-area {
+ font-weight: normal;
+ text-align: left;
+ }
+ li#button-bar {
+ text-align: center;
+ button {
+ font-size: 12px;
+ }
+ }
+ ul {
+ margin-left: 10px;
+ }
&>li {
&>ul {
- height: 250px;
+ height: 150px;
margin-left: 0;
overflow-y: scroll;
}
diff --git a/ambari-web/app/templates/main/host/component_filter.hbs b/ambari-web/app/templates/main/host/component_filter.hbs
index 8a1ea49..ca71b79 100644
--- a/ambari-web/app/templates/main/host/component_filter.hbs
+++ b/ambari-web/app/templates/main/host/component_filter.hbs
@@ -16,56 +16,58 @@
* limitations under the License.
}}
- <button class="btn single-btn-group filter-btn" {{action "clickFilterButton" target="view"}}><i class="icon-filter"></i> {{t apps.filters.filter}}</button>
+<button class="btn single-btn-group filter-btn" {{action "clickFilterButton" target="view"}}>{{t apps.filters.filter}} <i class="icon-filter"></i></button>
<ul class="dropdown-menu filter-components">
- <li>
+ <li id="title-bar">{{t apps.filters.filterComponents}}
+ <a class="close" {{action "closeFilter" target="view"}}>X</a>
+ </li>
+ <li id="list-area">
+ <ul>
+ <li>
+ <label class="checkbox">
+ {{view Ember.Checkbox checkedBinding="view.masterComponentsChecked"}} {{t host.host.componentFilter.master}}:
+ </label>
<ul>
- <li>
- <label class="checkbox">
- {{view Ember.Checkbox checkedBinding="view.masterComponentsChecked"}} {{t host.host.componentFilter.master}}:
- </label>
- <ul>
- {{#each component in masterComponents}}
- <li>
- <label class="checkbox">
- {{view Ember.Checkbox checkedBinding="component.checkedForHostFilter" }} {{unbound component.displayName}}
- </label>
- </li>
- {{/each}}
- </ul>
- </li>
- <li>
- <label class="checkbox">
- {{view Ember.Checkbox checkedBinding="view.slaveComponentsChecked"}} {{t host.host.componentFilter.slave}}:
- </label>
- <ul>
- {{#each component in slaveComponents}}
- <li>
- <label class="checkbox">
- {{view Ember.Checkbox checkedBinding="component.checkedForHostFilter" }} {{unbound component.displayName}}
- </label>
- </li>
- {{/each}}
- </ul>
- </li>
- <li>
- <label class="checkbox">
- {{view Ember.Checkbox checkedBinding="view.clientComponentsChecked"}} {{t host.host.componentFilter.client}}:
- </label>
- <ul>
- {{#each component in clientComponents}}
- <li>
- <label class="checkbox">
- {{view Ember.Checkbox checkedBinding="component.checkedForHostFilter" }} {{unbound component.displayName}}
- </label>
- </li>
- {{/each}}
- </ul>
- </li>
+ {{#each component in masterComponents}}
+ <li>
+ <label class="checkbox">
+ {{view Ember.Checkbox checkedBinding="component.checkedForHostFilter" }} {{unbound component.displayName}}
+ </label>
+ </li>
+ {{/each}}
</ul>
- </li>
- <li>
- <button class="btn" {{action "closeFilter" target="view"}}>{{t common.cancel}}</button>
- <button class="btn btn-primary" {{action "applyFilter" target="view"}}>{{t common.apply}}</button>
- </li>
- </ul>
\ No newline at end of file
+ </li>
+ <li>
+ <label class="checkbox">
+ {{view Ember.Checkbox checkedBinding="view.slaveComponentsChecked"}} {{t host.host.componentFilter.slave}}:
+ </label>
+ <ul>
+ {{#each component in slaveComponents}}
+ <li>
+ <label class="checkbox">
+ {{view Ember.Checkbox checkedBinding="component.checkedForHostFilter" }} {{unbound component.displayName}}
+ </label>
+ </li>
+ {{/each}}
+ </ul>
+ </li>
+ <li>
+ <label class="checkbox">
+ {{view Ember.Checkbox checkedBinding="view.clientComponentsChecked"}} {{t host.host.componentFilter.client}}:
+ </label>
+ <ul>
+ {{#each component in clientComponents}}
+ <li>
+ <label class="checkbox">
+ {{view Ember.Checkbox checkedBinding="component.checkedForHostFilter" }} {{unbound component.displayName}}
+ </label>
+ </li>
+ {{/each}}
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li id="button-bar">
+ <button class="btn btn-inverse" {{action "applyFilter" target="view"}}>{{t common.apply}}</button>
+ </li>
+ </ul>