index.html
```
<!DOCTYPE html> <head> <title>Suggestion Box</title> <meta charset="utf-8"> 
<script type="text/javascript" src="js/vendor/angular.min.js"></script> 
<script src="https://code.angularjs.org/1.2.28/angular-route.min.js"; 
type="text/javascript"></script> <meta name="viewport" 
content="width=device-width, initial-scale=1"> <link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css";
 
integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M"
 
crossorigin="anonymous"> <!--<link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css";
 
integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M"
 
crossorigin="anonymous">--> <link 
href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"; 
rel="stylesheet"> </head> <body ng-app="SuggestionBox" 
ng-controller="HomeController"> <div class="container"> <div ng-view></div> 
</div> <!--Modules--> <script type="text/javascript" 
src="js/app.js"></script> <!--Controllers--> <script type="text/javascript" 
src="js/controllers/HomeController.js"></script> <script 
type="text/javascript" 
src="js/controllers/SuggestionController.js"></script> <!--Services--> 
<script type= "text/javascript" src="js/services/suggestions.js"></script> 
</body> </html>
```

HomeController.js
```
app.controller("HomeController", ["$scope", "suggestions", function($scope, 
suggestions){ $scope.posts = suggestions.posts; $scope.addSuggestion = 
function(){ if(!$scope.title || $scope.title === ""){ return; } 
$scope.posts.push({ title: $scope.title, upvotes: 0, comments: [], //id: 
$scope.posts.length }); $scope.title = ""; }; $scope.upVote = 
function(post){ post.upvotes += 1; }; }]);
```

app.js
```
var app = angular.module("SuggestionBox", ["ngRoute"]); app.config(function 
($routeProvider){ $routeProvider .when('/home', { controller: 
"HomeController", templateUrl: "views/home.html" }) 
.when('/suggestion/:id', { controller: "SuggestionController", templateUrl: 
"views/suggestion.html" }) .otherwise({ redirectTo: "/home" }) })
```

SuggestionController.js
```
app.controller("SuggestionController", ["$scope", "$routeParams", 
"suggestions", function($scope, $routeParams, suggestions){ $scope.post = 
suggestions.posts[$routeParams.id]; $scope.addComment = function(){ 
if(!$scope.comment || $scope.comment === ""){ return; } 
$scope.comments.push({ body: $scope.comment, upvotes: 0 }); $scope.comment 
= ""; }//addComment() $scope.upVote = function(comment){ comment.upvotes += 
1; }; }]);
```

suggestion.html
```
<div class="main"> <div class="container"> <div ng-repeat="comment in 
comments | orderBy: '-upvotes'"> <h1>{{comment.body}}</h1> <p><span 
class="glyphicon glyphicon-plus-sign" ng-click="upVote(comment, 
$index)"></span> Upvotes: {{comment.upvotes}}</p> </div> <form 
ng-submit="addComment()" style="margin-top: 50px"> <h3> Submit Your Comment 
</h3> <div class="form-group"> <input type="text" class="form-control" 
placeholder="Write a comment" ng-model="comment"></input> </div> <button 
type="submit" class="btn btn-primary">Comment here</button> </form> </div> 
</div>
```

home.html
```
<div class="main"> <div class="container"> <div ng-repeat="post in posts | 
orderBy: '-upvotes'"> <h1>{{post.title}}</h1> <p><span class="glyphicon 
glyphicon-plus-sign" ng-click="upVote(post)"></span> Upvotes: 
{{post.upvotes}}</p> <a href="#/suggestion/{{$index}}">Comments</a> </div> 
<form ng-submit="addSuggestion()" style="margin-top: 50px"> <h3> Submit 
Your Suggestion </h3> <div class="form-group"> <input type="text" 
class="form-control" placeholder="Great ideas here" 
ng-model="title"></input> </div> <button type="submit" class="btn 
btn-primary">Suggest</button> </form> </div> </div>
```

suggestions,js
```
app.factory('suggestions', [function(){ var demoSuggestions = { posts: [ { 
title: 'Free pizza at club meetings', upvotes: 15, comments: [], }, { 
title: 'End all club emails with Laffy Taffy jokes', upvotes: 9, comments: 
[], }, { title: 'Retrofit water fountain with Gatorade', upvotes: 7, 
comments: [], }, { title: 'Sing Bon Jovi\'s "Living on a Prayer" halfway 
through meetings,', upvotes: 3, comments: [], }, ] }; return 
demoSuggestions; }]);
```

-- 
You received this message because you are subscribed to the Google Groups 
"Angular and AngularJS discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.
  • [AngularJS] Code academy... 'John Dueno' via Angular and AngularJS discussion

Reply via email to