LP1842763 Vandelay retain queue, etc. selection
authorBill Erickson <berickxx@gmail.com>
Wed, 12 May 2021 14:25:40 +0000 (10:25 -0400)
committerBill Erickson <berickxx@gmail.com>
Wed, 12 May 2021 14:27:56 +0000 (10:27 -0400)
When importing from a preselected queue, retain the queue selection and
other queue-related values and display the values in read-only mode
instead of disabling them so they are easier to read.

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 93f237a..b9f059b 100644 (file)
@@ -50,7 +50,7 @@
       <eg-combobox #recordTypeSelector
         id="type-select"
         (onChange)="selectEntry($event, 'recordType')"
-        [disabled]="importSelection()" [required]="true"
+        [readOnly]="importSelection()" [required]="true"
         [startId]="recordType" placeholder="Record Type..." i18n-placeholder>
         <eg-combobox-entry entryId="bib" entryLabel="Bibliographic Records" 
           i18n-entryLabel></eg-combobox-entry>
@@ -82,7 +82,7 @@
         id="queue-select"
         [startId]="startQueueId"
         [startIdFiresOnChange]="true"
-        [disabled]="startQueueId"
+        [readOnly]="startQueueId"
         (onChange)="selectedQueue=$event" i18n-placeholder
         [required]="true"
         [allowFreeText]="true" placeholder="Select or Create a Queue...">
@@ -95,7 +95,7 @@
       <eg-combobox [entries]="formatEntries('bibBuckets')" 
         id="bucket-select"
         [startId]="selectedBucket"
-        [disabled]="(selectedQueue && !selectedQueue.freetext) || importSelection()"
+        [readOnly]="(selectedQueue && !selectedQueue.freetext) || importSelection()"
         (onChange)="selectEntry($event, 'bibBuckets')"
         placeholder="Buckets..." i18n-placeholder></eg-combobox>
     </div>
       <eg-combobox #matchSetSelector
         id="match-set-select"
         [entries]="formatEntries('matchSets')" 
-        [disabled]="(selectedQueue && !selectedQueue.freetext) || importSelection()"
+        [readOnly]="(selectedQueue && !selectedQueue.freetext) || importSelection()"
         [startId]="selectedMatchSet || defaultMatchSet"
         (onChange)="selectEntry($event, 'matchSets')"
         placeholder="Match Set..." i18n-placeholder></eg-combobox>
         id="item-import-def"
         [entries]="formatEntries('importItemDefs')"
         [startId]="selectedHoldingsProfile"
-        [disabled]="(selectedQueue && !selectedQueue.freetext) || importSelection()"
+        [readOnly]="(selectedQueue && !selectedQueue.freetext) || importSelection()"
         (onChange)="selectEntry($event, 'importItemDefs')"
         placeholder="Holdings Import Profile..." i18n-placeholder>
       </eg-combobox>
index 549254e..1e86e7f 100644 (file)
@@ -385,6 +385,11 @@ export class ImportComponent implements OnInit, AfterViewInit, OnDestroy {
     // Extract selected queue ID or create a new queue when requested.
     resolveQueue(): Promise<number> {
 
+        if (this.startQueueId) {
+            // Only happens when the queue is predefined / readonly
+            return Promise.resolve(this.startQueueId);
+        }
+
         if (this.selectedQueue.freetext) {
             // Free text queue selector means create a new entry.
             // TODO: first check for name dupes