app.config.js
Home
/
ui /
src /
app /
app.config.js
import injectTapEventPlugin from 'react-tap-event-plugin';
import UrlHandler from './url.handler';
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) {
injectTapEventPlugin();
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise(UrlHandler);
storeProvider.setCaching(false);
$translateProvider.useSanitizeValueStrategy(null)
.useMissingTranslationHandler('tbMissingTranslationHandler')
.addInterpolation('$translateMessageFormatInterpolation')
.useStaticFilesLoader({
files: [
{
prefix: PUBLIC_PATH + 'locale/locale.constant-',
suffix: '.json'
}
]
})
.registerAvailableLanguageKeys(SUPPORTED_LANGS, getLanguageAliases(SUPPORTED_LANGS))
.fallbackLanguage('en_US')
.uniformLanguageTag('java')
.determinePreferredLanguage();
$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.setDefaultTheme('default');
}
function getLanguageAliases(supportedLangs) {
var aliases = {};
supportedLangs.sort().forEach(function(item, index, array) {
if (item.length === 2) {
aliases[item] = item;
aliases[item + '_*'] = item;
} else {
var key = item.slice(0, 2);
if (index === 0 || key !== array[index - 1].slice(0, 2)) {
aliases[key] = item;
aliases[key + '_*'] = item;
} else {
aliases[item] = item;
}
}
});
return aliases;
}
}