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⦠- 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⦠- 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â¦" 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>
