123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- /**
- * 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('ambariAdminConsole')
- .controller('MainCtrl',['$scope','$rootScope','$window','Auth', 'Alert', '$modal', 'Cluster', 'View', function($scope, $rootScope, $window, Auth, Alert, $modal, Cluster, View) {
- $scope.signOut = function() {
- var data = JSON.parse(localStorage.ambari);
- delete data.app.authenticated;
- delete data.app.loginName;
- delete data.app.user;
- localStorage.ambari = JSON.stringify(data);
- $scope.hello = "hello";
- Auth.signout().finally(function() {
- $window.location.pathname = '';
- });
- };
- $scope.ambariVersion = null;
- $scope.about = function() {
- var ambariVersion = $scope.ambariVersion;
- var modalInstance = $modal.open({
- templateUrl:'views/modals/AboutModal.html',
- controller: ['$scope', function($scope) {
- $scope.ok = function() {
- modalInstance.close();
- };
- $scope.ambariVersion = ambariVersion;
- }]
- });
- };
- $scope.currentUser = Auth.getCurrentUser();
- $scope.cluster = null;
- $scope.isLoaded = null;
- function loadAmbariVersion() {
- Cluster.getAmbariVersion().then(function(version){
- $scope.ambariVersion = version;
- });
- }
- function loadClusterData(){
- Cluster.getStatus().then(function(cluster) {
- $scope.cluster = cluster;
- $scope.isLoaded = true;
- if(cluster && cluster.Clusters.provisioning_state === 'INIT'){
- setTimeout(loadClusterData, 1000);
- }
- }).catch(function(data) {
- Alert.error('Cannot load cluster status', data.statusText);
- });
- }
- loadClusterData();
- loadAmbariVersion();
- $scope.viewInstances = [];
- $scope.updateInstances = function () {
- View.getAllVisibleInstance().then(function(instances) {
- $scope.viewInstances = instances;
- });
- };
- $scope.gotoViewsDashboard =function() {
- window.location = '/#/main/views';
- };
- $scope.$root.$on('instancesUpdate', function (event, data) {
- $scope.updateInstances();
- });
- $scope.startInactiveTimeoutMonitoring = function(timeout) {
- var TIME_OUT = timeout;
- var active = true;
- var lastActiveTime = Date.now();
- var keepActive = function() {
- //console.error('keepActive');
- if (active) {
- lastActiveTime = Date.now();
- }
- };
- $(window).bind('mousemove', keepActive);
- $(window).bind('keypress', keepActive);
- $(window).bind('click', keepActive);
- var checkActiveness = function() {
- //console.error("checkActiveness " + lastActiveTime + " : " + Date.now());
- if (Date.now() - lastActiveTime > TIME_OUT) {
- //console.error("LOGOUT!");
- active = false;
- $(window).unbind('mousemove', keepActive);
- $(window).unbind('keypress', keepActive);
- $(window).unbind('click', keepActive);
- clearInterval($rootScope.userActivityTimeoutInterval);
- $scope.signOut();
- }
- };
- $rootScope.userActivityTimeoutInterval = window.setInterval(checkActiveness, 1000);
- };
- if (!$rootScope.userActivityTimeoutInterval) {
- Cluster.getAmbariTimeout().then(function(timeout) {
- if (Number(timeout) > 0)
- $scope.startInactiveTimeoutMonitoring(timeout * 1000);
- });
- }
- $scope.updateInstances();
- }]);
|