Skip to content

Instantly share code, notes, and snippets.

@nicocasel
Created August 8, 2015 10:21
Show Gist options
  • Save nicocasel/0a294b65dabd39f10f1f to your computer and use it in GitHub Desktop.
Save nicocasel/0a294b65dabd39f10f1f to your computer and use it in GitHub Desktop.
AngularJS Calendar
var app = angular.module('CalendarApp', ['ngRoute']);
app.config(function($routeProvider){
$routeProvider
.when('/', {controller: 'DayController', templateUrl: 'views/day.html'})
.when('/:id', {controller: 'EventController', templateUrl: 'views/event.html'})
.otherwise({redirectTo: '/'/});
});
<h2 class="date">{{ day.date | date: 'EEEE m/d' }}</h2>
<div class="event" ng-repeat="d in day">
<a href="#/{{$index}}">
<h3 class="name">{{ d.events.name }}</h3>
<p><span class="from">{{ d.events.from }}</span> - <span class="to">{{ d.events.to }}</span></p>
</a>
</div>
app.controller('DayController', ['$scope', 'events', function($scope, events) {
events.success(function(data){
$scope.day = data; });
}]);
<div class="event-detail">
<h2 class="event-name">{{ event.name }}</h2>
<p class="time"><span class="from">{{ event.from }}</span> - <span class="to">{{ event.to }}</span></p>
<p class="where">{{ event.where }}</p>
</div>
app.factory('events', ['$http', function($http) {
return $http.get('https://s3.amazonaws.com/codecademy-content/courses/ltp4/events-api/events.json')
.success(function(data) {
return data;
})
.error(function(data) {
return data;
});
}]);
app.controller('EventController', ['$scope', '$routeParams', function($scope, $routeParams) {
events.success(function(data){
$scope.event = data[$routeParams.id];
});
}]);
<!doctype html>
<html>
<head>
<link href="https://s3.amazonaws.com/codecademy-content/projects/bootstrap.min.css" rel="stylesheet" />
<link href="css/main.css" rel="stylesheet" />
<script src="https://code.angularjs.org/1.2.28/angular-route.min.js"></script>
<script src="js/vendor/angular.min.js"></script>
</head>
<body ng-app="CalendarApp">
<div class="header">
<div class="container">
<img src= "img/logo.svg" width="51" height="54">
</div>
</div>
<div class="main">
<div class="container">
<div ng-view></div>
</div>
</div>
<!-- Modules -->
<script src="js/app.js"></script>
<!-- Controllers -->
<script src="js/controllers/DayController.js"></script>
<script src="js/controllers/EventController.js"></script>
<!-- Services -->
<script src="js/services/events.js"></script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment