123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- /**
- * 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('NavbarCtrl',['$scope', 'Cluster', '$location', 'Alert', 'ROUTES', 'ConfirmationModal', '$rootScope', 'Stack', '$translate', 'Settings', function($scope, Cluster, $location, Alert, ROUTES, ConfirmationModal, $rootScope, Stack, $translate, Settings) {
- var $t = $translate.instant;
- $scope.cluster = null;
- $scope.totalRepos = 0;
- $scope.editCluster = {
- name : '',
- editingName : false
- };
- $scope.settings = Settings;
- function loadClusterData() {
- Cluster.getStatus().then(function (cluster) {
- $scope.cluster = cluster;
- Stack.allRepos({version: '',
- cluster: {
- options: [],
- current: null
- }}, {}).then(function (repos) {
- $scope.totalRepos = repos.itemTotal;
- });
- if (cluster && cluster.Clusters.provisioning_state === 'INIT') {
- setTimeout(loadClusterData, 1000);
- }
- }).catch(function (data) {
- Alert.error($t('common.alerts.cannotLoadClusterStatus'), data.statusText);
- });
- }
- loadClusterData();
- $scope.toggleEditName = function($event) {
- if ($event && $event.keyCode !== 27) {
- // 27 = Escape key
- return false;
- }
- $scope.editCluster.name = $scope.cluster.Clusters.cluster_name;
- $scope.editCluster.editingName = !$scope.editCluster.editingName;
- };
- $scope.clusterDisplayName = function () {
- var name="";
- if($scope.cluster && $scope.cluster.Clusters)
- {
- name = $scope.cluster.Clusters.cluster_name;
- }
- return name.length > 13 ? name.substr(0, 13) + "..." : name;
- };
- $scope.confirmClusterNameChange = function() {
- ConfirmationModal.show(
- $t('common.clusterNameChangeConfirmation.title'),
- $t('common.clusterNameChangeConfirmation.message', {
- clusterName: $scope.editCluster.name
- })
- )
- .then(function() {
- $scope.saveClusterName();
- }).catch(function() {
- // user clicked cancel
- $scope.toggleEditName();
- });
- };
- $scope.saveClusterName = function() {
- var oldClusterName = $scope.cluster.Clusters.cluster_name,
- newClusterName = $scope.editCluster.name;
- Cluster.editName(oldClusterName, newClusterName).then(function(data) {
- $scope.cluster.Clusters.cluster_name = newClusterName;
- Alert.success($t('common.alerts.clusterRenamed', {clusterName: newClusterName}));
- }).catch(function(data) {
- Alert.error($t('common.alerts.cannotRenameCluster', {clusterName: newClusterName}), data.data.message);
- });
- $scope.toggleEditName();
- };
- $scope.isActive = function(path) {
- var route = ROUTES;
- angular.forEach(path.split('.'), function(routeObj) {
- route = route[routeObj];
- });
- var r = new RegExp( route.url.replace(/(:\w+)/, '\\w+'));
- return r.test($location.path());
- };
- }]);
|