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"]
-}