You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2016/02/18 14:33:42 UTC
[23/33] ambari git commit: AMBARI-15074 Combo Search: Implement
"host" related filters (Joe Wang via rzang)
AMBARI-15074 Combo Search: Implement "host" related filters (Joe Wang via rzang)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f11d76db
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f11d76db
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f11d76db
Branch: refs/heads/branch-dev-patch-upgrade
Commit: f11d76db25714e0bea2b52f907051664ee160aaa
Parents: 4761fe7
Author: Richard Zang <rz...@apache.org>
Authored: Wed Feb 17 13:51:07 2016 -0800
Committer: Richard Zang <rz...@apache.org>
Committed: Wed Feb 17 13:51:07 2016 -0800
----------------------------------------------------------------------
ambari-web/app/controllers/main/host.js | 18 +++++++
.../controllers/main/host/combo_search_box.js | 28 +---------
.../app/views/main/host/combo_search_box.js | 55 +++++++++++++++++++-
3 files changed, 74 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/f11d76db/ambari-web/app/controllers/main/host.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/host.js b/ambari-web/app/controllers/main/host.js
index a38b2db..d3574b2 100644
--- a/ambari-web/app/controllers/main/host.js
+++ b/ambari-web/app/controllers/main/host.js
@@ -100,6 +100,21 @@ App.MainHostController = Em.ArrayController.extend(App.TableServerMixin, {
type: 'MULTIPLE'
},
{
+ name: 'hostComponents2',
+ key: 'host_components/HostRoles/component_name',
+ type: 'MATCH'
+ },
+ {
+ name: 'services',
+ key: 'host_components/HostRoles/service_name',
+ type: 'MATCH'
+ },
+ {
+ name: 'state',
+ key: 'host_components/HostRoles/state',
+ type: 'MATCH'
+ },
+ {
name: 'healthClass',
key: 'Hosts/host_status',
type: 'EQUAL'
@@ -544,6 +559,9 @@ App.MainHostController = Em.ArrayController.extend(App.TableServerMixin, {
associations[10] = 'selected';
associations[11] = 'hostStackVersion';
associations[12] = 'rack';
+ associations[13] = 'services';
+ associations[14] = 'state';
+ associations[15] = 'hostComponents2';
return associations;
}.property()
http://git-wip-us.apache.org/repos/asf/ambari/blob/f11d76db/ambari-web/app/controllers/main/host/combo_search_box.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/host/combo_search_box.js b/ambari-web/app/controllers/main/host/combo_search_box.js
index f4cc50f..0aeb31b 100644
--- a/ambari-web/app/controllers/main/host/combo_search_box.js
+++ b/ambari-web/app/controllers/main/host/combo_search_box.js
@@ -24,23 +24,6 @@ App.MainHostComboSearchBoxController = Em.Controller.extend({
page_size: 10,
VSCallbacks : {
- search: function (query, searchCollection) {
- var $query = $('#search_query');
- var count = searchCollection.size();
- $query.stop().animate({opacity: 1}, {duration: 300, queue: false});
- $query.html('<span class="raquo">»</span> You searched for: ' +
- '<b>' + (query || '<i>nothing</i>') + '</b>. ' +
- '(' + count + ' facet' + (count == 1 ? '' : 's') + ')');
- clearTimeout(window.queryHideDelay);
- window.queryHideDelay = setTimeout(function () {
- $query.animate({
- opacity: 0
- }, {
- duration: 1000,
- queue: false
- });
- }, 2000);
- },
facetMatches: function (callback) {
callback([
@@ -57,6 +40,7 @@ App.MainHostComboSearchBoxController = Em.Controller.extend({
valueMatches: function (facet, searchTerm, callback) {
var controller = App.router.get('mainHostComboSearchBoxController');
+ var category_mocks = require('data/host/categories');
switch (facet) {
case 'host_name':
case 'ip':
@@ -71,15 +55,7 @@ App.MainHostComboSearchBoxController = Em.Controller.extend({
callback(App.StackVersion.find().toArray().mapProperty('name'));
break;
case 'health':
- callback([
- Em.I18n.t('hosts.host.healthStatusCategory.green'),
- Em.I18n.t('hosts.host.healthStatusCategory.red'),
- Em.I18n.t('hosts.host.healthStatusCategory.orange'),
- Em.I18n.t('hosts.host.healthStatusCategory.yellow'),
- Em.I18n.t('hosts.host.alerts.label'),
- Em.I18n.t('common.restart'),
- Em.I18n.t('common.passive_state')
- ]);
+ callback(category_mocks.slice(1).mapProperty('healthStatus'), {preserveOrder: true});
break;
case 'service':
callback(App.Service.find().toArray().mapProperty('serviceName'), {preserveOrder: true});
http://git-wip-us.apache.org/repos/asf/ambari/blob/f11d76db/ambari-web/app/views/main/host/combo_search_box.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/host/combo_search_box.js b/ambari-web/app/views/main/host/combo_search_box.js
index 0ab6029..93c2b9b 100644
--- a/ambari-web/app/views/main/host/combo_search_box.js
+++ b/ambari-web/app/views/main/host/combo_search_box.js
@@ -25,6 +25,59 @@ App.MainHostComboSearchBoxView = Em.View.extend({
},
initVS: function() {
+ var self = this;
+
+ var callbacks = this.get('controller').VSCallbacks;
+ callbacks.search = function (query, searchCollection) {
+
+ searchCollection.models.forEach(function (data) {
+ var query = data.attributes;
+
+ switch (query.category) {
+ case 'health':
+ self.get('parentView').get('parentView').updateFilter(0, query.value, 'string');
+ break;
+ case 'host_name':
+ self.get('parentView').get('parentView').updateFilter(1, query.value, 'string');
+ break;
+ case 'ip':
+ self.get('parentView').get('parentView').updateFilter(2, query.value, 'string');
+ break;
+ case 'rack':
+ self.get('parentView').get('parentView').updateFilter(12, query.value, 'string');
+ break;
+ case 'version':
+ self.get('parentView').get('parentView').updateFilter(11, query.value, 'string');
+ break;
+ case 'component':
+ self.get('parentView').get('parentView').updateFilter(15, query.value, 'string');
+ break;
+ case 'service':
+ self.get('parentView').get('parentView').updateFilter(13, query.value, 'string');
+ break;
+ case 'state':
+ self.get('parentView').get('parentView').updateFilter(14, query.value, 'string');
+ break;
+ }
+ });
+
+ var $query = $('#search_query');
+ var count = searchCollection.size();
+ $query.stop().animate({opacity: 1}, {duration: 300, queue: false});
+ $query.html('<span class="raquo">»</span> You searched for: ' +
+ '<b>' + (query || '<i>nothing</i>') + '</b>. ' +
+ '(' + count + ' facet' + (count == 1 ? '' : 's') + ')');
+ clearTimeout(window.queryHideDelay);
+ window.queryHideDelay = setTimeout(function () {
+ $query.animate({
+ opacity: 0
+ }, {
+ duration: 1000,
+ queue: false
+ });
+ }, 2000);
+ };
+
window.visualSearch = VS.init({
container: $('#combo_search_box'),
query: '',
@@ -33,7 +86,7 @@ App.MainHostComboSearchBoxView = Em.View.extend({
unquotable: [
'text'
],
- callbacks: this.get('controller').VSCallbacks
+ callbacks: callbacks
});
}
});
\ No newline at end of file