'use strict'; /* Controllers */ angular.module('app') .controller('AppCtrl', ['$scope', '$localStorage', '$window', '$http', function ($scope, $localStorage, $window, $http) { // add 'ie' classes to html var isIE = !!navigator.userAgent.match(/MSIE/i); isIE && angular.element($window.document.body).addClass('ie'); isSmartDevice($window) && angular.element($window.document.body).addClass('smart'); // config $scope.app = { name: 'Angulr', version: '1.3.3', // for chart colors color: { primary: '#7266ba', info: '#23b7e5', success: '#27c24c', warning: '#fad733', danger: '#f05050', light: '#e8eff0', dark: '#3a3f51', black: '#1c2b36' }, settings: { themeID: 1, navbarHeaderColor: 'bg-black', navbarCollapseColor: 'bg-white-only', asideColor: 'bg-black', headerFixed: true, asideFixed: false, asideFolded: false, asideDock: false, container: false }, userInfo: {} } $http.get('/superadmin/getCurrentUserInfo', {}).then(function (data) { data = data.data if (data.payload) { var userInfo = $scope.app.userInfo; var payload = data.payload; userInfo.nickname = payload.nickname; } }); // save settings to local storage if (angular.isDefined($localStorage.settings)) { $scope.app.settings = $localStorage.settings; } else { $localStorage.settings = $scope.app.settings; } $scope.$watch('app.settings', function () { if ($scope.app.settings.asideDock && $scope.app.settings.asideFixed) { // aside dock and fixed must set the header fixed. $scope.app.settings.headerFixed = true; } // save to local storage $localStorage.settings = $scope.app.settings; }, true); // angular 翻译 $scope.lang = {isopen: false}; $scope.langs = {en: 'English', de_DE: 'German', it_IT: 'Italian'}; $scope.selectLang = "中文"; $scope.setLang = function (langKey, $event) { // set the current lang $scope.selectLang = $scope.langs[langKey]; // You can change the language during runtime $scope.lang.isopen = !$scope.lang.isopen; }; function isSmartDevice($window) { // Adapted from http://www.detectmobilebrowsers.com var ua = $window['navigator']['userAgent'] || $window['navigator']['vendor'] || $window['opera']; // Checks for iOs, Android, Blackberry, Opera Mini, and Windows mobile devices return (/iPhone|iPod|iPad|Silk|Android|BlackBerry|Opera Mini|IEMobile/).test(ua); } }]);