///
///
///
///
///
///
///
///
///
///
///
///
///
/**
* @ngdoc fasit
* @name fasit.module.#fasit
* @fasit
*
* @description
* Huvudmodul i applikationen FasIT
*
*/
// TODO vile: Ta bort denna! Kolla att all logik är flyttad
angular
.module('fasit', ['ui.bootstrap', 'ui.utils', 'ngRoute', 'ngCookies', 'ngResource', 'ngSanitize', 'jmdobry.angular-cache', 'pascalprecht.translate', 'angularFileUpload', 'angulartics', 'angulartics.google.analytics'])
.config(['$routeProvider', '$angularCacheFactoryProvider', '$translateProvider', '$locationProvider', '$httpProvider', '$rootScopeProvider', '$compileProvider', '$provide', function ($routeProvider, $angularCacheFactoryProvider, $translateProvider, $locationProvider, $httpProvider, $rootScopeProvider, $compileProvider: ng.ICompileProvider, $provide) {
$provide.decorator('ngViewDirective', ['$delegate', function ($delegate) {
var directive = $delegate[1];
var tempLink = directive.link;
var link = function (scope, $element) {
scope.$$routeInit = true;
tempLink(scope, $element);
};
directive.compile = function ($element, attr) {
return link
}
return $delegate;
}]);
//$compileProvider.debugInfoEnabled(false);
$routeProvider
.when('/Dokument/:id', { templateUrl: 'app/Scopes/Dokument/Dokument.html', controller: 'DokumentCtrl' })
.when('/FasitNytt', { templateUrl: 'app/Scopes/FasitNytt/FasitNytt.html', controller: 'FasitNyttCtrl' })
.when('/Objekt/:id', { templateUrl: 'app/Scopes/MaeklarObjekt/MaeklarObjekt.html', controller: 'MaeklarObjektCtrl', reloadOnSearch: false })
.when('/Objektlista', { templateUrl: 'app/Scopes/ObjektLista/ObjektLista.html', controller: 'ObjektListaCtrl' })
.when('/Kontakt/:personId', { templateUrl: 'app/Scopes/Kontakt/Kontakt.html', controller: 'KontaktCtrl', reloadOnSearch: false })
.when('/Kontaktlista', { templateUrl: 'app/Scopes/KontaktLista/KontaktLista.html', controller: 'KontaktListaCtrl' })
.when('/KontaktlistaOld', { templateUrl: 'app/Scopes/KontaktLista/KontaktListaOld.html', controller: 'KontaktListaCtrlOld' })
.when('/NyKontakt', { templateUrl: 'app/Scopes/NyKontakt/NyKontakt.html', controller: 'NyKontaktCtrl' })
.when('/NyttObjekt', { templateUrl: 'app/Scopes/NyttMaeklarObjekt/NyttMaeklarObjekt.html', controller: 'NyttMaeklarObjektCtrl' })
.when('/Saljdriv', { templateUrl: 'app/Scopes/Saelj/Saelj.html', controller: 'SaeljCtrl', controllerAs: 'saeljVm' })
.when('/Saljdriv/Forsaljningar', { templateUrl: 'app/Scopes/Saelj/Budgetuppfoeljning/Budgetuppfoeljning.html', controller: 'BudgetuppfoeljningCtrl' })
.when('/Saljdriv/Intagsforsok', { templateUrl: 'app/Scopes/Saelj/Budgetuppfoeljning/Budgetuppfoeljning.html', controller: 'BudgetuppfoeljningCtrl' })
.when('/Saljdriv/Provision', { templateUrl: 'app/Scopes/Saelj/Budgetuppfoeljning/Budgetuppfoeljning.html', controller: 'BudgetuppfoeljningCtrl' })
.when('/Saljdriv/Skickadetips', { templateUrl: 'app/Scopes/Saelj/SkickadeTips/SkickadeTips.html', controller: 'SkickadeTipsCtrl' })
.when('/Saljdriv/Mojlighetlista/VantarPaKontakt', { templateUrl: 'app/Scopes/Saelj/MoejlighetLista/MoejlighetLista.html', controller: 'MoejlighetListaCtrl', reloadOnSearch: false })
.when('/Saljdriv/Mojlighetlista/Aterkoppling', { templateUrl: 'app/Scopes/Saelj/MoejlighetLista/MoejlighetLista.html', controller: 'MoejlighetListaCtrl', reloadOnSearch: false })
.when('/Saljdriv/Mojlighetlista/Guldgruvan', { templateUrl: 'app/Scopes/Saelj/MoejlighetLista/MoejlighetLista.html', controller: 'MoejlighetListaCtrl', reloadOnSearch: false })
.when('/Installningar', { templateUrl: 'app/Scopes/Instaellningar/Instaellningar.html', controller: 'InstaellningarCtrl' })
.when('/Omraden', { templateUrl: 'app/Scopes/InstaellningarOmraaden/InstaellningarOmraaden.html', controller: 'InstaellningarOmraadenCtrl' })
.when('/Tillaggsklausuler', { templateUrl: 'app/Scopes/InstaellningarTillaeggsklausuler/InstaellningarTillaeggsklausuler.html', controller: 'StandardTextAdminSideDrawerCtrl' })
.when('/FristaaendeDokument', { templateUrl: 'app/Scopes/FristaaendeDokument/FristaaendeDokument.html', controller: 'FristaaendeDokumentCtrl' })
.when('/Fakturor', { templateUrl: 'app/Scopes/Fakturor/Fakturor.html', controller: 'FakturorCtrl' })
.when('/Komponenter', { templateUrl: 'app/Scopes/Komponenter/Komponenter.html', controller: 'KomponenterCtrl' })
.when('/CleanCache', { templateUrl: 'app/Scopes/CleanCache/CleanCache.html', controller: 'CleanCacheCtrl' })
.when('/DigitalBudgivning/:id', { templateUrl: 'app/Scopes/DigitalBudgivningMobil/DigitalBudgivningMobil.html', controller: 'DigitalBudgivningMobilCtrl' })
.when('/Haendelser', { templateUrl: 'app/Scopes/Haendelser/Haendelser.html', controller: 'HaendelserCtrl' })
//Lägg till länken i Index.html också
.otherwise({ redirectTo: '/Saljdriv' });
// sätter max antal digests som får köra innan Angular varnar för endless-loopar
// TODO Öka detta värde för dist, hellre att den får beräkna lite extra än att den krashar i drift.
$rootScopeProvider.digestTtl(50);
var localStorageOptions = {
maxAge: 60*60*1000,
deleteOnExpire: 'passive',
storageMode: 'none' //vs localStorage
};
$angularCacheFactoryProvider.setCacheDefaults(localStorageOptions);
$httpProvider.interceptors.push('responseInterceptor');
$translateProvider.useSanitizeValueStrategy(null);
$translateProvider.preferredLanguage('sv_SE'); // Sätter startspråk
$translateProvider.fallbackLanguage('sv_SE'); // Sätter språk som används vid ogiltig input
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|mailto|callto|tel):/);
}]).run(['configModelService', function (
configModelService: fb.IConfigModelService
) {
configModelService.init();
}]);