Skip to content

Commit

Permalink
Add a Lists service
Browse files Browse the repository at this point in the history
  • Loading branch information
BertHartm committed Dec 7, 2014
1 parent 41dc221 commit fea6fb6
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 8 deletions.
22 changes: 18 additions & 4 deletions main.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

var listMod = angular.module('listMod', []);
listMod.factory('List', [function() {
var List = function() {
var List = function(name) {
this.name = name;
this.items = [];
};
List.prototype.addItem = function(val) {
Expand All @@ -13,9 +14,22 @@ listMod.factory('List', [function() {
};
return List;
}]);

listMod.controller('WishlistCtrl', ['$scope', 'List', function($scope, List) {
$scope.list = new List();
listMod.service('Lists', ['List', function(List) {
var lists = [];
this.getLists = function() {
return lists;
};
this.addList = function(name) {
if (!name) {
throw new Error("List needs a name");
}
lists.push(new List(name));
};
}]);
listMod.controller('WishlistCtrl', ['$scope', 'Lists', function($scope, Lists) {
Lists.addList("my-list");
Lists.addList("your-list");
$scope.lists = Lists.getLists();
}]);

var wishlist = angular.module('wishlist', ['ngRoute', 'listMod']).
Expand Down
11 changes: 7 additions & 4 deletions wishlist.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<div ng-repeat="item in list.items">
<input type="text" ng-model="item.name"></input>
</div>
<div style="float:left" ng-repeat="list in lists">
{{list.name}}
<div ng-repeat="item in list.items">
<input type="text" ng-model="item.name"></input>
</div>

<button ng-click="list.addItem()">Add new</button>
<button ng-click="list.addItem()">Add new</button>
</div>

0 comments on commit fea6fb6

Please sign in to comment.