hook up __between operator
authorGalen Charlton <gmc@equinoxinitiative.org>
Sun, 19 Jan 2020 20:31:23 +0000 (15:31 -0500)
committerGalen Charlton <gmc@equinoxinitiative.org>
Sun, 19 Jan 2020 20:31:23 +0000 (15:31 -0500)
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.service.ts

index 2d686b5..b658250 100644 (file)
@@ -22,6 +22,7 @@
       <option i18n value="__ends" [disabled]="searchTermDatatypes[t.field] != 'text'">ENDS with</option>
       <option i18n value="__lte" [disabled]="searchTermDatatypes[t.field] != 'timestamp'">is on or BEFORE</option>
       <option i18n value="__gte" [disabled]="searchTermDatatypes[t.field] != 'timestamp'">is on or AFTER</option>
+      <option i18n value="__between" [disabled]="searchTermDatatypes[t.field] != 'timestamp'">is BETWEEN</option>
       <option i18n value="__age" [disabled]="searchTermDatatypes[t.field] != 'timestamp'">age (relative date)</option>
       <option i18n value="__in">matches a term from a file</option>
     </select>
       <eg-date-select *ngIf="searchTermDatatypes[t.field] == 'timestamp' && t.op != '__age'"
         (onChangeAsIso)="t.value1 = $event ? $event : ''; t.is_date = true">
       </eg-date-select>
+      <ng-container *ngIf="searchTermDatatypes[t.field] == 'timestamp' && t.op == '__between'">
+        <span i18n>and</span>
+        <eg-date-select
+          (onChangeAsIso)="t.value2 = $event ? $event : ''; t.is_date = true">
+        </eg-date-select>
+      </ng-container>
+      <input [(ngModel)]="t.value1" type="text" *ngIf="searchTermDatatypes[t.field] == 'timestamp' && t.op == '__age'" class="form-control" />
       <input [(ngModel)]="t.value1" type="text" *ngIf="searchTermDatatypes[t.field] == 'timestamp' && t.op == '__age'" class="form-control" />
     </ng-container>
   </div>
index 3f0d546..47233c8 100644 (file)
@@ -107,7 +107,11 @@ export class AcqSearchService {
             const searchTerm: Object = {};
             const recType = term.field.split(':')[0];
             const searchField = term.field.split(':')[1];
-            searchTerm[searchField] = term.value1;
+            if (term.op === '__between') {
+                searchTerm[searchField] = [term.value1, term.value2];
+            } else {
+                searchTerm[searchField] = term.value1;
+            }
             if (term.op !== '') {
                 searchTerm[term.op] = true;
             }