From 765cdecb591f20c0c610e8c70ea5abde296818c5 Mon Sep 17 00:00:00 2001 From: tschiman Date: Mon, 24 Apr 2017 22:14:21 -0600 Subject: [PATCH] BAEL-797 functionality in the UI is here now just need to connect to the http endpoints --- .../angular/ui/src/app/app.component.html | 8 +++--- .../main/angular/ui/src/app/app.component.ts | 2 +- .../book-detail/book-detail.component.html | 2 +- .../book/book-list/book-list.component.css | 3 +++ .../app/book/book-list/book-list.component.ts | 2 +- .../ui/src/app/rating/rating.component.css | 8 ++++++ .../ui/src/app/rating/rating.component.html | 16 +++++++++--- .../ui/src/app/rating/rating.component.ts | 26 ++++++++++++++++--- 8 files changed, 52 insertions(+), 15 deletions(-) diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.html b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.html index 4eb1d5da3d..39d7fe96c5 100644 --- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.html +++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.html @@ -9,10 +9,10 @@
- - - -
+ + + +
diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.ts b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.ts index c3ba5b6329..653b828616 100644 --- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.ts +++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/app.component.ts @@ -23,7 +23,7 @@ export class AppComponent { principal: Principal = new Principal(false, []); - // principal: Principal = new Principal(true, [new Authority("ROLE_ADMIN")]); + // principal: Principal = new Principal(true, [new Authority("ROLE_USER")]); loginFailed: boolean = false; diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.html b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.html index e5e589485b..5828e742e8 100644 --- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.html +++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-detail/book-detail.component.html @@ -6,6 +6,6 @@

Title: {{selectedBook.title}}

Author: {{selectedBook.author}}

A quick summary of the book

- + diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.css b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.css index e69de29bb2..b1734de9c0 100644 --- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.css +++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.css @@ -0,0 +1,3 @@ +.custom-close { + float:right; +} diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.ts b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.ts index feb5f580d2..a64c40cfdb 100644 --- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.ts +++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/book/book-list/book-list.component.ts @@ -14,7 +14,7 @@ export class BookListComponent implements OnInit { books: Book[] = []; newBooks: Book[] = []; - newBook: Book = new Book(null, '', ''); + newBook: Book = new Book(Math.floor(Math.random() * 1000), '', ''); booksToEdit: number[] = []; isAddNewBook: boolean = false; selectedBook: Book = null; diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.css b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.css index 9c5c93b041..b137bc23dd 100644 --- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.css +++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.css @@ -1,3 +1,11 @@ div.progress { margin-top: 5px; } + +.rating:hover { + border: solid blue; +} + +.selected { + border: solid blue; +} diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html index 35ff7afb6d..42e5d40700 100644 --- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html +++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html @@ -1,7 +1,14 @@ Ratings: -
-
-
+
+
+
+
+
+
+
+
@@ -11,6 +18,7 @@ Ratings: {{star}}
- + + diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.ts b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.ts index a3ef33573a..caa7ad5a99 100644 --- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.ts +++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.ts @@ -1,5 +1,6 @@ import {Component, OnInit, Input, OnChanges} from "@angular/core"; import {Rating} from "../rating"; +import {Principal} from "../principal"; @Component({ selector: 'app-rating', @@ -9,7 +10,7 @@ import {Rating} from "../rating"; export class RatingComponent implements OnInit, OnChanges { @Input() bookId: number; - + @Input() principal: Principal = null; ratings: Rating[] = []; stars: number[] = [1,2,3,4,5]; newRating: Rating = null; @@ -30,15 +31,32 @@ export class RatingComponent implements OnInit, OnChanges { } private loadRatings() { - let rating: Rating = new Rating(1, this.bookId, this.bookId); - let rating1: Rating = new Rating(1, this.bookId, this.bookId); + let rating: Rating = new Rating(1, this.bookId, 1); + let rating1: Rating = new Rating(1, this.bookId, 1); this.ratings.push(rating, rating1); } onSubmit() { console.log(this.newRating); - let ratingCopy: Rating = Object.assign({}, this.newRating, {id: 101}); + let ratingCopy: Rating = Object.assign({}, this.newRating, {id: Math.floor(Math.random() * 1000)}); this.ratings.push(ratingCopy); } + selectRating(rating: Rating) { + if (this.principal.isAdmin()) { + this.newRating = rating; + } + } + + cancelSelection() { + this.newRating = new Rating(null, this.bookId, 1); + } + + deleteRating(index: number) { + if (this.ratings[index] === this.newRating) { + this.newRating = new Rating(null, this.bookId, 1); + } + this.ratings.splice(index, 1); + } + }