You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by su...@apache.org on 2016/06/01 20:01:39 UTC
[3/4] incubator-atlas git commit: ATLAS-731 Remove dashboard module
in Atlas, replaced by dashboardv2 (kevalbhatt18 via sumasai)
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/details/detailsResource.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/detailsResource.js b/dashboard/public/modules/details/detailsResource.js
deleted file mode 100644
index 982cd1e..0000000
--- a/dashboard/public/modules/details/detailsResource.js
+++ /dev/null
@@ -1,54 +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.
- */
-
-'use strict';
-
-angular.module('dgc.details').factory('detailsResource', ['$resource', 'atlasConfig', function($resource, atlasConfig) {
- return $resource(atlasConfig.API_ENDPOINTS.GET_ENTITY + '/:id', {}, {
- get: {
- method: 'GET',
- transformResponse: function(data) {
- if (data) {
- return angular.fromJson(data.definition);
- }
- },
- responseType: 'json'
- },
- saveTag: {
- method: 'POST',
- url: atlasConfig.API_ENDPOINTS.GET_ENTITY + '/:id/' + atlasConfig.API_ENDPOINTS.ATTACH_DETACH_TRAITS
- },
- detachTag: {
- method: 'DELETE',
- url: atlasConfig.API_ENDPOINTS.GET_ENTITY + '/:id/' + atlasConfig.API_ENDPOINTS.ATTACH_DETACH_TRAITS + '/:tagName'
- }
- });
-
-}]).factory('schemaResource', ['$resource', 'atlasConfig', function($resource, atlasConfig) {
- return $resource(atlasConfig.API_ENDPOINTS.SCHEMA_LINEAGE_PREPEND + '/:tableName/' + atlasConfig.API_ENDPOINTS.SCHEMA_APPEND, {}, {
- get: {
- method: 'GET',
- transformResponse: function(data) {
- if (data) {
- return angular.fromJson(data);
- }
- },
- responseType: 'json'
- }
- });
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/details/detailsRoutes.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/detailsRoutes.js b/dashboard/public/modules/details/detailsRoutes.js
deleted file mode 100644
index 1886353..0000000
--- a/dashboard/public/modules/details/detailsRoutes.js
+++ /dev/null
@@ -1,51 +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.
- */
-'use strict';
-
-angular.module('dgc.details').config(['$stateProvider',
- function($stateProvider) {
-
- // states for my app
- $stateProvider.state('details', {
- url: '/details/:id',
- templateUrl: '/modules/details/views/details.html'
- });
-
- $stateProvider.state('addTagDetails', {
- parent: 'details',
- params: {
- tId: null,
- frm: 'details'
- },
- onEnter: ['$stateParams', '$state', '$modal', 'navigationResource', function($stateParams, $state, $modal, navigationResource) {
- $modal.open({
- templateUrl: '/modules/tags/instance/views/createTag.html',
- controller: 'createTagController',
- windowClass: 'create-tag-entity',
- resolve: {
- typesList: function() {
- return navigationResource.get().$promise;
- }
- }
- }).result.finally(function() {
- $state.go('^');
- });
- }]
- });
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/details/views/attribute.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/views/attribute.html b/dashboard/public/modules/details/views/attribute.html
deleted file mode 100644
index 38c85b9..0000000
--- a/dashboard/public/modules/details/views/attribute.html
+++ /dev/null
@@ -1,23 +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.
- -->
-
-<div class="row" data-ng-repeat="(key1, value1) in value" ng-if="value1">
- <div class="col-md-6" data-ng-if="!isString(value1)" data-ng-repeat="(key2, value2) in value1 track by $index"></div>
- <div data-ng-if="isString(value2)" data-ng-repeat="(key3, value3) in value2"> {{key3}}: {{value3}}</div>
- <div class="col-md-6" data-ng-if="isString(value1)"> {{key1}} : {{value1 | date:'medium'}}</div>
-</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/details/views/details.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/views/details.html b/dashboard/public/modules/details/views/details.html
deleted file mode 100644
index 360c6cc..0000000
--- a/dashboard/public/modules/details/views/details.html
+++ /dev/null
@@ -1,93 +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.
- -->
-<div class="row details-page" data-ng-controller="detailsController">
- <div class="col-lg-12 padding0">
- <ul class="breadcrumb">
- <li><button class="btn btn-link" data-ng-click="goBack()"><i class="fa fa-arrow-left"></i> Back To Result</button> </li>
- </ul>
- </div>
- <div role="tabpanel" class="col-lg-12 padding0">
- <div class="mB20">
- <h4 ng-if="details.values && details.values.name && details.values.name != ''">
- <b>Name:</b> <span class="black">{{details.values.name}}</span></h2>
- <h4 ng-if="details.values && details.values.description && details.values.description != ''"><b>Description:</b> <span class="black">{{details.values.description}}</span></h4>
- <h4 data-disable="!tableName" data-select="onActivate('io')" id="lineageGraph" class="hide">
- <span class="lineage">Lineage</span>
- <ng-include data-table-type="io" src="'/modules/lineage/views/lineage_io.html'"/>
- </h4>
- </div>
- <tabset>
- <tab heading="Details">
- <table class="table table-bordered">
- <thead>
- <tr>
- <th>Key</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr data-ng-repeat="(key,value) in details.values" ng-if="value && !(key==='columns') && !(key==='name') && !(key==='description')">
- <td>{{key}}</td>
- <td data-ng-if="isObject(value) && isString(value.id)" class="pointer">
- <a data-ui-sref="details({id:value.id})">{{ value.name }}</a>
- </td>
- <td data-ng-if="isObject(value) && isObject(value.id) && isString(value.id.id)" class="pointer"> <a data-ui-sref="details({id:value.id.id})">{{ value.id.name }}</a>
- </td>
- <td data-ng-if="isObject(value) && !isArray(value) && !isString(value.id) && !isObject(value.id)">
- <span data-ng-repeat="(key2, value2) in value"> {{ key2 }} : {{ value2 }}<span ng-if="!$last">,</span></span>
- </td>
- <td data-ng-if="isArray(value) && !isString(value.id) && !isObject(value.id)">
- <div data-ng-repeat="(key2, value2) in value">
- <a class=" pointer" data-ng-if="isObject(value2) && isString(value2.id)" data-ui-sref="details({id:value2.id})">{{ value2.name }}<span ng-if="!$last">,</span></a>
- <div class="row pdLft15px" data-ng-repeat="(key1, value1) in value2">
- <span ng-if="isObject(value1)">
- <a class=" pointer" data-ng-if="isString(value1.id)" data-ui-sref="details({id:value1.id})">{{ value1.id }}</a>
- </span>
- </div>
- </div>
- </td>
- <td data-ng-if="isArray(value) && !isObject(value)" >
- <div class="row" data-ng-repeat="(key1, value1) in value" ng-if="value1">
- <div data-ng-if="isObject(value1)" data-ng-repeat="(key2, value2) in value1" >
- <a data-ng-if="isString(value2) && key2 == 'id'" class="pointer pdLft15px" data-ui-sref="details({id:value2})">{{ value2 }}</a>
- </div>
- </div>
- </td>
- <td data-ng-if="!isArray(value) && isObject(value[0]) && isString(value[0].id) && key=='inputTables'" data-ng-click="goDetails(value[0].id)" class="pointer">
- <div class="row" data-ng-repeat="(key1, value1) in value[0]" ng-if="value1">
- <div class="col-md-6" data-ng-if="!isString(value1)" data-ng-repeat="(key2, value2) in value1 track by $index"></div>
- <div data-ng-if="isString(value2)" data-ng-repeat="(key3, value3) in value2"> {{key3}}: {{value3}}</div>
- <div class="col-md-6" data-ng-if="isString(value1)"> {{key1}} : {{value1 | date:'medium'}} UTC</div>
- </div>
- </td>
- <td data-ng-if="isNumber(value)">{{value | date:'yyyy-MM-dd HH:mm:ss'}} UTC</td>
- <td data-ng-if="isString(value)">{{value}}</td>
- </tr>
- </tbody>
- </table>
- </tab>
- <tab data-heading="Schema" data-ng-if="isSchema">
- <ng-include src="'/modules/details/views/schema.html'"/>
- </tab>
- <tab data-heading="Tags" data-ng-if="isTags">
- <ng-include src="'/modules/tags/instance/views/tags.html'"/>
- </tab>
- </tabset>
- </div>
-</div>
-
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/details/views/schema.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/views/schema.html b/dashboard/public/modules/details/views/schema.html
deleted file mode 100644
index 22262fc..0000000
--- a/dashboard/public/modules/details/views/schema.html
+++ /dev/null
@@ -1,48 +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.
- -->
-<table class="table table-bordered">
- <thead>
- <tr>
- <th>Name</th>
- <th>Comment</th>
- <th ng-if="!isHiveSchema">DataType</th>
- <th ng-if="isHiveSchema">Type</th>
- <th ng-if="isTraitId">Tags </th>
- <th ng-if="isTraitId">Tools</th>
- </tr>
- </thead>
- <tbody>
- <tr ng-repeat="colm in schema">
- <td>
- <a ng-if="colm['$id$']" data-ui-sref="details({id:colm['$id$'].id})">{{colm.name}}</a>
- <span ng-if="!colm['$id$']"> {{colm.name}} </span>
- </td>
- <td>{{colm.comment}}</td>
- <td ng-if="!isHiveSchema"> {{colm.dataType}}</td>
- <td ng-if="isHiveSchema"> {{colm.type}}</td>
- <td ng-if="colm['$id$']">
- <div id="{{colm['$id$'].id}}_schema" class="word-break"><a class="tab-search-tags" ng-repeat="(key, value) in colm['$traits$']" data-ui-sref="search({query: key})" title="{{key}}">{{key}}<span> </span></a></div>
- </td>
- <td ng-if="colm['$id$']" class="add-tag">
- <img ng-src="img/addTag.png" tooltip="Add Tag" ng-click="openAddTagHome(colm['$id$'].id )">
- </td>
- </tr>
- </tbody>
-</table>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/home/headerController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/headerController.js b/dashboard/public/modules/home/headerController.js
deleted file mode 100644
index 9edbd28..0000000
--- a/dashboard/public/modules/home/headerController.js
+++ /dev/null
@@ -1,41 +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.
- */
-
-'use strict';
-
-angular.module('dgc.home').controller('headerController', ['$scope', '$modal', function($scope, $modal) {
-
- $scope.menu = [{
- title: "Tags",
- state: "tags"
- }];
-
- $scope.isCollapsed = true;
- $scope.isLoggedIn = function() {
- return true;
- };
-
- $scope.showAbout = function() {
- $modal.open({
- animation: true,
- templateUrl: '/modules/about/views/about.html',
- controller: 'aboutController',
- size: 'lg'
- });
- };
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/home/homeModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/homeModule.js b/dashboard/public/modules/home/homeModule.js
deleted file mode 100644
index 017811c..0000000
--- a/dashboard/public/modules/home/homeModule.js
+++ /dev/null
@@ -1,21 +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.
- */
-
-'use strict';
-
-angular.module('dgc.home', []);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/home/views/header.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/views/header.html b/dashboard/public/modules/home/views/header.html
deleted file mode 100644
index c5bac05..0000000
--- a/dashboard/public/modules/home/views/header.html
+++ /dev/null
@@ -1,50 +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.
- -->
-
-<div data-ng-controller="headerController" class="row">
- <div class="navbar-header">
- <button class="navbar-toggle" type="button" data-ng-click="isCollapsed = !isCollapsed">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a data-ui-sref="search()" data-ui-sref-active="active" class="main-logo">
- Apache <b>Atlas</b>
- </a>
- </div>
- <nav class="collapse navbar-collapse" data-collapse="isCollapsed" data-role="navigation">
- <ul class="navbar-nav nav pull-right menu-bar" data-ng-if="isLoggedIn()">
- <li data-ui-sref-active="active">
- <a data-ui-sref="search()" class="menu-link">Search</a>
- </li>
- <li data-ng-repeat="item in menu" data-ui-sref-active="active">
- <a data-ui-sref="{{item.state}}">{{item.title}}</a>
- </li>
- <li data-ui-sref-active="active">
- <a ng-if="!username" class="menu-link" href="https://cwiki.apache.org/confluence/display/ATLAS/Atlas+Home" target="_blank">Help</a>
- </li>
- <li data-ui-sref-active="active">
- <a ng-if="!username" class="menu-link" href="javascript:void(0)" ng-click="showAbout()">About</a>
- </li>
- <li data-ui-sref-active="active">
- <a ng-if="!username" class="menu-link" href="/logout.html">Logout</a>
- </li>
- </ul>
- </nav>
-</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/home/views/home.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/views/home.html b/dashboard/public/modules/home/views/home.html
deleted file mode 100644
index 4e93782..0000000
--- a/dashboard/public/modules/home/views/home.html
+++ /dev/null
@@ -1,21 +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.
- -->
-
-<section class="text-center">
- <img data-ui-sref="search" class="pointer" src="modules/home/img/splash.png"/>
-</section>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/lineage/lineageModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/lineageModule.js b/dashboard/public/modules/lineage/lineageModule.js
deleted file mode 100644
index 4fda24d..0000000
--- a/dashboard/public/modules/lineage/lineageModule.js
+++ /dev/null
@@ -1,21 +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.
- */
-
-'use strict';
-
-angular.module('dgc.lineage', []);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/lineage/lineageResource.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/lineageResource.js b/dashboard/public/modules/lineage/lineageResource.js
deleted file mode 100644
index a376532..0000000
--- a/dashboard/public/modules/lineage/lineageResource.js
+++ /dev/null
@@ -1,23 +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.
- */
-
-'use strict';
-
-angular.module('dgc.lineage').factory('lineageResource', ['$resource', 'atlasConfig', function($resource, atlasConfig) {
- return $resource(atlasConfig.API_ENDPOINTS.SCHEMA_LINEAGE_PREPEND + '/:tableName/:type/' + atlasConfig.API_ENDPOINTS.GRAPH, {});
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/lineage/lineage_ioController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/lineage_ioController.js b/dashboard/public/modules/lineage/lineage_ioController.js
deleted file mode 100644
index 7ec0695..0000000
--- a/dashboard/public/modules/lineage/lineage_ioController.js
+++ /dev/null
@@ -1,784 +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.
- */
-'use strict';
-
-angular.module('dgc.lineage').controller('lineage_ioController', ['$element', '$scope', '$state', '$stateParams', 'lodash', 'lineageResource', 'd3', 'detailsResource', '$q',
- function($element, $scope, $state, $stateParams, _, lineageResource, d3, detailsResource, $q) {
- var guidsList = [],
- $$ = angular.element;
-
- function inVertObj(edgs) {
- var newEdgsObj = {};
-
- $.each(edgs, function(key, value) {
- for (var k = 0; k < value.length; k++) {
- newEdgsObj[value[k]] = newEdgsObj[value[k]] || [];
- newEdgsObj[value[k]].push(key);
- }
- });
- return newEdgsObj;
- }
-
- function getCombinedLineageData(tableData, callRender) {
- lineageResource.get({
- tableName: tableData.tableName,
- type: 'outputs'
- }).$promise.then(
- function lineageSuccess(response1) {
- $('#lineageGraph').removeClass('hide');
- lineageResource.get({
- tableName: tableData.tableName,
- type: 'inputs'
- }).$promise.then(
- //success
- function lineageSuccess(response) {
- if (response && response.results) {
- response.results.values.edges = inVertObj(response.results.values.edges);
-
- angular.forEach(response.results.values.edges, function(value, key) {
- angular.forEach(response1.results.values.edges, function(value1, key1) {
- if (key === key1) {
- var array1 = value;
- angular.forEach(value1, function(value2) {
- array1.push(value2);
- });
- response.results.values.edges[key] = array1;
- response1.results.values.edges[key] = array1;
- }
- });
- });
-
- angular.extend(response.results.values.edges, response1.results.values.edges);
- angular.extend(response.results.values.vertices, response1.results.values.vertices);
-
- if (!_.isEmpty(response.results.values.vertices)) {
- loadProcess(response.results.values.edges, response.results.values.vertices)
- .then(function(res) {
- guidsList = res;
-
- $scope.lineageData = transformData(response.results);
-
- if (callRender) {
- render();
- }
- });
- } else {
- $scope.requested = false;
- }
- } else {
- $scope.requested = false;
- }
- },
- function() {
- $scope.requested = false;
- }
- );
- },
- function() {
- $scope.requested = false;
- }
- );
- }
-
- function loadProcess(edges, vertices) {
- var urlCalls = [];
- var deferred = $q.defer();
- for (var guid in edges) {
- if (!vertices.hasOwnProperty(guid)) {
- urlCalls.push(detailsResource.get({
- id: guid
- }).$promise);
- }
-
- }
- $q.all(urlCalls)
- .then(function(results) {
- deferred.resolve(results);
- });
- return deferred.promise;
- }
-
- $scope.type = $element.parent().attr('data-table-type');
- $scope.requested = true;
- $scope.height = $element[0].offsetHeight;
- $scope.width = $element[0].offsetWidth;
-
- function render() {
- renderGraph($scope.lineageData, {
- eleObj: $element,
- element: $element[0],
- height: $scope.height,
- width: $scope.width
- });
- $scope.rendered = true;
- }
-
- $scope.onReset = function() {
- $scope.height = $scope.initialHeight;
- angular.element('.lineage-viz').height($scope.height);
- renderGraph($scope.lineageData, {
- eleObj: $element,
- element: $element[0],
- height: $scope.height,
- width: $scope.width
- });
- };
-
- $scope.$on('render-lineage', function(event, lineageData) {
- if (lineageData.type === $scope.type) {
- if (!$scope.lineageData) {
- if ($scope.requested) {
- if ($scope.type === 'io') {
- getCombinedLineageData(lineageData, true);
- } else {
- getCombinedLineageData(lineageData, true);
- }
- }
- } else {
- render();
- }
- }
- $scope.guid = lineageData.guid;
- });
-
- function transformData(metaData) {
- var edges = metaData.values.edges,
- vertices = metaData.values.vertices,
- nodes = {};
-
- function getNode(guid) {
- var name, type, tip;
- if (vertices.hasOwnProperty(guid)) {
- name = vertices[guid].values.name;
- type = vertices[guid].values.vertexId.values.typeName;
- } else {
- var loadProcess = getLoadProcessTypes(guid);
- if (typeof loadProcess !== "undefined") {
- name = loadProcess.name;
- type = 'edges';
- tip = loadProcess.tip;
- } else {
- name = 'Load Process';
- type = 'edges';
- }
- }
- var vertex = {
- guid: guid,
- name: name,
- type: type,
- tip: tip
- };
- if (!nodes.hasOwnProperty(guid)) {
- nodes[guid] = vertex;
- }
- return nodes[guid];
- }
-
- function getLoadProcessTypes(guid) {
- var procesRes = [];
- angular.forEach(guidsList, function(value) {
- if (value.id.id === guid) {
- procesRes.name = value.values.name;
- procesRes.typeName = value.typeName;
- procesRes.tip = value.values.queryText;
- }
- });
- return procesRes;
- }
-
- function attachParent(edge, node) {
- edge.forEach(function eachPoint(childGuid) {
- var childNode = getNode(childGuid);
- node.children = node.children || [];
- node.children.push(childNode);
- childNode.parent = node.guid;
- });
- }
-
- /* Loop through all edges and attach them to correct parent */
- for (var guid in edges) {
- var edge = edges[guid],
- node = getNode(guid);
-
- /* Attach parent to each endpoint of edge */
- attachParent(edge, node);
- }
-
- var starTingObj = {
- name: 'root',
- guid: 'root',
- children: []
- };
-
- angular.forEach(nodes, function(value) {
- if (!value.hasOwnProperty('parent')) {
- starTingObj.children.push(value);
- }
- });
-
- return starTingObj;
- }
-
- function renderGraph(data, container) {
- // ************** Generate the tree diagram *****************
- var element = d3.select(container.element),
- widthg = container.width || 1100,
- heightg = container.height || Math.max((window.innerHeight - 400), 300),
- totalNodes = 0,
- maxLabelLength = 0,
- selectedNode = null,
- draggingNode = null,
- dragListener = null,
- dragStarted = true,
- domNode = null,
- multiParents = null,
- nodes = null,
- tooltip = null,
- node = null,
- i = 0,
- duration = 750,
- root,
- depthwidth = 10;
-
- var viewerWidth = widthg - 15,
- viewerHeight = heightg,
- center = [viewerWidth / 2, viewerHeight / 2];
-
- var tree = d3.layout.tree().size([viewerHeight, viewerWidth]);
-
-
- container.eleObj.find(".graph").html('');
- container.eleObj.find("svg").remove();
-
- // define a d3 diagonal projection for use by the node paths later on.
- var diagonal = d3.svg.diagonal()
- .projection(function(d) {
- return [d.y, d.x];
- });
-
- // A recursive helper function for performing some setup by walking through all nodes
-
- function visit(parent, visitFn, childrenFn) {
- if (!parent) return;
-
- visitFn(parent);
-
- var children = childrenFn(parent);
- if (children) {
- var count = children.length;
- for (var i = 0; i < count; i++) {
- visit(children[i], visitFn, childrenFn);
- }
- }
- }
-
- // Call visit function to establish maxLabelLength
- visit(data, function(d) {
- totalNodes++;
- maxLabelLength = Math.max(d.name.length, maxLabelLength);
-
- }, function(d) {
- return d.children && d.children.length > 0 ? d.children : null;
- });
-
- // sort the tree according to the node names
-
- function sortTree() {
- tree.sort(function(a, b) {
- return b.name.toLowerCase() < a.name.toLowerCase() ? 1 : -1;
- });
- }
- // Sort the tree initially incase the JSON isn't in a sorted order.
- sortTree();
-
- // Define the zoom function for the zoomable tree
- function zoom() {
- d3.select('g').attr("transform", "translate(" + zoomListener.translate() + ")scale(" + zoomListener.scale() + ")");
- }
-
- // define the zoomListener which calls the zoom function on the "zoom" event constrained within the scaleExtents
- var zoomListener = d3.behavior.zoom().scaleExtent([0.1, 3]).on("zoom", zoom);
- /* Initialize tooltip */
- tooltip = d3.tip()
- .attr('class', 'd3-tip')
- .html(function(d) {
- var toolTip = $$("<pre>").attr("class", "alert alert-success")
- .append($$("<p>").html('Name :<b>' + d.name + '</b>'));
-
- if (d.tip && d.tip.trim() !== "") {
- toolTip.append($$("<p>").html('Query: ' + d.tip));
- }
- return toolTip.prop("outerHTML");
- });
-
- // define the baseSvg, attaching a class for styling and the zoomListener
- var baseSvg = element.append('svg')
- .attr("width", viewerWidth)
- .attr("height", viewerHeight)
- .attr("class", "overlay")
- .call(zoomListener)
- .call(zoomListener.event)
- .on("dblclick.zoom", function() {
- return null;
- })
- .call(tooltip);
-
- // Define the drag listeners for drag/drop behaviour of nodes.
- dragListener = d3.behavior.drag()
- .on("dragstart", function(d) {
- if (d === root) {
- return;
- }
- dragStarted = true;
- nodes = tree.nodes(d);
- d3.event.sourceEvent.stopPropagation();
- // it's important that we suppress the mouseover event on the node being dragged. Otherwise it will absorb the mouseover event and the underlying node will not detect it d3.select(this).attr('pointer-events', 'none');
- })
- .on("dragend", function(d) {
- if (d === root) {
- return;
- }
- domNode = this;
- if (selectedNode) {
- // now remove the element from the parent, and insert it into the new elements children
- var index = draggingNode.parent.children.indexOf(draggingNode);
- if (index > -1) {
- draggingNode.parent.children.splice(index, 1);
- }
- if (typeof selectedNode.children !== 'undefined' || typeof selectedNode._children !== 'undefined') {
- if (typeof selectedNode.children !== 'undefined') {
- selectedNode.children.push(draggingNode);
- } else {
- selectedNode._children.push(draggingNode);
- }
- } else {
- selectedNode.children = [];
- selectedNode.children.push(draggingNode);
- }
- // Make sure that the node being added to is expanded so user can see added node is correctly moved
- expand(selectedNode);
- sortTree();
- endDrag();
- } else {
- endDrag();
- }
- });
-
- function endDrag() {
- selectedNode = null;
- d3.selectAll('.ghostCircle').attr('class', 'ghostCircle');
- d3.select(domNode).attr('class', 'node');
- // now restore the mouseover event or we won't be able to drag a 2nd time
- d3.select(domNode).select('.ghostCircle').attr('pointer-events', '');
- updateTempConnector();
- if (draggingNode !== null) {
- update(root);
- centerNode(draggingNode);
- draggingNode = null;
- }
- }
-
- function expand(d) {
- if (d._children) {
- d.children = d._children;
- d.children.forEach(expand);
- d._children = null;
- }
- }
-
- // Function to update the temporary connector indicating dragging affiliation
- var updateTempConnector = function() {
- var data = [];
- if (draggingNode !== null && selectedNode !== null) {
- // have to flip the source coordinates since we did this for the existing connectors on the original tree
- data = [{
- source: {
- x: selectedNode.y0,
- y: selectedNode.x0
- },
- target: {
- x: draggingNode.y0,
- y: draggingNode.x0
- }
- }];
- }
- var link = svgGroup.selectAll(".templink").data(data);
-
- link.enter().append("path")
- .attr("class", "templink")
- .attr("d", d3.svg.diagonal())
- .attr('pointer-events', 'none');
-
- link.attr("d", d3.svg.diagonal());
-
- link.exit().remove();
- };
-
- // Function to center node when clicked/dropped so node doesn't get lost when collapsing/moving with large amount of children.
-
- function centerNode(source) {
- var scale = zoomListener.scale();
- var x = -source.y0;
- var y = -source.x0;
- x = x * scale - 130;
- y = y * scale + viewerHeight / 2;
- d3.select('g').transition()
- .duration(duration)
- .attr("transform", "translate(" + x + "," + y + ")scale(" + scale + ")");
- zoomListener.scale(scale);
- zoomListener.translate([x, y]);
- }
- //arrow
- baseSvg.append("svg:defs")
- .append("svg:marker")
- .attr("id", "arrow")
- .attr("viewBox", "0 0 10 10")
- .attr("refX", 22)
- .attr("refY", 5)
- .attr("markerUnits", "strokeWidth")
- .attr("markerWidth", 6)
- .attr("markerHeight", 9)
- .attr("orient", "auto")
- .append("svg:path")
- .attr("d", "M 0 0 L 10 5 L 0 10 z");
-
- //marker for input type graph
- baseSvg.append("svg:defs")
- .append("svg:marker")
- .attr("id", "input-arrow")
- .attr("viewBox", "0 0 10 10")
- .attr("refX", -15)
- .attr("refY", 5)
- .attr("markerUnits", "strokeWidth")
- .attr("markerWidth", 6)
- .attr("markerHeight", 9)
- .attr("orient", "auto")
- .append("svg:path")
- .attr("d", "M -2 5 L 8 0 L 8 10 z");
-
- function update(source) {
- // Compute the new height, function counts total children of root node and sets tree height accordingly.
- // This prevents the layout looking squashed when new nodes are made visible or looking sparse when nodes are removed
- // This makes the layout more consistent.
- var levelWidth = [1];
- var childCount = function(level, n) {
-
- if (n.children && n.children.length > 0) {
- if (levelWidth.length <= level + 1) levelWidth.push(0);
-
- levelWidth[level + 1] += n.children.length;
- n.children.forEach(function(d) {
- childCount(level + 1, d);
- });
- }
- };
- childCount(0, root);
- tree = tree.separation(function(a, b) {
- return ((a.parent === root) && (b.parent === root)) ? 3 : 1;
- })
- .size([viewerHeight, viewerWidth - 160]);
-
- // Compute the new tree layout.
- var nodes = tree.nodes(root).reverse();
-
- nodes = _.uniq(nodes, 'guid');
-
- _.each(nodes, function(o, i) {
- var itemsOfTheSameDepth = _.where(nodes, {
- depth: o.depth
- });
- var indexOfCurrent = _.indexOf(itemsOfTheSameDepth, o);
- var interval = viewerHeight / itemsOfTheSameDepth.length;
- nodes[i].x = interval / 2 + (interval * indexOfCurrent);
- });
-
- var links = tree.links(nodes);
-
- _.each(links, function(o, i) {
- links[i].target = _.find(nodes, {
- guid: o.target.guid
- });
- });
-
- // Set widths between levels based on maxLabelLength.
- nodes.forEach(function(d) {
- if (levelWidth.length > 1 && depthwidth === 10) {
- for (var o = 0; o < levelWidth.length; o++) {
- if (levelWidth[o] > 4) {
- depthwidth = 10;
- break;
- }
- }
- }
- var maxLebal = maxLabelLength;
- if (depthwidth === 10) {
- maxLebal = 20;
- }
- d.y = (d.depth * (maxLebal * depthwidth));
- });
-
- // Update the nodes\u2026
- node = svgGroup.selectAll("g.node")
- .data(nodes, function(d) {
- return d.id || (d.id = ++i);
- });
-
- // Enter any new nodes at the parent's previous position.
- var nodeEnter = node.enter().append("g")
- .call(dragListener)
- .attr('class', function(d) {
- if (d.guid === "root") {
- return "hide";
- } else {
- return "";
- }
- })
- .classed('node', true)
- .attr("transform", function() {
- return "translate(" + source.y0 + "," + source.x0 + ")";
- });
-
-
- nodeEnter.append("image")
- .attr("class", "nodeImage")
- .attr("xlink:href", function(d) {
- return (d.type && d.type !== '' && d.type.toLowerCase().indexOf('edges') !== -1) ?
- ((d.guid === $scope.guid) ? '../img/process1.png' : '../img/process.png') :
- ((d.guid === $scope.guid) ? '../img/tableicon1.png' : '../img/tableicon.png');
- })
- .on('mouseover', function(d) {
- if (d.type === 'edges' || 'Table') {
- tooltip.show(d);
- }
- })
- .on('dblclick', function(d) {
- $state.go("details", {
- id: d.guid
- });
- })
- .on('mouseout', function(d) {
- if (d.type === 'LoadProcess' || 'Table') {
- tooltip.hide(d);
- }
- })
- .attr("x", "-18px")
- .attr("y", "-18px")
- .attr("width", "34px")
- .attr("height", "34px");
-
- nodeEnter.append("text")
- .attr("x", function(d) {
- return d.children || d._children ? -10 : 10;
- })
- .attr("dx", function(d) {
- return d.children ? 50 : -50;
- })
- .attr("dy", -24)
- .attr('class', 'place-label')
- .attr("text-anchor", function(d) {
- return d.children || d._children ? "end" : "start";
- })
- .text(function(d) {
- var nameDis = (d.name.length > 15) ? d.name.substring(0, 15) + "..." : d.name;
- $$(this).attr('title', d.name);
- return nameDis;
- })
- .style("fill-opacity", 0);
-
- // Update the text to reflect whether node has children or not.
- node.select('text')
- .attr("x", function(d) {
- return d.children || d._children ? -10 : 10;
- })
- .attr("text-anchor", function(d) {
- return d.children || d._children ? "end" : "start";
- })
- .text(function(d) {
- var nameDis = (d.name.length > 15) ? d.name.substring(0, 15) + "..." : d.name;
- $(this).attr('title', d.name);
- return nameDis;
- });
-
- // Transition nodes to their new position.
- var nodeUpdate = node.transition()
- .duration(duration)
- .attr("transform", function(d) {
- return "translate(" + d.y + "," + d.x + ")";
- });
-
- // Fade the text in
- nodeUpdate.select("text")
- .style("fill-opacity", 1);
-
- // Transition exiting nodes to the parent's new position.
- var nodeExit = node.exit().transition()
- .duration(duration)
- .attr("transform", function() {
- return "translate(" + source.y + "," + source.x + ")";
- })
- .remove();
-
- nodeExit.select("circle")
- .attr("r", 0);
-
- nodeExit.select("text")
- .style("fill-opacity", 0);
-
- // Update the links\u2026
- var link = svgGroup.selectAll("path.link")
- .data(links);
-
-
- // Enter any new links at the parent's previous position.
- link.enter().insert("path", "g")
- .attr('class', function(d) {
- if (d.source.guid === "root") {
- return "hide";
- } else {
- return "";
- }
- })
- .classed('link', true)
- .style('stroke', 'green')
- .attr("d", function() {
- var o = {
- x: source.x0,
- y: source.y0
- };
- return diagonal({
- source: o,
- target: o
- });
- });
-
- // Transition links to their new position.
- link.transition()
- .duration(duration)
- .attr("d", diagonal);
-
- // Transition exiting nodes to the parent's new position.
- link.exit().transition()
- .duration(duration)
- .attr("d", function() {
- var o = {
- x: source.x,
- y: source.y
- };
- return diagonal({
- source: o,
- target: o
- });
- })
- .remove();
-
- // Stash the old positions for transition.
- nodes.forEach(function(d) {
- d.x0 = d.x;
- d.y0 = d.y;
- });
-
- if ($scope.type === 'inputs') {
- link.attr("marker-start", "url(#input-arrow)"); //if input
- } else {
- link.attr("marker-end", "url(#arrow)"); //if input
- }
- }
-
- // Append a group which holds all nodes and which the zoom Listener can act upon.
- var svgGroup = baseSvg.append("g")
- .attr("transform", "translate(0,0)");
-
- // Simplest possible buttons
- var intervalID;
-
- d3.selectAll('.zoom-buttons').on('mousedown', function() {
- d3.event.preventDefault();
- $scope.factor = (this.id === 'zoom_in') ? 1.1 : 1 / 1.1;
- intervalID = setInterval(zoom_by, 40, $scope.factor);
- }).on('mouseup', function() {
- d3.event.preventDefault();
- clearInterval(intervalID);
- intervalID = undefined;
- });
-
- function zoom_by(factor) {
- var scale = zoomListener.scale(),
- extent = zoomListener.scaleExtent(),
- translate = zoomListener.translate(),
- x = translate[0],
- y = translate[1],
- target_scale = scale * factor;
-
- // If we're already at an extent, done
- if (target_scale === extent[0] || target_scale === extent[1]) {
- return false;
- }
- // If the factor is too much, scale it down to reach the extent exactly
- var clamped_target_scale = Math.max(extent[0], Math.min(extent[1], target_scale));
- if (clamped_target_scale !== target_scale) {
- target_scale = clamped_target_scale;
- factor = target_scale / scale;
- }
-
- // Center each vector, stretch, then put back
- x = (x - center[0]) * factor + center[0];
- y = (y - center[1]) * factor + center[1];
-
- // Enact the zoom immediately
- zoomListener.scale(target_scale)
- .translate([x, y]);
- zoom();
- }
-
- // Define the root
- root = data;
- root.x0 = viewerWidth / 2;
- root.y0 = viewerHeight / 2;
-
- // Layout the tree initially and center on the root node.
- update(root);
- centerNode(root);
- if (!$scope.initialHeight) {
- $scope.initialHeight = angular.element('.lineage-viz').height();
- }
- angular.element('.lineage-viz').resizable({
- minWidth: 1150,
- maxWidth: 1150,
- maxHeight: angular.element('.lineage-viz').height(),
- minHeight: 50
- });
- $scope.requested = false;
- var couplingParent1 = tree.nodes(root).filter(function(d) {
- return d.name === 'cluster';
- })[0];
- var couplingChild1 = tree.nodes(root).filter(function(d) {
- return d.name === 'JSONConverter';
- })[0];
-
- multiParents = [{
- parent: couplingParent1,
- child: couplingChild1
- }];
-
- multiParents.forEach(function() {
- svgGroup.append("path", "g");
- });
- }
-
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/lineage/views/lineage.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/views/lineage.html b/dashboard/public/modules/lineage/views/lineage.html
deleted file mode 100644
index 3b412f7..0000000
--- a/dashboard/public/modules/lineage/views/lineage.html
+++ /dev/null
@@ -1,30 +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.
- -->
-
-<div class="lineage-viz" data-ng-controller="LineageController">
- <button type="button" class="btn btn-primary pull-right" ng-click="onReset()">
- Reset
- </button>
- <div class="graph">
- <h4 data-ng-if="!requested && !lineageData">No lineage data found</h4>
- <i data-ng-if="requested" class="fa fa-spinner fa-spin fa-5x"></i>
- <svg >
- <g/>
- </svg>
- </div>
-</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/lineage/views/lineage_io.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/views/lineage_io.html b/dashboard/public/modules/lineage/views/lineage_io.html
deleted file mode 100644
index 0f446f0..0000000
--- a/dashboard/public/modules/lineage/views/lineage_io.html
+++ /dev/null
@@ -1,32 +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.
- -->
-
-<div class="lineage-viz table-bordered" data-ng-controller="lineage_ioController">
- <button type="button" class="btn btn-primary pull-right" ng-click="onReset()">
- Reset
- </button>
- <button type="button" class="btn btn-primary zoom-buttons pull-right" id="zoom_out"><i class="fa fa-minus"></i></button>
- <button type="button" class="btn btn-primary zoom-buttons pull-right" id="zoom_in"><i class="fa fa-plus"></i> </button>
- <div class="graph">
- <h4 data-ng-if="!requested && !lineageData" class="align-lineage">No lineage data found</h4>
- <i data-ng-if="requested" class="fa fa-spinner fa-spin fa-5x"></i>
- <svg >
- <g/>
- </svg>
- </div>
-</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/navigation/navigationController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/navigation/navigationController.js b/dashboard/public/modules/navigation/navigationController.js
deleted file mode 100644
index 0cfb50f..0000000
--- a/dashboard/public/modules/navigation/navigationController.js
+++ /dev/null
@@ -1,56 +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.
- */
-'use strict';
-
-angular.module('dgc.navigation').controller('navigationController', ['$scope', 'navigationResource', '$cacheFactory', 'atlasConfig',
- function($scope, navigationResource, $cacheFactory, atlasConfig) {
- var limitIntialCount = 18;
- $scope.intialCount = limitIntialCount;
-
- $scope.updateVar = function(event) {
- $scope.$$prevSibling.query = angular.element(event.target).text();
-
- };
-
- $scope.dslQueryVal = atlasConfig.SEARCH_TYPE.dsl.value;
-
- $scope.$on('load_Traits', function() {
- $scope.leftnav = navigationResource.get();
- });
-
- setTimeout(function() {
- var httpDefaultCache = $cacheFactory.get('$http');
- httpDefaultCache.remove(atlasConfig.API_ENDPOINTS.TRAITS_LIST);
- }, 3600000);
-
- $scope.refreshTags = function() {
- var httpDefaultCache = $cacheFactory.get('$http');
- httpDefaultCache.remove(atlasConfig.API_ENDPOINTS.TRAITS_LIST);
- $scope.leftnav = navigationResource.get();
- $scope.intialCount = limitIntialCount;
- };
-
- $scope.showMore = function() {
- $scope.intialCount += limitIntialCount;
- };
-
- $scope.filterTags = function() {
- $scope.intialCount = limitIntialCount;
- };
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/navigation/navigationModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/navigation/navigationModule.js b/dashboard/public/modules/navigation/navigationModule.js
deleted file mode 100644
index 504eb1f..0000000
--- a/dashboard/public/modules/navigation/navigationModule.js
+++ /dev/null
@@ -1,21 +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.
- */
-
-'use strict';
-
-angular.module('dgc.navigation', []);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/navigation/navigationResource.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/navigation/navigationResource.js b/dashboard/public/modules/navigation/navigationResource.js
deleted file mode 100644
index 1f48aa3..0000000
--- a/dashboard/public/modules/navigation/navigationResource.js
+++ /dev/null
@@ -1,37 +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.
- */
-
-'use strict';
-
-angular.module('dgc.navigation').factory('navigationResource', ['$resource', 'atlasConfig', function($resource, atlasConfig) {
- return $resource(atlasConfig.API_ENDPOINTS.TRAITS_LIST, {}, {
- get: {
- 'method': 'GET',
- 'responseType': 'json',
- 'isArray': true,
- 'cache': true,
- 'transformResponse': function(data) {
- var results = [];
- angular.forEach(data && data.results, function(val) {
- results.push(val);
- });
- return results;
- }
- }
- });
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/navigation/views/navigation.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/navigation/views/navigation.html b/dashboard/public/modules/navigation/views/navigation.html
deleted file mode 100644
index b7e1654..0000000
--- a/dashboard/public/modules/navigation/views/navigation.html
+++ /dev/null
@@ -1,35 +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.
- -->
-
-<div data-ng-controller="navigationController" class="main-tags leftNavigation">
- <div>
- <h4 class="pull-left">Tags</h4>
- <a href ng-click="refreshTags()" class="pull-right">
- <img src="../img/refresh.png" style="margin: 5px;" title="Refresh Tags" >
- </a>
- <form ng-submit="filterTags()">
- <input type="text" class="filter-tag" placeholder="Search for Tags\u2026" ng-model="tagFilter" ng-keydown="filterTags()"> </input>
- <input type="submit" id="submit" value="Submit" class="hide" />
- </form>
- </div>
- </br>
- <div class="list-group">
- <a ng-repeat="nav in filtered = (leftnav | filter:tagFilter | limitTo:intialCount + 1)" ui-sref="search({ query: nav , searchType: dslQueryVal})" class="list-group-item limitSize" title="{{nav}}"><i class="fa fa-tag"></i> {{nav}} </a>
- <a ng-click="showMore()" class="see-more" ng-class="filtered.length > intialCount ? 'show' : 'hide'"> Load more ... </a>
- </div>
-</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/notification/notificationController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/notification/notificationController.js b/dashboard/public/modules/notification/notificationController.js
deleted file mode 100644
index d070029..0000000
--- a/dashboard/public/modules/notification/notificationController.js
+++ /dev/null
@@ -1,30 +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.
- */
-
-'use strict';
-
-angular.module('dgc.system.notification').controller('notificationController', ['$scope', 'notificationService',
- function($scope, notificationService) {
-
- $scope.getNotifications = notificationService.getAll;
-
- $scope.close = function(notification) {
- notificationService.close(notification);
- };
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/notification/notificationModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/notification/notificationModule.js b/dashboard/public/modules/notification/notificationModule.js
deleted file mode 100644
index cc7cbb0..0000000
--- a/dashboard/public/modules/notification/notificationModule.js
+++ /dev/null
@@ -1,30 +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.
- */
-
-'use strict';
-
-angular.module('dgc.system.notification', ['ui.router']).constant('colorCoding', {
- info: 'success',
- error: 'danger'
-}).run(['$rootScope', 'notificationService', function($rootScope, notificationService) {
- $rootScope.$on('$locationChangeSuccess', function(evt, from, to) {
- if (from !== to) {
- notificationService.reset();
- }
- });
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/notification/notificationService.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/notification/notificationService.js b/dashboard/public/modules/notification/notificationService.js
deleted file mode 100644
index 0c198a0..0000000
--- a/dashboard/public/modules/notification/notificationService.js
+++ /dev/null
@@ -1,61 +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.
- */
-
-'use strict';
-
-angular.module('dgc.system.notification').service('notificationService', ['$timeout', 'lodash', 'colorCoding', function($timeout, _, colorCoding) {
-
- var notifications = [],
- service = {
- timeout: 2000,
- getAll: function() {
- return notifications;
- },
- reset: function() {
- notifications = [];
- },
- close: function(notification) {
- _.remove(notifications, notification);
- }
- };
-
- _.each(colorCoding, function(value, key) {
- service[key] = function(message, timeout) {
- var notification = message;
- if (_.isString(message)) {
- notification = {
- message: message
- };
- }
-
- notification.message = notification.msg || notification.message;
- delete notification.msg;
- notification.type = value;
- notification.timeout = _.isUndefined(timeout) ? (_.isUndefined(notification.timeout) ? true : notification.timeout) : timeout;
- notifications.push(notification);
-
- if (notification.timeout) {
- $timeout(function() {
- service.close(notification);
- }, angular.isNumber(notification.timeout) ? notification.timeout : service.timeout);
- }
- };
- });
-
- return service;
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/a05f752d/dashboard/public/modules/notification/views/notifications.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/notification/views/notifications.html b/dashboard/public/modules/notification/views/notifications.html
deleted file mode 100644
index f20b750..0000000
--- a/dashboard/public/modules/notification/views/notifications.html
+++ /dev/null
@@ -1,23 +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.
- -->
-
-<div class="container" data-ng-controller="notificationController">
- <alert data-ng-repeat="notification in getNotifications()" data-type="{{notification.type}}" data-close="close(notification)" class="notifier">
- {{notification.message}}
- </alert>
-</div>