hook up more widgets to search form
authorGalen Charlton <gmc@equinoxinitiative.org>
Fri, 17 Jan 2020 16:07:20 +0000 (11:07 -0500)
committerGalen Charlton <gmc@equinoxinitiative.org>
Fri, 17 Jan 2020 16:07:20 +0000 (11:07 -0500)
- linked-field selectors
- id & int

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/eg2/src/app/staff/acq/search/acq-search.component.html
Open-ILS/src/eg2/src/app/staff/acq/search/acq-search.component.ts

index 75d10d9..b8b7752 100644 (file)
     </select>
   </div>
   <div class="col-lg-3">
+    <input [(ngModel)]="t.value1" type="text" *ngIf="searchTermDatatypes[t.field] == 'id'" class="form-control" />
     <input [(ngModel)]="t.value1" type="text" *ngIf="searchTermDatatypes[t.field] == 'text'" class="form-control" />
-    <input [(ngModel)]="t.value1" type="numeric" *ngIf="searchTermDatatypes[t.field] == 'money'" class="form-control" />
+    <input [(ngModel)]="t.value1" type="number" *ngIf="searchTermDatatypes[t.field] == 'int'" class="form-control" />
+    <input [(ngModel)]="t.value1" type="number" *ngIf="searchTermDatatypes[t.field] == 'money'" class="form-control" />
     <eg-org-select *ngIf="searchTermDatatypes[t.field] == 'org_unit'"
       (onChange)="setOrgUnitSearchValue($event, t)">
     </eg-org-select>
+    <eg-combobox *ngIf="searchTermDatatypes[t.field] == 'link'"
+      [idlClass]="searchFieldLinkedClasses[t.field]"
+      (onChange)="t.value1 = $event ? $event.id : ''">
+    </eg-combobox>
   </div>
 </div>
 <div class="row">
index 52c8eae..33b9ed5 100644 (file)
@@ -19,6 +19,7 @@ export class AcqSearchComponent implements OnInit, AfterViewInit {
     hints = ['jub', 'acqpl', 'acqpo', 'acqinv', 'acqlid'];
     availableSearchFields = {};
     searchTermDatatypes = {};
+    searchFieldLinkedClasses = {};
     searchType = '';
     validSearchTypes = ['lineitems', 'purchaseorders', 'invoices', 'selectionlists'];
     defaultSearchType = 'lineitems';
@@ -77,6 +78,9 @@ export class AcqSearchComponent implements OnInit, AfterViewInit {
                                 datatype: field.datatype
                             };
                             self.searchTermDatatypes[hint + ':' + field.name] = field.datatype;
+                            if (field.datatype === 'link') {
+                                self.searchFieldLinkedClasses[hint + ':' + field.name] = field.class;
+                            }
                         }
                     }
                 );