You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by kb...@apache.org on 2019/01/02 06:29:31 UTC

[1/2] atlas git commit: ATLAS-3004 : UI : Updating new details page and lineage icon changes for branch-0.8

Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 900f99bb4 -> 6bc3aee11


http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
index 626cd54..8f6b3fa 100644
--- a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
+++ b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
@@ -58,12 +58,12 @@ define(['require',
                 description: '[data-id="description"]',
                 editBox: '[data-id="editBox"]',
                 deleteTag: '[data-id="deleteTag"]',
-                backButton: "[data-id='backButton']",
                 addTag: '[data-id="addTag"]',
                 addTerm: '[data-id="addTerm"]',
                 tagList: '[data-id="tagList"]',
                 termList: '[data-id="termList"]',
-                fullscreenPanel: "#fullscreen_panel"
+                fullscreenPanel: "#fullscreen_panel",
+                entityIcon: '[data-id="entityIcon"]'
             },
             templateHelpers: function() {
                 return {
@@ -97,9 +97,6 @@ define(['require',
                 events["click " + this.ui.deleteTag] = 'onClickTagCross';
                 events["click " + this.ui.addTag] = 'onClickAddTagBtn';
                 events["click " + this.ui.addTerm] = 'onClickAddTermBtn';
-                events['click ' + this.ui.backButton] = function() {
-                    Backbone.history.history.back();
-                };
                 return events;
             },
             /**
@@ -108,6 +105,7 @@ define(['require',
              */
             initialize: function(options) {
                 _.extend(this, _.pick(options, 'value', 'collection', 'id', 'entityDefCollection', 'typeHeaders', 'enumDefCollection', 'classificationDefCollection'));
+                $('body').addClass("detail-page");
             },
             bindEvents: function() {
                 var that = this;
@@ -116,6 +114,19 @@ define(['require',
                     var collectionJSON = this.entityObject.entity;
                     // MergerRefEntity.
                     Utils.findAndMergeRefEntity(collectionJSON.attributes, this.entityObject.referredEntities);
+                    this.activeEntityDef = this.entityDefCollection.fullCollection.find({ name: collectionJSON.typeName });
+
+                    // check if entity is process
+                    var isProcess = false,
+                        superTypes = Utils.getNestedSuperTypes({ data: this.activeEntityDef.toJSON(), collection: this.entityDefCollection }),
+                        isLineageRender = _.find(superTypes, function(type) {
+                            if (type === "DataSet" || type === "Process") {
+                                if (type === "Process") {
+                                    isProcess = true;
+                                }
+                                return true;
+                            }
+                        });
 
                     if (collectionJSON && collectionJSON.guid) {
                         var tagGuid = collectionJSON.guid;
@@ -145,6 +156,15 @@ define(['require',
                                     titleName += '<button title="Deleted" class="btn btn-action btn-md deleteBtn"><i class="fa fa-trash"></i> Deleted</button>';
                                 }
                                 this.ui.title.html(titleName);
+                                var entityData = _.extend({ "serviceType": this.activeEntityDef && this.activeEntityDef.get('serviceType'), "isProcess": isProcess }, collectionJSON);
+                                if (this.readOnly) {
+                                    this.ui.entityIcon.addClass('disabled');
+                                } else {
+                                    this.ui.entityIcon.removeClass('disabled');
+                                }
+                                this.ui.entityIcon.attr('title', _.escape(collectionJSON.typeName)).html('<img src="' + Utils.getEntityIconPath({ entityData: entityData }) + '"/>').find("img").on('error', function() {
+                                    this.src = Utils.getEntityIconPath({ entityData: entityData, errorUrl: this.src });
+                                });
                             } else {
                                 this.ui.title.hide();
                             }
@@ -175,7 +195,6 @@ define(['require',
                         }
                     }
                     this.hideLoader();
-                    this.activeEntityDef = this.entityDefCollection.fullCollection.find({ name: collectionJSON.typeName });
                     var obj = {
                         entity: collectionJSON,
                         guid: this.id,
@@ -212,25 +231,25 @@ define(['require',
                         this.renderReplicationAuditTableLayoutView(obj);
                     }
 
-                    var processCheck = false,
-                        containsList = Utils.getNestedSuperTypes({ data: this.activeEntityDef.toJSON(), collection: this.entityDefCollection }),
-                        superType = _.find(containsList, function(type) {
-                            if (type === "DataSet" || type === "Process") {
-                                if (type === "Process") {
-                                    processCheck = true;
-                                }
-                                return true;
+                    if (isLineageRender) {
+                        this.$('.lineageGraph').show();
+                        this.renderLineageLayoutView({
+                            processCheck: isProcess,
+                            guid: this.id,
+                            entityDefCollection: this.entityDefCollection,
+                            fetchCollection: this.fetchCollection.bind(this),
+                            actionCallBack: function() {
+                                that.$('#expand_collapse_panel').click();
                             }
                         });
-
-                    this.renderLineageLayoutView({
-                        processCheck: processCheck,
-                        guid: this.id,
-                        entityDefCollection: this.entityDefCollection,
-                        actionCallBack: function() {
-                            that.$('#expand_collapse_panel').click();
-                        }
-                    });
+                        this.$(".resizeGraph").resizable({
+                            handles: ' s',
+                            minHeight: 375,
+                            stop: function(event, ui) {
+                                ui.element.height(($(this).height()));
+                            },
+                        });
+                    }
 
                     // To render Schema check attribute "schemaElementsAttribute"
                     var schemaOptions = this.entityDefCollection.fullCollection.find({ name: collectionJSON.typeName }).get('options');
@@ -294,6 +313,11 @@ define(['require',
                     $("html, body").animate({ scrollTop: (this.$('.tab-content').offset().top + 1200) }, 1000);
                 }
             },
+            onDestroy: function() {
+                if (!Utils.getUrlState.isDetailPage()) {
+                    $('body').removeClass("detail-page");
+                }
+            },
             fetchCollection: function() {
                 this.collection.fetch({ reset: true });
             },

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/views/graph/LineageLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/graph/LineageLayoutView.js b/dashboardv2/public/js/views/graph/LineageLayoutView.js
index 5385bc4..1edffbc 100644
--- a/dashboardv2/public/js/views/graph/LineageLayoutView.js
+++ b/dashboardv2/public/js/views/graph/LineageLayoutView.js
@@ -26,8 +26,9 @@ define(['require',
     'd3-tip',
     'utils/Enums',
     'utils/UrlLinks',
+    'utils/Globals',
     'platform'
-], function(require, Backbone, LineageLayoutViewtmpl, VLineageList, VEntity, Utils, dagreD3, d3Tip, Enums, UrlLinks, platform) {
+], function(require, Backbone, LineageLayoutViewtmpl, VLineageList, VEntity, Utils, dagreD3, d3Tip, Enums, UrlLinks, Globals, platform) {
     'use strict';
 
     var LineageLayoutView = Backbone.Marionette.LayoutView.extend(
@@ -43,13 +44,20 @@ define(['require',
             /** ui selector cache */
             ui: {
                 graph: ".graph",
-                checkHideProcess: "[data-id='checkHideProcess']"
+                checkHideProcess: "[data-id='checkHideProcess']",
+                checkDeletedEntity: "[data-id='checkDeletedEntity']",
+                selectDepth: 'select[data-id="selectDepth"]',
+                fltrTogler: '[data-id="fltr-togler"]',
+                lineageFilterPanel: '.lineage-fltr-panel'
             },
 
             /** ui events hash */
             events: function() {
                 var events = {};
-                events["click " + this.ui.checkHideProcess] = 'onCheckHideProcess';
+                events["click " + this.ui.checkHideProcess] = 'onCheckUnwantedEntity';
+                events["click " + this.ui.checkDeletedEntity] = 'onCheckUnwantedEntity';
+                events['change ' + this.ui.selectDepth] = 'onSelectDepthChange';
+                events["click " + this.ui.fltrTogler] = 'onClickFiltrTogler';
                 return events;
             },
 
@@ -65,6 +73,11 @@ define(['require',
                 this.apiGuid = {};
                 this.asyncFetchCounter = 0;
                 this.edgeCall;
+                this.filterObj = {
+                    isProcessHideCheck: false,
+                    isDeletedEntityHideCheck: false,
+                    depthCount: ''
+                };
             },
 
             initializeGraph: function() {
@@ -98,22 +111,47 @@ define(['require',
                     this.hideCheckForProcess();
                 }
                 this.initializeGraph();
+                this.ui.selectDepth.select2({
+                    data: _.sortBy([3, 6, 9, 12, 15, 18, 21]),
+                    tags: true,
+                    dropdownCssClass: "number-input",
+                    multiple: false
+                });
             },
             onShow: function() {
                 this.$('.fontLoader').show();
             },
-            onCheckHideProcess: function(e) {
+            onCheckUnwantedEntity: function(e) {
                 var data = $.extend(true, {}, this.lineageData);
                 this.fromToObj = {};
                 this.initializeGraph();
-                this.generateData(data.relations, data.guidEntityMap, e.target.checked);
+                if ($(e.target).data("id") === "checkHideProcess") {
+                    this.filterObj.isProcessHideCheck = e.target.checked;
+                } else {
+                    this.filterObj.isDeletedEntityHideCheck = e.target.checked;
+                }
+                this.generateData(data.relations, data.guidEntityMap);
+            },
+            onClickFiltrTogler: function() {
+                var lineageFilterPanel = this.ui.lineageFilterPanel;
+                $(lineageFilterPanel).toggleClass("show-filter-panel");
             },
 
-            fetchGraphData: function() {
-                var that = this;
+            onSelectDepthChange: function(e, options) {
+                this.initializeGraph();
+                this.filterObj.depthCount = e.currentTarget.value;
+                this.fetchGraphData({ queryParam: { 'depth': this.filterObj.depthCount } });
+            },
+
+            fetchGraphData: function(options) {
+                var that = this,
+                    queryParam = options && options.queryParam || {};
                 this.fromToObj = {};
+                this.$('.fontLoader').show();
+                this.$('svg>g').hide();
                 this.collection.getLineage(this.guid, {
                     skipDefaultError: true,
+                    queryParam: queryParam,
                     success: function(data) {
                         if (data.relations.length) {
                             that.lineageData = $.extend(true, {}, data)
@@ -126,11 +164,16 @@ define(['require',
                     cust_error: function(model, response) {
                         that.lineageData = [];
                         that.noLineage();
+                    },
+                    complete: function() {
+                        that.$('.fontLoader').hide();
+                        that.$('svg>g').show();
                     }
                 })
             },
             noLineage: function() {
                 this.$('.fontLoader').hide();
+                this.$('.depthContainer').hide();
                 //this.$('svg').height('100');
                 this.$('svg').html('<text x="50%" y="50%" alignment-baseline="middle" text-anchor="middle">No lineage data found</text>');
                 if (this.actionCallBack) {
@@ -140,12 +183,35 @@ define(['require',
             hideCheckForProcess: function() {
                 this.$('.hideProcessContainer').hide();
             },
-            generateData: function(relations, guidEntityMap, hideProcess) {
+            generateData: function(relations, guidEntityMap) {
                 var that = this;
 
                 function isProcess(typeName) {
                     var entityDef = that.entityDefCollection.fullCollection.find({ name: typeName });
-                    return _.contains(Utils.getNestedSuperTypes({ data: entityDef.toJSON(), collection: that.entityDefCollection}), "Process")
+                    return _.contains(Utils.getNestedSuperTypes({ data: entityDef.toJSON(), collection: that.entityDefCollection }), "Process")
+                }
+
+                function isDeleted(status) {
+                    return Enums.entityStateReadOnly[status];
+                }
+
+                function isNodeToBeUpdated(node) {
+                    if (that.filterObj.isProcessHideCheck) {
+                        return isProcess(node.typeName);
+                    } else if (that.filterObj.isDeletedEntityHideCheck) {
+                        return isDeleted(node.status);
+                    }
+                }
+
+                function getServiceType(typeName) {
+                    var serviceType = null;
+                    if (typeName) {
+                        var entityDef = that.entityDefCollection.fullCollection.find({ name: typeName });
+                        if (entityDef) {
+                            serviceType = entityDef.get("serviceType") || null;
+                        }
+                    }
+                    return serviceType;
                 }
 
                 function makeNodeObj(relationObj) {
@@ -157,10 +223,11 @@ define(['require',
                     obj['id'] = relationObj.guid;
                     obj['isLineage'] = true;
                     obj['queryText'] = relationObj.queryText;
+                    obj['serviceType'] = getServiceType(relationObj.typeName);
                     if (relationObj.status) {
                         obj['status'] = relationObj.status;
                     }
-                    if (hideProcess) {
+                    if (that.filterObj.isProcessHideCheck) {
                         obj['isProcess'] = relationObj.isProcess;
                     } else {
                         obj['isProcess'] = isProcess(relationObj.typeName);
@@ -169,14 +236,18 @@ define(['require',
                     return obj;
                 }
 
-                var newRelations = [];
-
-                if (hideProcess) {
+                var newRelations = [],
+                    finalRelations = relations,
+                    isHideFilterOn = this.filterObj.isProcessHideCheck || this.filterObj.isDeletedEntityHideCheck;
+                if (isHideFilterOn) {
                     _.each(relations, function(obj, index, relationArr) {
-                        var isFromEntityIdProcess = isProcess(guidEntityMap[obj.fromEntityId].typeName);
-                        var isToEntityProcess = isProcess(guidEntityMap[obj.toEntityId].typeName);
-                        if (isToEntityProcess) {
-                            guidEntityMap[obj.toEntityId]["isProcess"] = true;
+                        var toNodeToBeUpdated = isNodeToBeUpdated(guidEntityMap[obj.toEntityId]);
+                        var fromNodeToBeUpdated = isNodeToBeUpdated(guidEntityMap[obj.fromEntityId]);
+                        if (toNodeToBeUpdated) {
+                            if (that.filterObj.isProcessHideCheck) {
+                                //We have already checked entity is process or not inside isNodeToBeUpdated();
+                                guidEntityMap[obj.toEntityId]["isProcess"] = true;
+                            }
                             _.filter(relationArr, function(flrObj) {
                                 if (flrObj.fromEntityId === obj.toEntityId) {
                                     newRelations.push({
@@ -185,8 +256,12 @@ define(['require',
                                     });
                                 }
                             })
-                        } else if (isFromEntityIdProcess) {
-                            guidEntityMap[obj.fromEntityId]["isProcess"] = true;
+                        } else if (fromNodeToBeUpdated) {
+                            if (that.filterObj.isProcessHideCheck) {
+                                //We have already checked entity is process or not inside isNodeToBeUpdated();
+                                guidEntityMap[obj.fromEntityId]["isProcess"] = true;
+                            }
+
                             _.filter(relationArr, function(flrObj) {
                                 if (flrObj.toEntityId === obj.fromEntityId) {
                                     newRelations.push({
@@ -199,13 +274,9 @@ define(['require',
                             newRelations.push(obj);
                         }
                     });
+                    finalRelations = newRelations;
                 }
 
-
-                var finalRelations = hideProcess ? newRelations : relations;
-
-
-
                 _.each(finalRelations, function(obj, index) {
                     if (!that.fromToObj[obj.fromEntityId]) {
                         that.fromToObj[obj.fromEntityId] = makeNodeObj(guidEntityMap[obj.fromEntityId]);
@@ -217,8 +288,8 @@ define(['require',
                     }
                     var styleObj = {
                         fill: 'none',
-                        stroke: '#8bc152',
-                        width: 2
+                        stroke: '#ffb203',
+                        width: 3
                     }
                     that.g.setEdge(obj.fromEntityId, obj.toEntityId, { 'arrowhead': "arrowPoint", lineInterpolate: 'basis', "style": "fill:" + styleObj.fill + ";stroke:" + styleObj.stroke + ";stroke-width:" + styleObj.width + "", 'styleObj': styleObj });
                 });
@@ -242,7 +313,7 @@ define(['require',
                             var styleObj = {
                                 fill: 'none',
                                 stroke: '#fb4200',
-                                width: 2
+                                width: 3
                             }
                             that.g.setEdge(node.fromEntityId, node.toEntityId, { 'arrowhead': "arrowPoint", lineInterpolate: 'basis', "style": "fill:" + styleObj.fill + ";stroke:" + styleObj.stroke + ";stroke-width:" + styleObj.width + "", 'styleObj': styleObj });
                             that.checkForLineageOrImpactFlag(relations, node.toEntityId);
@@ -259,7 +330,7 @@ define(['require',
                 }
             },
             setGraphZoomPositionCal: function(argument) {
-                var initialScale = 1.2,
+                var initialScale = 1.6,
                     svgEl = this.$('svg'),
                     scaleEl = this.$('svg').find('>g'),
                     translateValue = [(this.$('svg').width() - this.g.graph().width * initialScale) / 2, (this.$('svg').height() - this.g.graph().height * initialScale) / 2]
@@ -272,7 +343,7 @@ define(['require',
                     if (svgEl.hasClass('noScale')) {
                         if (!scaleEl.hasClass('scaleLinage')) {
                             scaleEl.addClass('scaleLinage');
-                            initialScale = 1.2;
+                            initialScale = 1.6;
                         } else {
                             scaleEl.removeClass('scaleLinage');
                             initialScale = 0;
@@ -308,19 +379,16 @@ define(['require',
                     var marker = parent.append("marker")
                         .attr("id", id)
                         .attr("viewBox", "0 0 10 10")
-                        .attr("refX", 9)
+                        .attr("refX", 8)
                         .attr("refY", 5)
                         .attr("markerUnits", "strokeWidth")
-                        .attr("markerWidth", 10)
-                        .attr("markerHeight", 8)
+                        .attr("markerWidth", 4)
+                        .attr("markerHeight", 4)
                         .attr("orient", "auto");
 
                     var path = marker.append("path")
                         .attr("d", "M 0 0 L 10 5 L 0 10 z")
-                        .style("stroke-width", 1)
-                        .style("stroke-dasharray", "1,0")
-                        .style("fill", edge.styleObj.stroke)
-                        .style("stroke", edge.styleObj.stroke);
+                        .style("fill", edge.styleObj.stroke);
                     dagreD3.util.applyStyle(path, edge[type + "Style"]);
                 };
                 render.shapes().img = function circle(parent, bbox, node) {
@@ -330,8 +398,8 @@ define(['require',
                     }
                     var shapeSvg = parent.append('circle')
                         .attr('fill', 'url(#img_' + node.id + ')')
-                        .attr('r', currentNode ? '15px' : '14px')
-                        .attr("class", "nodeImage " + (currentNode ? "currentNode" : (node.isProcess ? "blue" : "green")));
+                        .attr('r', '24px')
+                        .attr("class", "nodeImage " + (currentNode ? "currentNode" : (node.isProcess ? "process" : "node")));
 
                     parent.insert("defs")
                         .append("pattern")
@@ -344,33 +412,19 @@ define(['require',
                         .append('image')
                         .attr("xlink:href", function(d) {
                             if (node) {
-                                if (node.isProcess) {
-                                    if (Enums.entityStateReadOnly[node.status]) {
-                                        return UrlLinks.apiBaseUrl + '/img/icon-gear-delete.png';
-                                    } else if (node.id == that.guid) {
-                                        return UrlLinks.apiBaseUrl + '/img/icon-gear-active.png';
-                                    } else {
-                                        return UrlLinks.apiBaseUrl + '/img/icon-gear.png';
-                                    }
-                                } else {
-                                    if (Enums.entityStateReadOnly[node.status]) {
-                                        return UrlLinks.apiBaseUrl + '/img/icon-table-delete.png';
-                                    } else if (node.id == that.guid) {
-                                        return UrlLinks.apiBaseUrl + '/img/icon-table-active.png';
-                                    } else {
-                                        return UrlLinks.apiBaseUrl + '/img/icon-table.png';
-                                    }
-                                }
+                                return Utils.getEntityIconPath({ entityData: node });
                             }
                         })
-                        .attr("x", "2")
-                        .attr("y", "2")
-                        .attr("width", currentNode ? "26" : "24")
-                        .attr("height", currentNode ? "26" : "24")
+                        .attr("x", currentNode ? "3" : "6")
+                        .attr("y", currentNode ? "3" : "4")
+                        .attr("width", "40")
+                        .attr("height", "40")
+                        .on("error", function() {
+                            this.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', Utils.getEntityIconPath({ entityData: node, errorUrl: this.href.baseVal }));
+                        });
 
                     node.intersect = function(point) {
-                        //return dagreD3.intersect.circle(node, points, point);
-                        return dagreD3.intersect.circle(node, currentNode ? 16 : 13, point);
+                        return dagreD3.intersect.circle(node, currentNode ? 24 : 21, point);
                     };
                     return shapeSvg;
                 };
@@ -460,7 +514,7 @@ define(['require',
                     .on("wheel.zoom", null);
                 //change text postion 
                 svgGroup.selectAll("g.nodes g.label")
-                    .attr("transform", "translate(2,-30)");
+                    .attr("transform", "translate(2,-35)");
                 svgGroup.selectAll("g.nodes g.node")
                     .on('mouseenter', function(d) {
                         that.activeNode = true;

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/views/search/SearchResultLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/search/SearchResultLayoutView.js b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
index b5feabc..d1da75b 100644
--- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
@@ -76,7 +76,8 @@ define(['require',
                 return {
                     entityCreate: Globals.entityCreate,
                     searchType: this.searchType,
-                    taxonomy: Globals.taxonomy
+                    taxonomy: Globals.taxonomy,
+                    fromView: this.fromView
                 };
             },
             /** ui events hash */
@@ -150,7 +151,7 @@ define(['require',
              * @constructs
              */
             initialize: function(options) {
-                _.extend(this, _.pick(options, 'value', 'initialView', 'isTypeTagNotExists', 'classificationDefCollection', 'entityDefCollection', 'typeHeaders', 'searchVent', 'enumDefCollection', 'tagCollection', 'searchTableColumns', 'isDisable'));
+                _.extend(this, _.pick(options, 'value', 'initialView', 'isTypeTagNotExists', 'classificationDefCollection', 'entityDefCollection', 'typeHeaders', 'searchVent', 'enumDefCollection', 'tagCollection', 'searchTableColumns', 'isDisable', 'fromView'));
                 this.entityModel = new VEntity();
                 this.searchCollection = new VSearchList();
                 this.limit = 25;
@@ -646,7 +647,7 @@ define(['require',
                                 nameHtml = "",
                                 name = Utils.getName(obj);
                             if (obj.guid) {
-                                nameHtml = '<a title="' + name + '" href="#!/detailPage/' + obj.guid + '">' + name + '</a>';
+                                nameHtml = '<a title="' + name + '" href="#!/detailPage/' + obj.guid + (that.fromView ? "?from=" + that.fromView : "") + '">' + name + '</a>';
                             } else {
                                 nameHtml = '<span title="' + name + '">' + name + '</span>';
                             }

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/views/site/Header.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/site/Header.js b/dashboardv2/public/js/views/site/Header.js
index f53d3e8..067193d 100644
--- a/dashboardv2/public/js/views/site/Header.js
+++ b/dashboardv2/public/js/views/site/Header.js
@@ -19,15 +19,46 @@
 define(['require',
     'hbs!tmpl/site/header',
     'utils/CommonViewFunction',
-    'utils/Globals'
-], function(require, tmpl, CommonViewFunction, Globals) {
+    'utils/Globals',
+    'utils/Utils'
+], function(require, tmpl, CommonViewFunction, Globals, Utils) {
     'use strict';
 
     var Header = Marionette.LayoutView.extend({
         template: tmpl,
         regions: {},
-        events: {},
+        ui: {
+            backButton: "[data-id='backButton']",
+            menuHamburger: "[data-id='menuHamburger']",
+        },
+        events: function() {
+            var events = {};
+            events['click ' + this.ui.backButton] = function() {
+                var queryParams = Utils.getUrlState.getQueryParams(),
+                    urlPath = "searchUrl";
+                if (queryParams && queryParams.from) {
+                    if (queryParams.from == "tag") {
+                        urlPath = "tagUrl";
+                    } else if (queryParams.from == "taxonomy") {
+                        urlPath = "taxonomyUrl";
+                    }
+                }
+                Utils.setUrl({
+                    url: Globals.saveApplicationState.tabState[urlPath],
+                    mergeBrowserUrl: false,
+                    trigger: true,
+                    updateTabState: true
+                });
+
+            };
+            events['click ' + this.ui.menuHamburger] = function() {
+                $('body').toggleClass("full-screen");
+            };
+            return events;
+
+        },
         initialize: function(options) {},
+
         onRender: function() {
             var that = this;
             if (Globals.userLogedIn.status) {
@@ -36,4 +67,4 @@ define(['require',
         },
     });
     return Header;
-});
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/views/tag/TagDetailLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/tag/TagDetailLayoutView.js b/dashboardv2/public/js/views/tag/TagDetailLayoutView.js
index e5087c0..418894d 100644
--- a/dashboardv2/public/js/views/tag/TagDetailLayoutView.js
+++ b/dashboardv2/public/js/views/tag/TagDetailLayoutView.js
@@ -66,7 +66,8 @@ define(['require',
                             typeHeaders: that.typeHeaders,
                             tagCollection: that.collection,
                             enumDefCollection: that.enumDefCollection,
-                            classificationDefCollection: that.classificationDefCollection
+                            classificationDefCollection: that.classificationDefCollection,
+                            fromView: "tag"
                         }));
                     }
                 });


[2/2] atlas git commit: ATLAS-3004 : UI : Updating new details page and lineage icon changes for branch-0.8

Posted by kb...@apache.org.
ATLAS-3004 : UI : Updating new details page and lineage icon changes for branch-0.8


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/6bc3aee1
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/6bc3aee1
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/6bc3aee1

Branch: refs/heads/branch-0.8
Commit: 6bc3aee1193d2b46626bffbbe47835fbdededfd7
Parents: 900f99b
Author: kevalbhatt <kb...@apache.org>
Authored: Mon Dec 24 16:20:07 2018 +0530
Committer: kevalbhatt <kb...@apache.org>
Committed: Wed Jan 2 11:58:56 2019 +0530

----------------------------------------------------------------------
 dashboardv2/gruntfile.js                        |   6 +-
 dashboardv2/package.json                        |   8 +-
 dashboardv2/public/css/scss/common.scss         |  42 +++++
 dashboardv2/public/css/scss/graph.scss          | 172 +++++++++++++++++-
 dashboardv2/public/css/scss/theme.scss          |  71 +++++++-
 .../public/img/entity-icon/AtlasServer.png      | Bin 0 -> 5722 bytes
 dashboardv2/public/img/entity-icon/DataSet.png  | Bin 0 -> 3830 bytes
 dashboardv2/public/img/entity-icon/avro.png     | Bin 0 -> 7521 bytes
 dashboardv2/public/img/entity-icon/aws.png      | Bin 0 -> 9915 bytes
 dashboardv2/public/img/entity-icon/db.png       | Bin 0 -> 6057 bytes
 .../img/entity-icon/disabled/AtlasServer.png    | Bin 0 -> 4921 bytes
 .../public/img/entity-icon/disabled/DataSet.png | Bin 0 -> 3362 bytes
 .../public/img/entity-icon/disabled/avro.png    | Bin 0 -> 5707 bytes
 .../public/img/entity-icon/disabled/aws.png     | Bin 0 -> 7337 bytes
 .../public/img/entity-icon/disabled/db.png      | Bin 0 -> 4729 bytes
 .../public/img/entity-icon/disabled/falcon.png  | Bin 0 -> 5880 bytes
 .../img/entity-icon/disabled/file_system.png    | Bin 0 -> 6613 bytes
 .../public/img/entity-icon/disabled/hadoop.png  | Bin 0 -> 6408 bytes
 .../public/img/entity-icon/disabled/hbase.png   | Bin 0 -> 5289 bytes
 .../img/entity-icon/disabled/hbase_column.png   | Bin 0 -> 5390 bytes
 .../disabled/hbase_column_family.png            | Bin 0 -> 5390 bytes
 .../img/entity-icon/disabled/hbase_table.png    | Bin 0 -> 5508 bytes
 .../img/entity-icon/disabled/hdfs_path.png      | Bin 0 -> 6613 bytes
 .../public/img/entity-icon/disabled/hive.png    | Bin 0 -> 7791 bytes
 .../img/entity-icon/disabled/hive_column.png    | Bin 0 -> 8235 bytes
 .../disabled/hive_column_lineage.png            | Bin 0 -> 8235 bytes
 .../public/img/entity-icon/disabled/hive_db.png | Bin 0 -> 9466 bytes
 .../img/entity-icon/disabled/hive_process.png   | Bin 0 -> 9870 bytes
 .../entity-icon/disabled/hive_storagedesc.png   | Bin 0 -> 9035 bytes
 .../img/entity-icon/disabled/hive_table.png     | Bin 0 -> 8379 bytes
 .../img/entity-icon/disabled/jms_topic.png      | Bin 0 -> 6776 bytes
 .../public/img/entity-icon/disabled/kafka.png   | Bin 0 -> 5285 bytes
 .../img/entity-icon/disabled/kafka_topic.png    | Bin 0 -> 5285 bytes
 .../public/img/entity-icon/disabled/process.png | Bin 0 -> 5702 bytes
 .../public/img/entity-icon/disabled/rdbms.png   | Bin 0 -> 3541 bytes
 .../img/entity-icon/disabled/rdbms_column.png   | Bin 0 -> 4016 bytes
 .../img/entity-icon/disabled/rdbms_db.png       | Bin 0 -> 5656 bytes
 .../img/entity-icon/disabled/rdbms_table.png    | Bin 0 -> 4165 bytes
 .../public/img/entity-icon/disabled/sqoop.png   | Bin 0 -> 4081 bytes
 .../img/entity-icon/disabled/sqoop_db.png       | Bin 0 -> 6123 bytes
 .../img/entity-icon/disabled/sqoop_process.png  | Bin 0 -> 6862 bytes
 .../public/img/entity-icon/disabled/storm.png   | Bin 0 -> 5787 bytes
 .../img/entity-icon/disabled/storm_bolt.png     | Bin 0 -> 4716 bytes
 .../img/entity-icon/disabled/storm_spout.png    | Bin 0 -> 5308 bytes
 .../img/entity-icon/disabled/storm_topology.png | Bin 0 -> 5223 bytes
 .../public/img/entity-icon/disabled/table.png   | Bin 0 -> 3000 bytes
 dashboardv2/public/img/entity-icon/falcon.png   | Bin 0 -> 7981 bytes
 .../public/img/entity-icon/file_system.png      | Bin 0 -> 7668 bytes
 dashboardv2/public/img/entity-icon/hadoop.png   | Bin 0 -> 7696 bytes
 dashboardv2/public/img/entity-icon/hbase.png    | Bin 0 -> 6961 bytes
 .../public/img/entity-icon/hbase_column.png     | Bin 0 -> 8549 bytes
 .../img/entity-icon/hbase_column_family.png     | Bin 0 -> 8549 bytes
 .../public/img/entity-icon/hbase_table.png      | Bin 0 -> 8587 bytes
 .../public/img/entity-icon/hdfs_path.png        | Bin 0 -> 7668 bytes
 dashboardv2/public/img/entity-icon/hive.png     | Bin 0 -> 9051 bytes
 .../public/img/entity-icon/hive_column.png      | Bin 0 -> 12483 bytes
 .../img/entity-icon/hive_column_lineage.png     | Bin 0 -> 12483 bytes
 dashboardv2/public/img/entity-icon/hive_db.png  | Bin 0 -> 15230 bytes
 .../public/img/entity-icon/hive_process.png     | Bin 0 -> 15471 bytes
 .../public/img/entity-icon/hive_storagedesc.png | Bin 0 -> 13851 bytes
 .../public/img/entity-icon/hive_table.png       | Bin 0 -> 12677 bytes
 .../public/img/entity-icon/jms_topic.png        | Bin 0 -> 8897 bytes
 dashboardv2/public/img/entity-icon/kafka.png    | Bin 0 -> 6666 bytes
 .../public/img/entity-icon/kafka_topic.png      | Bin 0 -> 6666 bytes
 dashboardv2/public/img/entity-icon/process.png  | Bin 0 -> 7307 bytes
 dashboardv2/public/img/entity-icon/rdbms.png    | Bin 0 -> 3763 bytes
 .../public/img/entity-icon/rdbms_column.png     | Bin 0 -> 4602 bytes
 dashboardv2/public/img/entity-icon/rdbms_db.png | Bin 0 -> 7486 bytes
 .../public/img/entity-icon/rdbms_table.png      | Bin 0 -> 4881 bytes
 dashboardv2/public/img/entity-icon/sqoop.png    | Bin 0 -> 4941 bytes
 dashboardv2/public/img/entity-icon/sqoop_db.png | Bin 0 -> 8198 bytes
 .../public/img/entity-icon/sqoop_process.png    | Bin 0 -> 9508 bytes
 dashboardv2/public/img/entity-icon/storm.png    | Bin 0 -> 7782 bytes
 .../public/img/entity-icon/storm_bolt.png       | Bin 0 -> 5823 bytes
 .../public/img/entity-icon/storm_spout.png      | Bin 0 -> 6763 bytes
 .../public/img/entity-icon/storm_topology.png   | Bin 0 -> 6563 bytes
 dashboardv2/public/img/entity-icon/table.png    | Bin 0 -> 3068 bytes
 dashboardv2/public/index.html.tpl               |   1 +
 dashboardv2/public/js/modules/Helpers.js        |  10 +-
 .../js/templates/common/TableLayout_tmpl.html   |   2 +-
 .../detail_page/DetailPageLayoutView_tmpl.html  | 179 ++++++++++---------
 .../templates/graph/LineageLayoutView_tmpl.html |  62 +++++--
 .../search/SearchResultLayoutView_tmpl.html     |   6 +-
 .../public/js/templates/site/header.html        |   8 +-
 dashboardv2/public/js/utils/Globals.js          |   3 +-
 dashboardv2/public/js/utils/Overrides.js        |  29 ++-
 dashboardv2/public/js/utils/Utils.js            |  51 ++++++
 .../views/detail_page/DetailPageLayoutView.js   |  70 +++++---
 .../public/js/views/graph/LineageLayoutView.js  | 178 +++++++++++-------
 .../js/views/search/SearchResultLayoutView.js   |   7 +-
 dashboardv2/public/js/views/site/Header.js      |  39 +++-
 .../public/js/views/tag/TagDetailLayoutView.js  |   3 +-
 92 files changed, 722 insertions(+), 225 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/gruntfile.js
----------------------------------------------------------------------
diff --git a/dashboardv2/gruntfile.js b/dashboardv2/gruntfile.js
index 451a933..f3ea5d3 100644
--- a/dashboardv2/gruntfile.js
+++ b/dashboardv2/gruntfile.js
@@ -135,7 +135,8 @@ module.exports = function(grunt) {
                     },
                     'query-builder.default.min.css': { 'jQuery-QueryBuilder/dist/css': 'jQueryQueryBuilder/css' },
                     'daterangepicker.css': { 'bootstrap-daterangepicker': 'bootstrap-daterangepicker/css' },
-                    'nv.d3.min.css': { 'nvd3/build': 'nvd3/css' }
+                    'nv.d3.min.css': { 'nvd3/build': 'nvd3/css' },
+                    'pretty-checkbox.min.css': { 'pretty-checkbox/dist': 'pretty-checkbox/css' }
                 }
 
             },
@@ -158,7 +159,8 @@ module.exports = function(grunt) {
                         { 'd3-tip': 'd3/' },
                         { 'dagre-d3': 'dagre-d3' },
                         { 'platform': 'platform/' },
-                        { 'jQuery-QueryBuilder': 'jQueryQueryBuilder/' }
+                        { 'jQuery-QueryBuilder': 'jQueryQueryBuilder/' },
+                        { 'pretty-checkbox': 'pretty-checkbox' }
                     ],
                     'LICENSE.md': [{ 'backbone.babysitter': 'backbone-babysitter' },
                         { 'backbone.wreqr': 'backbone-wreqr' },

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/package.json
----------------------------------------------------------------------
diff --git a/dashboardv2/package.json b/dashboardv2/package.json
index b6643df..ce13b06 100644
--- a/dashboardv2/package.json
+++ b/dashboardv2/package.json
@@ -35,18 +35,19 @@
     "dagre-d3": "0.4.17",
     "font-awesome": "4.7.0",
     "jQuery-QueryBuilder": "2.4.3",
-    "jquery": "^3.2.1",
+    "jquery": "3.3.1",
     "jquery-asBreadcrumbs": "0.2.2",
     "jquery-placeholder": "2.3.1",
     "jquery-sparkline": "2.4.0",
-    "moment": "2.18.1",
+    "moment": "2.21.0",
     "nvd3": "1.8.5",
     "platform": "1.3.4",
     "pnotify": "3.2.0",
+    "pretty-checkbox": "3.0.3",
     "requirejs": "2.3.3",
     "requirejs-text": "2.0.15",
     "select2": "4.0.3",
-    "table-dragger": "^1.0.2",
+    "table-dragger": "1.0.2",
     "underscore": "1.8.3"
   },
   "devDependencies": {
@@ -57,6 +58,7 @@
     "grunt-contrib-copy": "1.0.0",
     "grunt-contrib-cssmin": "2.0.0",
     "grunt-contrib-htmlmin": "2.2.0",
+    "grunt-contrib-rename": "0.2.0",
     "grunt-contrib-uglify": "2.1.0",
     "grunt-contrib-watch": "1.0.0",
     "grunt-middleware-proxy": "1.0.7",

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/css/scss/common.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/common.scss b/dashboardv2/public/css/scss/common.scss
index d4973bb..ddc0a6d 100644
--- a/dashboardv2/public/css/scss/common.scss
+++ b/dashboardv2/public/css/scss/common.scss
@@ -20,6 +20,7 @@
 /* common.scss */
 
 .readOnly {
+
     span,
     button,
     a {
@@ -27,28 +28,35 @@
             &.fa-trash[data-guid] {
                 display: none;
             }
+
             &.fa-trash[data-id="delete"] {
                 display: none;
             }
         }
+
         &.btn[data-id="addTag"] {
             display: none;
         }
+
         &.editbutton[data-id="editButton"] {
             display: none !important;
         }
+
         &[data-id="delete"],
         &[data-id="edit"] {
             display: none;
         }
+
         &.btn[data-id="addTerm"] {
             display: none;
         }
+
         &.btn[data-id="tagClick"] {
             span {
                 display: block;
                 padding: 3px 5px 3px 5px;
             }
+
             i.fa-close[data-id="deleteTag"],
             i.fa-times[data-id="deleteTag"],
             i.fa-times[data-id="delete"] {
@@ -58,6 +66,26 @@
     }
 }
 
+.details-backbutton {
+    display: none !important;
+}
+
+.full-screen {
+    #sidebar-wrapper {
+        left: 0;
+    }
+
+    #wrapper {
+        padding-left: 0px;
+    }
+}
+
+.detail-page {
+    .details-backbutton {
+        display: block !important;
+    }
+}
+
 pre {
     background-color: ghostwhite;
     border: 1px solid silver;
@@ -71,6 +99,7 @@ pre {
     white-space: pre-wrap;
     /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */
     word-wrap: break-word;
+
     /* IE 5.5+ */
     &.code-block {
         code {
@@ -79,8 +108,10 @@ pre {
             display: block;
             overflow: auto;
         }
+
         position: relative;
         overflow: hidden;
+
         &.shrink {
             height: 40px;
             white-space: -moz-pre-wrap;
@@ -92,44 +123,55 @@ pre {
             white-space: pre-wrap;
             /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */
             word-wrap: break-word;
+
             /* IE 5.5+ */
             code {
                 height: 40px;
             }
+
             &.fixed-height {
                 height: 75px;
+
                 code {
                     height: 54px;
                 }
             }
+
             &.medium-height {
                 height: 100px;
             }
+
             .expand-collapse-button {
                 i:before {
                     content: "\f107";
                 }
             }
         }
+
         .expand-collapse-button {
             position: absolute;
             right: 3px;
             top: 4px;
             z-index: 1;
+
             i:before {
                 content: "\f106";
             }
         }
+
         .json-key {
             color: brown;
         }
+
         .json-value {
             color: navy;
         }
+
         .json-string {
             color: olive;
         }
     }
+
     code {
         font-family: monospace;
     }

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/css/scss/graph.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/graph.scss b/dashboardv2/public/css/scss/graph.scss
index 4081dc7..23a1904 100644
--- a/dashboardv2/public/css/scss/graph.scss
+++ b/dashboardv2/public/css/scss/graph.scss
@@ -28,33 +28,41 @@
 
 .node {
     cursor: pointer;
+
     text {
         font-size: 10px;
         font-family: $font_1;
     }
+
     rect {
         stroke: $color_mountain_mist_approx;
         fill: $white;
         stroke-width: 1.5px;
     }
+
     .label {
         fill: $color_suva_gray_approx;
     }
+
     circle {
         -moz-transition: all 0.3s;
         -webkit-transition: all 0.3s;
         transition: all 0.3s;
         stroke-width: 1.5px;
+
         &.nodeImage {
             &.green:hover {
-                stroke: #8bc152;
+                stroke: #ffb203;
             }
+
             &.blue:hover {
                 stroke: #4b91e2;
             }
+
             &.currentNode {
                 stroke: #fb4200;
             }
+
             &:hover {
                 -moz-transform: scale(1.4);
                 -webkit-transform: scale(1.4);
@@ -62,15 +70,18 @@
             }
         }
     }
+
     &.active {
         circle {
             -moz-transform: scale(1.4);
             -webkit-transform: scale(1.4);
             transform: scale(1.4);
+
             &.nodeImage {
                 &.green {
-                    stroke: #8bc152;
+                    stroke: #ffb203;
                 }
+
                 &.blue {
                     stroke: #4b91e2;
                 }
@@ -79,6 +90,12 @@
     }
 }
 
+.edgePath {
+    .path {
+        cursor: pointer;
+    }
+}
+
 .overlay {}
 
 .link {
@@ -96,14 +113,55 @@
     z-index: 999;
     max-width: 300px; //Instead of the line below you could use @include border-radius($radius, $vertical-radius)
     border-radius: 2px;
+
     .tip-inner-scroll {
         overflow: auto;
         max-height: 300px;
     }
+
+    /* Creates a small triangle extender for the tooltip */
+    &:after {
+        box-sizing: border-box;
+        display: inline;
+        font-size: 10px;
+        width: 100%;
+        line-height: 1;
+        color: rgba(0, 0, 0, 0.8);
+        position: absolute;
+    }
+
+    /* Nrthward tooltips */
     &.n:after {
-        margin: -1px 0 0;
+        content: "\25BC";
+        margin: -1px 0 0 0;
         top: 100%;
         left: 0;
+        text-align: center;
+    }
+
+    /* Eastward tooltips */
+    &.e:after {
+        content: "\25C0";
+        margin: -4px 0 0 0;
+        top: 50%;
+        left: -8px;
+    }
+
+    /* Southward tooltips */
+    &.s:after {
+        content: "\25B2";
+        margin: 0 0 1px 0;
+        top: -8px;
+        left: 0;
+        text-align: center;
+    }
+
+    /* Westward tooltips */
+    &.w:after {
+        content: "\25B6";
+        margin: -4px 0 0 -1px;
+        top: 50%;
+        left: 100%;
     }
 }
 
@@ -111,9 +169,11 @@ g.type-TK>rect {
     fill: $color_bright_turquoise_approx;
 }
 
-.hideProcessContainer {
-    position: absolute;
-    top: 12px;
+
+.graph-toolbar {
+    background-color: $white;
+    margin-bottom: 10px;
+    padding: 10px;
 }
 
 .legends {
@@ -136,9 +196,11 @@ g.type-TK>rect {
         transform: scaleX(0);
         width: 200px;
         transition: transform 0.3s ease-in;
+
         &.open {
             transform: scaleX(1);
         }
+
         .title {
             background: black;
             color: white;
@@ -146,12 +208,14 @@ g.type-TK>rect {
             padding-left: 17px;
             margin-top: 0;
             font-size: 14px;
+
             .navigation-font {
                 font-family: sans-serif;
                 padding: 0px 5px;
                 color: #fb4200;
             }
         }
+
         .close-details {
             position: absolute;
             top: 0;
@@ -162,12 +226,14 @@ g.type-TK>rect {
             cursor: pointer;
             font-size: 16px;
         }
+
         .propagation-list {
             overflow: auto;
             list-style-type: none;
             list-style-position: outside;
             padding-left: 30px;
         }
+
         .overlay {
             position: absolute;
             left: 0;
@@ -177,6 +243,7 @@ g.type-TK>rect {
             background: #d2d2d2b8;
             z-index: 99;
         }
+
         ul>li {
             word-wrap: break-word;
             margin-bottom: 5px;
@@ -191,4 +258,97 @@ g.type-TK>rect {
     border-radius: 5px;
     width: 100%;
     box-shadow: 1px 3px 3px 2px #bfbfbf;
+}
+
+.graph-button-group {
+    position: absolute;
+    top: 5px;
+    right: 5px;
+
+    .zoom-button-group {
+        margin-top: 8px;
+        border: 1px solid;
+        border-radius: 5px;
+        background-color: white;
+
+        [type="button"] {
+            display: block;
+            padding: 2px 6px;
+            cursor: pointer;
+        }
+    }
+}
+
+.lineage-fltr-panel {
+    position: absolute;
+    border: 1px solid #ccc;
+    width: 250px;
+    max-height: 99%;
+    overflow: auto;
+    transition: all 0.3s ease;
+    right: -273px;
+    box-shadow: 9px -14px 26px 6px;
+    background-color: #f5f5f5;
+    //color: $white;
+    z-index: 999;
+
+    .header {
+        background: black;
+        color: white;
+        text-align: center;
+        margin-bottom: 15px;
+        position: absolute;
+        width: 100%;
+
+        >h4 {
+            padding: 0px 36px 0px 10px;
+            word-break: break-all;
+        }
+
+        .fltr-togler {
+            position: absolute;
+            right: 0px;
+            top: 0px;
+        }
+    }
+
+    .body {
+        padding: 10px;
+        margin-top: 39px;
+        width: 100%;
+        position: relative;
+        height: 200px;
+        overflow: auto;
+    }
+}
+
+.show-filter-panel {
+    right: 0px !important;
+}
+
+
+.btn-gray {
+    border: 1px solid #686868;
+    color: $dark_gray;
+    background: white;
+}
+
+.btn-gray:hover {
+    border: 1px solid #686868;
+    color: $dark_gray !important;
+    background-color: transparent !important;
+}
+
+
+span#zoom_in {
+    border-bottom: 1px solid #625555;
+}
+
+.depthContainer {
+
+    //display: inline-block;
+    //margin-top: 3px;
+    .inline {
+        display: inline-block;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/css/scss/theme.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/theme.scss b/dashboardv2/public/css/scss/theme.scss
index 499f5df..9b8a922 100644
--- a/dashboardv2/public/css/scss/theme.scss
+++ b/dashboardv2/public/css/scss/theme.scss
@@ -33,27 +33,32 @@ header {
 .header-menu {
     .dropdown-menu>li>a {
         color: $color_ironside_gray_approx;
+
         &:hover {
             color: $color_jungle_green_approx;
         }
+
         i {
             padding-right: 3px;
         }
     }
+
     >a {
         display: inline-block;
         color: $color_ironside_gray_approx;
-        padding: 16px 14px;
+        padding: 15px 14px;
+
         &:hover {
             border-bottom: 2px solid $color_jungle_green_approx;
             padding: 14px 14px;
             color: $color_jungle_green_approx;
         }
+
         span {
             padding: 5px;
         }
+
         i {
-            margin-top: 7px;
             font-size: 18px;
         }
     }
@@ -69,6 +74,7 @@ header {
         font-size: 18px;
         font-style: italic;
     }
+
     .input-group-addon {
         font-size: 20px;
         color: $color_bombay_approx;
@@ -85,6 +91,7 @@ header {
 #sideNav-wrapper {
     color: $white;
     font-size: 16px !important;
+
     .well {
         background-color: $color_tuna_approx;
         border: 1px solid #666363;
@@ -94,15 +101,26 @@ header {
 }
 
 .page-title {
-    background-color: $white;
-    padding: 25px;
+    background-color: $color_white_lilac_approx;
+    padding: 10px 15px 0px 15px;
+
+    .title {
+        padding-top: 0;
+        margin-top: 0;
+    }
+
     h1 {
+        &.title {
+            word-break: break-all;
+        }
+
         // margin-top: 50px;
         margin-bottom: 10px;
         font-weight: 600;
         @include ellipsis();
         max-width: 91%;
         display: inline-block;
+
         small {
             position: relative;
             bottom: 5px;
@@ -115,6 +133,7 @@ header {
             text-transform: uppercase;
         }
     }
+
     .sub-title {
         margin-bottom: 40px;
     }
@@ -134,14 +153,19 @@ header {
 
 a {
     color: $color_jungle_green_approx;
+    cursor: pointer;
+
     &:focus {
         color: $color_puerto_rico_approx;
         text-decoration: none;
         outline: none;
+        cursor: pointer;
     }
+
     &:hover {
         color: $color_puerto_rico_approx;
         text-decoration: none;
+        cursor: pointer;
     }
 }
 
@@ -152,11 +176,13 @@ a {
 
 .blue-link {
     color: $color_havelock_blue_approx;
+
     &:focus {
         color: $color_havelock_blue_approx;
         text-decoration: none;
         outline: none;
     }
+
     &:hover {
         color: $color_havelock_blue_approx;
         text-decoration: underline;
@@ -184,16 +210,17 @@ hr[size="10"] {
     margin-bottom: 2px;
     background-color: $white;
     max-width: none;
+
     .table {
         width: auto;
     }
 }
 
-
 .table-quickMenu>tbody>tr>td {
     &.searchTerm {
         overflow: visible;
     }
+
     &.searchTag {}
 }
 
@@ -214,8 +241,7 @@ hr[size="10"] {
 }
 
 .gray-bg {
-    background-color: #f6f7fb;
-    padding-bottom: 4%;
+    background-color: $color_white_lilac_approx
 }
 
 
@@ -230,13 +256,16 @@ hr[size="10"] {
     padding: 25px 0;
     margin-top: 25px;
     border-top: 1px $color_mystic_approx solid;
+
     .comment {
         margin-bottom: 25px;
     }
+
     .author {
         color: $color_keppel_approx;
         margin-bottom: 0;
     }
+
     .date {
         color: $color_star_dust_approx;
     }
@@ -302,6 +331,10 @@ hr[size="10"] {
     margin-right: 0px !important;
 }
 
+.no-border {
+    border: none !important;
+}
+
 .position-relative {
     position: relative;
 }
@@ -317,9 +350,11 @@ hr[size="10"] {
 
 .readOnlyLink {
     @include ellipsis();
+
     .deleteBtn {
         padding: 0px 5px;
     }
+
     a {
         color: $delete_link !important;
     }
@@ -347,6 +382,7 @@ fieldset.fieldset-child-pd>div {
 .inline-content {
     >.inline {
         display: inline-block;
+
         &+.inline {
             margin-left: 5px;
         }
@@ -355,6 +391,7 @@ fieldset.fieldset-child-pd>div {
 
 .inline-content-fl {
     @extend .inline-content;
+
     >.inline {
         display: block;
         float: left;
@@ -363,8 +400,10 @@ fieldset.fieldset-child-pd>div {
 
 .inline-content-fr {
     @extend .inline-content-fl;
+
     >.inline {
         float: right;
+
         &+.inline {
             margin-right: 5px;
         }
@@ -372,6 +411,7 @@ fieldset.fieldset-child-pd>div {
 }
 
 .has-error {
+
     .select2-selection--single,
     .select2-selection--multiple {
         border-color: $color_apple_blossom_approx;
@@ -381,4 +421,21 @@ fieldset.fieldset-child-pd>div {
 .table-action-btn {
     position: absolute;
     right: 0px;
+}
+
+.entity-icon-box {
+    display: inline-block;
+    background: #cee0fa;
+    padding: 10px;
+    border-radius: 50%;
+    min-width: 76.25px;
+    min-height: 70px;
+
+    &.disabled {
+        background: #e3e3e3;
+    }
+
+    img {
+        height: 50px;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/AtlasServer.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/AtlasServer.png b/dashboardv2/public/img/entity-icon/AtlasServer.png
new file mode 100644
index 0000000..f24c017
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/AtlasServer.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/DataSet.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/DataSet.png b/dashboardv2/public/img/entity-icon/DataSet.png
new file mode 100644
index 0000000..5fb3767
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/DataSet.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/avro.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/avro.png b/dashboardv2/public/img/entity-icon/avro.png
new file mode 100644
index 0000000..f1de7f8
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/avro.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/aws.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/aws.png b/dashboardv2/public/img/entity-icon/aws.png
new file mode 100644
index 0000000..8c8f7c5
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/aws.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/db.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/db.png b/dashboardv2/public/img/entity-icon/db.png
new file mode 100644
index 0000000..577d580
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/db.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/AtlasServer.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/AtlasServer.png b/dashboardv2/public/img/entity-icon/disabled/AtlasServer.png
new file mode 100644
index 0000000..ab3a124
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/AtlasServer.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/DataSet.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/DataSet.png b/dashboardv2/public/img/entity-icon/disabled/DataSet.png
new file mode 100644
index 0000000..5ed51de
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/DataSet.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/avro.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/avro.png b/dashboardv2/public/img/entity-icon/disabled/avro.png
new file mode 100644
index 0000000..c9a6172
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/avro.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/aws.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/aws.png b/dashboardv2/public/img/entity-icon/disabled/aws.png
new file mode 100644
index 0000000..d9be6f3
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/aws.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/db.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/db.png b/dashboardv2/public/img/entity-icon/disabled/db.png
new file mode 100644
index 0000000..982c686
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/db.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/falcon.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/falcon.png b/dashboardv2/public/img/entity-icon/disabled/falcon.png
new file mode 100644
index 0000000..ef8cd24
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/falcon.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/file_system.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/file_system.png b/dashboardv2/public/img/entity-icon/disabled/file_system.png
new file mode 100644
index 0000000..8b4e504
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/file_system.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hadoop.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hadoop.png b/dashboardv2/public/img/entity-icon/disabled/hadoop.png
new file mode 100644
index 0000000..0334fc7
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hadoop.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hbase.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hbase.png b/dashboardv2/public/img/entity-icon/disabled/hbase.png
new file mode 100644
index 0000000..fa6e214
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hbase.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hbase_column.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hbase_column.png b/dashboardv2/public/img/entity-icon/disabled/hbase_column.png
new file mode 100644
index 0000000..8d296dd
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hbase_column.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hbase_column_family.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hbase_column_family.png b/dashboardv2/public/img/entity-icon/disabled/hbase_column_family.png
new file mode 100644
index 0000000..2b39ba1
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hbase_column_family.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hbase_table.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hbase_table.png b/dashboardv2/public/img/entity-icon/disabled/hbase_table.png
new file mode 100644
index 0000000..31a5e3c
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hbase_table.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hdfs_path.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hdfs_path.png b/dashboardv2/public/img/entity-icon/disabled/hdfs_path.png
new file mode 100644
index 0000000..8b4e504
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hdfs_path.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hive.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hive.png b/dashboardv2/public/img/entity-icon/disabled/hive.png
new file mode 100644
index 0000000..227f5b3
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hive.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hive_column.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hive_column.png b/dashboardv2/public/img/entity-icon/disabled/hive_column.png
new file mode 100644
index 0000000..7eb31b3
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hive_column.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hive_column_lineage.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hive_column_lineage.png b/dashboardv2/public/img/entity-icon/disabled/hive_column_lineage.png
new file mode 100644
index 0000000..5c46b01
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hive_column_lineage.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hive_db.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hive_db.png b/dashboardv2/public/img/entity-icon/disabled/hive_db.png
new file mode 100644
index 0000000..ce4bb5b
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hive_db.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hive_process.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hive_process.png b/dashboardv2/public/img/entity-icon/disabled/hive_process.png
new file mode 100644
index 0000000..518ca8c
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hive_process.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hive_storagedesc.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hive_storagedesc.png b/dashboardv2/public/img/entity-icon/disabled/hive_storagedesc.png
new file mode 100644
index 0000000..1f5aff5
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hive_storagedesc.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/hive_table.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/hive_table.png b/dashboardv2/public/img/entity-icon/disabled/hive_table.png
new file mode 100644
index 0000000..ca9a92d
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/hive_table.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/jms_topic.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/jms_topic.png b/dashboardv2/public/img/entity-icon/disabled/jms_topic.png
new file mode 100644
index 0000000..8bd1ed1
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/jms_topic.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/kafka.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/kafka.png b/dashboardv2/public/img/entity-icon/disabled/kafka.png
new file mode 100644
index 0000000..ef941d3
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/kafka.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/kafka_topic.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/kafka_topic.png b/dashboardv2/public/img/entity-icon/disabled/kafka_topic.png
new file mode 100644
index 0000000..ef941d3
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/kafka_topic.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/process.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/process.png b/dashboardv2/public/img/entity-icon/disabled/process.png
new file mode 100644
index 0000000..88bc1ae
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/process.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/rdbms.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/rdbms.png b/dashboardv2/public/img/entity-icon/disabled/rdbms.png
new file mode 100644
index 0000000..84f20ba
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/rdbms.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/rdbms_column.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/rdbms_column.png b/dashboardv2/public/img/entity-icon/disabled/rdbms_column.png
new file mode 100644
index 0000000..200a288
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/rdbms_column.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/rdbms_db.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/rdbms_db.png b/dashboardv2/public/img/entity-icon/disabled/rdbms_db.png
new file mode 100644
index 0000000..6f1d169
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/rdbms_db.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/rdbms_table.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/rdbms_table.png b/dashboardv2/public/img/entity-icon/disabled/rdbms_table.png
new file mode 100644
index 0000000..e49fc68
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/rdbms_table.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/sqoop.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/sqoop.png b/dashboardv2/public/img/entity-icon/disabled/sqoop.png
new file mode 100644
index 0000000..359b77e
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/sqoop.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/sqoop_db.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/sqoop_db.png b/dashboardv2/public/img/entity-icon/disabled/sqoop_db.png
new file mode 100644
index 0000000..970ab9a
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/sqoop_db.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/sqoop_process.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/sqoop_process.png b/dashboardv2/public/img/entity-icon/disabled/sqoop_process.png
new file mode 100644
index 0000000..aae4d56
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/sqoop_process.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/storm.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/storm.png b/dashboardv2/public/img/entity-icon/disabled/storm.png
new file mode 100644
index 0000000..cab3f7f
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/storm.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/storm_bolt.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/storm_bolt.png b/dashboardv2/public/img/entity-icon/disabled/storm_bolt.png
new file mode 100644
index 0000000..b6003b8
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/storm_bolt.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/storm_spout.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/storm_spout.png b/dashboardv2/public/img/entity-icon/disabled/storm_spout.png
new file mode 100644
index 0000000..fc7a853
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/storm_spout.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/storm_topology.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/storm_topology.png b/dashboardv2/public/img/entity-icon/disabled/storm_topology.png
new file mode 100644
index 0000000..1957ba8
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/storm_topology.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/disabled/table.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/disabled/table.png b/dashboardv2/public/img/entity-icon/disabled/table.png
new file mode 100644
index 0000000..de1e5cd
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/disabled/table.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/falcon.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/falcon.png b/dashboardv2/public/img/entity-icon/falcon.png
new file mode 100644
index 0000000..14e8234
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/falcon.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/file_system.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/file_system.png b/dashboardv2/public/img/entity-icon/file_system.png
new file mode 100644
index 0000000..7785786
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/file_system.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hadoop.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hadoop.png b/dashboardv2/public/img/entity-icon/hadoop.png
new file mode 100644
index 0000000..cceb1f4
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hadoop.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hbase.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hbase.png b/dashboardv2/public/img/entity-icon/hbase.png
new file mode 100644
index 0000000..fd657dd
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hbase.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hbase_column.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hbase_column.png b/dashboardv2/public/img/entity-icon/hbase_column.png
new file mode 100644
index 0000000..96a6977
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hbase_column.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hbase_column_family.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hbase_column_family.png b/dashboardv2/public/img/entity-icon/hbase_column_family.png
new file mode 100644
index 0000000..70ec7bd
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hbase_column_family.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hbase_table.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hbase_table.png b/dashboardv2/public/img/entity-icon/hbase_table.png
new file mode 100644
index 0000000..badd3e0
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hbase_table.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hdfs_path.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hdfs_path.png b/dashboardv2/public/img/entity-icon/hdfs_path.png
new file mode 100644
index 0000000..7785786
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hdfs_path.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hive.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hive.png b/dashboardv2/public/img/entity-icon/hive.png
new file mode 100644
index 0000000..531837d
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hive.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hive_column.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hive_column.png b/dashboardv2/public/img/entity-icon/hive_column.png
new file mode 100644
index 0000000..7a47640
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hive_column.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hive_column_lineage.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hive_column_lineage.png b/dashboardv2/public/img/entity-icon/hive_column_lineage.png
new file mode 100644
index 0000000..1dec4f6
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hive_column_lineage.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hive_db.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hive_db.png b/dashboardv2/public/img/entity-icon/hive_db.png
new file mode 100644
index 0000000..d93c1e2
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hive_db.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hive_process.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hive_process.png b/dashboardv2/public/img/entity-icon/hive_process.png
new file mode 100644
index 0000000..23d6064
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hive_process.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hive_storagedesc.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hive_storagedesc.png b/dashboardv2/public/img/entity-icon/hive_storagedesc.png
new file mode 100644
index 0000000..c525a7b
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hive_storagedesc.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/hive_table.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/hive_table.png b/dashboardv2/public/img/entity-icon/hive_table.png
new file mode 100644
index 0000000..0772c90
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/hive_table.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/jms_topic.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/jms_topic.png b/dashboardv2/public/img/entity-icon/jms_topic.png
new file mode 100644
index 0000000..83c3bee
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/jms_topic.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/kafka.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/kafka.png b/dashboardv2/public/img/entity-icon/kafka.png
new file mode 100644
index 0000000..4985375
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/kafka.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/kafka_topic.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/kafka_topic.png b/dashboardv2/public/img/entity-icon/kafka_topic.png
new file mode 100644
index 0000000..4985375
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/kafka_topic.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/process.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/process.png b/dashboardv2/public/img/entity-icon/process.png
new file mode 100644
index 0000000..0b01d1b
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/process.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/rdbms.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/rdbms.png b/dashboardv2/public/img/entity-icon/rdbms.png
new file mode 100644
index 0000000..f9dfa98
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/rdbms.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/rdbms_column.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/rdbms_column.png b/dashboardv2/public/img/entity-icon/rdbms_column.png
new file mode 100644
index 0000000..8b05f35
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/rdbms_column.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/rdbms_db.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/rdbms_db.png b/dashboardv2/public/img/entity-icon/rdbms_db.png
new file mode 100644
index 0000000..b9200be
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/rdbms_db.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/rdbms_table.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/rdbms_table.png b/dashboardv2/public/img/entity-icon/rdbms_table.png
new file mode 100644
index 0000000..3f6630f
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/rdbms_table.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/sqoop.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/sqoop.png b/dashboardv2/public/img/entity-icon/sqoop.png
new file mode 100644
index 0000000..3cd6345
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/sqoop.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/sqoop_db.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/sqoop_db.png b/dashboardv2/public/img/entity-icon/sqoop_db.png
new file mode 100644
index 0000000..fe46bc9
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/sqoop_db.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/sqoop_process.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/sqoop_process.png b/dashboardv2/public/img/entity-icon/sqoop_process.png
new file mode 100644
index 0000000..e475730
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/sqoop_process.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/storm.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/storm.png b/dashboardv2/public/img/entity-icon/storm.png
new file mode 100644
index 0000000..4549aa5
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/storm.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/storm_bolt.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/storm_bolt.png b/dashboardv2/public/img/entity-icon/storm_bolt.png
new file mode 100644
index 0000000..4541799
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/storm_bolt.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/storm_spout.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/storm_spout.png b/dashboardv2/public/img/entity-icon/storm_spout.png
new file mode 100644
index 0000000..b4ca1b0
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/storm_spout.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/storm_topology.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/storm_topology.png b/dashboardv2/public/img/entity-icon/storm_topology.png
new file mode 100644
index 0000000..4f6d7ea
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/storm_topology.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/img/entity-icon/table.png
----------------------------------------------------------------------
diff --git a/dashboardv2/public/img/entity-icon/table.png b/dashboardv2/public/img/entity-icon/table.png
new file mode 100644
index 0000000..b07049b
Binary files /dev/null and b/dashboardv2/public/img/entity-icon/table.png differ

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/index.html.tpl
----------------------------------------------------------------------
diff --git a/dashboardv2/public/index.html.tpl b/dashboardv2/public/index.html.tpl
index 553ca1b..bf7eec5 100644
--- a/dashboardv2/public/index.html.tpl
+++ b/dashboardv2/public/index.html.tpl
@@ -54,6 +54,7 @@
     <link href="js/libs/jQueryQueryBuilder/css/query-builder.default.min.css?bust=<%- bust %>" rel="stylesheet">
     <link href="js/libs/bootstrap-daterangepicker/css/daterangepicker.css?bust=<%- bust %>" rel="stylesheet">
     <link rel="stylesheet" href="js/libs/nvd3/css/nv.d3.min.css?bust=<%- bust %>">
+    <link href="js/libs/pretty-checkbox/css/pretty-checkbox.min.css?bust=<%- bust %>" rel="stylesheet">
     <link href="css/style.css?bust=<%- bust %>" rel="stylesheet">
 </head>
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/modules/Helpers.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/modules/Helpers.js b/dashboardv2/public/js/modules/Helpers.js
index 3897d58..95ed6d0 100644
--- a/dashboardv2/public/js/modules/Helpers.js
+++ b/dashboardv2/public/js/modules/Helpers.js
@@ -55,7 +55,7 @@ define(['require',
 
     Handlebars.registerHelper('toHumanDate', function(val) {
         if (!val) return "";
-        return val;//localization.formatDate(val, 'f');
+        return val; //localization.formatDate(val, 'f');
     });
     Handlebars.registerHelper('tt', function(str) {
         //return localization.tt(str);
@@ -70,6 +70,12 @@ define(['require',
             case '===':
                 return (v1 === v2) ? options.fn(this) : options.inverse(this);
                 break;
+            case '!=':
+                return (v1 !== v2) ? options.fn(this) : options.inverse(this);
+                break;
+            case '!==':
+                return (v1 !== v2) ? options.fn(this) : options.inverse(this);
+                break;
             case '<':
                 return (v1 < v2) ? options.fn(this) : options.inverse(this);
                 break;
@@ -90,4 +96,4 @@ define(['require',
     });
 
     return HHelpers;
-});
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/templates/common/TableLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/common/TableLayout_tmpl.html b/dashboardv2/public/js/templates/common/TableLayout_tmpl.html
index b91ffe2..82d6c39 100644
--- a/dashboardv2/public/js/templates/common/TableLayout_tmpl.html
+++ b/dashboardv2/public/js/templates/common/TableLayout_tmpl.html
@@ -48,7 +48,7 @@
                 <div data-id="r_pagination" class="inline"></div>
                 {{#if includePageSize}}
                 <div class="inline">
-                    <div class="form-group inline-content">
+                    <div class="inline-content">
                         <span class="control-label-sm inline ">Page Limit :</span>
                         <div class="select inline" style="width: 80px;">
                             <select data-id="pageSize" class="form-control"></select>

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html b/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html
index c241a72..1d0ece3 100644
--- a/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html
+++ b/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html
@@ -19,10 +19,10 @@
         <i class="fa fa-refresh fa-spin-custom"></i>
     </div>
     <div class="entityDetail form-horizontal col-sm-12">
-        <div class="row">
-            <a href="javascript:void(0);" data-id="backButton"><i class="fa fa-chevron-left"></i>  Back To Results</a>
-        </div>
-        <h1 class="form-group"><span  data-id="title"></span></h1> {{#if entityUpdate}}
+        <h1 class="title row">
+            <div data-id="entityIcon" class="entity-icon-box"></div>
+            <span data-id="title"></span>
+        </h1> {{#if entityUpdate}}
         <div data-id="editButtonContainer" class="pull-right"></div>
         {{/if}}
         <div class="form-group">
@@ -42,12 +42,87 @@
         </div>
         {{/if}}
     </div>
-</div>
-<div class="container-fluid gray-bg">
     <div class="row">
+        <div class="col-sm-12">
+            <ul class="nav nav-tabs ">
+                <li role="properties" class="tab active"><a href="#tab-details" aria-controls="tab-details" role="tab" data-toggle="tab">Properties</a></li>
+                <li role="lineage" class="tab lineageGraph" style="display:none"><a href="#tab-lineage" aria-controls="tab-lineage" role="tab" data-toggle="tab">Lineage</a></li>
+                <li role="tags"><a href="#tab-tagTable" aria-controls="tab-tagTable" role="tab" data-toggle="tab">Tags</a></li>
+                {{#if taxonomy}}
+                <li role="terms"><a href="#tab-termTable" aria-controls="tab-termTable" role="tab" data-toggle="tab">Terms</a></li>
+                {{/if}}
+                <li role="audits" class="tab"><a href="#tab-audit" aria-controls="tab-audit" role="tab" data-toggle="tab">Audits</a></li>
+                <li role="raudits" class="tab replicationTab" style="display:none"><a href="#tab-raudit" aria-controls="tab-raudit" role="tab" data-toggle="tab">Export/Import Audits</a></li>
+                <li role="schema" class="tab schemaTable" style="display:none"><a href="#tab-schema" aria-controls="tab-schema" role="tab" data-toggle="tab">Schema</a></li>
+                <li role="profile" class="tab profileTab" style="display:none"><a href="#tab-profile" aria-controls="tab-profile" role="tab" data-toggle="tab">Profile</a></li>
+            </ul>
+        </div>
+    </div>
+</div>
+<div class="tab-content">
+    <div id="tab-details" role="properties" class="tab-pane active">
+        <div id="r_entityDetailTableLayoutView">
+            <div class="fontLoader-relative">
+                <i class="fa fa-refresh fa-spin-custom"></i>
+            </div>
+        </div>
+    </div>
+    <div id="tab-lineage" role="lineage" class="tab-pane">
+        <div class="resizeGraph animated position-relative" align="center" style="height:64vh;">
+            <div id="r_lineageLayoutView">
+                <div class="fontLoader">
+                    <i class="fa fa-refresh fa-spin-custom"></i>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div id="tab-tagTable" role="tags" class="tab-pane fade">
+        <div id="r_tagTableLayoutView">
+            <div class="fontLoader-relative">
+                <i class="fa fa-refresh fa-spin-custom"></i>
+            </div>
+        </div>
+    </div>
+    <div id="tab-termTable" role="terms" class="tab-pane">
+        <div id="r_termTableLayoutView">
+            <div class="fontLoader-relative">
+                <i class="fa fa-refresh fa-spin-custom"></i>
+            </div>
+        </div>
+    </div>
+    <div id="tab-audit" role="audits" class="tab-pane">
+        <div id="r_auditTableLayoutView">
+            <div class="fontLoader-relative">
+                <i class="fa fa-refresh fa-spin-custom"></i>
+            </div>
+        </div>
+    </div>
+    <div id="tab-raudit" role="raudits" class="tab-pane">
+        <div id="r_replicationAuditTableLayoutView">
+            <div class="fontLoader-relative">
+                <i class="fa fa-refresh fa-spin-custom"></i>
+            </div>
+        </div>
+    </div>
+    <div id="tab-schema" role="schema" class="tab-pane">
+        <div id="r_schemaTableLayoutView">
+            <div class="fontLoader-relative">
+                <i class="fa fa-refresh fa-spin-custom"></i>
+            </div>
+        </div>
+    </div>
+    <div id="tab-profile" role="profile" class="tab-pane">
+        <div id="r_profileLayoutView">
+            <div class="fontLoader-relative">
+                <i class="fa fa-refresh fa-spin-custom"></i>
+            </div>
+        </div>
+    </div>
+</div>
+</div>
+<!-- <div class="row">
         <div class="col-sm-custom">
             <div class="">
-                <!--  <h4 class="lineageLabel"></h4> -->
                 <div class="lineageLayout">
                     <div class="panel panel-default" id="panel">
                         <div class="panel-heading clearfix">
@@ -68,86 +143,18 @@
                 </div>
             </div>
         </div>
-    </div>
-    <div class="row">
-        <div class="col-sm-custom">
-            <div class="panel with-nav-tabs panel-default">
-                <div class="panel-heading clearfix">
-                    <h4 class="panel-title pull-left">DETAILS</h4>
-                    <div class="btn-group pull-right">
-                        <button type="button" class="expand_collapse_panel" title="Collapse"><i class="fa fa-chevron-up" aria-hidden="true"></i></button>
-                    </div>
-                </div>
-                <div class="panel-body">
-                    <div class="row">
-                        <div class="col-sm-12">
-                            <ul class="nav nav-tabs ">
-                                <li role="properties" class="tab active"><a href="#tab-details" aria-controls="tab-details" role="tab" data-toggle="tab">Properties</a></li>
-                                <li role="tags"><a href="#tab-tagTable" aria-controls="tab-tagTable" role="tab" data-toggle="tab">Tags</a></li>
-                                {{#if taxonomy}}
-                                <li role="terms"><a href="#tab-termTable" aria-controls="tab-termTable" role="tab" data-toggle="tab">Terms</a></li>
-                                {{/if}}
-                                <li role="audits" class="tab"><a href="#tab-audit" aria-controls="tab-audit" role="tab" data-toggle="tab">Audits</a></li>
-                                <li role="raudits" class="tab replicationTab" style="display:none"><a href="#tab-raudit" aria-controls="tab-raudit" role="tab" data-toggle="tab">Export/Import Audits</a></li>
-                                <li role="schema" class="tab schemaTable" style="display:none"><a href="#tab-schema" aria-controls="tab-schema" role="tab" data-toggle="tab">Schema</a></li>
-                                <li role="profile" class="tab profileTab" style="display:none"><a href="#tab-profile" aria-controls="tab-profile" role="tab" data-toggle="tab">Profile</a></li>
-                            </ul>
-                        </div>
-                    </div>
-                    <div class="tab-content">
-                        <div id="tab-details" role="properties" class="tab-pane active">
-                            <div id="r_entityDetailTableLayoutView">
-                                <div class="fontLoader-relative">
-                                    <i class="fa fa-refresh fa-spin-custom"></i>
-                                </div>
-                            </div>
-                        </div>
-                        <div id="tab-tagTable" role="tags" class="tab-pane fade">
-                            <div id="r_tagTableLayoutView">
-                                <div class="fontLoader-relative">
-                                    <i class="fa fa-refresh fa-spin-custom"></i>
-                                </div>
-                            </div>
-                        </div>
-                        <div id="tab-termTable" role="terms" class="tab-pane">
-                            <div id="r_termTableLayoutView">
-                                <div class="fontLoader-relative">
-                                    <i class="fa fa-refresh fa-spin-custom"></i>
-                                </div>
-                            </div>
-                        </div>
-                        <div id="tab-audit" role="audits" class="tab-pane">
-                            <div id="r_auditTableLayoutView">
-                                <div class="fontLoader-relative">
-                                    <i class="fa fa-refresh fa-spin-custom"></i>
-                                </div>
-                            </div>
-                        </div>
-                        <div id="tab-raudit" role="raudits" class="tab-pane">
-                            <div id="r_replicationAuditTableLayoutView">
-                                <div class="fontLoader-relative">
-                                    <i class="fa fa-refresh fa-spin-custom"></i>
-                                </div>
-                            </div>
-                        </div>
-                        <div id="tab-schema" role="schema" class="tab-pane">
-                            <div id="r_schemaTableLayoutView">
-                                <div class="fontLoader-relative">
-                                    <i class="fa fa-refresh fa-spin-custom"></i>
-                                </div>
-                            </div>
-                        </div>
-                        <div id="tab-profile" role="profile" class="tab-pane">
-                            <div id="r_profileLayoutView">
-                                <div class="fontLoader-relative">
-                                    <i class="fa fa-refresh fa-spin-custom"></i>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
+    </div> -->
+<!-- <div class="row">
+    <div class="col-sm-custom">
+        <div class="panel with-nav-tabs panel-default">
+            <div class="panel-heading clearfix">
+                <h4 class="panel-title pull-left">DETAILS</h4>
+                <div class="btn-group pull-right">
+                    <button type="button" class="expand_collapse_panel" title="Collapse"><i class="fa fa-chevron-up" aria-hidden="true"></i></button>
                 </div>
             </div>
+            <div class="panel-body">
+            </div>
         </div>
     </div>
-</div>
-</div>
\ No newline at end of file
+</div> -->
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html b/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html
index 55b9864..be19895 100644
--- a/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html
+++ b/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html
@@ -15,29 +15,53 @@
  * limitations under the License.
 -->
 <!-- <div class="graph-toolbar clearfix"></div> -->
-<!-- for 0.8 we used position of lineage-box - Relative -->
-<div style="position: relative;height:100%;width:100%;" class="white-bg no-padding lineage-box">
-    <div class="lineage-filter-box clearfix">
-        <div class="hideProcessContainer">
-            <span class="pull-left"><b>Load Process:</b>&nbsp</span>
-            <span class="pull-left">Show</span>
-            <label class="switch pull-left">
-                <input type="checkbox" class="switch-input" data-id="checkHideProcess" value="" />
-                <span class="switch-slider"></span>
-            </label>
-            <span class="pull-left">Hide</span>
+<div style="position: absolute;height:100%;width:100%;overflow: hidden;" class="white-bg no-padding lineage-box">
+    <div class="lineage-fltr-panel">
+        <div class="header clearfix">
+            <h4>Filters</h4>
+            <span data-id="fltr-togler" style="margin: 7px" class="btn btn-action btn-sm fltr-togler"><i class="fa fa-close"></i></span>
         </div>
-        <div class="zoomButtonGroup pull-right">
-            <span type="button" id="zoom_in" class="btn btn-atlas btn-md lineageZoomButton" title="Zoom In" data-id="refreshBtn"> <i class="fa fa-search-plus"></i></span>
-            <span type="button" id="zoom_out" class="btn btn-atlas btn-md lineageZoomButton" title="Zoom Out" data-id="refreshBtn"> <i class="fa fa-search-minus"></i></span>
+        <div class="body">
+            <div class="hideProcessContainer form-group text-left col-sm-12">
+                <div class="pretty p-switch p-fill">
+                    <input type="checkbox" class="pull-left" data-id="checkHideProcess" value="" />
+                    <div class="state p-primary">
+                        <label>Hide Process</label>
+                    </div>
+                </div>
+            </div>
+            <div class="hideDeletedContainer form-group text-left col-sm-12">
+                <div class="pretty p-switch p-fill">
+                    <input type="checkbox" data-id="checkDeletedEntity" value="" />
+                    <div class="state p-primary">
+                        <label>Hide Deleted Entity</label>
+                    </div>
+                </div>
+            </div>
+            <div class="depthContainer form-group select2-mini">
+                <label class="control-label col-sm-4">Depth:</label>
+                <div class="col-sm-4 no-padding">
+                    <select data-id="selectDepth" class="form-control"></select>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="graph-button-group">
+        <div>
+            <button type="button" data-id="fltr-togler" class="btn btn-action btn-gray btn-sm"><i class="fa fa-filter"></i></button>
+        </div>
+        <div class="zoom-button-group pull-right">
+            <span type="button" id="zoom_in" class="btn-md lineageZoomButton" title="Zoom In" data-id="refreshBtn"> <i class="fa fa-search-plus"></i></span>
+            <span type="button" id="zoom_out" class="btn-md lineageZoomButton" title="Zoom Out" data-id="refreshBtn"> <i class="fa fa-search-minus"></i></span>
         </div>
     </div>
     <div class="fontLoader">
         <i class="fa fa-refresh fa-spin-custom"></i>
     </div>
-    <svg width="100%" height="calc(100% - 80px)" viewBox="0 0 854 330" enable-background="new 0 0 854 330" xml:space="preserve"></svg>
-    <div class="legends" style="height: 20px">
-        <i class="fa fa-long-arrow-right" aria-hidden="true" style="margin-right: 12px; color:#8bc152;">&nbsp<span>Lineage</span></i>
-        <i class="fa fa-long-arrow-right" aria-hidden="true" style="color:#fb4200;">&nbsp<span>Impact</span></i>
+    <div class="legends" style="height: 25px; padding: 2px;">
+        <span style="margin-right: 8px; color:#fb4200;"><i class="fa fa-circle-o fa-fw" aria-hidden="true"></i>Current Entity</span>
+        <span style="margin-right: 8px; color:#df9b00;"><i class="fa fa-long-arrow-right fa-fw" aria-hidden="true"></i>Lineage</span>
+        <span style="margin-right: 8px; color:#fb4200;"><i class="fa fa-long-arrow-right fa-fw" aria-hidden="true"></i>Impact</span>
     </div>
-</div>
+    <svg width="100%" height="calc(100% - 28px)" viewBox="0 0 854 330" enable-background="new 0 0 854 330" xml:space="preserve"></svg>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html b/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html
index 6b7d411..02d1fef 100644
--- a/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html
+++ b/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html
@@ -37,14 +37,16 @@
                     </div>
                     <div class="inline" data-id="containerCheckBox" style="display: none;">
                         <label class="checkbox-inline btn" for="inputLabel">
-                            <input type="checkbox" data-id="checkSubClassification" data-value="excludeSC"/>
+                            <input type="checkbox" data-id="checkSubClassification" data-value="excludeSC" />
                             <b>Exclude sub-classification</b></label>
                     </div>
+                    {{#ifCond fromView '!==' "tag"}}
                     <div class="inline" data-id="containerCheckBox" style="display: none;">
                         <label class="checkbox-inline btn" for="inputLabel">
-                            <input type="checkbox" data-id="checkSubType"  data-value="excludeST"/>
+                            <input type="checkbox" data-id="checkSubType" data-value="excludeST" />
                             <b>Exclude sub-type</b></label>
                     </div>
+                    {{/ifCond}}
                     <div class="inline">
                         {{#if taxonomy}}
                         <a href="javascript:void(0)" class=" multiSelectTerm btn btn-action btn-sm inline" style="display:none" data-id="addTerm"><i class="fa fa-plus"></i> Assign Term</a> {{/if}}

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/templates/site/header.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/site/header.html b/dashboardv2/public/js/templates/site/header.html
index 4673688..2042c99 100644
--- a/dashboardv2/public/js/templates/site/header.html
+++ b/dashboardv2/public/js/templates/site/header.html
@@ -15,6 +15,12 @@
  * limitations under the License.
 -->
 <header class="clearfix">
+    <ul class="nav navbar-nav">
+        <li>
+            <a href="javascript:void(0);" data-id="menuHamburger"><i class="fa fa-bars"></i></a>
+        </li>
+        <li class="details-backbutton"><a href="javascript:void(0);" data-id="backButton"><i class="fa fa-chevron-left"></i>  Back To Results</a></li>
+    </ul>
     <div class="btn-group pull-right header-menu ">
         <a target="_blank" href="http://atlas.apache.org/"><i class="fa  fa-question-circle"></i></a>
         <a href="javascript:void(0);" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="user-dropdown"><i class="fa fa-user user-circle "></i><span class="userName"></span></a>
@@ -26,4 +32,4 @@
             </li>
         </ul>
     </div>
-</header>
+</header>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/utils/Globals.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/Globals.js b/dashboardv2/public/js/utils/Globals.js
index 1b055ed..3191763 100644
--- a/dashboardv2/public/js/utils/Globals.js
+++ b/dashboardv2/public/js/utils/Globals.js
@@ -35,6 +35,7 @@ define(['require'], function(require) {
     Globals.userLogedIn = {
         status: false,
         response: {}
-    }
+    };
+    Globals.entityImgPath = "/img/entity-icon/";
     return Globals;
 });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/utils/Overrides.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/Overrides.js b/dashboardv2/public/js/utils/Overrides.js
index a7bf395..d49a5fc 100644
--- a/dashboardv2/public/js/utils/Overrides.js
+++ b/dashboardv2/public/js/utils/Overrides.js
@@ -26,6 +26,14 @@ define(['require', 'utils/Utils', 'marionette', 'backgrid', 'asBreadcrumbs', 'jq
     var oldBackboneSync = Backbone.sync;
     Backbone.sync = function(method, model, options) {
         var that = this;
+        if (options.queryParam) {
+            var generateQueryParam = $.param(options.queryParam);
+            if (options.url.indexOf('?') !== -1) {
+                options.url = options.url + "&" + generateQueryParam;
+            } else {
+                options.url = options.url + "?" + generateQueryParam;
+            }
+        }
         return oldBackboneSync.apply(this, [method, model,
             _.extend(options, {
                 error: function(response) {
@@ -40,6 +48,7 @@ define(['require', 'utils/Utils', 'marionette', 'backgrid', 'asBreadcrumbs', 'jq
             })
         ]);
     }
+
     _.mixin({
         isEmptyArray: function(val) {
             if (val && _.isArray(val)) {
@@ -144,8 +153,24 @@ define(['require', 'utils/Utils', 'marionette', 'backgrid', 'asBreadcrumbs', 'jq
             var that = this;
             Backgrid.HeaderRow.__super__.render.apply(this, arguments);
             _.each(this.columns.models, function(modelValue) {
-                if (modelValue.get('width')) that.$el.find('.' + modelValue.get('name')).css('min-width', modelValue.get('width') + 'px')
-                if (modelValue.get('toolTip')) that.$el.find('.' + modelValue.get('name')).attr('title', modelValue.get('toolTip'))
+                var elAttr = modelValue.get('elAttr'),
+                    elAttrObj = null;
+                if (elAttr) {
+                    if (_.isFunction(elAttr)) {
+                        elAttrObj = elAttr(modelValue);
+                    } else if (_.isObject(elAttr)) {
+                        if (!_.isArray(elAttr)) {
+                            elAttrObj = [elAttr];
+                        } else {
+                            elAttrObj = elAttr;
+                        }
+                    }
+                    _.each(elAttrObj, function(val) {
+                        that.$el.find('.' + modelValue.get('name')).data(val);
+                    });
+                }
+                if (modelValue.get('width')) that.$el.find('.' + modelValue.get('name')).css('min-width', modelValue.get('width') + 'px');
+                if (modelValue.get('toolTip')) that.$el.find('.' + modelValue.get('name')).attr('title', modelValue.get('toolTip'));
             });
             return this;
         }

http://git-wip-us.apache.org/repos/asf/atlas/blob/6bc3aee1/dashboardv2/public/js/utils/Utils.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/Utils.js b/dashboardv2/public/js/utils/Utils.js
index 57831d7..08bccb2 100644
--- a/dashboardv2/public/js/utils/Utils.js
+++ b/dashboardv2/public/js/utils/Utils.js
@@ -76,6 +76,57 @@ define(['require', 'utils/Globals', 'pnotify', 'utils/Messages', 'utils/Enums',
     Utils.getBaseUrl = function(url) {
         return url.replace(/\/[\w-]+.(jsp|html)|\/+$/ig, '');
     };
+
+    Utils.getEntityIconPath = function(options) {
+        var entityData = options && options.entityData,
+            serviceType,
+            status,
+            typeName,
+            iconBasePath = Utils.getBaseUrl(window.location.pathname) + Globals.entityImgPath;
+        if (entityData) {
+            typeName = entityData.typeName;
+            serviceType = entityData && entityData.serviceType;
+            status = entityData && entityData.status;
+        }
+
+        function getImgPath(imageName) {
+            return iconBasePath + (Enums.entityStateReadOnly[status] ? "disabled/" + imageName : imageName);
+        }
+
+        function getDefaultImgPath() {
+            if (entityData.isProcess) {
+                if (Enums.entityStateReadOnly[status]) {
+                    return iconBasePath + 'disabled/process.png';
+                } else {
+                    return iconBasePath + 'process.png';
+                }
+            } else {
+                if (Enums.entityStateReadOnly[status]) {
+                    return iconBasePath + 'disabled/table.png';
+                } else {
+                    return iconBasePath + 'table.png';
+                }
+            }
+        }
+
+        if (entityData) {
+            if (options.errorUrl) {
+                var isErrorInTypeName = (options.errorUrl && options.errorUrl.match("entity-icon/" + typeName + ".png|disabled/" + typeName + ".png") ? true : false);
+                if (serviceType && isErrorInTypeName) {
+                    var imageName = serviceType + ".png";
+                    return getImgPath(imageName);
+                } else {
+                    return getDefaultImgPath();
+                }
+            } else if (entityData.typeName) {
+                var imageName = entityData.typeName + ".png";
+                return getImgPath(imageName);
+            } else {
+                return getDefaultImgPath();
+            }
+        }
+    }
+
     pnotify.prototype.options.styling = "fontawesome";
     var notify = function(options) {
         return new pnotify(_.extend({