Skip to content

Instantly share code, notes, and snippets.

@nicolasbinet
Last active August 29, 2015 14:04
Show Gist options
  • Save nicolasbinet/f0ba7974568957c49b64 to your computer and use it in GitHub Desktop.
Save nicolasbinet/f0ba7974568957c49b64 to your computer and use it in GitHub Desktop.
angular.module('granon',[
'ui.router',
'ngResource',
'granon.activities.controllers',
'granon.activities.services'
]);
angular.module('granon').config(function($stateProvider, $httpProvider){
$stateProvider
.state('app',{
url: '',
views: {
'sidebar': {
templateUrl: 'templates/common/sidebar.tpl.html'
},
'content': {
templateUrl: 'templates/common/content.tpl.html'
}
}
})
.state('app.activities', {
url: '/activite',
views: {
'sidebar@': {
templateUrl: 'templates/activity/list.tpl.html',
resolve: {
Activity: 'Activity',
activities: function(Activity){
return Activity.query().$promise;
}
},
controller: 'ActivityListCtrl'
}
}
})
.state('app.activities.new', {
url: '/new',
views: {
'content@': {
templateUrl: 'templates/activity/form.new.tpl.html',
resolve: {
Activity: 'Activity',
activityItem: function(Activity){
return new Activity();
}
},
controller: 'ActivityNewCtrl'
}
}
})
.state('app.activities.edit', {
url: '/:id/edit',
views: {
'content@': {
templateUrl: 'templates/activity/form.edit.tpl.html',
resolve: {
Activity: 'Activity',
activityItem: function(Activity, $stateParams){
return Activity.get({id: $stateParams.id}).$promise;
}
},
controller: 'ActivityEditCtrl'
}
}
})
;
}).run(function($state){
$state.go('app.activities');
});
angular.module('granon.activities.controllers',[])
.controller('ActivityListCtrl', ['$scope', 'activities', function($scope, activities) {
$scope.activities = activities;
}])
.controller('ActivityNewCtrl', ['$scope', '$state', 'Activity', function($scope, $state, Activity){
$scope.activity = new Activity();
$scope.addActivity = function(){
$scope.activity.$save();
// $state.go('app.activities');
}
}])
.controller('ActivityEditCtrl', ['$scope', '$state', 'activityItem', function($scope, $state, activityItem){
$scope.activity = activityItem;
$scope.updateActivity = function(){
$scope.activity.update(function(){
$state.go('app.activities');
});
};
}])
;
angular.module('granon.activities.services',[]).factory('Activity', function($resource){
return $resource('/api/activities/:id');
}).service('popupService', function($window){
this.showPopup = function(message){
return $window.confirm(message);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment