fix does-not-contain operator for linked fields collab/gmcharlt/angular-acq-search-rebased1
authorGalen Charlton <gmc@equinoxinitiative.org>
Tue, 14 Jul 2020 15:33:11 +0000 (11:33 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Tue, 14 Jul 2020 15:33:11 +0000 (11:33 -0400)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/eg2/src/app/staff/acq/search/acq-search-form.component.html
Open-ILS/src/eg2/src/app/staff/acq/search/acq-search-form.component.ts

index 4d478a4..a5c697a 100644 (file)
         </eg-org-select>
         <ng-container *ngIf="searchTermDatatypes[t.field] == 'link'">
           <ng-container *ngIf="searchFieldLinkedClasses[t.field] === 'acqpro'">
-            <eg-combobox *ngIf="t.op != '__fuzzy'"
+            <eg-combobox *ngIf="t.op != '__fuzzy' && t.op != '__not,__fuzzy'"
               [idlClass]="searchFieldLinkedClasses[t.field]"
               [selectedId]="t.value1"
               (onChange)="t.value1 = $event ? $event.id : ''">
             </eg-combobox>
-            <input [ngModelOptions]="{standalone: true}" [(ngModel)]="t.value1" type="text" *ngIf="t.op == '__fuzzy'" class="form-control" />
+            <input [ngModelOptions]="{standalone: true}" [(ngModel)]="t.value1" type="text" *ngIf="t.op == '__fuzzy' || t.op == '__not,__fuzzy'" class="form-control" />
           </ng-container>
           <ng-container *ngIf="searchFieldLinkedClasses[t.field] === 'au'">
             <eg-combobox *ngIf="!t.op.includes('__fuzzy')"
index f1b9bfe..690d6a2 100644 (file)
@@ -193,7 +193,9 @@ export class AcqSearchFormComponent implements OnInit, AfterViewInit, OnChanges
             term.value2 = '';
         }
         if (this.searchTermDatatypes[term.field] === 'link') {
-            if (oldOp === '__fuzzy' || term.op === '__fuzzy') {
+            if (oldOp === '__fuzzy' || term.op === '__fuzzy' ||
+                oldOp === '__not,__fuzzy' || term.op === '__not,__fuzzy'
+               ) {
                 term.value1 = '';
                 term.value2 = '';
             }