funky-framadate-front/mocks/old-stuff/pages/admin/admin.component.ts

62 lines
1.8 KiB
TypeScript

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 '../../../../src/app/core/services/PollUtilities';
import { environment } from '../../../../src/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(): void {
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);
// }
// );
}
}