LP#1779158 Export form focus improvements
authorBill Erickson <berickxx@gmail.com>
Thu, 12 Jul 2018 21:53:47 +0000 (17:53 -0400)
committerBill Erickson <berickxx@gmail.com>
Thu, 11 Oct 2018 18:56:30 +0000 (14:56 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/eg2/src/app/staff/cat/vandelay/export.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/export.component.ts

index 71f960f..020e097 100644 (file)
@@ -13,7 +13,7 @@
                 <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>
@@ -36,7 +36,8 @@
                 <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>
@@ -48,7 +49,8 @@
                 <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>
index 577da79..d7e4d07 100644 (file)
@@ -1,4 +1,4 @@
-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';
@@ -12,7 +12,7 @@ import {VandelayService, VANDELAY_EXPORT_PATH} from './vandelay.service';
 @Component({
   templateUrl: 'export.component.html'
 })
-export class ExportComponent implements OnInit {
+export class ExportComponent implements AfterViewInit {
 
     recordSource: string;
     fieldNumber: number;
@@ -30,8 +30,9 @@ export class ExportComponent implements OnInit {
         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';
@@ -40,11 +41,18 @@ export class ExportComponent implements OnInit {
         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) {