Loading src/app/shared/submission-list-view/submission-list-view.component.ts +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,9 @@ import {UserService} from '../../services/user.service'; import {Subscription} from 'rxjs/Subscription'; import {of} from 'rxjs/observable/of'; import {catchError, map} from 'rxjs/operators'; import { SubmissionService } from '../../services/submission.service'; import { FlashMessagesService } from 'angular2-flash-messages'; import { ActivatedRoute, Router } from '@angular/router'; @Component({ selector: 'app-submission-list-view', Loading src/app/shared/submissions-table/submissions-table.component.html +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ </a>--> </td> <td> <button> <button (click)="cancelSubmission(submission?.id)"> Cancel </button> </td> Loading src/app/shared/submissions-table/submissions-table.component.ts +35 −5 Original line number Diff line number Diff line import {Component, Input, OnInit} from '@angular/core'; import { Component, Input, OnDestroy, OnInit } from '@angular/core'; import { User } from '../models/models'; import { ActivatedRoute, Router } from '@angular/router'; import { SubmissionService } from '../../services/submission.service'; import { FlashMessagesService } from 'angular2-flash-messages'; import { Subscription } from 'rxjs/Subscription'; @Component({ selector: 'app-submissions-table', templateUrl: './submissions-table.component.html', styleUrls: [ './submissions-table.component.scss' ] }) export class SubmissionsTableComponent implements OnInit { export class SubmissionsTableComponent implements OnInit, OnDestroy { @Input() user: User; @Input() maxEntries = 10; constructor() { } subscriptions: Subscription[] = []; ngOnDestroy() { this.subscriptions.forEach(subscription => subscription.unsubscribe()); } constructor(private route: ActivatedRoute, private submissionService: SubmissionService, private flashMessagesService: FlashMessagesService, private router: Router) { } ngOnInit() { // sort (https://stackoverflow.com/questions/50334847/angular-5-sort-by-date) Loading @@ -23,4 +38,19 @@ export class SubmissionsTableComponent implements OnInit { this.maxEntries += 5; } cancelSubmission(submission_id: string) { this.subscriptions.push(this.submissionService.cancelSubmission(submission_id).subscribe( () => { this.router.onSameUrlNavigation = 'reload'; this.router.navigate([ '.' ], { relativeTo: this.route }).then( () => { this.flashMessagesService.show('Submission cancelled.', { cssClass: 'alert-success' }); }, (error: any) => { console.log('Navigation failed: ', error); this.flashMessagesService.show('Navigation failed, try navigating elsewhere.', { cssClass: 'alert-danger' }); } ); } )); } } src/app/submissions/submission-detail/submission-detail.component.ts +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ export class SubmissionDetailComponent implements OnInit, OnDestroy { subscriptions: Subscription[] = []; constructor(private route: ActivatedRoute, private router: Router, private flashMessagesService: FlashMessagesService, private submissionService: SubmissionService, Loading src/app/submissions/submission-list/submission-list.component.ts +5 −1 Original line number Diff line number Diff line import {Component, OnDestroy, OnInit} from '@angular/core'; import {Course, Group, Role, User} from '../../shared/models/models'; import {Course, User} from '../../shared/models/models'; import {Subscription} from 'rxjs/Subscription'; import {FormBuilder, FormGroup, Validators} from '@angular/forms'; import {ActivatedRoute, Router} from '@angular/router'; Loading @@ -8,6 +8,8 @@ import {PermissionsService} from '../../services/permissions.service'; import {UserService} from '../../services/user.service'; import {CourseService} from '../../services/course.service'; import {AuthService} from '../../services/auth.service'; import { SubmissionService } from '../../services/submission.service'; import { FlashMessagesService } from 'angular2-flash-messages'; @Component({ selector: 'app-submission-list', Loading Loading @@ -40,6 +42,8 @@ export class SubmissionListComponent implements OnInit, OnDestroy { private permissionsService: PermissionsService, private userService: UserService, private courseService: CourseService, private submissionService: SubmissionService, private flashMessagesService: FlashMessagesService, private auth: AuthService) { this.createForm(); this.loading = true; Loading Loading
src/app/shared/submission-list-view/submission-list-view.component.ts +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,9 @@ import {UserService} from '../../services/user.service'; import {Subscription} from 'rxjs/Subscription'; import {of} from 'rxjs/observable/of'; import {catchError, map} from 'rxjs/operators'; import { SubmissionService } from '../../services/submission.service'; import { FlashMessagesService } from 'angular2-flash-messages'; import { ActivatedRoute, Router } from '@angular/router'; @Component({ selector: 'app-submission-list-view', Loading
src/app/shared/submissions-table/submissions-table.component.html +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ </a>--> </td> <td> <button> <button (click)="cancelSubmission(submission?.id)"> Cancel </button> </td> Loading
src/app/shared/submissions-table/submissions-table.component.ts +35 −5 Original line number Diff line number Diff line import {Component, Input, OnInit} from '@angular/core'; import { Component, Input, OnDestroy, OnInit } from '@angular/core'; import { User } from '../models/models'; import { ActivatedRoute, Router } from '@angular/router'; import { SubmissionService } from '../../services/submission.service'; import { FlashMessagesService } from 'angular2-flash-messages'; import { Subscription } from 'rxjs/Subscription'; @Component({ selector: 'app-submissions-table', templateUrl: './submissions-table.component.html', styleUrls: [ './submissions-table.component.scss' ] }) export class SubmissionsTableComponent implements OnInit { export class SubmissionsTableComponent implements OnInit, OnDestroy { @Input() user: User; @Input() maxEntries = 10; constructor() { } subscriptions: Subscription[] = []; ngOnDestroy() { this.subscriptions.forEach(subscription => subscription.unsubscribe()); } constructor(private route: ActivatedRoute, private submissionService: SubmissionService, private flashMessagesService: FlashMessagesService, private router: Router) { } ngOnInit() { // sort (https://stackoverflow.com/questions/50334847/angular-5-sort-by-date) Loading @@ -23,4 +38,19 @@ export class SubmissionsTableComponent implements OnInit { this.maxEntries += 5; } cancelSubmission(submission_id: string) { this.subscriptions.push(this.submissionService.cancelSubmission(submission_id).subscribe( () => { this.router.onSameUrlNavigation = 'reload'; this.router.navigate([ '.' ], { relativeTo: this.route }).then( () => { this.flashMessagesService.show('Submission cancelled.', { cssClass: 'alert-success' }); }, (error: any) => { console.log('Navigation failed: ', error); this.flashMessagesService.show('Navigation failed, try navigating elsewhere.', { cssClass: 'alert-danger' }); } ); } )); } }
src/app/submissions/submission-detail/submission-detail.component.ts +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ export class SubmissionDetailComponent implements OnInit, OnDestroy { subscriptions: Subscription[] = []; constructor(private route: ActivatedRoute, private router: Router, private flashMessagesService: FlashMessagesService, private submissionService: SubmissionService, Loading
src/app/submissions/submission-list/submission-list.component.ts +5 −1 Original line number Diff line number Diff line import {Component, OnDestroy, OnInit} from '@angular/core'; import {Course, Group, Role, User} from '../../shared/models/models'; import {Course, User} from '../../shared/models/models'; import {Subscription} from 'rxjs/Subscription'; import {FormBuilder, FormGroup, Validators} from '@angular/forms'; import {ActivatedRoute, Router} from '@angular/router'; Loading @@ -8,6 +8,8 @@ import {PermissionsService} from '../../services/permissions.service'; import {UserService} from '../../services/user.service'; import {CourseService} from '../../services/course.service'; import {AuthService} from '../../services/auth.service'; import { SubmissionService } from '../../services/submission.service'; import { FlashMessagesService } from 'angular2-flash-messages'; @Component({ selector: 'app-submission-list', Loading Loading @@ -40,6 +42,8 @@ export class SubmissionListComponent implements OnInit, OnDestroy { private permissionsService: PermissionsService, private userService: UserService, private courseService: CourseService, private submissionService: SubmissionService, private flashMessagesService: FlashMessagesService, private auth: AuthService) { this.createForm(); this.loading = true; Loading