more tweaks upon op change
authorGalen Charlton <gmc@equinoxinitiative.org>
Wed, 8 Jul 2020 22:16:09 +0000 (18:16 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Wed, 8 Jul 2020 22:16:09 +0000 (18:16 -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 3fe617e..8b60c70 100644 (file)
@@ -41,7 +41,8 @@
     </div>
     <div class="col-lg-2">
       <select class="form-control" id="selected-search-op" [ngModelOptions]="{standalone: true}" [(ngModel)]="t.op"
-        (change)="clearSearchTermValueAfterOpChange(t)">
+        (ngModelChange)="oldOp = t.op; t.op = $event"
+        (change)="clearSearchTermValueAfterOpChange(t, oldOp)">
         <option i18n value="">is</option>
         <option i18n value="__not">is NOT</option>
         <option i18n value="__fuzzy" [hidden]="searchTermDatatypes[t.field] != 'text' && searchFieldLinkedClasses[t.field] !== 'acqpro' && searchFieldLinkedClasses[t.field] !== 'au'">contains</option>
index 3bf1e1a..f1b9bfe 100644 (file)
@@ -187,11 +187,17 @@ export class AcqSearchFormComponent implements OnInit, AfterViewInit, OnChanges
     }
     // conditionally clear the search term after changing
     // to selected search operators
-    clearSearchTermValueAfterOpChange(term: AcqSearchTerm) {
+    clearSearchTermValueAfterOpChange(term: AcqSearchTerm, oldOp?) {
         if (term.op === '__age') {
             term.value1 = '';
             term.value2 = '';
         }
+        if (this.searchTermDatatypes[term.field] === 'link') {
+            if (oldOp === '__fuzzy' || term.op === '__fuzzy') {
+                term.value1 = '';
+                term.value2 = '';
+            }
+        }
     }
 
     setOrgUnitSearchValue(org: IdlObject, term: AcqSearchTerm) {