LP#1779158 Ang vandelay import UI cont.
authorBill Erickson <berickxx@gmail.com>
Mon, 9 Jul 2018 16:53:35 +0000 (12: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/import.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/import.component.ts

index 8d444dc..c5d1474 100644 (file)
@@ -8,7 +8,7 @@
       <label i18n>Record Type</label>
     </div>
     <div class="col-lg-3">
-      <eg-combobox (onChange)="recordType=$event ? $event.id : null" 
+      <eg-combobox (onChange)="selectEntry($event, 'recordType')"
         [required]="true"
         [startId]="recordType" placeholder="Record Type..." i18n-placeholder>
         <eg-combobox-entry entryId="bib" entryLabel="Bibliographic Records" 
@@ -24,7 +24,7 @@
     </div>
     <div class="col-lg-3">
       <eg-combobox [entries]="formatEntries('bibSources')" 
-        (onChange)="selectedBibSource=$event ? event.id : null"
+        (onChange)="selectEntry($event, 'bibSources')"
         [startId]="selectedBibSource"
         placeholder="Record Source..." i18n-placeholder>
       </eg-combobox>
@@ -47,7 +47,7 @@
     <div class="col-lg-3">
       <eg-combobox [entries]="formatEntries('bibBuckets')" 
         [disabled]="selectedQueue && !selectedQueue.freetext"
-        (onChange)="selectedBucket=$event.id"
+        (onChange)="selectEntry($event, 'bibBuckets')"
         placeholder="Buckets..." i18n-placeholder></eg-combobox>
     </div>
   </div>
@@ -59,7 +59,7 @@
       <eg-combobox [entries]="formatEntries('matchSets')" 
         [disabled]="selectedQueue && !selectedQueue.freetext"
         [startId]="defaultMatchSet"
-        (onChange)="selectedMatchSet=$event.id"
+        (onChange)="selectEntry($event, 'matchSets')"
         placeholder="Match Set..." i18n-placeholder></eg-combobox>
     </div>
     <div class="col-lg-3"><label i18n>Import Non-Matching Records</label></div>
@@ -75,7 +75,7 @@
     <div class="col-lg-3"> <!-- TODO disable for authority -->
       <eg-combobox [entries]="formatEntries('importItemDefs')"
         [disabled]="selectedQueue && !selectedQueue.freetext"
-        (onChange)="selectedHoldingsProfile=$event.id"
+        (onChange)="selectEntry($event, 'importItemDefs')"
         placeholder="Holdings Import Profile..." i18n-placeholder>
       </eg-combobox>
     </div>
@@ -91,7 +91,7 @@
     </div>
     <div class="col-lg-3">
       <eg-combobox [entries]="formatEntries('mergeProfiles')"
-        (onChange)="selectedMergeProfile=$event.id"
+        (onChange)="selectEntry($event, 'mergeProfiles')"
         placeholder="Merge Profile..." i18n-placeholder>
       </eg-combobox>
     </div>
       <label i18n>Insufficient Quality Fall-Through Profile</label></div>
     <div class="col-lg-3">
       <eg-combobox [entries]="formatEntries('mergeProfiles')"
-        (onChange)="selectedFallThruMergeProfile=$event.id"
+        (onChange)="selectEntry($event, 'FallThruMergeProfile')"
         placeholder="Fall-Through Merge Profile..." i18n-placeholder>
       </eg-combobox>
     </div>
index 4a17e32..f99f0f0 100644 (file)
@@ -157,6 +157,39 @@ export class ImportComponent implements OnInit, AfterViewInit {
         });
     }
 
+    selectEntry($event: ComboboxEntry, etype: string) {
+        const id = $event ? $event.id : null;
+
+        switch (etype) {
+            case 'recordType':
+                this.recordType = id;
+              
+            case 'bibSources':
+                this.selectedBibSource = id;
+                break;
+
+            case 'bibBuckets':
+                this.selectedBucket = id;
+                break;
+
+            case 'matchSets':
+                this.selectedMatchSet = id;
+                break;
+
+            case 'importItemDefs':
+                this.selectedHoldingsProfile = id;
+                break;
+
+            case 'mergeProfiles':
+                this.selectedMergeProfile = id;
+                break;
+
+            case 'FallThruMergeProfile':
+                this.selectedFallThruMergeProfile = id;
+                break;
+        }
+    }
+
     fileSelected($event) {
        this.selectedFile = $event.target.files[0]; 
     }