SmartIT_Extensions/BMC/smart-it-full-helix/scripts/app/admin/console-config/admin-console-configuration...

85 lines
3.7 KiB
JavaScript

"use strict";
/**
* Created by mkumar1 on 30-01-2018.
*/
(function () {
'use strict';
angular.module('adminModule')
.controller('AdminConsoleConfigurationController', ['$filter', '$modal', '$rootScope', '$scope', '$log', '$q', 'adminConsoleConfigurationModel', 'systemAlertService', 'configurationModel',
function ($filter, $modal, $rootScope, $scope, $log, $q, adminConsoleConfigurationModel, systemAlertService, configurationModel) {
$scope.sideMenuItems = [];
$scope.displayData = [];
$scope.showHomePage = true;
$scope.showSideMenu = function () {
var sideMenuModal = $modal.open({
templateUrl: 'views/admin/console-config/admin-console-side-menu.html',
windowClass: 'action-blade action-blade-left',
size: 'extra-small-left',
controller: ['$scope', 'sideMenuItems', function ($scope, sideMenuItems) {
$scope.sideMenuItems = sideMenuItems;
$scope.handleMenuItemClick = function (menuItem) {
sideMenuModal.close();
fetchDataForMenuItem(menuItem);
};
}],
resolve: {
sideMenuItems: function () {
return $scope.sideMenuItems;
}
}
});
};
function fetchDataForMenuItem(item) {
$scope.selectedMenuItem = item || 'home';
if (item !== 'home') {
$scope.showHomePage = false;
$scope.dataLoading = true;
if (item === 'configuration') {
adminConsoleConfigurationModel.getDataByMenuItem(item).then(function (response) {
$scope.displayData = response;
$scope.dataLoading = false;
});
}
else if (item === 'reports') {
getReportsData(function (response) {
$scope.displayData = {
'users': response[0].items,
'clients': response[1],
'uniqueUsers': response[0].totalItemCount
};
$scope.dataLoading = false;
});
}
}
else {
$scope.showHomePage = true;
}
}
function getReportsData(callback) {
var clientTypeParams = {
'after_date': '',
'before_date': '',
'app_name': 'SmartIT'
}, activeUsersParams = {
'after_date': '',
'before_date': '',
'app_name': 'SmartIT',
'offset': 0,
'limit': 100,
'sidx': '',
'sord': 'asc'
};
$q.all([adminConsoleConfigurationModel.getActiveUsers(activeUsersParams), adminConsoleConfigurationModel.getClientTypesUsage(clientTypeParams)]).then(function (reportData) {
callback(reportData);
});
}
function getSideMenuItems() {
$scope.sideMenuItems = configurationModel.get('adminConsoleConfig.sideMenu');
}
function init() {
getSideMenuItems();
}
init();
}]);
})();