import {ChangeDetectorRef, Component, OnInit} from '@angular/core'; import {ConfigService} from '../../config.service'; import {BaseComponent} from '../base-page/base.component'; @Component({ selector: 'framadate-dates', templateUrl: './dates.component.html', styleUrls: ['./dates.component.scss'] }) export class DatesComponent extends BaseComponent implements OnInit { constructor(public config: ConfigService, private cd: ChangeDetectorRef) { super(config); } ngOnInit() { } addDate() { this.config.dateList.push({literal: ''}); } addtime() { this.config.timeList.push({literal: ''}); } /** * add a time period to a specific date choice, * focus on the new input * @param config * @param id */ addTimetoDate(config: any, id: number) { config.timeList.push({literal: ''}); let selector = '[ng-reflect-name="dateTime_' + id + '_Choices_' + (config.timeList.length - 1) + '"]'; console.log('selector', selector); this.cd.detectChanges(); const elem = document.querySelector(selector); if (elem && elem.focus) { elem.focus(); } } emptyAll() { this.config.dateList.forEach(element => { element.literal = ''; }); } }