Files
commafeed/src/main/app/js/main.js

145 lines
4.5 KiB
JavaScript
Raw Normal View History

var app = angular.module('commafeed', ['ngRoute', 'ngTouch', 'ngAnimate', 'ui.utils', 'ui.bootstrap', 'ui.router', 'ui.select2',
2014-08-10 15:20:04 +02:00
'commafeed.directives', 'commafeed.controllers', 'commafeed.services', 'commafeed.filters', 'commafeed.i18n', 'ngSanitize',
'infinite-scroll', 'ngGrid', 'chieffancypants.loadingBar', 'pascalprecht.translate']);
app.config([
'$routeProvider',
'$stateProvider',
'$urlRouterProvider',
'$httpProvider',
'$compileProvider',
'cfpLoadingBarProvider',
'$translateProvider',
function($routeProvider, $stateProvider, $urlRouterProvider, $httpProvider, $compileProvider, cfpLoadingBarProvider,
$translateProvider) {
2014-08-22 18:01:06 +02:00
2014-08-10 15:20:04 +02:00
$translateProvider.useStaticFilesLoader({
prefix : 'i18n/',
2014-08-10 15:20:04 +02:00
suffix : '.js'
});
$translateProvider.preferredLanguage('en');
2013-03-21 16:22:58 +01:00
cfpLoadingBarProvider.includeSpinner = false;
2013-07-31 11:16:50 +02:00
2013-11-12 09:43:36 +01:00
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|javascript):/);
2014-08-09 15:25:41 +02:00
var interceptor = ['$rootScope', '$q', '$injector', function(scope, $q, $injector) {
2014-11-17 14:24:16 +01:00
var f = {};
f.response = function(response) {
2013-05-17 19:50:57 +02:00
return response;
};
2014-11-17 14:24:16 +01:00
f.responseError = function(response) {
2013-05-17 19:50:57 +02:00
var status = response.status;
if (status == 401) {
2014-08-09 15:25:41 +02:00
$injector.get('$state').transitionTo('welcome');
2013-05-17 19:50:57 +02:00
}
2014-08-19 01:12:19 +02:00
return $q.reject(response);
2013-05-17 19:50:57 +02:00
};
2014-11-17 14:24:16 +01:00
return f;
2013-07-31 11:16:50 +02:00
}];
2014-11-17 14:24:16 +01:00
$httpProvider.interceptors.push(interceptor);
2013-07-31 11:16:50 +02:00
$stateProvider.state('feeds', {
'abstract' : true,
url : '/feeds',
templateUrl : 'templates/feeds.html'
});
$stateProvider.state('feeds.view', {
url : '/view/:_type/:_id',
templateUrl : 'templates/feeds.view.html',
controller : 'FeedListCtrl'
});
2013-11-27 12:13:18 +01:00
$stateProvider.state('feeds.subscribe', {
url : '/subscribe',
templateUrl : 'templates/feeds.subscribe.html',
controller : 'SubscribeCtrl'
});
$stateProvider.state('feeds.new_category', {
url : '/add_category',
templateUrl : 'templates/feeds.new_category.html',
controller : 'NewCategoryCtrl'
});
$stateProvider.state('feeds.import', {
url : '/import',
templateUrl : 'templates/feeds.import.html',
controller : 'ImportCtrl'
});
$stateProvider.state('feeds.search', {
url : '/search/:_keywords',
templateUrl : 'templates/feeds.view.html',
controller : 'FeedListCtrl'
});
$stateProvider.state('feeds.feed_details', {
url : '/details/feed/:_id',
templateUrl : 'templates/feeds.feed_details.html',
controller : 'FeedDetailsCtrl'
});
$stateProvider.state('feeds.category_details', {
url : '/details/category/:_id',
templateUrl : 'templates/feeds.category_details.html',
controller : 'CategoryDetailsCtrl'
});
2013-10-13 10:49:44 +02:00
$stateProvider.state('feeds.tag_details', {
url : '/details/tag/:_id',
templateUrl : 'templates/feeds.tag_details.html',
controller : 'TagDetailsCtrl'
});
$stateProvider.state('feeds.help', {
url : '/help',
templateUrl : 'templates/feeds.help.html',
2013-05-19 16:24:56 +02:00
controller : 'HelpController'
});
$stateProvider.state('feeds.settings', {
url : '/settings',
templateUrl : 'templates/settings.html',
controller : 'SettingsCtrl'
});
$stateProvider.state('feeds.profile', {
url : '/profile',
templateUrl : 'templates/profile.html',
controller : 'ProfileCtrl'
});
$stateProvider.state('admin', {
'abstract' : true,
url : '/admin',
templateUrl : 'templates/admin.html'
});
$stateProvider.state('admin.userlist', {
url : '/user/list',
templateUrl : 'templates/admin.userlist.html',
controller : 'ManageUsersCtrl'
});
$stateProvider.state('admin.useradd', {
url : '/user/add',
templateUrl : 'templates/admin.useradd.html',
controller : 'ManageUserCtrl'
});
$stateProvider.state('admin.useredit', {
url : '/user/edit/:_id',
templateUrl : 'templates/admin.useredit.html',
controller : 'ManageUserCtrl'
});
$stateProvider.state('admin.settings', {
url : '/settings',
templateUrl : 'templates/admin.settings.html',
controller : 'ManageSettingsCtrl'
});
2013-08-23 12:46:35 +02:00
$stateProvider.state('admin.metrics', {
url : '/metrics',
templateUrl : 'templates/admin.metrics.html',
controller : 'MetricsCtrl'
});
2014-08-10 15:20:04 +02:00
2014-08-09 15:25:41 +02:00
$stateProvider.state('welcome', {
url : '/welcome',
2014-08-09 19:04:37 +02:00
templateUrl : 'templates/welcome.html'
2014-08-09 15:25:41 +02:00
});
2013-10-13 10:49:44 +02:00
$urlRouterProvider.when('/', '/feeds/view/category/all');
$urlRouterProvider.when('/admin', '/admin/settings');
$urlRouterProvider.otherwise('/');
2013-07-31 11:16:50 +02:00
}]);