http://git-wip-us.apache.org/repos/asf/ambari/blob/02360dd5/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/audit/AuditTabLayoutView.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/audit/AuditTabLayoutView.js
 
b/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/audit/AuditTabLayoutView.js
deleted file mode 100644
index 7710156..0000000
--- 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/audit/AuditTabLayoutView.js
+++ /dev/null
@@ -1,429 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-define(['require',
-  'backbone',
-  'utils/Globals',
-  'utils/Utils',
-  'utils/ViewUtils',
-  'collections/VGroupList',
-  'collections/VAuditLogList',
-  'models/VAuditLog',
-  'hbs!tmpl/audit/AuditTabLayoutView_tmpl',
-  'moment'
-], function (require, Backbone, Globals, Utils, ViewUtils, VGroupList, 
VAuditLogList, VAuditLog, AuditTabLayoutViewTmpl, moment) {
-
-  'use strict';
-
-  return Backbone.Marionette.Layout.extend(
-    {
-      _viewName: 'AuditTabLayoutView',
-
-      template: AuditTabLayoutViewTmpl,
-
-      /** Layout sub regions */
-      regions: {
-        RAuditTable: "[data-id='auditTable']",
-        RVisualSearch: "#r_vsSearch",
-        RVisualSearchInc: "#r_vsSearchInc",
-        RVisualSearchEx: "#r_vsSearchEx",
-        RAuditLine: "#r_AuditLine",
-        RAuditAggregated: "[data-id='auditAggregated']",
-      },
-
-      /** ui selector cache */
-      ui: {
-        viewType: "input[name='viewTypeAudit']",
-        excludeComponents: "#excludeComponents",
-        includeComponents: "#includeComponents",
-        collapseArrowClick: "a.collapse-link.chkArrow"
-      },
-
-      /** ui events hash */
-      events: function () {
-        var events = {};
-        events['click [data-id="refresh-tab-audit"]'] = 'onAuditTabRefresh';
-        events['change ' + this.ui.viewType] = 'onViewTypeChange';
-        events['click ' + this.ui.collapseArrowClick] = function (e) {
-          if ($(e.currentTarget).find('i').hasClass('fa-chevron-down')) {
-            if (this.RAuditAggregated.currentView) {
-              this.RAuditAggregated.currentView.trigger("button:min:max");
-            }
-          }
-        };
-        return events;
-      },
-      initialize: function (options) {
-        _.extend(this, _.pick(options, 'globalVent'));
-        this.defaultParams = ViewUtils.getDefaultParamsForHierarchy();
-        delete this.defaultParams.level;
-        this.vent = new Backbone.Wreqr.EventAggregator();
-        this.initializeCollections();
-        this.columns = [];
-        this.bindEvents();
-      },
-      initializeCollections: function () {
-        this.auditModel = new VAuditLog();
-        this.collection = new VAuditLogList([], {
-          state: {
-            firstPage: 0,
-            pageSize: 25
-          }
-        });
-
-        this.componentsList = new VGroupList([], {
-          state: {
-            firstPage: 0,
-            pageSize: 99999
-          }
-        });
-        this.componentsList.url = Globals.baseURL + "audit/logs/components";
-      },
-      bindEvents: function () {
-        this.listenTo(this.componentsList, "reset", function (col, abc) {
-          this.setupSelect2Fields(col, "type", 'type', 'excludeComponents', 
'Exclude Components');
-          this.setupSelect2Fields(col, "type", 'type', 'includeComponents', 
'Include Components');
-        }, this);
-        this.listenTo(this.vent, "search:audit:query auditComponents:include 
auditComponents:exclude search:audit:include search:audit:exclude 
logtime:filter", function (value) {
-          _.extend(this.defaultParams, value);
-          this.fetchAuditLogs(value);
-        }, this);
-        this.listenTo(this.vent, "reinitialize:filter:mustBe", function 
(value) {
-          this.reinitializeFilterMustBe(value);
-        }, this);
-        this.listenTo(this.vent, "reinitialize:filter:mustNot", function 
(value) {
-          this.reinitializeFilterMustNot(value);
-        }, this);
-
-        this.listenTo(this.globalVent, "reinitialize:auditLogs", function 
(options) {
-          this.vent.trigger("reinitialize:filter:mustNot 
reinitialize:filter:mustBe reinitialize:filter:logtime " +
-            "reinitialize:TopTenGraph", options);
-          this.fetchAuditLogs(options);
-        }, this);
-
-      },
-      onRender: function () {
-        this.renderHistogram();
-        this.renderAuditAggregatedInfo();
-        this.fetchAuditColumns();
-        this.fetchAuditLogs((this.defaultParams) ? this.defaultParams : {q: 
"*:*"});
-        this.componentsList.fetch({reset: true});
-      },
-      renderHistogram: function () {
-        var that = this;
-        require(['views/graphs/GraphLayoutView'], function (GraphLayoutView) {
-          that.RAuditLine.show(new GraphLayoutView({
-            vent: that.vent,
-            globalVent: that.globalVent,
-            params: that.defaultParams,
-            viewType: Globals.graphType.MULTILINE.value,
-            showDatePicker: true,
-            futureDate: false
-          }));
-        })
-      },
-      renderAuditAggregatedInfo: function () {
-        var that = this;
-        require(['views/audit/AuditAggregatedView'], function 
(AuditAggregatedView) {
-          that.RAuditAggregated.show(new AuditAggregatedView({
-            vent: that.vent,
-            globalVent: that.globalVent,
-            params: that.defaultParams
-          }));
-        })
-
-      },
-      fetchAuditColumns: function () {
-        var that = this;
-        this.collection.getAuditSchemaFieldsName({}, {
-          beforeSend: function () {
-            that.$("#loaderAudit").show();
-          },
-          success: function (data) {
-            that.columns = ViewUtils.getLogSchemaFields(data, 
Globals.defaultAuditLogMappings, Globals.defaultAuditLogExcludes);
-          },
-          error: function (error, data, status) {
-            var obj = JSON.parse(error.responseText);
-            if (obj)
-              Utils.notifyError({content: obj.msgDesc});
-          },
-          complete: function () {
-            that.renderAuditTable();
-            that.renderVSSearch();
-            that.$("#loaderAudit").hide();
-          }
-        });
-      },
-      fetchAuditLogs: function (params) {
-        $.extend(this.collection.queryParams, params);
-        this.collection.getFirstPage({reset: true});
-      },
-      renderVSSearch: function () {
-        var that = this;
-        require(['views/tabs/VisualSearchView'], function (VisualSearchView) {
-
-          _.each(that.columns, function (v, i) {
-            if (v.toLowerCase().indexOf("time") > 0) {
-              delete that.columns[v]
-            }
-          });
-          that.RVisualSearchInc.show(new VisualSearchView({
-            viewName: "includeColumns",
-            placeholder: "Include Search",
-            vent: that.vent,
-            globalVent: that.globalVent,
-            customOptions: _.values(that.columns),
-            eventName: "search:audit:include",
-            myFormatData: function (query, searchCollection) {
-              var obj = ViewUtils.replaceColumnNamesWithKeys(searchCollection, 
Globals.invertedAuditLogMappings, true);
-              return {
-                includeQuery: JSON.stringify(obj),
-                query: query
-              }
-            }
-          }));
-          that.RVisualSearchEx.show(new VisualSearchView({
-            placeholder: "Exclude Search",
-            vent: that.vent,
-            globalVent: that.globalVent,
-            customOptions: _.values(that.columns),
-            eventName: "search:audit:exclude",
-            myFormatData: function (query, searchCollection) {
-              var obj = ViewUtils.replaceColumnNamesWithKeys(searchCollection, 
Globals.invertedAuditLogMappings, true);
-              return {
-                excludeQuery: JSON.stringify(obj),
-                query: query
-              }
-            }
-          }));
-        });
-      },
-      renderAuditTable: function () {
-        var that = this;
-        require(['views/common/TableLayout'], function (TableLayout) {
-          var cols = new Backgrid.Columns(that.getColumns());
-          that.RAuditTable.show(new TableLayout({
-            columns: cols,
-            collection: that.collection,
-            includeFilter: false,
-            includePagination: true,
-            includePageSize: true,
-            includeFooterRecords: true,
-            includeColumnManager: true,
-            columnOpts: {
-              initialColumnsVisible: 9,
-              saveState: false
-            },
-            gridOpts: {
-              className: "table table-bordered table-hover table-condensed 
backgrid",
-              emptyText: 'No records found!'
-            },
-            filterOpts: {},
-            paginatorOpts: {}
-          }));
-        });
-      },
-      getColumns: function () {
-        var cols = {};
-        var that = this;
-        var columns = {
-          evtTime: {
-            label: "Event Time",
-            cell: "String",
-            sortType: 'toggle',
-            editable: false,
-            formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
-              fromRaw: function (rawValue, model) {
-                return moment(rawValue).format("YYYY-MM-DD HH:mm:ss,SSS");
-              }
-            })
-          },
-          reqUser: {
-            label: "User",
-            cell: "String",
-            sortType: 'toggle',
-            editable: false
-          },
-          repo: {
-            label: 'Repo',
-            cell: "String",
-            sortType: 'toggle',
-            editable: false
-          },
-          resource: {
-            label: 'Resource',
-            cell: "String",
-            sortType: 'toggle',
-            editable: false
-          },
-          access: {
-            label: 'Access Type',
-            cell: "String",
-            sortType: 'toggle',
-            editable: false
-          },
-          result: {
-            label: 'Result',
-            cell: "String",
-            sortType: 'toggle',
-            editable: false,
-            formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
-              fromRaw: function (rawValue, model) {
-                return (rawValue === 1) ? "Allowed" : "Denied";
-              }
-            })
-          },
-          enforcer: {
-            label: 'Access Enforcer',
-            cell: "String",
-            sortType: 'toggle',
-            editable: false
-          },
-          cliIP: {
-            label: 'Client IP',
-            cell: "String",
-            sortType: 'toggle',
-            editable: false
-          },
-          event_count: {
-            label: 'Event Count',
-            cell: "String",
-            sortType: 'toggle',
-            editable: false
-          }
-        };
-        _.each(this.columns, function(value){
-          var name = Globals.invertedAuditLogMappings[value];
-          if (columns[name] === undefined && value != "_version_") {
-            var columnObj = {
-              name: Globals.invertedAuditLogMappings[value],
-              label: value,
-              cell: "String",
-              sortType: 'toggle',
-              editable: false
-            };
-            columns[name] = columnObj;
-          } else {
-            if (columns[name] && columns[name].label) {
-              columns[name].label = value;
-            }
-          }
-        });
-        return this.collection.constructor.getTableCols(columns, 
this.collection);
-      },
-      onAuditTabRefresh: function (e) {
-        ViewUtils.setLatestTimeParams(this.defaultParams);
-        $.extend(this.collection.queryParams, this.defaultParams);
-        this.collection.fetch({reset: true});
-        this.vent.trigger("tab:refresh", this.defaultParams);
-      },
-      onViewTypeChange: function (e) {
-        var that = this;
-        var val = that.$("[name='viewTypeAudit']:checked").val();
-        this.toggleViewType(val);
-      },
-      toggleViewType: function (val) {
-        if (val === "A") {
-          this.$("[data-id='auditTable']").show();
-          this.$('[data-id="auditAggregated"]').hide();
-        } else {
-          this.$('[data-id="auditAggregated"]').show();
-          this.$("[data-id='auditTable']").hide();
-          if (this.RAuditAggregated.currentView)
-            this.RAuditAggregated.currentView.$el.resize();
-        }
-      },
-      setupSelect2Fields: function (col, idKey, textKey, selectTagId, 
placeHolder) {
-        var that = this, data = [];
-        data = _.pluck(col.models, 'attributes');
-        for (var i = 0; i < data.length; i++) {
-          data[i].id = data[i].type;
-        }
-        this.ui[selectTagId].select2({
-          placeholder: (placeHolder) ? placeHolder : 'Select',
-          tags: true,
-          allowClear: true,
-          width: '100%',
-          data: {results: data, text: textKey},
-          formatSelection: function (item) {
-            return item[textKey];
-          },
-          formatResult: function (item) {
-            return item[textKey];
-          }
-        }).on("change", function (e) {
-          var data = that.ui[selectTagId].select2("data").map(function (d) {
-            return d.type
-          });
-          if (selectTagId === "excludeComponents") {
-            that.vent.trigger("auditComponents:exclude", {mustNot: 
data.toString()});
-          }
-          if (selectTagId === "includeComponents")
-            that.vent.trigger("auditComponents:include", {mustBe: 
data.toString()});
-        });
-      },
-      startPoll: function () {
-        var that = this;
-        setInterval(function () {
-          that.pollLiveFeed();
-        }, 5000);
-      },
-      pollLiveFeed: function () {
-        var that = this;
-        if (this.pollXhr) {
-          if (this.pollXhr.readyState > 0 && this.pollXhr.readyState < 4)
-            return
-        }
-        this.pollXhr = this.auditModel.auditLiveFeed({}, {
-          beforeSend: function () {
-            that.$("#loaderFeed").show();
-          },
-          success: function (data) {
-            var dd = [];
-            that.$("#spark").parent().show();
-            _.each(data.vnameValues, function (d) {
-              dd.push(d.value);
-            });
-            that.$("#spark").sparkline(dd, {lineColor: '#5A8DB6', width: 
"100px"});
-          },
-          error: function () {
-            that.$("#spark").parent().hide();
-          },
-          complete: function () {
-            setTimeout(function () {
-              that.$("#loaderFeed").hide();
-            }, 1000);
-          }
-        });
-      },
-      reinitializeFilterMustBe: function (values) {
-        if (values.mustBe) {
-          this.ui.includeComponents.select2('val', values.mustBe.split(","));
-        } else {
-          this.ui.includeComponents.select2('val', []);
-        }
-      },
-      reinitializeFilterMustNot: function (values) {
-        if (values.mustNot) {
-          this.ui.excludeComponents.select2('val', values.mustNot.split(","));
-        } else {
-          this.ui.excludeComponents.select2('val', []);
-        }
-      }
-    });
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/02360dd5/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/AdvanceSearchLayout.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/AdvanceSearchLayout.js
 
b/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/AdvanceSearchLayout.js
deleted file mode 100644
index c05caa7..0000000
--- 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/AdvanceSearchLayout.js
+++ /dev/null
@@ -1,146 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-define(['require',
-    'backbone',
-    'utils/Utils',
-    'utils/Globals',
-    'hbs!tmpl/common/AdvanceSearchLayout_tmpl'
-], function(require, backbone, Utils, Globals, AdvanceSearchLayoutTmpl) {
-    'use strict';
-
-    return Backbone.Marionette.Layout.extend(
-        /** @lends AdvanceSearchLayout */
-        {
-            _viewName: 'AdvanceSearchLayout',
-
-            template: AdvanceSearchLayoutTmpl,
-
-
-            /** ui selector cache */
-            ui: {
-                searchArea : '[data-id="searchArea"]',
-                searchInput: '[data-id="searchInput"]',
-                suggesterBox: '[data-id="suggesterBox"]',
-                suggesterList: '[data-id="suggesterList"]'
-            },
-
-            /** ui events hash */
-            events: function() {
-                var events = {};
-                events["click " + this.ui.startStop] = 'onStartStopClick';
-                events["change " + this.ui.searchArea] = 'advancedSearch';
-                /*  events["click " + this.ui.start] = 'onStartClick';
-                  events["click " + this.ui.stop] = 'onStopClick';*/
-                return events;
-            },
-
-            /**
-             * intialize a new AdvanceSearchLayout Layout
-             * @constructs
-             */
-            initialize: function(options) {
-                _.extend(this, _.pick(options, 'vent', 'globalVent', 
'params'));
-                this.dateUtil = Utils.dateUtil;
-            },
-            bindEvents: function() {},
-            onRender: function() {
-                var that = this;
-
-                var li = this.elementGenerator(Globals.serviceLogsColumns)
-                that.ui.suggesterList.html(li);
-                this.ui.searchInput.on('focusin', function() {
-                    that.ui.suggesterBox.show();
-                    that.ui.suggesterBox.addClass('advanceSearchActive');
-                });
-
-                this.$('.advanceSearchList').on('click', 'li', function(e) {
-                    var value = that.ui.searchInput.val();
-                    that.ui.searchInput.val(value + $(this).data().value);
-                });
-                this.ui.searchInput.on('focusout', function() {
-                    that.ui.suggesterBox.hide();
-                    that.ui.suggesterBox.removeClass('advanceSearchActive')
-                });
-            },
-            elementGenerator: function(serviceLogsColumns) {
-                var li = "";
-                _.keys(serviceLogsColumns).map(function(object) {
-                    li += '<li data-value="' + object + '">' + 
serviceLogsColumns[object] + '(' + object + ')</li>'
-                });
-                return li;
-            },
-            advancedSearch : function(){
-               var that = this,textareaValue = '';
-
-               if(that.ui.searchArea.val() != ""){
-                textareaValue = that.ui.searchArea.val();
-               }
-               textareaValue = textareaValue.replace(/\&/g,'}{');
-              // that.vent.trigger('main:search',{advanceSearch : 
textareaValue});
-            }
-            /* suggester*/
-            /*elementGenerator: function(text) {
-                this.$('.advanceSearchList').on('click keydown', 'li', 
function(e) {
-                var value = that.ui.searchInput.val();
-                if (that.lastSpchar) {
-                    var splitArray = value.split(that.lastSpchar[0])
-                    splitArray[splitArray.length - 1] = $(this).data().value;
-                    that.ui.searchInput.val(splitArray.join(that.lastSpchar));
-                } else {
-                    that.ui.searchInput.val($(this).data().value);
-                }
-
-            })
-                var checkLastLatter = text.slice(-1).match(/^[ 
:~?\}\{\[\]!@#\$%\^\&*\)\(+=._-]+$/g);
-                if (checkLastLatter) {
-                    this.lastSpchar = checkLastLatter;
-                    var splitArray = text.split(this.lastSpchar[0])
-                    text = splitArray[splitArray.length - 1];
-                } else {
-                    if (this.lastSpchar) {
-                        var splitArray = text.split(this.lastSpchar[0])
-                        text = splitArray[splitArray.length - 1];
-                    }
-                }
-                var li = "";
-                if (text != '') {
-                    _.each(this.availableTags, function(object) {
-                        var regex = new RegExp(text.replace(/(\S+)/g, 
function(s) {
-                            return "\\b(" + s + ")(.*)"
-                        }).replace(/\s+/g, ''), "gi");
-                        var matches = regex.exec(object);
-                        var result = '';
-                        if (matches && matches.length) {
-                            for (var i = 1; i < matches.length; i++) {
-                                if (i % 2 == 1)
-                                    result += '<b>' + matches[i] + '</b>';
-                                else
-                                    result += matches[i];
-                            }
-                            li += '<li data-value="' + object + '">' + result 
+ '</li>'
-                        }
-                    });
-                    return li
-                }
-
-            },*/
-
-
-        });
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/02360dd5/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/BreadCrumbs.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/BreadCrumbs.js
 
b/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/BreadCrumbs.js
deleted file mode 100644
index bf05758..0000000
--- 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/BreadCrumbs.js
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
- /**
- * 
- * BreadCrumbs Veiw  
- * BreadCrumbs is directly accessible through App object .But can also create 
a instance of it.
- * @array 
- */
-
-define(['require',
-       'backbone.marionette',
-       'hbs!tmpl/common/breadcrumbs',
-       'App'
-],function(require,Marionette,tmpl,App) {
-
-
-       var BreadCrumbs = Marionette.ItemView.extend({
-               template : tmpl,
-               templateHelpers : function(){
-                       return {
-                               breadcrumb : this.setLast(this.breadcrumb)
-                       };
-               },
-               initialize : function(options){
-                       this.breadcrumb = [];
-                       if(typeof options !== 'undefined'){
-                               this.breadcrumb = options.breadcrumb;
-                       }
-                       //In docs the breadcrubs region stays constant only 
inner content changes
-       /*              
this.listenTo(Vent,'draw:docs:breadcrumbs',function(breads){
-                               this.breadcrumb = breads;
-                               this.reRenderBookmarks();
-                       },this);*/
-               },
-               onRender : function(){
-
-               },
-               reRenderBookmarks : function(){
-                       this.breadcrumb = this.setLast(this.breadcrumb);
-                       this.render();
-               },
-               setLast : function(breadcrumb){
-                       if(breadcrumb.length > 0){
-                               //breadcrumb[breadcrumb.length -1].isLast = 
true;
-                               breadcrumb[breadcrumb.length -1] = 
_.extend({},breadcrumb[breadcrumb.length -1],{isLast : true});
-                       }
-                       return breadcrumb;
-               },
-               // showBreadCrumbs : function(view,breadcrumb){
-                       // var brRgn = view.$el.find('#brdCrumbs');
-                       // if(brRgn){
-                               // 
$(brRgn).html(Marionette.Renderer.render(tmpl,{breadcrumb : 
this.setLast(breadcrumb)}));     
-                       // }/*else{*/
-                          // ////throw new Error('This view does not have a  
#brdCrumbs id'); 
-                       // /*}*/
-               // },
-               onClose : function(){       
-                       console.log('OnItemClosed called of BreadCrumbs');
-               //      this.stopListening(Vent);
-               }
-       });
-
-       App.BreadCrumbs = new BreadCrumbs();    
-
-       return BreadCrumbs;
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/02360dd5/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/CustomBackgrid.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/CustomBackgrid.js
 
b/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/CustomBackgrid.js
deleted file mode 100644
index 83b756b..0000000
--- 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/CustomBackgrid.js
+++ /dev/null
@@ -1,284 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-define(['require',
-       'backbone',
-       'utils/Utils',
-       'backgrid-filter',
-       'backgrid-paginator',
-       'select2'
-],function(require,Backbone,Util){
-    'use strict';
-
-       var HeaderSearchCell = Backbone.View.extend({
-
-               tagName: "td",
-
-               className: "backgrid-filter",
-
-               template: _.template('<input type="search" <% if (placeholder) 
{ %> placeholder="<%- placeholder %>" <% } %> name="<%- name %>" <% if (style) 
{ %> style="<%- style %>" <% } %> />'),
-                                                        //<a class="clear" 
href="#">&times;</a>'),
-
-               placeholder: "",
-
-               events: {
-                       "keyup input": "evKeyUp",
-                       "submit": "search"
-               },
-
-               initialize: function (options) {
-                       _.extend(this, _.pick(options, 'column'));
-                       this.name = this.column.get('name');
-                       if(this.column.get('reName') != undefined)
-                               this.name = this.column.get('reName');
-                               
-
-                       var collection = this.collection, self = this;
-                       if (Backbone.PageableCollection && collection 
instanceof Backbone.PageableCollection ) {
-                               collection.queryParams[this.name] = function () 
{
-                                       return self.searchBox().val() || null;
-                               };
-                       }
-               },
-
-               render: function () {
-                       this.$el.empty().append(this.template({
-                               name: this.column.get('name'),
-                               placeholder: this.column.get('placeholder') || 
"Search",
-                               style : this.column.get('headerSearchStyle')
-                       }));
-                       this.$el.addClass('renderable');
-                       this.delegateEvents();
-                       return this;
-
-               },
-
-               evKeyUp: function (e) {
-                       var $clearButton = this.clearButton();
-                       var searchTerms = this.searchBox().val();
-
-                       if(!e.shiftKey) {
-                               this.search();
-                       }
-                       
-                       if (searchTerms) {
-                               $clearButton.show();
-                       } else {
-                               $clearButton.hide();
-                       }
-               },
-
-               searchBox: function () {
-                       return this.$el.find("input[type=search]");
-               },
-
-               clearButton: function () {
-                       return this.$el.find(".clear");
-               },
-
-               search: function () {
-
-                       var data = {};
-
-                       // go back to the first page on search
-                       var collection = this.collection;
-                       if (Backbone.PageableCollection &&
-                               collection instanceof 
Backbone.PageableCollection &&
-                                       collection.mode == "server") {
-                               collection.state.currentPage = 
collection.state.firstPage;
-                       }
-                       var query = this.searchBox().val();
-                       if (query) data[this.name] = query;
-                       if(collection.extraSearchParams){
-                               _.extend(data, collection.extraSearchParams);
-                       }
-                       collection.fetch({
-                               data: data,
-                               reset: true,
-                               success : function(){},
-                               error  : function(msResponse){
-                                       Util.notifyError('Error', 'Invalid 
input data!');
-                               }
-                       });
-               },
-
-               clear: function (e) {
-                       if (e) e.preventDefault();
-                       this.searchBox().val(null);
-                       this.collection.fetch({reset: true});
-               }
-
-       });
-       
-       var HeaderFilterCell = Backbone.View.extend({
-
-               tagName: "td",
-
-               className: "backgrid-filter",
-
-               template: _.template('<select >  <option>ALL</option>' +
-                                                               '<% 
_.each(list, function(data) {' +
-                                                                               
'if(_.isObject(data)){ %>' +
-                                                                               
        '<option value="<%= data.value %>"><%= data.label %></option>' +
-                                                                               
'<% }else{ %>' +
-                                                                               
                '<option value="<%= data %>"><%= data %></option>' +
-                                                                               
'<% } %>' +
-                                                               '<% }); 
%></select>'),
-                                        
-               placeholder: "",
-
-               events: {
-                       "click": function(){
-                       },
-               },
-
-               initialize: function (options) {
-                       _.extend(this, _.pick(options, 'column'));
-                       this.name = this.column.get('name');
-                       this.headerFilterOptions = 
this.column.get('headerFilterOptions');
-               },
-
-               render: function () {
-                       var that =this;
-                       this.$el.empty().append(this.template({
-                               name: this.column.get('name'),
-                               list : this.headerFilterOptions.filterList,
-                       }));
-                       
-                       this.$el.find('select').select2({
-                               allowClear: true,
-                               closeOnSelect : false,
-                               width : this.headerFilterOptions.filterWidth || 
'100%' ,
-                               height : this.headerFilterOptions.filterHeight 
|| '20px',
-                       });
-                       
-                       this.$el.addClass('renderable');
-                       
-                       this.$el.find('select').on('click',function(e){
-                               that.search(e.currentTarget.value);
-                       });
-                       //this.delegateEvents();
-                       return this;
-
-               },
-
-               
-
-               search: function (selectedOptionValue) {
-
-                       var data = {}, query;
-
-                       // go back to the first page on search
-                       var collection = this.collection;
-                       if (Backbone.PageableCollection &&
-                               collection instanceof 
Backbone.PageableCollection &&
-                                       collection.mode == "server") {
-                               collection.state.currentPage = 
collection.state.firstPage;
-                       }
-                       if(selectedOptionValue != "ALL")  {
-                               query = selectedOptionValue;
-                       }
-                       if (query) {
-                               data[this.name] = query;
-                       }
-                       if(collection.extraSearchParams){
-                               _.extend(data, collection.extraSearchParams);
-                       }
-                       collection.fetch({data: data, reset: true});
-               },
-
-               /*clear: function (e) {
-                       if (e) e.preventDefault();
-                       this.searchBox().val(null);
-                       this.collection.fetch({reset: true});
-               }*/
-
-       });
-
-       
-       
-       var HeaderRow = Backgrid.Row.extend({
-
-               requiredOptions: ["columns", "collection"],
-
-               initialize: function () {
-                       Backgrid.Row.prototype.initialize.apply(this, 
arguments);
-               },
-
-               makeCell: function (column, options) {
-                       var headerCell;
-                       switch(true){
-                               case (column.has('canHeaderSearch') && 
column.get('canHeaderSearch') === true) :
-                                       headerCell = new HeaderSearchCell({
-                                               column          : column,
-                                               collection      : 
this.collection,
-                                       });
-                                       break;
-                               
-                               case (column.has('canHeaderFilter') && 
column.get('canHeaderFilter') === true) :
-                                       headerCell = new HeaderFilterCell({
-                                               column          : column,
-                                               collection      : 
this.collection,
-                                       });
-                                       break;
-                               default :
-                                       headerCell = new Backbone.View({
-                                               tagName : 'td'
-                                       });
-                       }
-                       return headerCell;
-               }
-
-       });
-
-
-
-       var FSHeader = Backgrid.Header.extend({
-
-               initialize: function (options) {
-                       var args = Array.prototype.slice.apply(arguments);
-                       Backgrid.Header.prototype.initialize.apply(this, args);
-                       this.searchRow = new HeaderRow({
-                               columns: this.columns,
-                               collection: this.collection
-                       });
-               },
-
-               /**
-                 Renders this table head with a single row of header cells.
-                 */
-               render: function () {
-                       var args = Array.prototype.slice.apply(arguments);
-                       Backgrid.Header.prototype.render.apply(this, args);
-
-                       this.$el.append(this.searchRow.render().$el);
-                       return this;
-               },
-
-               remove: function () {
-                       var args = Array.prototype.slice.apply(arguments);
-                       Backgrid.Header.prototype.remove.apply(this, args);
-
-                       this.searchRow.remove.apply(this.searchRow, arguments);
-                       return Backbone.View.prototype.remove.apply(this, 
arguments);
-               }
-
-       });
-
-
-       return FSHeader;
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/02360dd5/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/DatePickerLayout.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/DatePickerLayout.js
 
b/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/DatePickerLayout.js
deleted file mode 100644
index 22a9b30..0000000
--- 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/DatePickerLayout.js
+++ /dev/null
@@ -1,228 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-define(['require',
-    'backbone',
-    'utils/Utils',
-    'hbs!tmpl/common/DatePickerLayout_tmpl',
-    'bootstrap-daterangepicker'
-], function(require, backbone, Utils, DatePickerLayoutTmpl, daterangepicker) {
-    'use strict';
-
-    return Backbone.Marionette.Layout.extend(
-        /** @lends DatePickerLayout */
-        {
-            _viewName: 'DatePickerLayout',
-
-            template: DatePickerLayoutTmpl,
-
-
-            /** ui selector cache */
-            ui: {
-                dateRange: "#dateRange",
-                selectDateRange: ".selectDateRange",
-                dateRangeTitle: "span[data-id='dateRangeTitle']",
-
-            },
-
-            /** ui events hash */
-            events: function() {
-                var events = {};
-                events['change ' + this.ui.viewType] = 'onViewTypeChange';
-                return events;
-            },
-
-            /**
-             * intialize a new DatePickerLayout Layout
-             * @constructs
-             */
-            initialize: function(options) {
-                _.extend(this, _.pick(options, 'vent', 'globalVent', 'params', 
'viewType', 'datePickerPosition','parentEl', 'fetch', 'rangeLabel', 'width', 
'hideFireButton','buttonLabel'));
-                this.dateUtil = Utils.dateUtil;
-                this.dateRangeLabel = new String();
-
-                this.bindEvents();
-                this.graphParams = {};
-                this.unit = this.params.unit ? this.params.unit : "+1HOUR";
-                this.isEventTriggerdFromVent = false;
-            },
-            bindEvents: function() {
-                this.listenTo(this.vent, "tab:refresh", function(params) {
-                    this.reRenderView(params);
-                }, this);
-                this.listenTo(this.vent, "date:setDate", function(options) {
-                    this.setValues(options);
-                }, this);
-                this.listenTo(this.vent, "date:click", function(options) {
-                    this.isEventTriggerdFromVent = true;
-                    this.setValues(options);
-                    this.ui.dateRange.data('daterangepicker').clickApply();
-                }, this);
-                this.listenTo(this.vent, "date:getValues", function(obj) {
-                    var dates = this.getValues();
-                    obj.dates = [dates[0], dates[1]];
-                    obj.dateRangeLabel = this.dateRangeLabel;
-                    obj.unit = this.unit;
-                }, this);
-
-            },
-            onRender: function() {
-                var that = this;
-                if(this.hideFireButton){
-                    this.$(".goBtn").hide();
-                }
-                if(this.buttonLabel){
-                       this.$(".goBtn").text(this.buttonLabel);
-                }
-                if (!this.params.dateRangeLabel) {
-                    this.params['dateRangeLabel'] = "Today";
-                }
-                this.initializeDateRangePicker();
-                this.setValues(this.params);
-                this.unit = 
that.checkDateRange(that.ui.dateRange.data("daterangepicker"));
-                if (this.fetch) {
-                    that.vent.trigger("logtime:filter", _.extend({
-                        q: "*:*"
-                    }, this.params, {
-                        unit: this.unit
-                    }));
-                }
-                if (this.rangeLabel) {
-                    this.ui.dateRangeTitle.show();
-                }else{
-                    this.ui.dateRangeTitle.hide();
-                }
-                if (this.width) {
-                    this.ui.selectDateRange.css('width',this.width);
-                }
-
-            },
-            setValues: function(val) {
-                var startDate, endDate;
-                if (val.from) {
-                    startDate = this.dateUtil.getMomentObject(val.from)
-                    
this.ui.dateRange.data('daterangepicker').setStartDate(startDate);
-                }
-                if (val.to) {
-                    endDate = this.dateUtil.getMomentObject(val.to)
-                    
this.ui.dateRange.data('daterangepicker').setEndDate(endDate);
-                }
-                if (startDate && endDate)
-                    this.setDateText(startDate, endDate);
-                if (val.dateRangeLabel) 
this.ui.dateRangeTitle.html(val.dateRangeLabel);
-                this.dateRangeLabel = val.dateRangeLabel;
-            },
-            getValues : function(){
-                var obj = this.ui.dateRange.data("daterangepicker");
-                if(obj){
-                    return [obj.startDate, obj.endDate];
-                }
-            },
-            initializeDateRangePicker: function() {
-                var that = this,
-                    ranges = {};
-                //Apply moments for all ranges separately if you pass single 
instance then it will run into problem.
-                _.each(Utils.relativeDates, function(k) {
-                    ranges[k.text] = [];
-                })
-                this.ui.dateRange.daterangepicker(_.extend({
-                    'ranges': Object.keys(ranges)
-                }, {
-                    "timePicker": true,
-                    "timePickerIncrement": 1,
-                    "timePicker24Hour": true,
-                    "opens": (that.datePickerPosition) ? 
(that.datePickerPosition) : (undefined),
-                    timePickerSeconds: true,
-                    showWeekNumbers: true,
-                    timeZone: 0,
-                    locale: {
-                        format: 'MM/DD/YYYY H:mm:ss,SSS'
-                    },
-                    parentEl: (that.parentEl) ? (that.parentEl) : (that.$el),
-                }));
-                this.bindDateRangePicker();
-            },
-            bindDateRangePicker: function() {
-                var that = this;
-                if (this.parentEl) {
-                    var elem = this.parentEl.find('.daterangepicker');
-                } else {
-                    var elem = this.$('.daterangepicker');
-                }
-
-
-                this.ui.dateRange.on('apply.daterangepicker ', function(ev, 
picker) {
-                    if(! that.isEventTriggerdFromVent && 
!(_.isUndefined(picker.chosenLabel)) ){
-                        that.dateRangeLabel = picker.chosenLabel;
-                    }else{
-                        that.isEventTriggerdFromVent = false;
-                    }
-                    if (that.dateRangeLabel !== "Custom Range") {
-                        var range = 
that.dateUtil.getRelativeDateFromString(that.dateRangeLabel);
-                        that.setDateText(range[0], range[1]);  
-                    }
-                    that.ui.dateRangeTitle.html(that.dateRangeLabel);
-                    that.unit = that.checkDateRange(picker);
-                    var options = {
-                        'from': (picker.startDate).toJSON(),
-                        'to': (picker.endDate).toJSON(),
-                        'unit': that.unit,
-                        'dateRangeLabel': that.dateRangeLabel
-                    }
-                    that.vent.trigger("logtime:filter", options);
-                    that.pickerOpend = false
-                });
-                this.ui.dateRange.on('show.daterangepicker', function(ev, 
picker) {
-                    elem.find('li').removeClass('active');
-                    elem.find('li:contains(' + that.dateRangeLabel + 
')').addClass('active');
-                       picker.chosenLabel = that.dateRangeLabel; 
-                });
-                this.ui.dateRange.on('hide.daterangepicker', function(ev, 
picker) {
-                    that.pickerOpend = true
-                });
-
-                this.ui.selectDateRange.on("click", 'button.goBtn', function() 
{
-                    if (that.pickerOpend) {
-                        var textRange = elem.find('li.active').text();
-                        if (textRange == "Custom Range") that.dateRangeLabel = 
elem.find('li.active').text();
-                    }
-                    if (that.dateRangeLabel == "Last 1 Hour") {
-                        var last1Hour = 
that.dateUtil.getRelativeDateFromString(that.dateRangeLabel);
-                        that.setDateText(last1Hour[0], last1Hour[1]);
-                    }
-                    that.ui.dateRange.data('daterangepicker').clickApply();
-
-                });
-            },
-            checkDateRange: function(picker) {
-                return this.dateUtil.calculateUnit(picker)
-            },
-            setDateText: function(start, end) {
-
-                this.ui.dateRange.val(this.dateUtil.getTimeZone(start, 
"MM/DD/YYYY H:mm:ss,SSS") + ' - ' + this.dateUtil.getTimeZone(end, "MM/DD/YYYY 
H:mm:ss,SSS"));
-                this.ui.dateRange.data('daterangepicker').setStartDate(start);
-                this.ui.dateRange.data('daterangepicker').setEndDate(end);
-
-            },
-            reRenderView: function(params) {
-                this.setValues(_.extend(this.params, params));
-            }
-        });
-
-
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/02360dd5/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/ErrorView.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/ErrorView.js
 
b/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/ErrorView.js
deleted file mode 100644
index a26088e..0000000
--- 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/ErrorView.js
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
- 
-define(['require',
-       'backbone',
-       'communicator',
-       'hbs!tmpl/common/ErrorView_tmpl'
-],function(require,Backbone,Communicator,ErrorView_tmpl){
-    'use strict';
-       
-       var ErrorView = Backbone.Marionette.ItemView.extend(
-       /** @lends ErrorView */
-       {
-               _viewName : ErrorView,
-               
-       template: ErrorView_tmpl,
-        templateHelpers :function(){
-               var msg = '', moreInfo = '';
-               if(this.status == 401){
-                       msg = 'Access Denied (401)'
-               moreInfo = "Sorry, you don't have enough privileges to view 
this page.";
-            }else{
-                       msg = 'Page not found (404).'
-               moreInfo = "Sorry, this page isn't here or has moved.";
-            }
-               return {
-                       'msg' : msg,
-                       'moreInfo' : moreInfo
-               };
-        },
-       /** ui selector cache */
-       ui: {
-               'goBackBtn' : 'a[data-id="goBack"]',
-               'home'          : 'a[data-id="home"]'
-       },
-
-               /** ui events hash */
-               events: function() {
-                       var events = {};
-                       //events['change ' + this.ui.input]  = 'onInputChange';
-                       events['click ' + this.ui.goBackBtn]  = 'goBackClick';
-                       return events;
-               },
-
-       /**
-               * intialize a new ErrorView ItemView 
-               * @constructs
-               */
-               initialize: function(options) {
-                       console.log("initialized a ErrorView ItemView");
-
-                       _.extend(this, _.pick(options, 'status'));
-
-                       this.bindEvents();
-               },
-
-               /** all events binding here */
-               bindEvents : function(){
-                       /*this.listenTo(this.model, "change:foo", 
this.modelChanged, this);*/
-                       /*this.listenTo(communicator.vent,'someView:someEvent', 
this.someEventHandler, this)'*/
-               },
-
-               /** on render callback */
-               onRender: function() {
-                       this.initializePlugins();
-                       $('#r_breadcrumbs').hide();
-               },
-               goBackClick : function(){
-                       history.back();
-               },
-
-               /** all post render plugin initialization */
-               initializePlugins: function(){
-               },
-               /** on close */
-               onClose: function(){
-                       $('#r_breadcrumbs').show();
-               }
-
-       });
-
-       return ErrorView;
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/02360dd5/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/EventHistoryLayout.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/EventHistoryLayout.js
 
b/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/EventHistoryLayout.js
deleted file mode 100644
index 01e18b1..0000000
--- 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/EventHistoryLayout.js
+++ /dev/null
@@ -1,486 +0,0 @@
-/**
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-define(['require',
-    'backbone',
-    'utils/Globals',
-    'utils/Utils',
-    'collections/VEventHistoryList',
-    'models/VCommonModel',
-    'hbs!tmpl/common/EventHistoryLayout_tmpl',
-    'hbs!tmpl/common/EventHistoryItemView_tmpl',
-    'moment'
-],function(require,Backbone,Globals,Utils,VEventHistoryList,VCommonModel,EventHistoryLayout_tmpl,
 EventHistoryItemView_tmpl,moment){
-    'use strict';
-       
-    var EventView = Backbone.Marionette.ItemView.extend({
-       tagName:"li",
-       template : EventHistoryItemView_tmpl,
-       ui : {
-               content : "[data-id='content']",
-               flagWrap : ".flagWrap"
-       },
-       /** ui events hash */
-               events: function() {
-                       var events = {};
-                       events["click "+this.ui.flagWrap] = 'onFlagClick';
-                       events["click .infoBtn"] = 'onInfoClick';
-                       events["click .removeFlag"] = 'onRemoveFlagClick';
-                       events["click .saveBtn"] = 'onSaveClick';
-                       return events;
-               },
-       initialize: function(options) {
-               _.extend(this, _.pick(options,'eventVent','vent'));
-               this.bindEvents();
-       },
-       bindEvents : function(){
-               this.listenTo(this.model, "event:highlight", function($el) {
-                               this.highlightli($el);
-                       }, this);
-               this.listenTo(this.model, "event:fireReinitialize", function() {
-                               this.fireReinitialize();
-                       }, this);
-       },
-       onRender : function(){
-               this.ui.content.text(this.getLabel());
-       },
-       getLabel : function(){
-               var text = "",param = this.model.get("newParam"),key = 
_.keys(this.model.get("newParam"))[0];
-               if(param){
-                       var preText = "Value:";
-                       if(param.dateRangeLabel){
-                               return param.dateRangeLabel;
-                       }
-                       if(key === "includeQuery"){
-                               preText = "IColumn :";
-                       }
-                       if(key === "excludeQuery"){
-                               preText = "EColumn :";
-                       }
-                       if(key === "level"){
-                               preText = "Level :";
-                       }
-                       if(key === "mustBe"){
-                               preText = "IC :";
-                       }
-                       if(key === "mustNot"){
-                               preText = "EC :";
-                       }
-                       if(key === "mustNot"){
-                               preText = "EC :";
-                       }
-                       if(key === "from" || key === "to"){
-                               preText = param.dateRangeLabel;
-                       }
-                       if(key === "filtername"){
-                               preText = "Filter :";
-                       }
-                       return preText + " 
"+this.model.get("newParam")[_.keys(this.model.get("newParam"))[0]];
-               }
-               return text;
-       },
-       onFlagClick : function(e){
-               var that = this;
-               this.fireReinitialize();
-               setTimeout(function(){
-                       that.highlightli(that.$el.children("[data-id]"))
-               },10);
-       },
-       highlightli : function($el){
-               //$el is the flag container
-               
$el.parents("li").siblings("li").find(".showFlag").removeClass("flagActive");
-               $el.addClass("flagActive");
-               
this.eventVent.trigger("event:position:center",$el.parents("li"));
-       },
-       onInfoClick : function(e){
-               var html = "<table class='table eventTable 
table-hover'><thead><th>Name</th><th>Value</th></thead>",that=this;
-            var customParam = 
{"mustNot":[],"mustBe":[],"includeQuery":[],"excludeQuery":[]};
-            var paramNames = _.extend({},this.model.get("params"),customParam);
-            _.each(paramNames, function(value, key) {
-               if ( (! _.isEmpty(value) || _.isArray(value)) && ( key != 
"bundleId" && key != "start_time" && 
-                               key != "end_time" && key != "q" && key != 
"unit" && key != "query" && key != "type" && 
-                               key != "time" && key != "dateRangeLabl" && key 
!= "advanceSearch" && !_.isUndefined(Globals.paramsNameMapping[key]) )){
-                       html += '<tr class="' + key + '"><td>' + 
Globals.paramsNameMapping[key].label + '</td><td>' + that.getHtmlForParam(key) 
+ '</td><tr>'
-                       }
-               });
-               html += "</table>";
-               Utils.alertPopup({msg : html,className:"bootBoxSmall"});
-       },
-       getHtmlForParam : function(key){
-            var paramValue = this.model.get("params"),value=paramValue[key];
-
-               if(key === "from" || key === "to"){
-                       value = 
moment(paramValue[key]).format('MM/DD/YYYY,HH:mm:ss,SSS');
-               }else{
-                if(_.isUndefined(paramValue[key])){
-                    value = "[]";
-                }
-            }
-               return value;
-       },
-       onRemoveFlagClick : function(e){
-               e.stopImmediatePropagation();e.stopPropagation();
-               var siblings = this.$el.siblings(),that=this;
-               if(siblings.length > 0){
-                       var focusLi = $(siblings[siblings.length 
-1]).children("[data-id]");
-                       this.collection.remove(this.model);
-                       this.close();
-                       focusLi.find(".flagWrap").click();
-               }
-               
-        },
-        fireReinitialize: function() {
-            this.vent.trigger("reinitialize:filter:tree " +
-                       "reinitialize:filter:include:exclude " +
-                       "reinitialize:filter:bubbleTable " +
-                       "reinitialize:filter:mustNot " +
-                       "reinitialize:filter:mustBe " +
-                       "reinitialize:filter:level " +
-                       "reinitialize:filter:logtime", _.extend({
-                mustNot: null,
-                mustBe: null,
-                query: null,
-                includeQuery: null,
-                excludeQuery: null
-            }, this.model.get('params')));
-        },
-        onSaveClick : function(e){
-               var that = this;
-            require(['views/dialog/SaveSearchFilterView'], 
function(SaveSearchFilterView) {
-               var view = new SaveSearchFilterView({
-                    selectedCollectionObject: that.model
-                });
-               that.setupDialog({
-                    title: "Save Search Filter",
-                    content: view,
-                    viewType: 'Save',
-                    width: 850,
-                    height: 500,
-                    buttons: [{
-                        id: "okBtn",
-                        text: "Save",
-                        "class": "btn btn-primary",
-                        click: function() {
-                            that.onDialogSubmitted();
-                        }
-                    }, {
-                        id: "cancelBtn",
-                        text: "Close",
-                        "class": "btn btn-default",
-                        click: function() {
-                            that.onDialogClosed();
-                        }
-                    }]
-                });
-            });
-        },
-        setupDialog: function(options) {
-            var that = this;
-            require(['views/common/JBDialog'], function(JBDialog) {
-                var opts = _.extend({
-                    appendTo: 'body',
-                    modal: true,
-                    resizable: false
-                }, options);
-                var dialog = that.dialog = new JBDialog(opts).render().open();
-            })
-        },
-        onDialogSubmitted: function() {
-            var content = this.dialog.options.content;
-            if (content.$('form')[0].checkValidity && 
!content.$('form')[0].checkValidity()) {
-                content.$('form').addClass('has-error');
-                if (content.$('form')[0].reportValidity) {
-                    if (!content.$('form')[0].reportValidity()) {
-                        return;
-                    }
-                }
-                return;
-            } else {
-                if(_.isEmpty(content.ui.filterName.val().trim())){
-                    if(content.$('form')[0].reportValidity){
-                        content.ui.filterName.val('')
-                        content.$('form')[0].reportValidity();
-                        return;
-                    }
-                    return;
-                }else{
-                    content.$('form').removeClass('has-error');  
-                }
-            }
-            var timeType = 
content.$("input[name='radio']:checked").parents("[data-id]").data('id'),
-            params = content.selectedCollectionObject.get("params");
-            if(timeType === "absolute"){
-                params["dateRangeLabel"] = "Custom Range";
-            }
-            params["time"] = timeType;
-            var postObject = {
-                filtername: content.ui.filterName.val().trim(),
-                rowType: "history",
-                values: JSON.stringify(params)
-            }
-            content.trigger("toggle:okBtn");
-            this.saveEventHistory(postObject);
-        },
-        saveEventHistory: function(postObject) {
-            var that = this
-            this.collection.saveEventHistory(postObject, {
-                success: function(data, textStatus, jqXHR) {
-                    Utils.notifySuccess({
-                        content: "Event History saved successfully."
-                    });
-                    that.onDialogClosed();
-                },
-                error: function(jqXHR, textStatus, errorThrown) {
-                    Utils.notifyError({
-                        content: JSON.parse(jqXHR.responseText).msgDesc || 
"There is some problem in Event History, Please try again later."
-                    });
-                    that.dialog.options.content.trigger("toggle:okBtn",true);
-                },
-                complete: function() {
-                }
-            });
-        },
-        onDialogClosed: function() {
-            if (this.dialog) {
-                this.dialog.close && this.dialog.close();
-                this.dialog.remove && this.dialog.remove();
-                this.dialog = null;
-            }
-        }
-    });
-    
-    
-    
-       return Backbone.Marionette.CompositeView.extend(
-       /** @lends EventHistoryLayout */
-       {
-               _viewName : 'EventHistoryLayout_tmpl',
-
-               template: EventHistoryLayout_tmpl,
-               
-               itemViewContainer : "#events",
-               
-               itemView : EventView,
-               
-               itemViewOptions : function(){
-                       return {
-                               collection : this.collection,
-                               eventVent : this.eventVent,
-                               vent : this.vent
-                       }
-               },
-
-               /** Layout sub regions */
-               regions: {
-               },
-
-               /** ui selector cache */
-               ui: {
-                       loaderEvent : "#loaderEvent",
-                       eventsCont : "#eventsCont",
-                       events : "#events"
-               },
-
-               /** ui events hash */
-               events: function() {
-                       var events = {};
-                       events["change "+this.ui.mainCheck] = 
'onMainCheckboxClick';
-                       events["click .slideArrow a"] = 'slideArrowClick';
-                       events['click .apply-link'] = 'onEventHistoryLoadClick';
-                       events["click .collapse-link"] = 'onCollapseBoxClick';
-                       return events;
-               },
-
-               /**
-                * intialize a new EventHistoryLayout Layout
-                * @constructs
-                */
-               initialize: function(options) {
-                       _.extend(this, 
_.pick(options,'vent','globalVent','params'));
-                       this.eventVent = new Backbone.Wreqr.EventAggregator();
-                       this.searchParmas = (this.params) ? this.params : {};
-                       this.collection = new VEventHistoryList();
-                       this.bindEvents();
-               },
-               bindEvents: function() {
-                       this.listenTo(this.vent, "level:filter type:mustNot 
type:mustBe search:include:exclude " +
-                    "logtime:filter " + 
Globals.eventName.serviceLogsIncludeColumns + " " + 
Globals.eventName.serviceLogsExcludeColumns,
-                    function(value) {
-                               if(this.collection.last()){
-                                       var params = 
_.extend({},this.searchParmas, value);//,id=this.getNewIndex();
-                                       this.addFlag(params,value);
-                                       var leftOffset = 
this.ui.events.offset();
-                                       (leftOffset.left < 0) ? 
this.$('.slideArrow').show() : this.$('.slideArrow').hide();
-                               }
-                               
-                       }, this);
-                       
-                       this.listenTo(this.collection, "add remove reset", 
function() {
-                this.$("[data-id='count']").text(this.collection.length);
-                
this.$("[data-id='totalCount']").text(this.collection.totalCount);
-                this.limitTheFlags();
-            }, this);
-                       
-                       this.listenTo(this.eventVent, "event:position:center", 
function($li) {
-                               this.scrollToElement($li);
-                       }, this);
-               },
-               onRender : function(){
-                       if(this.params){
-                               
this.collection.add(this.collection.model({id:this.getNewIndex(),
-                                       params:_.extend({},this.params),
-                                       newParam:{level:this.params.level
-                               }}));
-                               this.$(".removeFlag").remove();
-                       }
-               },
-               onShow : function(){
-                       this.flagDraggable();
-               },
-               addFlag : function(params, showParam){
-                       var id=this.getNewIndex();
-                       var model = new this.collection.model({
-                               id : id,
-                               params : params,
-                               newParam : showParam
-                       });
-                       this.collection.add(model);
-                       
model.trigger("event:highlight",this.ui.events.find("[data-id='"+id+"']"));
-                       return model;
-               },
-               limitTheFlags : function(){
-                       if(this.collection.length == 26){
-                               this.collection.remove(this.collection.at(1));
-                       }
-               },
-               flagDraggable: function() {
-                       var that = this;
-            this.ui.events.draggable({
-                axis: "x",
-                stop : function(){
-                       that.toggleSlideArrow();
-                }
-            });
-            
-        },
-        toggleSlideArrow : function(){
-               var that = this;
-               that.leftDistance = that.ui.events.offset();
-            if(that.timeLineWidth <= that.leftDistance.left){
-                //this.$('.slideArrow').hide();
-            }else{
-                that.$('.slideArrow').show();
-            }
-        },
-               getNewIndex : function(){
-                       if(this.lastIndex){
-                               this.lastIndex++;
-                       }else{
-                               this.lastIndex = 1;
-                       }
-                       return this.lastIndex;
-               },
-               scrollToElement : function($li){
-                       var flagIndex = $li.index();
-            var options = { duration: 200 };
-            this.timeLineWidth = this.ui.eventsCont.width() / 2;
-                
-            this.ui.events.animate({ 'left': this.timeLineWidth - (flagIndex * 
$li.outerWidth()) + 'px' }, options);
-
-               },
-               slideArrowClick : function(e){
-            e.preventDefault();
-            var leftDistance = this.ui.events.offset();
-            if($(e.currentTarget).hasClass('arrowLeft')){              
-                this.ui.events.animate({ 'left': leftDistance.left - 140 + 
'px' }, 200) ;
-            }else{
-                this.ui.events.animate({ 'left': leftDistance.left + 140 + 
'px' }, 200);
-            }                          
-        },
-        onEventHistoryLoadClick: function() {
-            var that = this;
-            require(['views/dialog/ApplySearchFilterView'], 
function(ApplySearchFilterView) {
-                var view = new ApplySearchFilterView({
-                    collection: new VEventHistoryList([], {
-                        state: {
-                            firstPage: 0,
-                            pageSize: 10 // have to pass max pageSize value or
-                                // else it will take default pageSize
-                        }
-                    })
-                })
-                that.setupDialog({
-                    title: "Apply Filter",
-                    content: view,
-                    viewType: 'Save',
-                    width: 850,
-                    height: 500,
-                    buttons: [{
-                        id: "cancelBtn",
-                        text: "Close",
-                        "class": "btn btn-default",
-                        click: function() {
-                            that.onDialogClosed();
-                        }
-                    }]
-                });
-                view.on("apply:filter",function(model){
-                       var params = JSON.parse(model.get("values"));
-                    if (params.time === "relative") {
-                        var rangeNew = 
Utils.dateUtil.getRelativeDateFromString(params.dateRangeLabel);
-                        if (_.isArray(rangeNew)) {
-                            params.from = rangeNew[0].toJSON();
-                            params.to = rangeNew[1].toJSON();
-                        }
-                    }
-                    var newModel = 
that.addFlag(params,{filtername:model.get("filtername")});
-                    newModel.trigger("event:fireReinitialize");
-                    that.onDialogClosed();
-                })
-            });
-        },
-        setupDialog: function(options) {
-            var that = this;
-            require(['views/common/JBDialog'], function(JBDialog) {
-                var opts = _.extend({
-                    appendTo: 'body',
-                    modal: true,
-                    resizable: false
-                }, options);
-                var dialog = that.dialog = new JBDialog(opts).render().open();
-            })
-        },
-        onDialogClosed: function() {
-            if (this.dialog) {
-                this.dialog.close && this.dialog.close();
-                this.dialog.remove && this.dialog.remove();
-                this.dialog = null;
-            }
-        },
-        onCollapseBoxClick : function(e){
-               if($(e.currentTarget).find("i").hasClass("fa-chevron-down")){
-                       var $el = this.ui.events.find(".flagActive");
-                       if($el.length){
-                               var model = this.collection.get($el.data("id"));
-                               setTimeout(function(){
-                                       model.trigger("event:highlight",$el);
-                               },1000);
-                       }
-               }
-        }
-       });
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/02360dd5/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/Footer.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/Footer.js
 
b/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/Footer.js
deleted file mode 100644
index dcbd633..0000000
--- 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/Footer.js
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
- 
-define(['require',
-       'backbone',
-       'communicator',
-       'hbs!tmpl/common/Footer_tmpl'
-],function(require,Backbone,Communicator,Footer_tmpl){
-    'use strict';
-       
-       var Footer = Backbone.Marionette.ItemView.extend(
-       /** @lends Footer */
-       {
-               _viewName : Footer,
-               
-       template: Footer_tmpl,
-        
-       /** ui selector cache */
-       ui: {},
-
-               /** ui events hash */
-               events: function() {
-                       var events = {};
-                       //events['change ' + this.ui.input]  = 'onInputChange';
-                       return events;
-               },
-
-       /**
-               * intialize a new Footer ItemView 
-               * @constructs
-               */
-               initialize: function(options) {
-                       console.log("initialized a Footer ItemView");
-
-                       _.extend(this, _.pick(options, ''));
-
-                       this.bindEvents();
-               },
-
-               /** all events binding here */
-               bindEvents : function(){
-                       /*this.listenTo(this.model, "change:foo", 
this.modelChanged, this);*/
-                       /*this.listenTo(communicator.vent,'someView:someEvent', 
this.someEventHandler, this)'*/
-               },
-
-               /** on render callback */
-               onRender: function() {
-                       this.initializePlugins();
-               },
-
-               /** all post render plugin initialization */
-               initializePlugins: function(){
-               },
-
-               /** on close */
-               onClose: function(){
-                       
-               }
-
-       });
-
-       return Footer;
-});

Reply via email to