Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a53cb9c

Browse files
Adding third view state- items category
1 parent 71af453 commit a53cb9c

File tree

8 files changed

+73
-25
lines changed

8 files changed

+73
-25
lines changed

‎master-detail-view-pair/index.html‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,21 @@ <h1>Welcome to our Restaurant</h1>
1919
<script src="src/shoppinglist/menuapp.module.js"></script>
2020
<script src="src/shoppinglist/data.module.js"></script>
2121

22+
<!-- Services -->
23+
<script src="src/shoppinglist/menudata.service.js"></script>
2224

2325
<!-- Routes -->
2426
<script src="src/routes.js"></script>
25-
<script src="src/spinner/spinner.module.js"></script>
26-
27+
<script src="src/spinner/spinner.module.js"></script>
2728

28-
<!-- 'ShoppingList' module artifacts -->
29+
<!-- Components -->
2930
<script src="src/shoppinglist/categories.component.js"></script>
30-
<script src="src/shoppinglist/main-shoppinglist.controller.js"></script>
31-
<script src="src/shoppinglist/menudata.service.js"></script>
32-
31+
<script src="src/shoppinglist/items.component.js"></script>
3332

33+
<!-- Controllers -->
34+
<script src="src/shoppinglist/main-shoppinglist.controller.js"></script>
35+
<script src="src/shoppinglist/item-detail.controller.js"></script>
36+
3437

3538
<!-- 'Spinner' module artifacts -->
3639
<script src="src/spinner/loadingspinner.component.js"></script>

‎master-detail-view-pair/src/routes.js‎

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,32 @@ function RoutesConfig($stateProvider, $urlRouterProvider) {
2626
controller: 'MainShoppingListController as categories',
2727
resolve: {
2828
items: ['MenuDataService ', function (MenuDataService) {
29-
return MenuDataService.getAllCategories().then(function(response) {
29+
return MenuDataService.getAllCategories().then(function(response) {
3030
return response.data;
3131
});
3232
}]
3333
}
34+
})
35+
36+
.state('items', {
37+
url: '/items/{category}',
38+
templateUrl: 'src/shoppinglist/templates/items.template.html',
39+
controller: 'ItemDetailController as itemDetail',
40+
resolve: {
41+
items: ['$stateParams','MenuDataService',
42+
function ($stateParams,MenuDataService) {
43+
return MenuDataService.getItemsForCategory($stateParams.category)
44+
.then(function(response) {
45+
return response.data.menu_items;
46+
});
47+
}]
48+
}
3449
});
3550

51+
52+
53+
3654

37-
}
55+
}
3856

3957
})();
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
(function () {
2+
'use strict';
3+
4+
angular.module('MenuApp')
5+
.controller('ItemDetailController', ItemDetailController);
6+
7+
8+
ItemDetailController.$inject = ['items'];
9+
function ItemDetailController(items) {
10+
var itemDetail = this;
11+
itemDetail.items = items;
12+
}
13+
14+
})();
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
(function () {
2+
'use strict';
3+
4+
angular.module('MenuApp')
5+
.component('items', {
6+
templateUrl: 'src/shoppinglist/templates/items.component.template.html',
7+
bindings: {
8+
items: '<'
9+
}
10+
});
11+
12+
})();

‎master-detail-view-pair/src/shoppinglist/menudata.service.js‎

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ MenuDataService .$inject = ['$http', 'ApiBasePath'];
1010
function MenuDataService ($http, ApiBasePath) {
1111
var service = this;
1212

13-
14-
15-
1613

1714
service.getAllCategories = function () {
1815

@@ -23,19 +20,16 @@ function MenuDataService ($http, ApiBasePath) {
2320

2421
};
2522

26-
/* service.getItemsForCategory = function (categoryShortName) {
27-
var deferred = $q.defer();
28-
23+
service.getItemsForCategory = function (categoryShortName) {
2924

30-
$timeout(function () {
31-
32-
deferred.resolve(items);
33-
}, 800);
34-
35-
return deferred.promise;
36-
};*/
37-
25+
return $http({
26+
method: "GET",
27+
url: (ApiBasePath + "/menu_items.json"),
28+
params: {category: categoryShortName}
29+
});
3830

31+
};
3932
}
4033

41-
})();
34+
35+
})();
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<ul>
22
<li ng-repeat="item in $ctrl.items">
3-
{{ item.short_name }} {{item.name}} {{item.description}}
3+
<aui-sref="items({category: item.short_name })">{{item.name}}</a>
44
</li>
5-
</ul>
5+
</ul>
6+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<ul>
2+
<li ng-repeat="item in $ctrl.items">
3+
{{item.name}}
4+
</li>
5+
</ul>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<items items="itemDetail.items"></items>

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /