@@ -10,7 +10,6 @@
|
|
10 |
styleUrls: ['./app.component.css']
|
11 |
})
|
12 |
export class AppComponent {
|
13 |
-
|
14 |
book?: Book;
|
15 |
viewState: ViewState = 'list';
|
16 |
|
10 |
styleUrls: ['./app.component.css']
|
11 |
})
|
12 |
export class AppComponent {
|
|
|
13 |
book?: Book;
|
14 |
viewState: ViewState = 'list';
|
15 |
|
@@ -17,7 +17,6 @@
|
|
17 |
<h4>Erschienen</h4>
|
18 |
{{ book.published }}
|
19 |
</div>
|
20 |
-
|
21 |
<div class="four wide column" *ngIf="book.rating">
|
22 |
<h4>Rating</h4>
|
23 |
<i class="yellow star icon"
|
17 |
<h4>Erschienen</h4>
|
18 |
{{ book.published }}
|
19 |
</div>
|
|
|
20 |
<div class="four wide column" *ngIf="book.rating">
|
21 |
<h4>Rating</h4>
|
22 |
<i class="yellow star icon"
|
@@ -8,7 +8,6 @@
|
|
8 |
styleUrls: ['./book-details.component.css']
|
9 |
})
|
10 |
export class BookDetailsComponent implements OnInit {
|
11 |
-
|
12 |
@Input() book?: Book;
|
13 |
@Output() showListEvent = new EventEmitter<any>();
|
14 |
|
8 |
styleUrls: ['./book-details.component.css']
|
9 |
})
|
10 |
export class BookDetailsComponent implements OnInit {
|
|
|
11 |
@Input() book?: Book;
|
12 |
@Output() showListEvent = new EventEmitter<any>();
|
13 |
|
@@ -1,6 +1,7 @@
|
|
1 |
import { Component, OnInit, Output, EventEmitter } from '@angular/core';
|
2 |
|
3 |
import { Book } from '../shared/book';
|
|
|
4 |
|
5 |
@Component({
|
6 |
selector: 'bm-book-list',
|
@@ -11,35 +12,10 @@
|
|
11 |
books: Book[] = [];
|
12 |
@Output() showDetailsEvent = new EventEmitter<Book>();
|
13 |
|
|
|
|
|
14 |
ngOnInit(): void {
|
15 |
-
this.books =
|
16 |
-
{
|
17 |
-
isbn: '9783864907791',
|
18 |
-
title: 'Angular',
|
19 |
-
authors: ['Ferdinand Malcher', 'Johannes Hoppe', 'Danny Koppenhagen'],
|
20 |
-
published: new Date(2020, 8, 1),
|
21 |
-
subtitle: 'Grundlagen, fortgeschrittene Themen und Best Practices',
|
22 |
-
rating: 5,
|
23 |
-
thumbnails: [{
|
24 |
-
url: 'https://ng-buch.de/angular-cover.jpg',
|
25 |
-
title: 'Buchcover'
|
26 |
-
}],
|
27 |
-
description: 'Lernen Sie Angular mit diesem Praxisbuch!'
|
28 |
-
},
|
29 |
-
{
|
30 |
-
isbn: '9783864905520',
|
31 |
-
title: 'React',
|
32 |
-
authors: ['Oliver Zeigermann', 'Nils Hartmann'],
|
33 |
-
published: new Date(2019, 11, 12),
|
34 |
-
subtitle: 'Grundlagen, fortgeschrittene Techniken und Praxistipps',
|
35 |
-
rating: 3,
|
36 |
-
thumbnails: [{
|
37 |
-
url: 'https://ng-buch.de/react-cover.jpg',
|
38 |
-
title: 'Buchcover'
|
39 |
-
}],
|
40 |
-
description: 'Das bewährte und umfassende Praxisbuch zu React.'
|
41 |
-
}
|
42 |
-
];
|
43 |
}
|
44 |
|
45 |
showDetails(book: Book) {
|
1 |
import { Component, OnInit, Output, EventEmitter } from '@angular/core';
|
2 |
|
3 |
import { Book } from '../shared/book';
|
4 |
+
import { BookStoreService } from '../shared/book-store.service';
|
5 |
|
6 |
@Component({
|
7 |
selector: 'bm-book-list',
|
12 |
books: Book[] = [];
|
13 |
@Output() showDetailsEvent = new EventEmitter<Book>();
|
14 |
|
15 |
+
constructor(private bs: BookStoreService) { }
|
16 |
+
|
17 |
ngOnInit(): void {
|
18 |
+
this.books = this.bs.getAll();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
}
|
20 |
|
21 |
showDetails(book: Book) {
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { Injectable } from '@angular/core';
|
2 |
+
|
3 |
+
import { Book } from './book';
|
4 |
+
|
5 |
+
@Injectable({
|
6 |
+
providedIn: 'root'
|
7 |
+
})
|
8 |
+
export class BookStoreService {
|
9 |
+
books: Book[];
|
10 |
+
|
11 |
+
constructor() {
|
12 |
+
this.books = [
|
13 |
+
{
|
14 |
+
isbn: '9783864907791',
|
15 |
+
title: 'Angular',
|
16 |
+
authors: ['Ferdinand Malcher', 'Johannes Hoppe', 'Danny Koppenhagen'],
|
17 |
+
published: new Date(2020, 8, 1),
|
18 |
+
subtitle: 'Grundlagen, fortgeschrittene Themen und Best Practices',
|
19 |
+
rating: 5,
|
20 |
+
thumbnails: [{
|
21 |
+
url: 'https://ng-buch.de/angular-cover.jpg',
|
22 |
+
title: 'Buchcover'
|
23 |
+
}],
|
24 |
+
description: 'Lernen Sie Angular mit diesem Praxisbuch!'
|
25 |
+
},
|
26 |
+
{
|
27 |
+
isbn: '9783864905520',
|
28 |
+
title: 'React',
|
29 |
+
authors: ['Oliver Zeigermann', 'Nils Hartmann'],
|
30 |
+
published: new Date(2019, 11, 12),
|
31 |
+
subtitle: 'Grundlagen, fortgeschrittene Techniken und Praxistipps',
|
32 |
+
rating: 3,
|
33 |
+
thumbnails: [{
|
34 |
+
url: 'https://ng-buch.de/react-cover.jpg',
|
35 |
+
title: 'Buchcover'
|
36 |
+
}],
|
37 |
+
description: 'Das bewährte und umfassende Praxisbuch zu React.'
|
38 |
+
}
|
39 |
+
];
|
40 |
+
}
|
41 |
+
|
42 |
+
getAll(): Book[] {
|
43 |
+
return this.books;
|
44 |
+
}
|
45 |
+
}
|