-
-
+
@@ -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);
+ }
+
}