You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ve...@apache.org on 2015/05/13 23:28:15 UTC

[34/50] [abbrv] incubator-atlas git commit: Minor bug fixes for dashboard from MPR

Minor bug fixes for dashboard from MPR


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

Branch: refs/remotes/origin/master
Commit: 8ba831bcb81c356c0aee0bdb478423a4419355ef
Parents: a9d61e1
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Fri May 1 16:10:17 2015 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Fri May 1 16:10:17 2015 -0700

----------------------------------------------------------------------
 dashboard/v3/index.html                         |     4 +-
 dashboard/v3/js/1stmaycontrollers.js            |  1250 -
 dashboard/v3/js/config.json                     |     2 +-
 dashboard/v3/js/controllers.js                  |    18 +-
 dashboard/v3/js/ie-emulation-modes-warning.js   |    51 -
 dashboard/v3/lib/Angular/angular-route.min.js   |    14 -
 .../v3/lib/Angular/angular-route.min.js.map     |     8 -
 dashboard/v3/lib/Angular/angular.js             | 21053 -----------------
 dashboard/v3/lib/Angular/angular.min.js         |   212 -
 dashboard/v3/lib/Angular/angular.min.js.map     |     8 -
 dashboard/v3/lib/angular-route.min.js           |     0
 dashboard/v3/lib/angular-route.min.js.map       |     0
 dashboard/v3/lib/angular.js                     |     0
 dashboard/v3/lib/angular.min.js                 |     0
 dashboard/v3/lib/angular.min.js.map             |     0
 dashboard/v3/lib/d3.tip.v0.6.3.js               |     0
 dashboard/v3/partials/graph.json                |    19 -
 dashboard/v3/partials/sample.html               |   158 -
 dashboard/v3/partials/wiki.html                 |     4 +-
 19 files changed, 19 insertions(+), 22782 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/8ba831bc/dashboard/v3/index.html
----------------------------------------------------------------------
diff --git a/dashboard/v3/index.html b/dashboard/v3/index.html
index 47d4e6a..6ba0a80 100755
--- a/dashboard/v3/index.html
+++ b/dashboard/v3/index.html
@@ -42,9 +42,7 @@
         <link href="css/style.css" rel="stylesheet">
         <link type="text/css" rel="stylesheet" href="css/pagination.css" />
 
-        <!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
-        <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
-        <script src="js/ie-emulation-modes-warning.js"></script>
+       
 
         <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
         <!--[if lt IE 9]>

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/8ba831bc/dashboard/v3/js/1stmaycontrollers.js
----------------------------------------------------------------------
diff --git a/dashboard/v3/js/1stmaycontrollers.js b/dashboard/v3/js/1stmaycontrollers.js
deleted file mode 100755
index 59d7572..0000000
--- a/dashboard/v3/js/1stmaycontrollers.js
+++ /dev/null
@@ -1,1250 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var DgcControllers = angular.module("DgcControllers", []);
-
- DgcControllers.service('sharedProperties', function () {
-        var property="";
-		var Query="";
-		
-        return {
-            getProperty: function () {
-                return property;
-            },
-            setProperty: function(value) {
-                property = value;
-            },
-			getQuery: function () {
-                return Query;
-            },setQuery: function(value) {
-                Query = value;
-            }
-        };
-});
-
-
-
-DgcControllers.controller("headerController", ['$scope', '$window', '$location', '$stateParams', function($scope, $window, $location,$stateParams)
-    {
-		$scope.executeSearch=function executeSearch() {
-            $window.location.href = "#Search/" + $scope.query;
-			
-			
-        }
-		$scope.query=$stateParams.searchid;
-    }]
-);
-
-DgcControllers.controller("footerController", ['$scope','$http', function($scope, $http)
-    {
-        $http.get('/api/metadata/admin/version')
-            .success(function (data) {
-                $scope.iserror1=false;
-                $scope.apiVersion=data.Version;
-
-            })
-            .error(function (e) {
-                $scope.iserror1=true;
-                $scope.error1=e;
-            });
-
-    }]
-);
-
-
-DgcControllers.controller("NavController", ['$scope','$http', '$filter', 'sharedProperties', function($scope, $http, $filter, sharedProperties)
-{
-
-    $http.get('/api/metadata/types/traits/list')
-        .success(function (data) {
-            $scope.iserror1=false;
-            $scope.leftnav=angular.fromJson(data.results);
-
-        })
-        .error(function (e) {
-            $scope.iserror1=true;
-            $scope.error1=e;
-        });
-        //Nav to textbox
-
-         $scope.updateVar = function (event) {
-         $scope.$$prevSibling.query = angular.element(event.target).text();
-        
-    };
-
-
-}]
-);
-
-
-DgcControllers.controller("ListController", ['$scope','$http', '$filter','$stateParams', 'sharedProperties', function($scope, $http, $filter, $stateParams, sharedProperties)
-    {
-
-
-        $scope.isUndefined = function (strval) {
-
-            return (typeof strval === "undefined");
-        }
-		
-		$scope.StoreJson = function (strval) {
-            sharedProperties.setProperty(strval);			
-        }
-
-        $scope.Showpaging = function(itemlength)
-        {
-
-            return (itemlength > 1);
-        }
-
-        $scope.isString=function isString(value){
-            return typeof value === 'string';
-        }
-
-        $scope.isObject=function isObject(value){
-
-            return typeof value === 'object';
-        }
-        $scope.Storeqry=function Storeqry(value){
-
-            return typeof value === 'object';
-        }
-
-
-
-        $scope.executeSearchForleftNav = function executeSearchForleftNav(strSearch){
-            $scope.query=strSearch;
-			 sharedProperties.setQuery(strSearch);
-            //$scope.executeSearch();
-        }
-
-        console.log($stateParams.searchid);
-           $scope.SearchQuery=$stateParams.searchid;
-            $scope.reverse = false;
-            $scope.filteredItems = [];
-            $scope.groupedItems = [];
-            $scope.itemsPerPage = 10;
-            $scope.pagedItems = [];
-            $scope.currentPage = 0;
-            $scope.itemlength=0;
-            $scope.configdata=[];
-            $scope.results=[];
-            $scope.datatype="";
-            $http.get('js/config.json').success(function(data){
-                $scope.configdata=data.Search;
-
-            });
-
-
-            $http.get('/api/metadata/discovery/search?query='+$scope.SearchQuery)
-                .success(function (data) {
-                    $scope.iserror=false;
-                    $scope.entities=angular.fromJson(data.results.rows);
-                    if(!$scope.isUndefined($scope.entities)){
-                        $scope.itemlength=$scope.entities.length;
-                        $scope.datatype=data.results.dataType.typeName;
-
-                        var i=0;
-                        angular.forEach($scope.configdata, function(values, key) {
-                            if (key === data.results.dataType.typeName) {
-                                i=1;
-                            }
-                        });
-                            if(i===0){
-                                var tempdataType="__tempQueryResultStruct";
-                                //console.log(tempdataType);
-                                var datatype1=$scope.datatype.substring(0,tempdataType.length);
-                               // console.log(datatype1);
-                                if(datatype1===tempdataType){
-                                    $scope.datatype=tempdataType;
-                                }
-
-                            }
-
-                        sharedProperties.setProperty($scope.datatype);
-                    }
-
-               //     console.log($scope.entities);
-
-
-                    // to get value based on config but not use (used in view directly)
-                  /*  angular.forEach($scope.configdata, function(values, key) {
-                        if(key===data.results.dataType.typeName)
-                        {
-                            $scope.entities.forEach(function(k,v){
-                                    angular.forEach(values, function(value, key1) {
-                                        var obj = {};
-                                        obj[value] = k[value];
-                                    $scope.results.push(obj);
-                                });
-                            });
-                        }
-                    });
-                    */
-
-                    $scope.currentPage = 0;
-                    // now group by pages
-                    $scope.groupToPages();
-
-
-                });
-                // .error(function (e) {
-                //     alert("failed");
-                //     $scope.iserror=true;
-                //     $scope.error=e;
-
-
-                // });
-
-//click value to textbox
-
-       $scope.updateVars = function (event) {
-        var appElement = document.querySelector('[ng-model=query]');
-    var $scope = angular.element(appElement).scope();
-     $scope.query = angular.element(event.target).text();
-    // $scope.$apply(function() {
-    //   $scope.query = angular.element(event.target).text();
-    // });
-
-        
-         console.log("test");
-        console.log(angular.element(event.target).text());
-         console.log("testingFact");
-    };
-    //click value to textbox
-        $scope.getGuidName=function getGuidName(val){
-            $http.get('/api/metadata/entities/definition/'+val)
-                .success(function (data) {
-                    $scope.iserror1=false;
-                    if(!$scope.isUndefined(data.results)){
-                        $scope.gname=angular.fromJson(data.results);
-                        console.log(angular.fromJson(data.results));
-                        // $scope.gname=data.results.name;
-                    }
-
-                })
-                .error(function (e) {
-                    $scope.iserror1=true;
-                    $scope.error1=e;
-                });
-            //return $scope.gname;
-        }
-
-
-        // calculate page in place
-        $scope.groupToPages = function () {
-            $scope.pagedItems = [];
-
-            for (var i = 0; i < $scope.itemlength; i++) {
-                if (i % $scope.itemsPerPage === 0) {
-                    $scope.pagedItems[Math.floor(i / $scope.itemsPerPage)] = [ $scope.entities[i] ];
-                } else {
-                    $scope.pagedItems[Math.floor(i / $scope.itemsPerPage)].push($scope.entities[i]);
-                }
-            }
-
-        };
-
-        $scope.range = function (start, end) {
-            var ret = [];
-            if (!end) {
-                end = start;
-                start = 0;
-            }
-            for (var i = start; i < end; i++) {
-                ret.push(i);
-            }
-            return ret;
-        };
-
-        $scope.prevPage = function () {
-            if ($scope.currentPage > 0) {
-                $scope.currentPage--;
-            }
-        };
-
-        $scope.nextPage = function () {
-            if ($scope.currentPage < $scope.pagedItems.length - 1) {
-                $scope.currentPage++;
-            }
-        };
-
-
-        $scope.firstPage = function () {
-            if ($scope.currentPage > 0) {
-                $scope.currentPage = 0;
-            }
-        };
-
-        $scope.lastPage = function () {
-            if ($scope.currentPage < $scope.pagedItems.length - 1) {
-                $scope.currentPage = $scope.pagedItems.length-1;
-            }
-        };
-        $scope.setPage = function () {
-            $scope.currentPage = this.n;
-        };
-
-    }]
-);
-
-
-DgcControllers.controller("DefinitionController", ['$scope','$http', '$stateParams', 'sharedProperties','$q', function($scope, $http, $stateParams, sharedProperties, $q)
-    {
-
-					$scope.guidName="";
-					$scope.ids=[];
-					$scope.isUndefined = function (strval) {
-						return (typeof strval === "undefined");
-					}
-					
-					$scope.isString=function isString(value){								
-					 return typeof value === 'string' || getType(value)==='[object Number]';
-					}
-					
-					var getType = function (elem) {
-					return Object.prototype.toString.call(elem);
-					};
-					
-					$scope.isObject=function isObject(value){
-					 return typeof value === 'object';
-					}
-//onclick to textbox
-
-       $scope.updateDetailsVariable = function (event) {
-        var appElement = document.querySelector('[ng-model=query]');
-    var $scope = angular.element(appElement).scope();
-     $scope.query = angular.element(event.target).text();
-    // $scope.$apply(function() {
-    //   $scope.query = angular.element(event.target).text();
-    // });
-
-        
-         console.log("test");
-        console.log(angular.element(event.target).text());
-         console.log("testing");
-    };
-//onclick to textbox
-					$scope.getGuidName=function getGuidName(val){
-					$http.get('/api/metadata/entities/definition/'+val)
-						.success(function (data) {
-						$scope.iserror1=false;
-							if(!$scope.isUndefined(data.results)){								
-							$scope.gname=angular.fromJson(data.results);
-							//console.log(angular.fromJson(data.results));
-                               // $scope.gname=data.results.name;
-							}
-
-						})
-						   .error(function (e) {
-							$scope.iserror1=true;
-							$scope.error1=e;
-						});
-				return true;
-					}
-		
-        $scope.Name=$stateParams.Id;
-        $scope.searchqry=sharedProperties.getQuery();
-        $scope.datatype1=sharedProperties.getProperty();
-
-        $http.get('/api/metadata/entities/definition/'+$stateParams.Id)
-                .success(function (data) {
-                    $scope.iserror1=false;
-                $scope.details=  angular.fromJson(data.results);
-                if(!$scope.isUndefined( $scope.details)) {
-                 //   console.log($scope.details['name']);
-                     $scope.datatype1=$scope.details["$typeName$"];
-                    $scope.getSchema($scope.details['name']);
-                    $scope.getLinegae($scope.details['name']);
-					$scope.getLinegaeforinput($scope.details['name']);
-                }
-            })
-               .error(function (e) {
-                $scope.iserror1=true;
-                $scope.error1=e;
-            });
-
-
-        $scope.getSchema= function (tableName) {
-
-            $http.get('/api/metadata/lineage/hive/schema/'+tableName)
-                .success(function (data) {
-                    $scope.iserror1=false;
-                    $scope.schema=  angular.fromJson(data.results.rows);
-                  //  console.log(tableName);
-
-
-                })
-                .error(function (e) {
-                    $scope.iserror1=true;
-                    $scope.error1=e;
-                });
-        }
-
-$scope.getLinegae= function (tableName) {
-
-//            $scope.width = 900;
-//            $scope.height = 900;
-			var arr=[];
-            var arrmyalias=[];
-			   var datatypes=[];
-			   var tags=[];
-            $http.get('/api/metadata/lineage/hive/outputs/'+tableName)
-                .success(function (data) {
-                    $scope.iserror1=false;
-                    $scope.lineage=  angular.fromJson(data.results.rows);
-					 
-                    $scope.vts = [];
-                    $scope.edges1 = [];
-                    $scope.listguid = [];
-                    angular.forEach($scope.lineage, function(lineage1){
-                    var level = 0;
-                    angular.forEach(lineage1.path, function(item, index){
-                      //  if ($scope.listguid.indexOf(index) == -1) {
-                       //     $scope.listguid.push(index);
-
-                        $scope.vts.push({"Name": item.guid,"Id" :index,"hasChild":"True","type":item.typeName});
-                        $scope.edges1.push({source: index, target: (index+1)});
-
-                       // }
-                    });
-
-                  });
-
-
-                    var newarr = [];
-                    var unique = {};
-
-                    angular.forEach($scope.edges1, function(item) {
-                        if (!unique[item.source]) {
-                            newarr.push(item);
-                            unique[item.source] = item;
-                            //console.log(newarr);
-                        }
-                    });
-
-                    var newarrvts = [];
-                    var uniquevts = {};
-
-                    angular.forEach($scope.vts, function(item) {
-                        if (!uniquevts[item.Name]) {
-                            newarrvts.push(item);
-                            uniquevts[item.Name] = item;
-
-							  var url="/api/metadata/entities/definition/"+item.Name;
-							   arr.push($http.get(url)); 
-                        }
-                    });
-
-
-					 $q.all(arr).then(function(ret){
-                    //console.log("Result guid list length="+ret.length);
-                    for(var i=0;i<ret.length;i++){
-                        var f=angular.fromJson(ret[i].data.results);
-                        //console.log(i+"Their Names="+angular.toJson(f));
-                        //console.log(i+"Their Names="+f.name);
-                        arrmyalias[i]=f.name;
-					 
-								datatypes[i]=f['$typeName$']; 
-							 
-						if(f['$typeName$']==="Table")
-						{
-							angular.forEach(f['$traits$'], function(key, value) {
-								tags[i]=value;
-							 
-								  });
-						}
-						else{
-								tags[i]=f.queryText;
-						}
-					
-
-                    }
-if(arrmyalias.length>1){
-                                                 doMakeStaticJson(arrmyalias);
-                                             }
-                                             else{
-                                                 $scope.errornodata="";
-                                             }
-//                    loadjsonRealv2(arrmyalias);
-                   // doMakeStaticJson(arrmyalias);
-
-                });
-
-				  })
-                .error(function (e) {
-                    $scope.iserror1=true;
-                    $scope.error1=e;
-                });
-
-            function doMakeStaticJson(arrmyalias){
-
-                var toparr=[];
-			console.log(arrmyalias.length);
-                var rootobj=new Object();
-                rootobj.name=arrmyalias[0];
-                rootobj.alias=arrmyalias[0];
-				rootobj.query=tags[0];
-				rootobj.datatype=datatypes[0];
-                rootobj.parent="null";
-
-                toparr[0]=rootobj;
-
-//start first object
-                var child1obj=new Object();
-                child1obj.alias=arrmyalias[1];
-                child1obj.name=arrmyalias[1];
-				child1obj.query=tags[1];
-				child1obj.datatype=datatypes[1];
-                child1obj.parent=arrmyalias[0];
-
-                    //start
-                    var childsub1obj=new Object();
-                    childsub1obj.name=arrmyalias[2];
-                    childsub1obj.alias=arrmyalias[2];
-					   childsub1obj.query=tags[2];
-					   childsub1obj.datatype=datatypes[2];
-                    childsub1obj.parent=arrmyalias[1];
-					if(arrmyalias.length>2){
-                    var arraychildren1=[];
-                    arraychildren1.push(childsub1obj);
-                    child1obj.children=arraychildren1;
-					}
-                        //start
-                        var childsub2obj=new Object();
-                        childsub2obj.name=arrmyalias[3];
-                        childsub2obj.alias=arrmyalias[3];
-							childsub2obj.query=tags[3];
-							childsub2obj.datatype=datatypes[3];
-                        childsub2obj.parent=arrmyalias[2];
-						if(arrmyalias.length>3){
-                        var arraychildren2=[];
-                        arraychildren2.push(childsub2obj);
-                        childsub1obj.children=arraychildren2;
-						}
-
-                            //start
-                            var childsub3obj=new Object();
-                            childsub3obj.name=arrmyalias[4];
-                            childsub3obj.alias=arrmyalias[4];
-							childsub3obj.query=tags[4];
-							childsub3obj.datatype=datatypes[4];
-                            childsub3obj.parent=arrmyalias[3];
-							if(arrmyalias.length>4){
-                            var arraychildren3=[];
-                            arraychildren3.push(childsub3obj);
-                            childsub2obj.children=arraychildren3;
-							}
-
-///end first objects
-
-
-
-                /*var arraychildren2=[];
-                arraychildren2.push(child1obj2);
-//                arraychildren2.push(childsub2obj2);
-
-
-                child1obj2.children=arraychildren2;
-
-
-                //end second objects
-                */
-
-                var array1=[];
-                array1[0]=child1obj;
-//                array1[1]=child1obj2;
-
-
-                rootobj.children=array1;
-
-
-                //console.info("MITH SEE THIS="+angular.toJson(toparr));
-
-                root = toparr[0];
-		console.log(root);
-                update(root);
-            }
-
-
-                    //Width and height
-                 var width = 700,
-                     height = 500,
-                     root;
-//image intitializer
- var mitharr=["img/tableicon.png","img/process.png","img/tableicon.png","img/process.png","img/tableicon.png"];
-
-
-
-                 var force = d3.layout.force()
-                     .gravity(0)
-                     .friction(0.7)
-                     .charge(-90)
-					 .linkDistance(120)
-					 .size([width, height])
-                      .on("tick", tick);
-
-                 var svg = d3.select("svg")
-//                 .attr("transform", "translate(" + (width/2) +
-//                          "," + (height/2) + ")")
-
-                          .attr('transform-origin', '-419 -530')
-                          .attr("viewBox", "10 -300 1000 1000")
-                            .attr("preserveAspectRatio", "xMidYMid meet");
-//                               .append("g")
-//                               .attr("transform", "translate(" + d.x + "," + d.y +") rotate(180) scale(-1, -1)");
-
-
-//                 .attr("preserveAspectRatio", "xMidYMid slice");
-
-                 var link = svg.selectAll(".link"),
-                     node = svg.selectAll(".node");
-
-						var tip = d3.tip()
-                        .attr('class', 'd3-tip')
-                        .offset([-10, 0])
-                        .html(function(d) {
-                            return "<pre class='alert alert-success' style='max-width:400px;'>" + d.query + "</pre>";
-                        });
-                    svg.call(tip);
-
-                        function update(source) {
- var nodes = flatten(root),
-      links = d3.layout.tree().links(nodes);
-
-  // Restart the force layout.
-  force
-      .nodes(nodes)
-      .links(links)
-
-      .start();
-
-  // Update links.
-  link = link.data(links, function(d) { return d.target.id; });
-
-  link.exit().remove();
-
-  link.enter().insert("line", ".node")
-      .attr("class", "link");
-
-  // Update nodes.
-  node = node.data(nodes, function(d) { return d.id; });
-
-  node.exit().remove();
-
-    svg.append("svg:pattern").attr("id","processICO").attr("width",1).attr("height",1)
-                        .append("svg:image").attr("xlink:href","./img/process.png").attr("x",-5.5).attr("y",-4).attr("width",42).attr("height",42);
-                    svg.append("svg:pattern").attr("id","textICO").attr("width",1).attr("height",1)
-                        .append("svg:image").attr("xlink:href","./img/tableicon.png").attr("x",2).attr("y",2).attr("width",25).attr("height",25);
-
-
-//arrow
- svg.append("svg:defs").append("svg:marker").attr("id", "arrow").attr("viewBox", "0 0 10 10").attr("refX", 36).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto").append("svg:path").attr("d", "M 0 0 L 10 5 L 0 10 z");
-//arrow
-  var nodeEnter = node.enter().append("g")
-      .attr("class", "nodeTrans")
-	  .on("mouseover", tip.show)
-      .on("mouseout", tip.hide) 
-      .call(force.drag);
-
-
-
-
-  nodeEnter.append("circle")
-      .attr("r", function(d) { return 15; });
-
-    link.attr("marker-end", "url(#arrow)"); //also added attribute for arrow at end
-
-  nodeEnter.append("text")
-      .style("text-anchor", "middle")
-
-
-      .attr("dy", "-1em")
-
-       .attr("text-anchor", function(d) {
-      		  return d.children || d._children ? "end" : "start"; })
-      	  .text(function(d) {
-                                      return d.alias;
-                                      //return d.name;
-                              })
-
-      	  .style("fill-opacity", 1);
-
-
-// nodeEnter.select("circle")
-//      .attr("xlink:href", function(d) {
-//                                            //return d.icon;
-//                                            return mitharr[d.depth];
-//                                      })
-//      .attr("x", "-12px")
-//      .attr("y", "-12px")
-//      .attr("width", "24px")
-//      .attr("height", "24px");
-
-
-  node.select("circle")
-//    .attr("xlink:href", function(d) {
-//                                              //return d.icon;
-//                                              return mitharr[d.depth];
-//                                        })
-      .style("fill", function(d, i) {
-                               if(d.datatype==="Table"){
-                                return "url('#textICO')";
-
-                            }else{
-                                 return "url('#processICO')";
-                            }
-                            return colors(i);
-                        });
-//force.stop();
-//force.resume();
-
-}
-
-//force.stop();
-function tick() {
-  link.attr("x1", function(d) { return d.source.x; })
-      .attr("y1", function(d) { return d.source.y; })
-      .attr("x2", function(d) { return d.target.x; })
-      .attr("y2", function(d) { return d.target.y; });
-
-
-    node.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")  " });
-
-}
-
-//node[0].x = width / 2;
-//    node[1].y = height / 2;
-d3.select(window).on('resize', update);
-
-function color(d) {
-  return d._children ? "#3182bd" // collapsed package
-      : d.children ? "#c6dbef" // expanded package
-      : "#fd8d3c"; // leaf node
-}
-
-// Toggle children on click.
-function click(d) {
-  if (d3.event.defaultPrevented) return; // ignore drag
-  if (d.children) {
-    d._children = d.children;
-    d.children = null;
-  } else {
-    d.children = d._children;
-    d._children = null;
-  }
-  update();
-
-}
-
-// Returns a list of all nodes  the root.
-function flatten(root) {
-  var nodes = [], i = 0;
-
-  function recurse(node) {
-    if (node.children) node.children.forEach(recurse);
-    if (!node.id) node.id = ++i;
-    nodes.push(node);
-  }
-
-  recurse(root);
-  return nodes;
-
-}
-
-
-//
-//                })
-//                .error(function (e) {
-//                    $scope.iserror1=true;
-//                    $scope.error1=e;
-//                });
-
-
-        }
-
-
-
-		
-		
-$scope.getLinegaeforinput= function (tableName) {
-
-//            $scope.width = 900;
-//            $scope.height = 900;
-			var arr=[];
-            var arrmyalias=[];
-			   var datatypes=[];
-			   var tags=[];
-            $http.get('/api/metadata/lineage/hive/inputs/'+tableName)
-                .success(function (data) {
-                    $scope.iserror1=false;
-                    $scope.lineage=  angular.fromJson(data.results.rows);
-								 
-                    $scope.vts = [];
-                    $scope.edges1 = [];
-                    $scope.listguid = [];
-                    angular.forEach($scope.lineage, function(lineage1){
-                    var level = 0;
-                    angular.forEach(lineage1.path, function(item, index){
-                      //  if ($scope.listguid.indexOf(index) == -1) {
-                       //     $scope.listguid.push(index);
-
-                        $scope.vts.push({"Name": item.guid,"Id" :index,"hasChild":"True","type":item.typeName});
-                        $scope.edges1.push({source: index, target: (index+1)});
-				
-                       // }
-                    });
-
-                  });
-
-                    var newarr = [];
-                    var unique = {};
-
-                    angular.forEach($scope.edges1, function(item) {
-                        if (!unique[item.source]) {
-                            newarr.push(item);
-                            unique[item.source] = item;
-                            //console.log(newarr);
-                        }
-                    });
-
-                    var newarrvts = [];
-                    var uniquevts = {};
-
-                    angular.forEach($scope.vts, function(item) {
-                        if (!uniquevts[item.Name]) {
-                            newarrvts.push(item);
-                            uniquevts[item.Name] = item;
-
-							  var url="/api/metadata/entities/definition/"+item.Name;
-							   arr.push($http.get(url));
-
-                            //getLienageGuidName(item.Name);
-                          
-                        }
-                    });
-				console.log(item.Name);
-
-					 $q.all(arr).then(function(ret){
-                    //console.log("Result guid list length="+ret.length);
-                    for(var i=0;i<ret.length;i++){
-                        var f=angular.fromJson(ret[i].data.results);
-                        //console.log(i+"Their Names="+angular.toJson(f));
-                        //console.log(i+"Their Names="+f.name);
-                        arrmyalias[i]=f.name;
-				 
-								datatypes[i]=f['$typeName$'];
-					 
-						if(f['$typeName$']==="Table")
-						{
-							angular.forEach(f['$traits$'], function(key, value) {
-								tags[i]=value;
-							   console.log(value);
-								  });
-						}
-						else{
-								tags[i]=f.queryText;
-								   console.log(f.queryText);
-						}
-					
-
-                    }
-					  console.log(arrmyalias);
-					
-if(arrmyalias.length>1){
-                                                 doMakeStaticJson(arrmyalias);
-                                             }
-                                             else{
-                                                 $scope.errornodata1="";
-                                             }
-//                    loadjsonRealv2(arrmyalias);
-                   // doMakeStaticJson(arrmyalias);
-
-                });
-
-				  })
-                .error(function (e) {
-                    $scope.iserror1=true;
-                    $scope.error1=e;
-                });
-
-            function doMakeStaticJson(arrmyalias){
-
-                var toparr=[];
-
-                var rootobj=new Object();
-                rootobj.name=arrmyalias[0];
-                rootobj.alias=arrmyalias[0];
-				rootobj.query=tags[0];
-				rootobj.datatype=datatypes[0];
-                rootobj.parent="null";
-
-                toparr[0]=rootobj;
-
-//start first object
-                var child1obj=new Object();
-                child1obj.alias=arrmyalias[1];
-                child1obj.name=arrmyalias[1];
-				child1obj.query=tags[1];
-				child1obj.datatype=datatypes[1];
-                child1obj.parent=arrmyalias[0];
-
-                    //start
-                    var childsub1obj=new Object();
-                    childsub1obj.name=arrmyalias[2];
-                    childsub1obj.alias=arrmyalias[2];
-					   childsub1obj.query=tags[2];
-					   childsub1obj.datatype=datatypes[2];
-                    childsub1obj.parent=arrmyalias[1];
-					
-					if(arrmyalias.length>2){
-                    var arraychildren1=[];
-                    arraychildren1.push(childsub1obj);
-                    child1obj.children=arraychildren1;
-					}
-                        //start
-                        var childsub2obj=new Object();
-                        childsub2obj.name=arrmyalias[3];
-                        childsub2obj.alias=arrmyalias[3];
-							childsub2obj.query=tags[3];
-							childsub2obj.datatype=datatypes[3];
-                        childsub2obj.parent=arrmyalias[2];
-						if(arrmyalias.length>3){
-                        var arraychildren2=[];
-                        arraychildren2.push(childsub2obj);
-                        childsub1obj.children=arraychildren2;
-						}
-
-                            //start
-                            var childsub3obj=new Object();
-                            childsub3obj.name=arrmyalias[4];
-                            childsub3obj.alias=arrmyalias[4];
-							childsub3obj.query=tags[4];
-							childsub3obj.datatype=datatypes[4];
-                            childsub3obj.parent=arrmyalias[3];
-							
-								if(arrmyalias.length>4){
-                            var arraychildren3=[];
-                            arraychildren3.push(childsub3obj);
-                            childsub2obj.children=arraychildren3;
-								}
-
-
-///end first objects
-
-
-
-                /*var arraychildren2=[];
-                arraychildren2.push(child1obj2);
-//                arraychildren2.push(childsub2obj2);
-
-
-                child1obj2.children=arraychildren2;
-
-
-                //end second objects
-                */
-
-                var array1=[];
-                array1[0]=child1obj;
-//                array1[1]=child1obj2;
-
-
-                rootobj.children=array1;
-
-
-                //console.info("MITH SEE THIS="+angular.toJson(toparr));
-
-                root = toparr[0];
-				console.log("test input");
-	console.log(root);
-                update(root);
-            }
-
-
-                    //Width and height
-                 var width = 700,
-                     height = 500,
-                     root;
-//image intitializer
- var mitharr=["img/tableicon.png","img/process.png","img/tableicon.png","img/process.png","img/tableicon.png"];
-
-
-
-                 var force = d3.layout.force()
-                     .gravity(0)
-                     .friction(0.7)
-                     .charge(-90)
-					 .linkDistance(120)
-					 .size([width, height])
-                      .on("tick", tick);
-
-                 var svg = d3.select("svg1").append("svg")
-//                 .attr("transform", "translate(" + (width/2) +
-//                          "," + (height/2) + ")")
-
-                          .attr('transform-origin', '-419 -530')
-                          .attr("viewBox", "10 -300 1000 1000")
-                            .attr("preserveAspectRatio", "xMidYMid meet");
-//                               .append("g")
-//                               .attr("transform", "translate(" + d.x + "," + d.y +") rotate(180) scale(-1, -1)");
-
-
-//                 .attr("preserveAspectRatio", "xMidYMid slice");
-
-                 var link = svg.selectAll(".link"),
-                     node = svg.selectAll(".node");
-
-						var tip = d3.tip()
-                        .attr('class', 'd3-tip')
-                        .offset([-10, 0])
-                        .html(function(d) {
-                            return "<pre class='alert alert-success' style='max-width:400px;'>" + d.query + "</pre>";
-                        });
-						
-						if(svg){
-							  svg.call(tip);
-						}
-                  
-
-                        function update(source) {
- var nodes = flatten(root),
-      links = d3.layout.tree().links(nodes);
-
-  // Restart the force layout.
-  force
-      .nodes(nodes)
-      .links(links)
-
-      .start();
-
-  // Update links.
-  link = link.data(links, function(d) { return d.target.id; });
-
-  link.exit().remove();
-
-  link.enter().insert("line", ".node")
-      .attr("class", "link");
-
-  // Update nodes.
-  node = node.data(nodes, function(d) { return d.id; });
-
-  node.exit().remove();
-
-    svg.append("svg:pattern").attr("id","processICO1").attr("width",1).attr("height",1)
-                        .append("svg:image").attr("xlink:href","./img/process.png").attr("x",-5.5).attr("y",-4).attr("width",42).attr("height",42);
-                    svg.append("svg:pattern").attr("id","textICO1").attr("width",1).attr("height",1)
-                        .append("svg:image").attr("xlink:href","./img/tableicon.png").attr("x",2).attr("y",2).attr("width",25).attr("height",25);
-
-
-//arrow
- svg.append("svg:defs").append("svg:marker").attr("id", "arrow1").attr("viewBox", "0 0 10 10").attr("refX", 60).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto").append("svg:path").attr("d", "M 0 0 L 10 5 L 0 10 z");
-//arrow
-  var nodeEnter = node.enter().append("g")
-      .attr("class", "nodeTrans")
-	  .on("mouseover", tip.show)
-      .on("mouseout", tip.hide) 
-      .call(force.drag);
-
-
-
-
-  nodeEnter.append("circle")
-      .attr("r", function(d) { return 15; });
-
-    link.attr("marker-end", "url(#arrow1)"); //also added attribute for arrow at end
-
-  nodeEnter.append("text")
-      .style("text-anchor", "middle")
-
-
-      .attr("dy", "-1em")
-
-       .attr("text-anchor", function(d) {
-      		  return d.children || d._children ? "end" : "start"; })
-      	  .text(function(d) {
-                                      return d.alias;
-                                      //return d.name;
-                              })
-
-      	  .style("fill-opacity", 1);
-
-
-// nodeEnter.select("circle")
-//      .attr("xlink:href", function(d) {
-//                                            //return d.icon;
-//                                            return mitharr[d.depth];
-//                                      })
-//      .attr("x", "-12px")
-//      .attr("y", "-12px")
-//      .attr("width", "24px")
-//      .attr("height", "24px");
-
-
-  node.select("circle")
-//    .attr("xlink:href", function(d) {
-//                                              //return d.icon;
-//                                              return mitharr[d.depth];
-//                                        })
-      .style("fill", function(d) {
-                            if(d.datatype==="Table"){
-                                return "url('#textICO1')";
-
-                            }else{
-                                 return "url('#processICO1')";
-                            }
-                            return colors(i);
-                        });
-//force.stop();
-//force.resume();
-
-}
-
-//force.stop();
-function tick() {
-  link.attr("x1", function(d) { return d.source.x; })
-      .attr("y1", function(d) { return d.source.y; })
-      .attr("x2", function(d) { return d.target.x; })
-      .attr("y2", function(d) { return d.target.y; });
-
-
-    node.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")  " });
-
-}
-
-//node[0].x = width / 2;
-//    node[1].y = height / 2;
-d3.select(window).on('resize', update);
-
-function color(d) {
-  return d._children ? "#3182bd" // collapsed package
-      : d.children ? "#c6dbef" // expanded package
-      : "#fd8d3c"; // leaf node
-}
-
-// Toggle children on click.
-function click(d) {
-  if (d3.event.defaultPrevented) return; // ignore drag
-  if (d.children) {
-    d._children = d.children;
-    d.children = null;
-  } else {
-    d.children = d._children;
-    d._children = null;
-  }
-  update();
-
-}
-
-// Returns a list of all nodes  the root.
-function flatten(root) {
-  var nodes = [], i = 0;
-
-  function recurse(node) {
-    if (node.children) node.children.forEach(recurse);
-    if (!node.id) node.id = ++i;
-    nodes.push(node);
-  }
-
-  recurse(root);
-  return nodes;
-
-}
-
-
-//
-//                })
-//                .error(function (e) {
-//                    $scope.iserror1=true;
-//                    $scope.error1=e;
-//                });
-
-
-        }
-		
-		
-
-      //  console.log( $scope.vts);
-
-        $scope.reverse = function(array) {
-            var copy = [].concat(array);
-            return copy.reverse();
-        }
-
-        // function back()
-        //  {
-        //   $window.history.back();
-        //   myModule.run(function ($rootScope, $location) {
-
-        //       var history = [];
-
-        //       $rootScope.$on('$routeChangeSuccess', function() {
-        //           history.push($location.$$path);
-        //       });
-
-        //       $rootScope.back = function () {
-        //           var prevUrl = history.length > 1 ? history.splice(-2)[0] : "/";
-        //           $location.path(prevUrl);
-        //       };
-
-        //   });
-        //  }
-
-
-
-
-    }]
-);
-
-
-DgcControllers.controller("GuidController", ['$scope','$http', '$filter','$stateParams', 'sharedProperties', function($scope, $http, $filter, $stateParams, sharedProperties)
-    {
-
-
-
-$scope.getGuidName=function getGuidName(val){
-  
-        $scope.gnew=[];
-                    $http.get('/api/metadata/entities/definition/'+val)
-                        .success(function (data) {
-                        $scope.iserror1=false;
-                            if(!$scope.isUndefined(data.results)){  
-                                           
-                            $scope.gname=angular.fromJson(data.results);
-                             var data1=angular.fromJson(data.results);
-                             //$scope.gnew({"id" : val,"name" : data1['name']});
-
-                           $scope.gnew= $scope.gname.name;
-                           // $scope.$watch($scope.gnew, true);
-                            
-}
-                               //dddd
-                         
-
-                        })
-                           .error(function (e) {
-                            $scope.iserror1=true;
-                            $scope.error1=e;
-                        });
-
-                //return $scope.gnew;
-                    }
-
-
- }]
-);
-

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/8ba831bc/dashboard/v3/js/config.json
----------------------------------------------------------------------
diff --git a/dashboard/v3/js/config.json b/dashboard/v3/js/config.json
index 4530ee0..3bee188 100755
--- a/dashboard/v3/js/config.json
+++ b/dashboard/v3/js/config.json
@@ -45,7 +45,7 @@
   ],
   "View": [
     { "$id$":["id"] },
-    "inputTables",
+{ "inputTables":["id"] },
     "name",
     { "$traits$":[""]}
   ]

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/8ba831bc/dashboard/v3/js/controllers.js
----------------------------------------------------------------------
diff --git a/dashboard/v3/js/controllers.js b/dashboard/v3/js/controllers.js
index c707a6d..70b8efe 100755
--- a/dashboard/v3/js/controllers.js
+++ b/dashboard/v3/js/controllers.js
@@ -588,12 +588,12 @@ if(arrmyalias.length>1){
 //image intitializer
  var mitharr=["img/tableicon.png","img/process.png","img/tableicon.png","img/process.png","img/tableicon.png"];
 
-
+//getlinageoutput
 
                  var force = d3.layout.force()
                      .gravity(0)
                      .friction(0.7)
-                     .charge(-90)
+                     .charge(-50)
 					 .linkDistance(120)
 					 .size([width, height])
                       .on("tick", tick);
@@ -601,6 +601,8 @@ if(arrmyalias.length>1){
                  var svg = d3.select("svg")
 //                 .attr("transform", "translate(" + (width/2) +
 //                          "," + (height/2) + ")")
+                         .attr("id", "playgraph")
+                                     //better to keep the viewBox dimensions with variables
 
                           .attr('transform-origin', '-419 -530')
                           .attr("viewBox", "10 -300 1000 1000")
@@ -717,6 +719,8 @@ if(arrmyalias.length>1){
 
 //force.stop();
 function tick() {
+  node[0].x = width / 10;
+    node[0].y = height / 10;
   link.attr("x1", function(d) { return d.source.x; })
       .attr("y1", function(d) { return d.source.y; })
       .attr("x2", function(d) { return d.target.x; })
@@ -725,6 +729,8 @@ function tick() {
 
     node.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")  " });
 
+
+
 }
 
 //node[0].x = width / 2;
@@ -985,7 +991,7 @@ if(arrmyalias.length>1){
                  var force = d3.layout.force()
                      .gravity(0)
                      .friction(0.7)
-                     .charge(-90)
+                     .charge(-100)
 					 .linkDistance(120)
 					 .size([width, height])
                       .on("tick", tick);
@@ -993,6 +999,8 @@ if(arrmyalias.length>1){
                  var svg = d3.select("svg1").append("svg")
 //                 .attr("transform", "translate(" + (width/2) +
 //                          "," + (height/2) + ")")
+                         .attr("id", "playgraph")
+                                     //better to keep the viewBox dimensions with variables
 
                           .attr('transform-origin', '-419 -530')
                           .attr("viewBox", "10 -300 1000 1000")
@@ -1113,6 +1121,9 @@ if(arrmyalias.length>1){
 
 //force.stop();
 function tick() {
+
+  node[0].x = width / 10;
+    node[0].y = height / 10;
   link.attr("x1", function(d) { return d.source.x; })
       .attr("y1", function(d) { return d.source.y; })
       .attr("x2", function(d) { return d.target.x; })
@@ -1121,6 +1132,7 @@ function tick() {
 
     node.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")  " });
 
+
 }
 
 //node[0].x = width / 2;

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/8ba831bc/dashboard/v3/js/ie-emulation-modes-warning.js
----------------------------------------------------------------------
diff --git a/dashboard/v3/js/ie-emulation-modes-warning.js b/dashboard/v3/js/ie-emulation-modes-warning.js
deleted file mode 100755
index 896ed62..0000000
--- a/dashboard/v3/js/ie-emulation-modes-warning.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
-// IT'S JUST JUNK FOR OUR DOCS!
-// ++++++++++++++++++++++++++++++++++++++++++
-/*!
- * Copyright 2014 Twitter, Inc.
- *
- * Licensed under the Creative Commons Attribution 3.0 Unported License. For
- * details, see http://creativecommons.org/licenses/by/3.0/.
- */
-// Intended to prevent false-positive bug reports about Bootstrap not working properly in old versions of IE due to folks testing using IE's unreliable emulation modes.
-(function () {
-  'use strict';
-
-  function emulatedIEMajorVersion() {
-    var groups = /MSIE ([0-9.]+)/.exec(window.navigator.userAgent)
-    if (groups === null) {
-      return null
-    }
-    var ieVersionNum = parseInt(groups[1], 10)
-    var ieMajorVersion = Math.floor(ieVersionNum)
-    return ieMajorVersion
-  }
-
-  function actualNonEmulatedIEMajorVersion() {
-    // Detects the actual version of IE in use, even if it's in an older-IE emulation mode.
-    // IE JavaScript conditional compilation docs: http://msdn.microsoft.com/en-us/library/ie/121hztk3(v=vs.94).aspx
-    // @cc_on docs: http://msdn.microsoft.com/en-us/library/ie/8ka90k2e(v=vs.94).aspx
-    var jscriptVersion = new Function('/*@cc_on return @_jscript_version; @*/')() // jshint ignore:line
-    if (jscriptVersion === undefined) {
-      return 11 // IE11+ not in emulation mode
-    }
-    if (jscriptVersion < 9) {
-      return 8 // IE8 (or lower; haven't tested on IE<8)
-    }
-    return jscriptVersion // IE9 or IE10 in any mode, or IE11 in non-IE11 mode
-  }
-
-  var ua = window.navigator.userAgent
-  if (ua.indexOf('Opera') > -1 || ua.indexOf('Presto') > -1) {
-    return // Opera, which might pretend to be IE
-  }
-  var emulated = emulatedIEMajorVersion()
-  if (emulated === null) {
-    return // Not IE
-  }
-  var nonEmulated = actualNonEmulatedIEMajorVersion()
-
-  if (emulated !== nonEmulated) {
-    window.alert('WARNING: You appear to be using IE' + nonEmulated + ' in IE' + emulated + ' emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON\'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!')
-  }
-})();

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/8ba831bc/dashboard/v3/lib/Angular/angular-route.min.js
----------------------------------------------------------------------
diff --git a/dashboard/v3/lib/Angular/angular-route.min.js b/dashboard/v3/lib/Angular/angular-route.min.js
deleted file mode 100755
index 52953ca..0000000
--- a/dashboard/v3/lib/Angular/angular-route.min.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- AngularJS v1.2.18
- (c) 2010-2014 Google, Inc. http://angularjs.org
- License: MIT
-*/
-(function(n,e,A){'use strict';function x(s,g,k){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,c,b,f,w){function y(){p&&(p.remove(),p=null);h&&(h.$destroy(),h=null);l&&(k.leave(l,function(){p=null}),p=l,l=null)}function v(){var b=s.current&&s.current.locals;if(e.isDefined(b&&b.$template)){var b=a.$new(),d=s.current;l=w(b,function(d){k.enter(d,null,l||c,function(){!e.isDefined(t)||t&&!a.$eval(t)||g()});y()});h=d.scope=b;h.$emit("$viewContentLoaded");h.$eval(u)}else y()}
-var h,l,p,t=b.autoscroll,u=b.onload||"";a.$on("$routeChangeSuccess",v);v()}}}function z(e,g,k){return{restrict:"ECA",priority:-400,link:function(a,c){var b=k.current,f=b.locals;c.html(f.$template);var w=e(c.contents());b.controller&&(f.$scope=a,f=g(b.controller,f),b.controllerAs&&(a[b.controllerAs]=f),c.data("$ngControllerController",f),c.children().data("$ngControllerController",f));w(a)}}}n=e.module("ngRoute",["ng"]).provider("$route",function(){function s(a,c){return e.extend(new (e.extend(function(){},
-{prototype:a})),c)}function g(a,e){var b=e.caseInsensitiveMatch,f={originalPath:a,regexp:a},k=f.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,e,b,c){a="?"===c?c:null;c="*"===c?c:null;k.push({name:b,optional:!!a});e=e||"";return""+(a?"":e)+"(?:"+(a?e:"")+(c&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");f.regexp=RegExp("^"+a+"$",b?"i":"");return f}var k={};this.when=function(a,c){k[a]=e.extend({reloadOnSearch:!0},c,a&&g(a,c));if(a){var b=
-"/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";k[b]=e.extend({redirectTo:a},g(b,c))}return this};this.otherwise=function(a){this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache","$sce",function(a,c,b,f,g,n,v,h){function l(){var d=p(),m=r.current;if(d&&m&&d.$$route===m.$$route&&e.equals(d.pathParams,m.pathParams)&&!d.reloadOnSearch&&!u)m.params=d.params,e.copy(m.params,b),a.$broadcast("$routeUpdate",m);else if(d||m)u=!1,a.$broadcast("$routeChangeStart",
-d,m),(r.current=d)&&d.redirectTo&&(e.isString(d.redirectTo)?c.path(t(d.redirectTo,d.params)).search(d.params).replace():c.url(d.redirectTo(d.pathParams,c.path(),c.search())).replace()),f.when(d).then(function(){if(d){var a=e.extend({},d.resolve),c,b;e.forEach(a,function(d,c){a[c]=e.isString(d)?g.get(d):g.invoke(d)});e.isDefined(c=d.template)?e.isFunction(c)&&(c=c(d.params)):e.isDefined(b=d.templateUrl)&&(e.isFunction(b)&&(b=b(d.params)),b=h.getTrustedResourceUrl(b),e.isDefined(b)&&(d.loadedTemplateUrl=
-b,c=n.get(b,{cache:v}).then(function(a){return a.data})));e.isDefined(c)&&(a.$template=c);return f.all(a)}}).then(function(c){d==r.current&&(d&&(d.locals=c,e.copy(d.params,b)),a.$broadcast("$routeChangeSuccess",d,m))},function(c){d==r.current&&a.$broadcast("$routeChangeError",d,m,c)})}function p(){var a,b;e.forEach(k,function(f,k){var q;if(q=!b){var g=c.path();q=f.keys;var l={};if(f.regexp)if(g=f.regexp.exec(g)){for(var h=1,p=g.length;h<p;++h){var n=q[h-1],r="string"==typeof g[h]?decodeURIComponent(g[h]):
-g[h];n&&r&&(l[n.name]=r)}q=l}else q=null;else q=null;q=a=q}q&&(b=s(f,{params:e.extend({},c.search(),a),pathParams:a}),b.$$route=f)});return b||k[null]&&s(k[null],{params:{},pathParams:{}})}function t(a,c){var b=[];e.forEach((a||"").split(":"),function(a,d){if(0===d)b.push(a);else{var e=a.match(/(\w+)(.*)/),f=e[1];b.push(c[f]);b.push(e[2]||"");delete c[f]}});return b.join("")}var u=!1,r={routes:k,reload:function(){u=!0;a.$evalAsync(l)}};a.$on("$locationChangeSuccess",l);return r}]});n.provider("$routeParams",
-function(){this.$get=function(){return{}}});n.directive("ngView",x);n.directive("ngView",z);x.$inject=["$route","$anchorScroll","$animate"];z.$inject=["$compile","$controller","$route"]})(window,window.angular);
-//# sourceMappingURL=angular-route.min.js.map

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/8ba831bc/dashboard/v3/lib/Angular/angular-route.min.js.map
----------------------------------------------------------------------
diff --git a/dashboard/v3/lib/Angular/angular-route.min.js.map b/dashboard/v3/lib/Angular/angular-route.min.js.map
deleted file mode 100755
index 01c2892..0000000
--- a/dashboard/v3/lib/Angular/angular-route.min.js.map
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-"version":3,
-"file":"angular-route.min.js",
-"lineCount":13,
-"mappings":"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",
-"sources":["angular-route.js"],
-"names":["window","angular","undefined","ngViewFactory","$route","$anchorScroll","$animate","link","scope","$element","attr","ctrl","$transclude","cleanupLastView","currentScope","$destroy","currentElement","leave","update","locals","current","isDefined","$template","newScope","$new","clone","enter","onNgViewEnter","autoScrollExp","$eval","$emit","onloadExp","autoscroll","onload","$on","ngViewFillContentFactory","$compile","$controller","html","contents","controller","$scope","controllerAs","data","children","ngRouteModule","module","provider","$RouteProvider","inherit","parent","extra","extend","pathRegExp","path","opts","insensitive","caseInsensitiveMatch","ret","keys","replace","_","slash","key","option","optional","star","push","regexp","RegExp","routes","when","this.when","route","redirectPath","length","substr","otherwise","this.otherwise","params","$get","$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache","$sce","updateRoute","next","parseRoute",
 "last","$$route","equals","pathParams","reloadOnSearch","forceReload","copy","$broadcast","redirectTo","isString","interpolate","search","url","then","resolve","template","templateUrl","forEach","value","get","invoke","isFunction","getTrustedResourceUrl","loadedTemplateUrl","response","all","error","match","m","exec","on","i","len","val","decodeURIComponent","name","string","result","split","segment","segmentMatch","join","reload","$evalAsync","$RouteParamsProvider","this.$get","directive","$inject"]
-}