initial checkin
[outofuni/tavern2.git] / lib / product_category_component.dart
1 // Copyright (c) 2016, hackbard. All rights reserved. Use of this source code
2 // is governed by a BSD-style license that can be found in the LICENSE file.
3
4 import 'dart:async';
5
6 import 'package:angular2/core.dart';
7 import 'package:angular2/router.dart';
8
9 import 'product_category.dart';
10 import 'product_category_service.dart';
11
12 import 'package:angular2_rbi/directives.dart';
13
14 @Component(
15         selector: 'my-product-categories',
16         templateUrl: 'product_category_component.html',
17         styleUrls: const ['product_category_component.css'],
18         directives: const [MaterialTextfield,MaterialButton],
19         providers: const [ProductCategoryService]
20 )
21
22 class ProductCategoryComponent implements OnInit {
23         List<ProductCategory> product_categories;
24         ProductCategory selected_prod_category;
25         String new_prod_category_name;
26         String new_prod_category_id;
27         final ProductCategoryService _prodcatSrv;
28         final Router _router;
29
30         ProductCategoryComponent(this._prodcatSrv,this._router);
31
32         Future<Null> getProductCategories() async {
33                 product_categories = await _prodcatSrv.getAll();
34         }
35
36         Future<Null> createProductCategory() async {
37                 await _prodcatSrv.createProdCategory(
38                         new_prod_category_name,
39                         new_prod_category_id
40                 );
41         }
42
43         void ngOnInit() {
44                 getProductCategories();
45         }
46
47         choose(ProductCategory pt) {
48                 selected_prod_category=pt;
49                 goto_products(pt);
50         }
51
52         Future<Null> goto_products(ProductCategory pt) => _router.navigate([
53                 'Products',
54                 {'id': pt.id.toString()}
55         ]);
56 }
57