cleaups and content page refresh (in progress)
[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         final ProductCategoryService _prodcatSrv;
27         final Router _router;
28
29         ProductCategoryComponent(this._prodcatSrv,this._router);
30
31         Future<Null> createProductCategory() async {
32                 await _prodcatSrv.createProdCategory(new_prod_category_name);
33                 await ngOnInit();
34         }
35
36         Future<Null> ngOnInit() async {
37                 product_categories = await _prodcatSrv.getAll();
38         }
39
40         choose(ProductCategory pt) {
41                 selected_prod_category=pt;
42                 goto_products(pt);
43         }
44
45         Future<Null> goto_products(ProductCategory pt) => _router.navigate([
46                 'Products',
47                 {'id': pt.id.toString()}
48         ]);
49 }
50