'use strict'; /** * Share application. */ angular.module('share', // Dependencies ['ui.router', 'ui.bootstrap', 'restangular', 'ngSanitize', 'ngTouch', 'pascalprecht.translate', 'tmh.dynamicLocale'] ) /** * Configuring modules. */ .config(function($locationProvider, $stateProvider, $httpProvider, RestangularProvider, $translateProvider, tmhDynamicLocaleProvider) { $locationProvider.hashPrefix(''); // Configuring UI Router $stateProvider .state('main', { url: '', views: { 'page': { templateUrl: 'partial/share/main.html', controller: 'Main' } } }) .state('share', { url: '/share/:documentId/:shareId', views: { 'page': { templateUrl: 'partial/share/share.html', controller: 'Share' } } }) .state('share.file', { url: '/file/:fileId', views: { 'file': { controller: 'FileView' } } }) .state('403', { url: '/403', views: { 'page': { templateUrl: 'partial/share/403.html' } } }); // Configuring Restangular RestangularProvider.setBaseUrl('../api'); // Configuring Angular Translate $translateProvider .useSanitizeValueStrategy(null) .useStaticFilesLoader({ prefix: 'locale/', suffix: '.json?@build.date@' }) .registerAvailableLanguageKeys(['en', 'es', 'fr', 'de', 'el', 'ru', 'pl, 'zh_CN', 'zh_TW'], { 'ru_*': 'ru', 'en_*': 'en', 'es_*': 'es', 'fr_*': 'fr', 'de_*': 'de', 'pl_*': 'pl', '*': 'en' }) .fallbackLanguage('en'); if (!_.isUndefined(localStorage.overrideLang)) { // Set the current language if an override is saved in local storage $translateProvider.use(localStorage.overrideLang); } else { // Or else determine the language based on the user's browser $translateProvider.determinePreferredLanguage(); } // Configuring tmhDynamicLocale tmhDynamicLocaleProvider.localeLocationPattern('locale/angular-locale_{{locale}}.js'); // Configuring $http to act like jQuery.ajax $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'; $httpProvider.defaults.headers.put['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'; $httpProvider.defaults.transformRequest = [function(data) { var param = function(obj) { var query = ''; var name, value, fullSubName, subName, subValue, innerObj, i; for(name in obj) { value = obj[name]; if(value instanceof Array) { for(i=0; i