blob: fb62a88f8697e8abfec0acb69ac5eca391ba1306 [file] [log] [blame]
/*-
* ================================================================================
* 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;
});
});