<label i18n>Use Field Number</label>
</div>
<div class="col-lg-6">
- <input type="number" class="form-control"
+ <input id='csv-input' type="number" class="form-control"
[(ngModel)]="fieldNumber"
i18n-placeholder placeholder="Starts at 0..."/>
</div>
<label i18n>Record ID</label>
</div>
<div class="col-lg-6">
- <input type="number" class="form-control" [(ngModel)]="recordId"/>
+ <input id='record-id-input' type="number"
+ class="form-control" [(ngModel)]="recordId"/>
</div>
</div>
</ng-template>
<label i18n>Bucket ID</label>
</div>
<div class="col-lg-6">
- <input type="number" class="form-control" [(ngModel)]="bucketId"/>
+ <input id='bucket-id-input' type="number"
+ class="form-control" [(ngModel)]="bucketId"/>
</div>
</div>
</ng-template>
-import {Component, OnInit, ViewChild} from '@angular/core';
+import {Component, AfterViewInit, ViewChild, Renderer2} from '@angular/core';
import {NgbPanelChangeEvent} from '@ng-bootstrap/ng-bootstrap';
import {HttpClient, HttpRequest, HttpEventType} from '@angular/common/http';
import {HttpResponse, HttpErrorResponse} from '@angular/common/http';
@Component({
templateUrl: 'export.component.html'
})
-export class ExportComponent implements OnInit {
+export class ExportComponent implements AfterViewInit {
recordSource: string;
fieldNumber: number;
private exportProgress: ProgressInlineComponent;
constructor(
- private http: HttpClient,
- private toast: ToastService,
+ private renderer: Renderer2,
+ private http: HttpClient,
+ private toast: ToastService,
private auth: AuthService
) {
this.recordType = 'biblio';
this.includeHoldings = false;
}
- ngOnInit() {
+ ngAfterViewInit() {
+ this.renderer.selectRootElement('#csv-input').focus();
}
sourceChange($event: NgbPanelChangeEvent) {
this.recordSource = $event.panelId;
+
+ // Give the tab a chance to change before focusing.
+ setTimeout(() =>
+ this.renderer.selectRootElement(
+ '#' + this.recordSource + '-input').focus()
+ )
}
fileSelected($event) {