add support for removing search terms
authorGalen Charlton <gmc@equinoxinitiative.org>
Fri, 17 Jan 2020 22:59:02 +0000 (17:59 -0500)
committerGalen Charlton <gmc@equinoxinitiative.org>
Fri, 17 Jan 2020 22:59:02 +0000 (17:59 -0500)
This also removes the 'Add Search Term' button in favor
of +/- buttons at the end of each search row to match the
Angular staff catalog.

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 14f2e7a..0fe01b2 100644 (file)
@@ -1,4 +1,4 @@
-<div class="row" *ngFor="let t of searchTerms">
+<div class="row" *ngFor="let t of searchTerms; let idx=index">
   <div class="col-lg-3">
     <select class="form-control" id="selected-search-term" [ngModelOptions]="{standalone: true}" [(ngModel)]="t.field"
       (change)="clearSearchTerm(t)">
       </eg-date-select>
     </ng-container>
   </div>
+  <div class="col-lg-2 pl-0 pr-1">
+    <button class="btn btn-sm material-icon-button"
+      (click)="addSearchTerm()"
+      i18n-title title="Add Search Row">
+      <span class="material-icons">add_circle_outline</span>
+    </button>
+    <button class="btn btn-sm material-icon-button"
+      (click)="delSearchTerm(idx)"
+      i18n-title title="Remove Search Row">
+      <span class="material-icons">remove_circle_outline</span>
+    </button>
+  </div>
 </div>
 <div class="row">
   <div class="col-lg-2">
-    <button class="form-control" (click)="addSearchTerm()" i18n>Add Search Term</button>
-  </div>
-  <div class="col-lg-2">
     <button class="form-control btn-success" (click)="submitSearch()" i18n>Search</button>
   </div>
 </div>
index 36a50fb..4816ab4 100644 (file)
@@ -78,6 +78,13 @@ export class AcqSearchFormComponent implements OnInit, AfterViewInit {
     addSearchTerm() {
         this.searchTerms.push({ field: '', op: '', value1: '', value2: '' });
     }
+    delSearchTerm(index: number) {
+        if (this.searchTerms.length < 2) {
+            this.clearSearchTerm(this.searchTerms[0]);
+        } else {
+            this.searchTerms.splice(index, 1);
+        }
+    }
     clearSearchTerm(term: AcqSearchTerm) {
         term.value1 = '';
         term.value2 = '';