funky-framadate-front/src/app/features/administration/administration.component.ts

43 lines
1.2 KiB
TypeScript
Raw Normal View History

2021-05-18 10:47:16 +02:00
import { Component, Inject, OnDestroy, OnInit } from '@angular/core';
2020-06-18 16:15:26 +02:00
import { ActivatedRoute } from '@angular/router';
import { Subscription } from 'rxjs';
2020-04-22 12:56:18 +02:00
2020-05-01 19:10:17 +02:00
import { Poll } from '../../core/models/poll.model';
2021-05-18 10:47:16 +02:00
import { DOCUMENT } from '@angular/common';
2020-05-01 19:10:17 +02:00
2020-04-22 12:56:18 +02:00
@Component({
selector: 'app-administration',
templateUrl: './administration.component.html',
styleUrls: ['./administration.component.scss'],
})
2020-06-18 16:15:26 +02:00
export class AdministrationComponent implements OnInit, OnDestroy {
public poll: Poll;
2020-06-18 16:15:26 +02:00
private routeSubscription: Subscription;
2020-05-01 19:10:17 +02:00
2021-05-18 10:47:16 +02:00
constructor(private route: ActivatedRoute, @Inject(DOCUMENT) private document: any) {}
2020-04-22 12:56:18 +02:00
ngOnInit(): void {
2020-06-18 16:15:26 +02:00
this.routeSubscription = this.route.data.subscribe((data: { poll: Poll }) => {
2020-10-17 11:12:53 +02:00
console.log('data', data);
2020-06-18 16:15:26 +02:00
if (data.poll) {
this.poll = data.poll;
}
2021-05-18 10:47:16 +02:00
// focus on first field of the creation form
const firstField = this.document.querySelector('app-admin-form select');
if (firstField) {
console.log('focus on ', firstField);
firstField.focus();
} else {
console.log('no first field of form');
}
2020-06-18 16:15:26 +02:00
});
}
ngOnDestroy(): void {
if (this.routeSubscription) {
this.routeSubscription.unsubscribe();
}
}
2020-04-22 12:56:18 +02:00
}