Skip to content

Instantly share code, notes, and snippets.

@Insayt
Last active November 17, 2015 11:42
Show Gist options
  • Save Insayt/3ba8ccdfcb43e741727d to your computer and use it in GitHub Desktop.
Save Insayt/3ba8ccdfcb43e741727d to your computer and use it in GitHub Desktop.
Angular config
app.config(function($stateProvider,
$urlRouterProvider,
$locationProvider,
$translateProvider,
growlProvider,
$localStorageProvider) {
$locationProvider.html5Mode(true);
$translateProvider.useSanitizeValueStrategy('escape');
$translateProvider.translations('en', language.en);
$translateProvider.translations('ru', language.ru);
$translateProvider.preferredLanguage('en');
$translateProvider.fallbackLanguage('en');
growlProvider.globalTimeToLive(2000);
$stateProvider
.state('base', {
abstract: true,
template: '<div ui-view></div>'
})
.state('main', {
url: '/',
templateProvider: function($templateCache){
return $templateCache.get('main.html');
},
title: 'Mixlive / MAIN PAGE'
})
.state('streams', {
url: "/streams?genres&types&search&sort&time",
templateProvider: function($templateCache){
return $templateCache.get('streams.html');
},
controller: 'streamCtrl',
controllerAs: 'streamCtrl',
resolve: {
streamsData: function($Api, $streamApi, $stateParams) {
return $streamApi.getFilteredStream($stateParams).then(function(res) {
return res;
});
}
},
title: 'Mixlive / STREAMS'
})
.state('upcoming', {
url: "/upcoming?genres&types&search&sort&time",
templateProvider: function($templateCache){
return $templateCache.get('upcoming.html');
},
controller: 'upcomingCtrl',
controllerAs: 'upcomingCtrl',
resolve: {
streamsData: function($Api, $streamApi, $stateParams) {
return $streamApi.getUpcomingStream($stateParams).then(function(res) {
return res;
});
}
},
title: 'Mixlive / UPCOMING'
})
.state('top-streams', {
url: "/top-streams",
templateProvider: function($templateCache){
return $templateCache.get('top-streams.html');
},
resolve: {
topStreams: function($Api, $streamApi) {
return $streamApi.getTop().then(function(res) {
return res.events;
});
}
},
controller: 'topStreamsCtrl',
controllerAs: 'topStreamsCtrl',
title: 'Mixlive / TOP-STREAMS'
})
.state('top-dj', {
url: "/top-dj",
templateProvider: function($templateCache){
return $templateCache.get('top-dj.html');
},
resolve: {
artistData: function($Api, $artistApi) {
return $artistApi.get().then(function(res) {
return res;
});
}
},
controller: 'topDjCtrl',
controllerAs: 'topDjCtrl',
title: 'Mixlive / TOP-DJ'
})
.state('event', {
url: "/event",
templateProvider: function($templateCache){
return $templateCache.get('event.html');
},
title: 'Mixlive / EVENT'
})
.state('event-live', {
url: "/event-live/:eventId",
templateProvider: function($templateCache){
return $templateCache.get('event-live.html');
},
resolve: {
event: function($Api, $stateParams, $streamApi) {
return $streamApi.getStream($stateParams.eventId).then(function(res) {
return res.event;
});
}
},
controller: 'eventLiveCtrl',
controllerAs: 'eventLiveCtrl',
title: 'Mixlive / EVENT-LIVE'
})
.state('profile', {
url: "/profile/:userId",
templateProvider: function($templateCache){
return $templateCache.get('profile.html');
},
controller: 'profileCtrl',
controllerAs: 'profileCtrl',
resolve: {
userData: function($userApi, $stateParams) {
return $userApi.getProfile($stateParams.userId).then(function(res) {
return res.user;
});
}
},
title: 'Mixlive / PROFILE'
})
.state('profile.user', {
url: "/:profileUrl",
templateProvider: function($templateCache){
return $templateCache.get('profile.html');
},
controller: 'profileCtrl',
controllerAs: 'profileCtrl',
title: 'Mixlive / PROFILE'
})
.state('admin', {
abstract: true,
template: '<div ui-view></div>'
})
.state('admin.broadcasting', {
url: "/account/broadcasting/:eventId",
templateProvider: function($templateCache){
return $templateCache.get('broadcasting.html');
},
resolve: {
event: function($Api, $stateParams, $streamApi) {
return $streamApi.getEvent($stateParams.eventId).then(function(res) {
return res.event;
});
}
},
controller: 'broadcastCtrl',
controllerAs: 'broadcastCtrl',
title: 'Mixlive / BROADCASTING'
})
.state('admin.event', {
url: '/account/event',
templateProvider: function ($templateCache) {
return $templateCache.get('cp-event.html');
},
title: 'MIXLIVE / CONTROL PANEL',
controller: 'adminEventCtrl',
controllerAs: 'adminEventCtrl'
})
.state('admin.addevent', {
url: '/account/addevent',
templateProvider: function ($templateCache) {
return $templateCache.get('cp-create-event.html');
},
title: 'MIXLIVE / CONTROL PANEL',
controller: 'adminAddEventCtrl',
controllerAs: 'adminAddEventCtrl'
})
.state('admin.editevent', {
url: '/account/editevent/:eventId',
templateProvider: function ($templateCache) {
return $templateCache.get('cp-edit-event.html');
},
resolve: {
event: function($Api, $stateParams, $streamApi) {
return $streamApi.getEvent($stateParams.eventId).then(function(res) {
return res.event;
});
}
},
title: 'MIXLIVE / CONTROL PANEL',
controller: 'adminEditEventCtrl',
controllerAs: 'adminEditEventCtrl'
})
.state('admin.settings', {
url: '/account/settings',
templateProvider: function ($templateCache) {
return $templateCache.get('cp-settings.html');
},
title: 'MIXLIVE / CONTROL PANEL',
controller: 'adminSettingsCtrl',
controllerAs: 'adminSettingsCtrl'
})
.state('admin.account', {
url: '/account/profile',
templateProvider: function ($templateCache) {
return $templateCache.get('account.html');
},
controller: 'accountCtrl',
controllerAs: 'account',
resolve: {
userData: function($userApi) {
return $userApi.getView().then(function(res) {
return res.profile;
});
}
},
title: 'MIXLIVE / CONTROL PANEL'
})
.state('admin.email', {
url: '/account/email',
templateProvider: function ($templateCache) {
return $templateCache.get('cp-email.html');
},
title: 'MIXLIVE / CONTROL PANEL',
controller: 'adminEmailCtrl',
controllerAs: 'adminEmailCtrl'
})
.state('admin.subscription', {
url: '/account/subscription',
templateProvider: function ($templateCache) {
return $templateCache.get('cp-subscription.html');
},
title: 'MIXLIVE / CONTROL PANEL',
controller: 'adminSubscriptionCtrl',
controllerAs: 'adminSubscriptionCtrl'
})
.state('admin.following', {
url: '/account/following',
templateProvider: function ($templateCache) {
return $templateCache.get('cp-following.html');
},
title: 'MIXLIVE / CONTROL PANEL',
controller: 'adminFollowingCtrl',
controllerAs: 'adminFollowingCtrl'
})
.state('admin.fans', {
url: '/account/fans',
templateProvider: function ($templateCache) {
return $templateCache.get('cp-fans.html');
},
title: 'MIXLIVE / CONTROL PANEL',
controller: 'adminFansCtrl',
controllerAs: 'adminFansCtrl'
})
.state('backend', {
abstract: true,
template: '<div ui-view></div>'
})
.state('backend.streams', {
url: '/backend/streams',
templateProvider: function ($templateCache) {
return $templateCache.get('backend/streams.html');
},
controller: 'backendStreamsCtrl',
controllerAs: 'backendStreamsCtrl'
})
.state('backend.events', {
url: '/backend/events',
templateProvider: function ($templateCache) {
return $templateCache.get('backend/events.html');
},
controller: 'backendEventsCtrl',
controllerAs: 'backendEventsCtrl'
})
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment