Newer
Older
import { HttpClient } from '@angular/common/http';
import { Component, OnInit } from '@angular/core';
import { Account } from 'app/core/auth/account.model';
import { AccountService } from 'app/core/auth/account.service';
import { SearchService } from 'app/search/service/search-service';
import { Exercise, searchResultToExercise } from 'app/shared/model/exercise.model';
import { SearchResultsDTO } from 'app/shared/model/search/search-results-dto.model';
import { UserManagementService } from '../user-management/service/user-management.service';
import { User } from '../user-management/user-management.model';
import { MultiSelectDropdownExerciseComponent } from './multi-select-dropdown-exercise/multi-select-dropdown-exercise.component';
import { ReviewManagementService } from './review-management.service';
import { Review } from './review.model';
import { ReviewRequest } from './reviewRequest.model';
@Component({
selector: 'jhi-review-management',
templateUrl: './review-management.component.html',
styleUrls: ['./review-management.component.scss'],
})
export class ReviewManagementComponent implements OnInit {
currentAccount: Account | null = null;
users: User[] | undefined;
results: Exercise[] = [];
selectedUsers: string[] | undefined;
constructor(
private http: HttpClient,
private userService: UserManagementService,
private accountService: AccountService,
private searchService: SearchService,
private reviewManagementService: ReviewManagementService,
private multiSelectDropdownExerciseComponent: MultiSelectDropdownExerciseComponent,
private route: ActivatedRoute
) {}
ngOnInit(): void {
this.accountService.identity().subscribe(account => (this.currentAccount = account));
this.route.params.subscribe(() => {
this.loadAll();
});
}
loadAll(): void {
this.userService.loadAll().subscribe(users => {
this.users = users;
});
this.searchService.getAllResources().subscribe(
(data: SearchResultsDTO) => {
const searchResults = data.searchResult.map(searchResultToExercise);
this.results = this.results.concat(searchResults);
},
() => (this.results = [])
);
this.reviewManagementService.getAll().subscribe(reviews => {
this.reviews = reviews;
});
shareCheckedUserList(users: string[]) {
shareExercise(exercise: Exercise) {
this.selectedExercise = exercise;
}
submitReview() {
this.reviewManagementService.create(new ReviewRequest(this.selectedExercise!.title, this.selectedUsers!)).subscribe(() => {
this.multiSelectDropdownExerciseComponent.checkedList = [];
this.loadAll();
});
}
deleteReview(review: Review) {
this.reviewManagementService.delete(review.id!).subscribe(() => this.loadAll());