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 <[email protected]> Authored: Fri May 1 16:10:17 2015 -0700 Committer: Venkatesh Seetharam <[email protected]> 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"] -}
