app.config.js
Home
/
ui /
src /
app /
app.config.js
import injectTapEventPlugin from 'react-tap-event-plugin';
import UrlHandler from './url.handler';
import addLocaleKorean from './locale/locale.constant-ko';
import addLocaleChinese from './locale/locale.constant-zh';
import mdiIconSet from '../svg/mdi.svg';
const PRIMARY_BACKGROUND_COLOR = "#305680";
const SECONDARY_BACKGROUND_COLOR = "#527dad";
const HUE3_COLOR = "#a7c1de";
export default function AppConfig($provide,
$urlRouterProvider,
$locationProvider,
$mdIconProvider,
$mdThemingProvider,
$httpProvider,
$translateProvider,
storeProvider,
locales) {
injectTapEventPlugin();
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise(UrlHandler);
storeProvider.setCaching(false);
$translateProvider.useSanitizeValueStrategy('sce');
$translateProvider.preferredLanguage('en_US');
$translateProvider.useLocalStorage();
$translateProvider.useMissingTranslationHandlerLog();
$translateProvider.addInterpolation('$translateMessageFormatInterpolation');
addLocaleKorean(locales);
addLocaleChinese(locales);
var $window = angular.injector(['ng']).get('$window');
var lang = $window.navigator.language || $window.navigator.userLanguage;
if (lang === 'ko') {
$translateProvider.useSanitizeValueStrategy(null);
$translateProvider.preferredLanguage('ko_KR');
}else if(lang === 'zh'){
$translateProvider.useSanitizeValueStrategy(null);
$translateProvider.preferredLanguage('zh_CN');
}
for (var langKey in locales) {
var translationTable = locales[langKey];
$translateProvider.translations(langKey, translationTable);
}
$httpProvider.interceptors.push('globalInterceptor');
$provide.decorator("$exceptionHandler", ['$delegate', '$injector', function ($delegate) {
return function (exception, cause) {
$delegate(exception, cause);
};
}]);
$mdIconProvider.iconSet('mdi', mdiIconSet);
configureTheme();
function blueGrayTheme() {
var tbPrimaryPalette = $mdThemingProvider.extendPalette('blue-grey');
var tbAccentPalette = $mdThemingProvider.extendPalette('orange', {
'contrastDefaultColor': 'light'
});
$mdThemingProvider.definePalette('tb-primary', tbPrimaryPalette);
$mdThemingProvider.definePalette('tb-accent', tbAccentPalette);
$mdThemingProvider.theme('default')
.primaryPalette('tb-primary')
.accentPalette('tb-accent');
$mdThemingProvider.theme('tb-dark')
.primaryPalette('tb-primary')
.accentPalette('tb-accent')
.backgroundPalette('tb-primary')
.dark();
}
function indigoTheme() {
var tbPrimaryPalette = $mdThemingProvider.extendPalette('indigo', {
'500': PRIMARY_BACKGROUND_COLOR,
'600': SECONDARY_BACKGROUND_COLOR,
'A100': HUE3_COLOR
});
var tbAccentPalette = $mdThemingProvider.extendPalette('deep-orange');
$mdThemingProvider.definePalette('tb-primary', tbPrimaryPalette);
$mdThemingProvider.definePalette('tb-accent', tbAccentPalette);
var tbDarkPrimaryPalette = $mdThemingProvider.extendPalette('tb-primary', {
'500': '#9fa8da'
});
var tbDarkPrimaryBackgroundPalette = $mdThemingProvider.extendPalette('tb-primary', {
'800': PRIMARY_BACKGROUND_COLOR
});
$mdThemingProvider.definePalette('tb-dark-primary', tbDarkPrimaryPalette);
$mdThemingProvider.definePalette('tb-dark-primary-background', tbDarkPrimaryBackgroundPalette);
$mdThemingProvider.theme('default')
.primaryPalette('tb-primary')
.accentPalette('tb-accent');
$mdThemingProvider.theme('tb-dark')
.primaryPalette('tb-dark-primary')
.accentPalette('tb-accent')
.backgroundPalette('tb-dark-primary-background')
.dark();
}
function configureTheme() {
var theme = 'indigo';
if (theme === 'blueGray') {
blueGrayTheme();
} else {
indigoTheme();
}
$mdThemingProvider.theme('tb-search-input', 'default')
.primaryPalette('tb-primary')
.backgroundPalette('tb-primary');
$mdThemingProvider.setDefaultTheme('default');
}
}