You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.8 KiB
61 lines
1.8 KiB
import { Component, OnInit } from '@angular/core'; |
|
import { ConfigService } from '../../services/config.service'; |
|
import { ActivatedRoute, Router } from '@angular/router'; |
|
import { HttpClient } from '@angular/common/http'; |
|
import { PollUtilities } from '../../config/PollUtilities'; |
|
import { environment } from '../../../environments/environment'; |
|
|
|
@Component({ |
|
selector: 'app-admin', |
|
templateUrl: './admin.component.html', |
|
styleUrls: ['./admin.component.scss'], |
|
}) |
|
export class AdminComponent implements OnInit { |
|
public tokenForAdministration = ''; |
|
|
|
constructor( |
|
public config: ConfigService, |
|
public router: Router, |
|
private utils: PollUtilities, |
|
public http: HttpClient, |
|
public activeRoute: ActivatedRoute |
|
) {} |
|
|
|
ngOnInit() { |
|
this.activeRoute.paramMap.subscribe((params) => { |
|
console.log('params', params); |
|
this.tokenForAdministration = params.get('token'); |
|
// redirect to home if no token provided |
|
if (!this.tokenForAdministration) { |
|
alert('pas de token pour administrer un sondage, mauvaise URL.'); |
|
this.router.navigate(['/home']); |
|
} |
|
if (!this.config.loading) { |
|
// get token paarameter from route |
|
// fetch admin version of the poll |
|
// then, populate UI. |
|
this.fetchPoll(); |
|
} |
|
}); |
|
} |
|
|
|
// fetch poll with its ID or slug. |
|
fetchPoll() { |
|
const token = this.tokenForAdministration; |
|
const headers = this.utils.makeHeaders({ token: token }); |
|
this.config.loading = true; |
|
// store it in the poll property here |
|
// this.http.get(`${environment.baseApiHref}/admin/${token}`, headers).subscribe( |
|
// (res: any) => { |
|
// console.log('res', res); |
|
// this.config.updateCurrentPollFromResponse(res); |
|
// this.config.loading = false; |
|
// }, |
|
// (e) => { |
|
// // handle need for a password |
|
// console.log('e', e); |
|
// this.config.handleError(e); |
|
// } |
|
// ); |
|
} |
|
}
|
|
|