/*- * ================================================================================ * eCOMP Portal * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property * ================================================================================ * Licensed 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. * ================================================================================ */ //app.controller('DCAE_Ctrl_KPI', (function() { var DCAE_Ctrl_KPI = function($scope, $http, $log, $uibModal, $modal, KpiDashboardService) { $scope.Math = window.Math; $scope.activeToplevelTabId = 'DCAE'; $scope.activeTabId = 'KPI'; var TabIdforState = 'DCAE'; $scope.toplevelgTabs1 = KpiDashboardService.getToplevelgTabs1(); $scope.toplevelgTabs2 = KpiDashboardService.getToplevelgTabs2(); $scope.toplevelgTabs3 = KpiDashboardService.getToplevelgTabs3(); $scope.gTabs = KpiDashboardService.getGenericTabs(TabIdforState); $scope.progressReadinessMap = { 'C' : 'Complete', 'Y' : 'Yellow', 'R' : 'Red', 'G' : 'Green', 'n' : 'N/A' } $scope.progressReadinessColorMap = { 'C' : 'black', 'Y' : '#FFCC00', 'R' : 'red', 'G' : '#00FF00', 'n' : 'black' } $scope.selectedIST = null; $scope.progressReadinessList = []; $scope.progressReadinessListIndexMap = {}; var counter = 0; for ( var key in $scope.progressReadinessMap) { if ($scope.progressReadinessMap.hasOwnProperty(key)) { $scope.progressReadinessList.push({ 'index' : counter, 'value' : key, 'title' : $scope.progressReadinessMap[key] }) $scope.progressReadinessListIndexMap[key] = counter } counter = counter + 1; } $scope.selectedProgressReadiness1 = $scope.progressReadinessList[0]; // restAPI calls to retrieve all user stories KpiDashboardService.getKpiUserStoriesStats().then( function(response) { $scope.userStories = response.data; $scope.releases = []; if ($scope.userStories) { $scope.userStories.forEach(function(item, index) { $scope.releases.push({ 'index' : index, 'value' : item.releaseKey, 'title' : item.releaseKey }); }); $scope.selectedRelease = $scope.releases[0]; } }); KpiDashboardService.getKpiLocStats() .then( function(response) { $scope.locStats = response.data; var arr = $scope.locStats; $scope.totalLOC = 0 $.each(arr, function() { $scope.totalLOC += this; }); var sorted = arr.slice().sort( function(a, b) { return b - a }) $scope.LOCranks = arr.slice().map( function(v) { return sorted.indexOf(v) }); $scope.sortedLOC = [] KpiDashboardService.getKpiLocStatsCat() .then( function(response) { $scope.locStatsCat = response.data; $scope.locStatsCatRanked = []; var OtherPutLast = false for (i = 0; i < $scope.LOCranks.length; i++) { $scope.locStatsCatRanked[$scope.LOCranks[i]] = $scope.locStatsCat[i]; $scope.sortedLOC[$scope.LOCranks[i]] = $scope.locStats[i]; } $scope.sortedLocArray = []; var OthersLoC = null; for (i = 0; i < $scope.sortedLOC.length; i++) { if ($scope.locStatsCatRanked[i] .toLowerCase() !== "others") { $scope.sortedLocArray .push({ 'category' : $scope.locStatsCatRanked[i], 'LOC' : $scope.sortedLOC[i] }); } else { OthersLoC = $scope.sortedLOC[i] } } $scope.sortedLocArray .push({ 'category' : 'Others', 'LOC' : OthersLoC }) }); }); KpiDashboardService.getKpiServiceSupported() .then( function(response) { $scope.kpiServiceSupported = response.data; }); KpiDashboardService.getKpiPublishedDelivered() .then(function(response) { $scope.kpiTrafficStatsArray = response.data; $scope.kpiTrafficStats = []; $scope.kpiTrafficStats.push({ 'title' : 'Published', 'count' : $scope.kpiTrafficStatsArray[0] }); $scope.kpiTrafficStats.push({ 'title' : 'Delivered', 'count' : $scope.kpiTrafficStatsArray[1] }); }); KpiDashboardService.getKpiFeedStats() .then( function(response) { $scope.kpiFeedStatsArray = response.data; $scope.kpiFeedStats = []; $scope.kpiFeedStats.push({ 'title' : 'Total Feeds', 'count' : $scope.kpiFeedStatsArray[0] }); $scope.kpiFeedStats.push({ 'title' : 'Active Feeds', 'count' : $scope.kpiFeedStatsArray[1] }); $scope.kpiFeedStats.push({ 'title' : 'Active Subs', 'count' : $scope.kpiFeedStatsArray[2] }); }); KpiDashboardService.getKpiUserApiStats() .then( function(response) { $scope.userApis = response.data; $scope.userApiTypes = []; if ($scope.userApis) { $scope.userApis.forEach(function( item, index) { $scope.userApiTypes.push({ 'index' : index, 'value' : item.apiType, 'title' : item.apiType }); }); $scope.selectedUserApiType = $scope.userApiTypes[0] } }); $scope.linesOfCode = { "TotalLOC" : "2.068M", "OpenSource" : "63%", "Organic" : "36%", "Generated" : "<1%" }; $scope.updateUserStory = function(releases, userStories, progressReadinessList, progressReadinessListIndexMap) { var modalInstance = $uibModal .open({ animation : $scope.animationsEnabled, templateUrl : 'kpi-dashboard/app/fusion/scripts/view-models/kpidash-page/userstory-edit.html', size : 'lg', controller : [ '$scope', '$uibModalInstance', '$http', function($scope, $uibModalInstance, $http) { $scope.AngChangeCalled = function() { console .log('change called'); console .log($scope.selectedRelease.releaseKey); $scope.selectedIST = $scope.progressReadinessList[progressReadinessListIndexMap[$scope.userStories[$scope.selectedRelease.index].istprogressReadiness]]; $scope.selectedETE = $scope.progressReadinessList[progressReadinessListIndexMap[$scope.userStories[$scope.selectedRelease.index].e2EProgressReadiness]]; console .log("$scope.selectedIST"); console .log($scope.selectedIST); console .log("$scope.selectedETE"); console .log($scope.selectedETE); }; $scope.releases = releases; $scope.userStories = userStories; $scope.progressReadinessList = progressReadinessList; $scope.progressReadinessListIndexMap = progressReadinessListIndexMap; $scope.ok = function() { $scope.userStories[$scope.selectedRelease.index].istprogressReadiness = $scope.selectedIST.value; $scope.userStories[$scope.selectedRelease.index].e2EProgressReadiness = $scope.selectedETE.value; $http .post( 'portalApi/update_user_stories_stats', $scope.userStories[$scope.selectedRelease.index]) .then( function( response) { $scope.userStories = response.data; $scope.releases = []; if ($scope.userStories) { $scope.userStories .forEach(function( item, index) { $scope.releases .push({ 'index' : index, 'value' : item.releaseKey, 'title' : item.releaseKey }); }); } $uibModalInstance .close(); }); }; $scope.cancel = function() { $uibModalInstance.dismiss(); }; } ], // End of inner controller resolve : {} }); }; $scope.updateUserApi = function(userApiTypes, userApis) { // workflowToEdit.active='true'; var modalInstance = $uibModal .open({ animation : $scope.animationsEnabled, templateUrl : 'kpi-dashboard/app/fusion/scripts/view-models/kpidash-page/userapi-edit.html', size : 'lg', controller : [ '$scope', '$uibModalInstance', '$http', function($scope, $uibModalInstance, $http) { $scope.userApiTypes = userApiTypes; $scope.userApis = userApis; $scope.ok = function() { /* * var temp = * {"id":null,"created":null,"modified":null,"createdId":null,"modifiedId":null,"rowNum":null,"auditUserId":null,"auditTrail":null,"apiType":"Physical * APIs","totalApi":2000,"comment":null}; */ var temp = $scope.userApis[$scope.selectedUserApiType.apiType.index] $http .post( 'portalApi/update_user_api_stats', temp) .then( function( response) { $uibModalInstance .close(); /* * $http.post('update_user_stories_stats',$scope.userStories[$scope.selectedRelease.releaseKey.index]) * .then(function(response){ * $scope.userStories = * response.data; * $scope.releases * =[]; * if($scope.userStories){ * $scope.userStories.forEach(function(item, * index){ * $scope.releases.push({'index': * index, * 'value': * item.releaseKey, * 'title':item.releaseKey}); * }); * $uibModalInstance.close(); * } */ }); }; $scope.cancel = function() { $uibModalInstance.dismiss(); }; } ], // End of inner controller resolve : {} }); }; }; DCAE_Ctrl_KPI.$inject = ['$scope','$http', '$log', '$uibModal', '$modal', 'KpiDashboardService']; angular.module('ecompApp').controller('DCAE_Ctrl_KPI',DCAE_Ctrl_KPI); }()); // }); app.controller('DCAE_Ctrl_UserDefinedKPI', function($scope, $http, $log, KpiDashboardService) { $scope.activeToplevelTabId = 'DCAE'; $scope.activeTabId = 'User Defined KPI'; var TabIdforState = 'DCAE'; $scope.toplevelgTabs1 = KpiDashboardService.getToplevelgTabs1(); $scope.toplevelgTabs2 = KpiDashboardService.getToplevelgTabs2(); $scope.toplevelgTabs3 = KpiDashboardService.getToplevelgTabs3(); $scope.gTabs = KpiDashboardService.getGenericTabs(TabIdforState); }); app.controller('DCAE_Ctrl_Metrics', function($scope, $http, $log, $uibModal, $modal, KpiDashboardService) { $scope.activeToplevelTabId = 'DCAE'; $scope.activeTabId = 'Metrics'; var TabIdforState = 'DCAE'; $scope.toplevelgTabs1 = KpiDashboardService.getToplevelgTabs1(); $scope.toplevelgTabs2 = KpiDashboardService.getToplevelgTabs2(); $scope.toplevelgTabs3 = KpiDashboardService.getToplevelgTabs3(); $scope.gTabs = KpiDashboardService.getGenericTabs(TabIdforState); KpiDashboardService.getKpiGeoMapUrl() .then(function(response) { $scope.geoMapUrl = response.data; }); KpiDashboardService.getKpiRCloudAUrl() .then(function(response) { $scope.rcloudAUrl = response.data; }); });