| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- angular.module('sentinelDashboardApp')
- .directive('sidebar', ['$location', '$stateParams', 'AppService', function () {
- return {
- templateUrl: 'app/scripts/directives/sidebar/sidebar.html',
- restrict: 'E',
- replace: true,
- scope: {
- },
- controller: function ($scope, $stateParams, $location, AppService) {
- $scope.app = $stateParams.app;
- $scope.collapseVar = 0;
- // app
- AppService.getApps().success(
- function (data) {
- if (data.code === 0) {
- let path = $location.path().split('/');
- let initHashApp = path[path.length - 1];
- $scope.apps = data.data;
- $scope.apps = $scope.apps.map(function (item) {
- if (item.app === initHashApp) {
- item.active = true;
- }
- let healthyCount = 0;
- for (let i in item.machines) {
- if (item.machines[i].healthy) {
- healthyCount++;
- }
- }
- item.healthyCount = healthyCount;
- // Handle appType
- item.isGateway = item.appType === 1 || item.appType === 11 || item.appType === 12;
- if (item.shown) {
- return item;
- }
- });
- }
- }
- );
- // toggle side bar
- $scope.click = function ($event) {
- let entry = angular.element($event.target).scope().entry;
- entry.active = !entry.active;// toggle this clicked app bar
- $scope.apps.forEach(function (item) { // collapse other app bars
- if (item !== entry) {
- item.active = false;
- }
- });
- };
- /**
- * @deprecated
- */
- $scope.addSearchApp = function () {
- let findApp = false;
- for (let i = 0; i < $scope.apps.length; i++) {
- if ($scope.apps[i].app === $scope.searchApp) {
- findApp = true;
- break;
- }
- }
- if (!findApp) {
- $scope.apps.push({ app: $scope.searchApp });
- }
- };
- }
- };
- }]);
|