http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dashboard/BubbleGraphTableLayoutView.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dashboard/BubbleGraphTableLayoutView.js
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dashboard/BubbleGraphTableLayoutView.js
index 96eea8d..1dd6bc7 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dashboard/BubbleGraphTableLayoutView.js
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dashboard/BubbleGraphTableLayoutView.js
@@ -93,7 +93,7 @@ define(['require',
                        this.collection = new VLogList([], {
                 state: {
                     firstPage: 0,
-                    pageSize: 50
+                    pageSize: 25
                 }
             });
                        this.collection.url = Globals.baseURL + 
"dashboard/solr/logs_search";
@@ -108,7 +108,7 @@ define(['require',
                        this.listenTo(this.collection, 
"backgrid:refresh",function(){
                                $(".contextMenuBody [data-id='F']").show();
                $(".contextMenuBody").hide();
-               this.$("#loaderGraph").hide();
+               //this.$("#loaderGraph").hide();
                                this.$(".loader").hide();
                //this.ui.find.trigger("keyup");
 //             if (this.quickHelp)
@@ -170,7 +170,7 @@ define(['require',
             },this);
                },
                fetchAllTogether : function(value){
-                       this.$("#loaderGraph").show();
+                       //this.$("#loaderGraph").show();
                        this.fetchTableData(value);
                _.extend(this.graphParams,value);
                //this.fetchGraphData(this.graphParams);
@@ -431,7 +431,17 @@ define(['require',
                fetchTableData : function(params){
                        var that = this;
                        $.extend(this.collection.queryParams,params);
-                       this.collection.getFirstPage({reset:true});
+                       this.collection.getFirstPage({
+                               reset:true,
+                               beforeSend : function(){
+                               that.$("#loaderGraph").show();
+                               that.$(".loader").show();
+                       },
+                       complete : function(){
+                                       that.$("#loaderGraph").hide();
+                                       that.$(".loader").hide();
+                               }
+                       });
                },
                fetchTableCollection : function(queryParams, param){
                        var that = this;
@@ -440,12 +450,17 @@ define(['require',
                                reset:true,
                                beforeSend : function(){
                                that.$("#loaderGraph").show();
-                       }
+                               that.$(".loader").show();
+                       },
+                       complete : function(){
+                                       that.$("#loaderGraph").hide();
+                                       that.$(".loader").hide();
+                               }
                        },param));
                },
                fetchGraphData : function(params){
                        var that = this;
-                       that.$("#loaderGraph").show();
+                       //that.$("#loaderGraph").show();
                        that.$(".loader").show();
                        this.graphModel.fetch({
                                dataType:"json",
@@ -456,7 +471,7 @@ define(['require',
                                error : function(){
                                },
                                complete : function(){
-                                       that.$("#loaderGraph").hide();
+                                       //that.$("#loaderGraph").hide();
                                        that.$(".loader").hide();
                                }
                        });

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dashboard/HostListView.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dashboard/HostListView.js
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dashboard/HostListView.js
index 6c9b224..9c426f5 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dashboard/HostListView.js
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dashboard/HostListView.js
@@ -279,8 +279,7 @@ define(['require',
                                
                        }
                        var data = this.getCheckedHierarchyData();
-                       console.log(data);
-                       this.vent.trigger("tree:search",{treeParams : 
JSON.stringify(data)});
+                       this.vent.trigger("tree:search",{treeParams : 
JSON.stringify(_.pluck(data,"h"))});
                },
                getCheckedHierarchyData : function(){
                        var data=[];
@@ -305,7 +304,7 @@ define(['require',
                                this.$('.tree  
input[type="checkbox"]').prop({"checked":false,"indeterminate":false});
                        var data = this.getCheckedHierarchyData();
                        this.params.treeParams = _.extend({},data);
-                       this.vent.trigger("tree:search",{treeParams : 
JSON.stringify(data)});
+                       this.vent.trigger("tree:search",{treeParams : 
JSON.stringify(_.pluck(data,"h"))});
                        
                },
                onSearchHostClick : function(e){

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dialog/SaveSearchFilterView.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dialog/SaveSearchFilterView.js
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dialog/SaveSearchFilterView.js
index 33cd400..2ef2f94 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dialog/SaveSearchFilterView.js
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/dialog/SaveSearchFilterView.js
@@ -80,7 +80,9 @@ define(['require',
                     that = this;
 
                 _.each(this.params, function(value, key) {
-                    if ((key != "from" && value != "" && key != "to" && key != 
"bundleId" && key != "start_time" && key != "end_time" && key != "q" && key != 
"unit" && key != "query" && key != "type" && key != "time" && key != 
"dateRangeLabel" && key != "advanceSearch")) {
+                    if ((key != "from" && value != "" && key != "to" && key != 
"bundleId" && key != "start_time" && 
+                               key != "end_time" && key != "q" && key != 
"unit" && key != "query" && key != "type" && 
+                               key != "time" && key != "dateRangeLabel" && key 
!= "advanceSearch" && !_.isUndefined(Globals.paramsNameMapping[key]) )) {
                         tableSting += '<tr class="' + key + '"><td>' + 
Globals.paramsNameMapping[key].label + '</td><td>' + 
(that.createInnerSpan(key)) + '</td><tr>'
                     }
                 })

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/filter/CreateLogfeederFilterView.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/filter/CreateLogfeederFilterView.js
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/filter/CreateLogfeederFilterView.js
index 611a51e..2560103 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/filter/CreateLogfeederFilterView.js
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/filter/CreateLogfeederFilterView.js
@@ -49,6 +49,10 @@ define(['require',
             events: function() {
                 var events = {};
                 events["click [data-override]"] = 'onDataOverrideClick';
+                events["click [data-value]"] = 'onLogLevelHeaderClick';
+                events["click #filterContent input[type='checkbox']"] = 
'onAnyCheckboxClick';
+                events["click .overrideRow a"] = 'onEditHost';
+                
                 return events;
             },
 
@@ -97,8 +101,7 @@ define(['require',
                 var that = this;
                 // this.setupSelect2Fields(this.levelCollection, "type", 
"type", "levelSelect2", 'Select Level');
                 
-                $.when(this.hostList.fetch({ reset: true }), 
this.componentsList.fetch({ reset: true }), 
this.model.fetch({})).done(function(c1, c2, m1) {
-                    
+                $.when(this.hostList.fetch({ reset: true }), 
this.componentsList.fetch({ reset: true }), 
this.model.fetch({})).then(function(c1, c2, m1) {
                     // if (!_.isUndefined(that.model.get('components'))) {
                     //     that.ui.componentSelect2.select2('val', 
that.model.get('components'));
                     // }
@@ -108,7 +111,7 @@ define(['require',
                     // if (!_.isUndefined(that.model.get('levels'))) {
                     //     that.ui.levelSelect2.select2('val', 
that.model.get('levels'));
                     // }
-                    that.ui.loader.hide();
+                    that.hideLoading();
                     that.trigger("toggle:okBtn",true);
 
                     //that.dataLevels = [];
@@ -118,14 +121,24 @@ define(['require',
                     //that.dataList = _.pluck(that.componentsList.models, 
'attributes');
                     that.renderComponents();
                     that.populateValues();
+                },function(error){
+                       that.hideLoading();
+                       Utils.notifyError({
+                        content: "There is some issues on server, Please try 
again later."
+                    });
+                       that.trigger("closeDialog");
                 });
             },
+            hideLoading : function(){
+               this.ui.loader.hide();
+            },
             renderComponents : function(){
                var that =this;
                _.each(that.componentsList.models, function(model){
-                    var levels='<td align="left">'+model.get("type")+'<span 
class="pull-right"><small><i>Override</i></small> <input data-override 
type="checkbox" data-name='+model.get("type")+'></span></td>';
-                    levels += 
that.getLevelForComponent(model.get("type"),true);
-                    var html = '<tr 
data-component="'+model.get("type")+'">'+levels+'</tr>';
+                    var levels='<td align="left">'+model.get("type")+'</td>';
+                    var override = '<td class="text-left"><span 
class="pull-left"><!--small><i>Override</i></small--> <input data-override 
type="checkbox" data-name='+model.get("type")+'></span></td>';
+                    levels +=  override + 
that.getLevelForComponent(model.get("type"),false);
+                    var html = '<tr class="overrideSpacer"></tr><tr 
class="componentRow borderShow" 
data-component="'+model.get("type")+'">'+levels+'</tr><tr></tr>';
                     that.ui.filterContent.append(html);
                 });
             },
@@ -135,6 +148,7 @@ define(['require',
                        var components = this.model.get("filter");
                        _.each(components,function(value,key){
                                var obj = components[key];
+                               
                                if((_.isArray(obj.overrideLevels) && 
obj.overrideLevels.length) || 
                                                (_.isArray(obj.hosts) && 
obj.hosts.length) || obj.expiryTime){
                                        var $el = 
that.$("input[data-name='"+key+"']").filter("[data-override]");
@@ -150,6 +164,7 @@ define(['require',
                                                                var $checkbox = 
$override.find("input[data-id='"+obj.overrideLevels[z]+"']");
                                                                if(! 
$checkbox.is(":checked")){
                                                                        
$checkbox.prop("checked",true);
+                                                                       // 
that.showHostSelect2(key);
                                                                }
                                                        }
                                                }
@@ -160,15 +175,75 @@ define(['require',
                                        var dateObj = 
Utils.dateUtil.getMomentObject(obj.expiryTime);
                                        
that.$("[data-date='"+key+"']").data('daterangepicker').setStartDate(dateObj);
                                        
that.$("[data-date='"+key+"']").val(dateObj.format("MM/DD/YYYY HH:mm"));
+                                       that.showExpiry(key)
                                }
                                //setting hosts
                                if(_.isArray(obj.hosts)){
                                        if(obj.hosts.length){
                                                
that.$("[data-host='"+key+"']").select2("val",obj.hosts);
+                                that.showHostSelect2(key);
                                        }
                                }
+                               //setting default values
+                               if(obj.defaultLevels && 
_.isArray(obj.defaultLevels) && obj.defaultLevels.length){
+                                       var $default = 
that.$("tr[data-component='"+key+"']");
+                                               if($default.length){
+                                                       for(var z=0; 
z<obj.defaultLevels.length; z++){
+                                                               var $checkbox = 
$default.find("input[data-id='"+obj.defaultLevels[z]+"']");
+                                                               if(! 
$checkbox.is(":checked")){
+                                                                       
$checkbox.prop("checked",true);
+                                                               }
+                                                       }
+                                               }
+                               }
                        });
                }
+               //set check all value
+               _.each(this.levelCollection.models,function(model){
+                       that.setCheckAllValue(model.get("type"));
+               });
+               
+            },
+            onAnyCheckboxClick : function(e){
+               var $el = $(e.currentTarget);
+               this.setCheckAllValue($el.data("id"));
+            },
+            onEditHost : function(e){
+               var $el = $(e.currentTarget);
+               $el.hide();
+               if($el.data("type") == "host"){
+                       this.showHostSelect2($el.data("component"));
+                }else{
+                       this.showExpiry($el.data("component"));
+                }
+            },
+            hideHostSelect2 : function(forComponent){
+               this.ui[forComponent].siblings(".select2-container").hide();
+               
this.$("a[data-component='"+forComponent+"'][data-type='host']").show();
+                this.$('i.hostDown[data-component="'+forComponent+'"]').show();
+            },
+            showHostSelect2 : function(forComponent){
+               this.ui[forComponent].siblings(".select2-container").show();
+               
this.$("a[data-component='"+forComponent+"'][data-type='host']").hide();
+                this.$('i.hostDown[data-component="'+forComponent+'"]').hide();
+            },
+            showExpiry : function(forComponent){
+               this.$("[data-date='"+forComponent+"']").show();
+               
this.$("a[data-component='"+forComponent+"'][data-type='expiry']").hide();
+            },
+            hideExpiry : function(forComponent){
+               this.$("[data-date='"+forComponent+"']").hide();
+               
this.$("a[data-component='"+forComponent+"'][data-type='expiry']").show();
+            },
+            setCheckAllValue : function(type){
+               var that = this;
+               if(! type)
+                       return
+               if(that.$("[data-id='"+type+"']:checked").length == 
that.$("[data-id='"+type+"']").length){
+                               
that.$("[data-value='"+type+"']").prop("checked",true);
+                       }else{
+                               
that.$("[data-value='"+type+"']").prop("checked",false);
+                       }
             },
             getLevelForComponent : function(type,checked){
                var html="";
@@ -181,19 +256,35 @@ define(['require',
                var $el = $(e.currentTarget);
                if(e.currentTarget.checked){
                        this.addOverrideRow($el.data("name"));
+                    
this.$('tr[data-component="'+$el.data("name")+'"]').removeClass('borderShow ');
+                    
this.$('tr[data-component="'+$el.data("name")+'"]').addClass('bgHighlight ');
                }else{
                        this.removeOverrideRow($el.data("name"));
+                    
this.$('tr[data-component="'+$el.data("name")+'"]').addClass('bgHighlight 
borderShow ');
+                    
this.$('tr[data-component="'+$el.data("name")+'"]').removeClass('bgHighlight ');
+               }
+            },
+            onLogLevelHeaderClick : function(e){
+               var $el = $(e.currentTarget);
+               if(e.currentTarget.checked){
+                       
this.$("[data-id='"+$el.data("value")+"']").prop("checked",true);
+               }else{
+                       
this.$("[data-id='"+$el.data("value")+"']").prop("checked",false);
                }
             },
             addOverrideRow : function(forComponent){
-               var $el = 
this.ui.filterContent.find("tr[data-component='"+forComponent+"']");
+               var $el = 
this.ui.filterContent.find("tr[data-component='"+forComponent+"']"),textForHost 
= "Click here to apply on specific host",
+               textForExpiry="Select Expiry Date";
                if($el.length){
-                       var html = "<tr class='overrideRow 
"+forComponent+"'><td>&nbsp;</td>"+this.getLevelForComponent($el.data("component"),false)+"</tr>";
-                       html += "<tr class='overrideRow 
"+forComponent+"'><td>&nbsp;</td><td colspan='3'><input 
class='datepickerFilter' data-date='"+forComponent+"'></td>" +
-                                       "<td colspan='3'><div ><input 
data-host='"+forComponent+"' type='hidden' /></div></td></tr>"
+                       var html = "<tr class='overrideRow bgHighlight 
"+forComponent+"'><td class='text-left'><i data-component='"+forComponent+"' 
class='fa fa-level-down hostDown' aria-hidden='true'></i><a 
href='javascript:void(0);' data-type='host' 
data-component='"+forComponent+"'>"+textForHost+"</a><input 
data-host='"+forComponent+"' type='hidden' /></td>" +
+                                       "<td  class='text-left'><a 
href='javascript:void(0);' data-type='expiry' 
data-component='"+forComponent+"'>"+textForExpiry+"</a>" +
+                                       "<input class='datepickerFilter' 
data-date='"+forComponent+"'></td>"+this.getLevelForComponent($el.data("component"),false)+"</tr>";
+                       //html += "<tr class='overrideRow 
"+forComponent+"'><td>&nbsp;</td><td>&nbsp;</td><td colspan='3'><input 
class='datepickerFilter' data-date='"+forComponent+"'></td>" +
+                               //      "<td colspan='3'><div ><input 
data-host='"+forComponent+"' type='hidden' /></div></td></tr>"
                        $el.after(html);
                        this.ui[forComponent] = 
this.$("[data-host='"+forComponent+"']");
                        this.setupSelect2Fields(this.hostList, "host", 'host', 
forComponent, 'Select Host', 'hostBoolean');
+                       this.hideHostSelect2(forComponent);
                        
this.$("[data-date='"+forComponent+"']").daterangepicker({
                        singleDatePicker: true,
                        showDropdowns: true,
@@ -208,6 +299,7 @@ define(['require',
 //                        "timePickerIncrement": 1,
                         "timePicker24Hour": true,
                    });
+                       this.hideExpiry(forComponent);
                }
             },
             removeOverrideRow : function(foComponent){
@@ -252,7 +344,6 @@ define(['require',
                                        expiryTime : (date && date.startDate) ? 
date.startDate.toJSON() : ""
                        };
                });
-               console.log(obj);
                return (obj);
             },
             getOverideValues : function(ofComponent){

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/tabs/LogFileView.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/tabs/LogFileView.js
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/tabs/LogFileView.js
index 3abfc8d..e8cbba6 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/tabs/LogFileView.js
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/tabs/LogFileView.js
@@ -96,7 +96,7 @@ define(['require',
                 this.logFileCollection = new VLogList([], {
                     state: {
                         firstPage: 0,
-                        pageSize: 50
+                        pageSize: 25
                     }
                 });
                 this.logFileCollection.url = Globals.baseURL + 
"dashboard/solr/logs_search";
@@ -620,7 +620,7 @@ define(['require',
                     
this.RLogFileTable.currentView.$el.find(".logMessage").highlight(selection.toString().trim(),
 true, e.currentTarget);
                     this.ui.contextMenu.show();
                     this.ui.contextMenu.css({
-                        'top': e.pageY - 88,
+                        'top': e.pageY - 140,
                         'left': e.pageX
                     });
                 } else {
@@ -636,7 +636,11 @@ define(['require',
                         this.ui.find.val(this.selectionText);
                         this.ui.find.trigger("keyup");
                         this.ui.find.focus();
-                    } else {
+                    }else if(type === "IA" || type === "EA"){
+                                       
this.vent.trigger("toggle:facet",{viewName:((type === "IA") ? "include" : 
"exclude") +"ServiceColumns",
+                                               
key:Globals.serviceLogsColumns["log_message"],value:"*"+this.selectionText+"*"});
+                               } 
+                    else {
                         
//this.vent.trigger("add:include:exclude",{type:type,value:this.selectionText});
                         this.vent.trigger("toggle:facet", { viewName: ((type 
=== "I") ? "include" : "exclude") + "ServiceColumns", key: 
Globals.serviceLogsColumns["log_message"], value: this.selectionText });
                     }
@@ -778,7 +782,8 @@ define(['require',
                         error: function(col, response, errorThrown) {
                             that.resetFindParams();
                             if (!!errorThrown.xhr.getAllResponseHeaders()) {
-                                Utils.notifyInfo({ content: "Keyword '" + val 
+ "' not found in " + (keywordType == 1 ? "next" : "previous") + " page !" });
+                              //  Utils.notifyInfo({ content: "Keyword '" + 
val + "' not found in " + (keywordType == 1 ? "next" : "previous") + " page !" 
});
+                                that.ui.clearSearch.css({ 'right': 82 + 'px' 
});
                             }
                         },
                         complete: function() {

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/tabs/TreeView.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/tabs/TreeView.js
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/tabs/TreeView.js
index d2bcd3b..2918606 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/tabs/TreeView.js
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/tabs/TreeView.js
@@ -302,7 +302,6 @@ define(['require',
                                
                        }
                        var data = this.getCheckedHierarchyData();
-                       console.log(data);
                        this.vent.trigger("tree:search",{treeParams : 
JSON.stringify(data)});
                },
                onNewTabIconClick : function(e){

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/troubleshoot/TroubleShootLayoutView.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/troubleshoot/TroubleShootLayoutView.js
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/troubleshoot/TroubleShootLayoutView.js
index 58b6707..892bc57 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/troubleshoot/TroubleShootLayoutView.js
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/troubleshoot/TroubleShootLayoutView.js
@@ -71,7 +71,7 @@ define(['backbone',
                 this.vent = new Backbone.Wreqr.EventAggregator();
                 //this.servicesData = 
{services:{ranger:{label:"Ranger",components:[{name:"ranger_admin"}],dealsWithServices:[{name:"hdfs"},{name:"kms"}],dealsWithComponents:[{name:"security_admin"},{name:"portal"}],},ambari:{label:"Ambari",dealsWithServices:[{name:"ranger"},{name:"hive"}]},hdfs:{label:"Hdfs",components:[{name:"hdfs_namenode"},{name:"hdfs_datanode"}],dealsWithServices:[],dealsWithComponents:[],}}};
                 var todayRange = Utils.dateUtil.getTodayRange();
-                this.params = 
_.pick(ViewUtils.getDefaultParamsForHierarchy(),"from","to","bundle_id");
+                this.params = 
_.pick(ViewUtils.getDefaultParamsForHierarchy(),"from","to","bundle_id","host_name","component_name","file_name");
                 this.initializeCollection();
                 this.bindEvents();
             },
@@ -107,6 +107,7 @@ define(['backbone',
             },
             bindEvents : function(){
                this.listenTo(this.serviceLogsCollection,"reset",function(){
+                       this.renderBarGraph();
                        this.renderLogLevelTable();
                },this);
                this.listenTo(this.serviceLogsCollection, 'request', function() 
{
@@ -126,7 +127,8 @@ define(['backbone',
                this.listenTo(this.vent,"logtime:filter",function(params){
                        //this.fetchServiceLogsData(params);
                        
//this.vent.trigger("graph:data:update",params,this.graphPropModel.attributes);
-                       this.renderGraph(params);
+                       //this.renderGraph(params);
+                       this.fetchLevelCollection(params);
                        this.fetchTopUsers(params);
                },this);
             },
@@ -141,7 +143,8 @@ define(['backbone',
                        }
                 });
                this.renderDateRange();
-               this.renderGraph(this.params);
+               //this.renderGraph(this.params);
+               this.fetchLevelCollection(this.params);
             },
             fetchTopUsers : function(params){
                        var that = this;
@@ -218,9 +221,10 @@ define(['backbone',
                }
                this.ui.components.select2("val",selectedComponents);
                var params = this.getParams();
-               this.renderGraph(params);
+               //this.renderGraph(params);
                //this.fetchServiceLogsData(params);
                //this.fetchTopUsers(params);
+               this.fetchLevelCollection(params);
             },
             renderServices : function(data){
                var that = this;
@@ -255,9 +259,10 @@ define(['backbone',
                                }
                        }).on("change",function(e){
                                var params = that.getParams();
-                               that.renderGraph(params);
+                               //that.renderGraph(params);
                        //that.fetchServiceLogsData(params);
                        //that.fetchTopUsers(params);
+                               that.fetchLevelCollection(params);
                        });
             },
             renderDateRange : function(){
@@ -315,6 +320,13 @@ define(['backbone',
                }
                return params;
             },
+            fetchLevelCollection : function(params){
+               _.extend(this.serviceLogsCollection.queryParams, 
params,{"yAxis":"count",
+                               "xAxis":"level"});
+                this.serviceLogsCollection.fetch({
+                    reset: true
+                });
+            },
             renderGraph : function(params){
                //var that=this,model = new 
Backbone.Model({"id":"grid_histo0","title":"test","showX":"showX","xAxis":"access","xTimeFormat":"","xNormalFormat":"","showY":"showY","yAxis":"count","yAxisFormat":"","showLegend":"showLegend","stackOrGroup":"Normal","params":{"from":"2016-03-08T18:30:01.000Z","to":"2016-03-09T18:29:59.999Z","unit":"+1HOUR","yAxis":"count","xAxis":"access"},"myData":{"type":2,"dataId":"grid_histo0"},"col":1,"row":1,"size_x":3,"size_y":2});
                var that=this,model = new Backbone.Model({
@@ -341,6 +353,53 @@ define(['backbone',
                                }));
                 });
             },
+            renderBarGraph : function(){
+               var data=[],that=this;
+               this.serviceLogsCollection.each(function(model){
+                       var d = {
+                                       key : "Levels",
+                                       values : []
+                       }
+                       for(var z=0; z<model.get("dataCount").length; z++){
+                               var name = model.get("dataCount")[z].name;
+                               d.values.push({
+                                       label : (""+name).toUpperCase(),
+                                       value : 
parseInt(model.get("dataCount")[z].value,10),
+                                       color : (((""+name).toUpperCase() === 
'ERROR') ? ("#E81D1D") :
+                                ( (""+name).toUpperCase() === 'INFO') ? 
("#2577B5") :
+                                ( (""+name).toUpperCase() === 'WARN') ? 
("#FF8916") :
+                                ( (""+name).toUpperCase() === 'FATAL') ? 
("#830A0A") :
+                                ( (""+name).toUpperCase() === 'DEBUG') ? 
("#65E8FF") :
+                                ( (""+name).toUpperCase() === 'TRACE') ? 
("#888888") : "")
+                               });
+                               
+                       }
+                       data.push(d);
+               });
+               nv.addGraph(function() {
+                         var chart = nv.models.discreteBarChart()
+                           .x(function(d) { return d.label })
+                           .y(function(d) { return d.value })
+                           .staggerLabels(true)
+                           .width(700)
+                           .showValues(false)
+                           chart.tooltip.enabled();
+                         chart.yAxis
+                                     .tickFormat(d3.format('d'));
+                         
+                         chart.margin({
+                          right: 100,
+                          left: 120,
+                      });
+                         d3.select(that.$("[data-id='serviceGraph'] svg")[0])
+                           .datum(data)
+                           .transition().duration(500)
+                           .call(chart)
+                           ;
+                         d3.selectAll
+                         return chart;
+               });
+            },
             renderLogLevelTable : function(){
                var that = this;
                this.ui.logLevelTable.empty();
@@ -439,7 +498,6 @@ define(['backbone',
                        $el.siblings().removeClass("active");
                        $el.toggleClass("active");
                        if(serviceSelected.length){
-                               console.log(this.servicesData.service);
 //                             var serviceObj = 
this.servicesData.service[serviceSelected.data("name")];
 //                             if(serviceObj){
                                        var found = 
getDependentServices(serviceSelected.data("name"),service);

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/styles/style.css
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/styles/style.css 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/styles/style.css
index 7361df7..de5e45a 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/styles/style.css
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/styles/style.css
@@ -185,6 +185,12 @@ p.log-line:before {
 .btn-search {
        padding: 2px 6px 3px;
        line-height: 1.42857143;
+  margin:0 0;
+}
+
+.btn-searchCompare {
+  padding: 2px 6px 3px;
+  line-height: 1.42857143;
   margin:3px 0;
 }
 
@@ -1346,6 +1352,10 @@ img.quickLinkNav{
   right: -1px;
   top: -2px;
 }
+.hostNodes{
+  height: 450px;
+  overflow: auto;
+}
 .hostNodes li{
   cursor: pointer;
 }
@@ -1981,37 +1991,99 @@ input:-webkit-autofill:active{
 }
 
 
-/*
-.table-fixed thead {
-  width: 97%;
+
+.logFeederTable{
+  border-collapse: separate; border-spacing: 0;
+  position: fixed;
+}
+
+.logFeederTable{
+  width: 906px;
+  display : block;
 }
-.table-fixed tbody {
-  height: 230px;
+
+.logFeederTable tbody {
+  height: 365px;
   overflow-y: auto;
-  width: 100%;
+  width: 906px;
+  display : block;
 }
-.table-fixed thead > tr> th {
-  display: table-cell;
-  border-bottom:1px solid #CCC;
+
+.logFeederTable th {
+  width: 90px;
+  border-left:1px solid #CCC;
+  border-right:1px solid #CCC;
+  border-top:1px solid #CCC !important;
+  border-bottom:1px solid #CCC !important;
+  background-color: #FFF;
 }
-.table-fixed thead, .table-fixed tbody {
-  display: block;
+.logFeederTable th:first-of-type {
+  width: 312px;
+  border-right:1px solid #CCC;
+  border-top:1px solid #CCC !important;
+  border-bottom:1px solid #CCC !important;
 }
-.table-fixed thead > tr> th{
-  width:13%;
+.logFeederTable th:nth-child(2) {
+  width : 190px;
+  border-top:1px solid #CCC !important;
+  border-bottom:1px solid #CCC !important; 
 }
-.table-fixed thead > tr> th:first-of-type{
-  width:28%;
+.datepickerFilter {
+  width:100%;
 }
-.table-fixed thead > tr> th:last-of-type{
-  border-right-width:0;
-}*/
-.logFeederTabel th {
-       width : 12%;
+.logFeederTable td {
+  width :90px;
+  padding:0 10px;
 }
-.logFeederTabel th:first-of-type {
-       width : 28%;
+.logFeederTable td:first-of-type {
+  width: 269px;
+  padding:0 10px;
 }
-.datepickerFilter {
-       width:100%;
+.logFeederTable td:nth-child(2) {
+   width: 178px;
+   padding: 0 10px;
 }
+.logFeederTable tr.componentRow td{
+  border-top: solid 1px #CCC!important;
+}
+.logFeederTable tr.overrideRow td{
+  border-bottom: solid 1px #CCC!important; 
+}
+.logFeederTable tr.borderShow td{
+  border-bottom: solid 1px #CCC!important; 
+}
+
+.logFeederTable tr.componentRow td:first-child {border-left: solid 1px #CCC; }
+.logFeederTable tr.componentRow td:last-child { border-right: solid 1px #CCC;}
+
+
+.logFeederTable tr.overrideRow td:first-child { border-left: solid 1px #CCC;  }
+.logFeederTable tr.overrideRow td:last-child { border-right: solid 1px #CCC; }
+
+.logFeederTable tr.bgHighlight{
+  background-color: rgba(255, 238, 0, 0.19) !important;
+}
+
+.overrideSpacer{
+  height:13px !important;
+}
+.hostDown{
+  color: #333;
+  margin-right:5px;
+}
+input.filterInput{
+  height: 20px;
+}
+.logFeederTable a{
+  border-bottom:1px dotted;
+}
+.logFeederTable a:hover{
+  text-decoration: none;
+}
+.VS-search .search_input{
+  width: 2px !important;
+}
+.VS-search .search_input input{
+  margin-top: 0 !important;
+}
+

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/styles/style_v2.css
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/styles/style_v2.css 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/styles/style_v2.css
index 832c80a..a4264a1 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/styles/style_v2.css
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/styles/style_v2.css
@@ -1313,7 +1313,7 @@ ul.DTTT_dropdown.dropdown-menu > li:hover > a {
   min-height: 26px;
   display: block;
   height: 26px;
-  padding: 0 0 0 8px;
+  padding: 0 0 0 4px;
   overflow: hidden;
   position: relative;
   border: 1px solid #aaa;

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
index c77f92f..0bc60c3 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
@@ -24,7 +24,12 @@
                         <img src="images/timezone.png" style=" height: 27px;  
margin-top: 9px;">
                     </a>
                 </li>
-                <li class="dropdown" data-id="exclusionList" title="Global 
Exclusion">
+               <!--  <li class="dropdown" data-id="exclusionList" 
title="Global Exclusion">
+                    <a href="#" class="account excludeStatus" 
data-toggle="modal">
+                        <i class="fa fa-filter  pull-right"></i>
+                    </a>
+                </li> -->
+                 <li class="dropdown" data-id="createFilters" title="Global 
Exclusion">
                     <a href="#" class="account excludeStatus" 
data-toggle="modal">
                         <i class="fa fa-filter  pull-right"></i>
                     </a>
@@ -70,10 +75,10 @@
                                 <i class="fa fa-rocket"></i>
                                 <span>Take A Tour</span>
                             </a>
-                            <a class="hidden" href="javascript:void(0)" 
data-id="createFilters" title="Custom Filters">
+                           <!--  <a class="" href="javascript:void(0)" 
data-id="createFilters" title="Custom Filters">
                                 <i class="fa fa-filter"></i>
-                                <span>Create Filter</span>
-                            </a>
+                                <span>Logfeeder Filter</span>
+                            </a> -->
                             <a href="logout.html">
                                 <i class="fa fa-power-off"></i>
                                 <span>LogOut</span>

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/dashboard/MainLayoutView_tmpl.html
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/dashboard/MainLayoutView_tmpl.html
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/dashboard/MainLayoutView_tmpl.html
index cd0dda2..c79ed1d 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/dashboard/MainLayoutView_tmpl.html
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/dashboard/MainLayoutView_tmpl.html
@@ -224,8 +224,8 @@
                 <span>Add Component</span>
             </div>
             <div class="col-md-3">
-                <button class="btn btn-info btn-search" 
data-id="CompareButton">Compare</button>
-                <button class="btn bg-success btn-search" 
data-id="CompareClearAll" style="margin-bottom: 0px;">clear all</button>
+                <button class="btn btn-info btn-searchCompare" 
data-id="CompareButton">Compare</button>
+                <button class="btn bg-success btn-searchCompare" 
data-id="CompareClearAll" style="margin-bottom: 0px;">clear all</button>
             </div>
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/filter/CreateLogfeederFilter_tmpl.html
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/filter/CreateLogfeederFilter_tmpl.html
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/filter/CreateLogfeederFilter_tmpl.html
index 5139e57..fe2a5c1 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/filter/CreateLogfeederFilter_tmpl.html
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/filter/CreateLogfeederFilter_tmpl.html
@@ -23,17 +23,18 @@
                         </div> -->
                         <div class="row row-margin-bottom row-topMargin">
                             <div class="col-md-12">
-                                <table class="table table-bordered table-hover 
table-condensed text-center logFeederTabel">
+                                <table class="table table-condensed 
text-center logFeederTable">
                                        <thead>
-                                       <tr>
+                                        <tr>
                                            <th>Components</th>
-                                           <th class="FATAL">FATAL</th>
-                                           <th class="ERROR">ERROR</th>
-                                           <th class="WARN">WARN</th>
-                                           <th class="INFO">INFO</th>
-                                           <th class="DEBUG">DEBUG</th>
-                                           <th class="TRACE">TRACE</th>
-                                                                               
</tr>
+                                           <th>Override</th>
+                                           <th class="FATAL text-center"><span 
class="pull-left"><input type="checkbox" 
data-value="FATAL"></span><span>FATAL</span></th>
+                                           <th class="ERROR  
text-center"><span class="pull-left"><input type="checkbox" 
data-value="ERROR"></span><span>ERROR</span></th>
+                                           <th class="WARN  text-center"><span 
class="pull-left"><input type="checkbox" 
data-value="WARN"></span><span>WARN</span></th>
+                                           <th class="INFO  text-center"><span 
class="pull-left"><input type="checkbox" 
data-value="INFO"></span><span>INFO</span></th>
+                                           <th class="DEBUG  
text-center"><span class="pull-left"><input type="checkbox" 
data-value="DEBUG"></span><span>DEBUG</span></th>
+                                           <th class="TRACE  
text-center"><span class="pull-left"><input type="checkbox" 
data-value="TRACE"></span><span>TRACE</span></th>
+                                        </tr>
                                        </thead>
                                        <tbody id="filterContent"></tbody>
                                 </table>

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/tabs/LogFileView_tmpl.html
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/tabs/LogFileView_tmpl.html
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/tabs/LogFileView_tmpl.html
index 4869cd1..f86190c 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/tabs/LogFileView_tmpl.html
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/tabs/LogFileView_tmpl.html
@@ -154,13 +154,15 @@
                        </div>
                </div>
        </div>
-       <div class="btn-group contextMenu" 
style="display:none;position:absolute;z-index:9999;">
+       <div class="btn-group contextMenu dropup" 
style="display:none;position:absolute;z-index:9999;">
            <button type="button" class="btn btn-info btn-circle btn-app-sm 
btn-context dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" 
aria-expanded="false">
                <i class="fa fa-info"></i>
            </button>
            <ul class="dropdown-menu">
                <li><a data-id="I" href="javascript:void(0);">Include</a></li>
                <li><a data-id="E" href="javascript:void(0);">Exclude</a></li>
+               <li><a data-id="IA" 
href="javascript:void(0);">*Include*</a></li>
+               <li><a data-id="EA" 
href="javascript:void(0);">*Exclude*</a></li>
                <li role="separator" class="divider"></li>
                <li><a data-id="F" href="javascript:void(0);">Find</a></li>
            </ul>

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/troubleshoot/TroubleShootLayoutView_tmpl.html
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/troubleshoot/TroubleShootLayoutView_tmpl.html
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/troubleshoot/TroubleShootLayoutView_tmpl.html
index a1b4e40..3faaaa6 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/troubleshoot/TroubleShootLayoutView_tmpl.html
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/troubleshoot/TroubleShootLayoutView_tmpl.html
@@ -76,7 +76,8 @@
                                                </div>
                                                <div class="box-content">
                                                        <div class="col-md-8" 
style="height: 250px;"
-                                                               
data-id="serviceGraph"></div>
+                                                               
data-id="serviceGraph"><svg></svg></div>
+
                                                        <div class="col-md-3" 
style="margin-top:1%">
                                                                <table 
class="table table-bordered table-hover custTable"
                                                                        
data-id="logLevelTable">

http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/pom.xml
----------------------------------------------------------------------
diff --git a/ambari-logsearch/pom.xml b/ambari-logsearch/pom.xml
index 475de9f..9fa7c96 100644
--- a/ambari-logsearch/pom.xml
+++ b/ambari-logsearch/pom.xml
@@ -154,6 +154,7 @@
           <excludes>
             <exclude>README.md</exclude>
             <exclude>**/*.json</exclude>
+            <exclude>**/*.log</exclude>
           </excludes>
         </configuration>
         <executions>

Reply via email to