tweak single-click vs double-click retrieval from search results
authorGalen Charlton <gmc@equinoxinitiative.org>
Tue, 8 Sep 2020 19:58:19 +0000 (15:58 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Tue, 8 Sep 2020 20:09:40 +0000 (16:09 -0400)
single click == retrieve, but continue to display search form
double-click == retrieve and hide search form

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

index d4fa8d1..69aebda 100644 (file)
@@ -30,7 +30,7 @@
 </div>
 <div class="row mb-5" [hidden]="!showSearchForm">
   <div class="col-lg-12">
-    <eg-provider-results #acqProviderResults (desireSummarize)="onDesireSummarize($event)" (desireSummaryOnly)="onDesireSummarize($event, true)"></eg-provider-results>
+    <eg-provider-results #acqProviderResults (desireSummarize)="onDesireSummarize($event)" (summarizeSearchFormOpen)="onDesireSummarize($event, false, false)"></eg-provider-results>
   </div>
 </div>
 
index 708819c..95fa09f 100644 (file)
@@ -40,7 +40,7 @@ export class AcqProviderComponent implements OnInit, AfterViewInit {
 
     onTabChange: ($event: NgbTabChangeEvent) => void;
 
-    onDesireSummarize: ($event: number, updateSummaryOnly?: boolean) => void;
+    onDesireSummarize: ($event: number, updateSummaryOnly?: boolean, hideSearchForm?: boolean) => void;
     onSummaryToggled: ($event: boolean) => void;
 
     previousUrl: string = null;
@@ -116,7 +116,7 @@ export class AcqProviderComponent implements OnInit, AfterViewInit {
             });
         };
 
-        this.onDesireSummarize = ($event, updateSummaryOnly = false) => {
+        this.onDesireSummarize = ($event, updateSummaryOnly = false, hideSearchForm = true) => {
             this.id = $event;
             this.providerRecord.fetch(this.id).then(() => {
                 // $event is a provider ID
@@ -128,7 +128,9 @@ export class AcqProviderComponent implements OnInit, AfterViewInit {
                     return;
                 }
                 this.providerRecord.announceProviderUpdated();
-                this.showSearchForm = false;
+                if (hideSearchForm) {
+                    this.showSearchForm = false;
+                }
                 this.activeTab = this.defaultTabType;
                 this.router.navigate(['/staff', 'acq', 'provider', this.id, this.activeTab]);
             });
index c3ce484..acd696f 100644 (file)
@@ -13,7 +13,7 @@
   [filterable]="true"
   [sortable]="true"
   [disableMultiSelect]="true"
-  (onRowClick)="previewRow($event, true)"
+  (onRowClick)="previewRow($event, false)"
   (onRowActivate)="previewRow($event)"
   [cellTextGenerator]="cellTextGenerator">
 
index fd4d731..45d2981 100644 (file)
@@ -23,9 +23,9 @@ export class ProviderResultsComponent implements OnInit {
     @ViewChild('providerSearchForm', { static: true }) providerSearchForm: AcqProviderSearchFormComponent;
 
     cellTextGenerator: GridCellTextGenerator;
-    @Output() previewRow: (row: any, updateSummaryOnly?: boolean) => void;
-    @Output('desireSummarize') summarize: EventEmitter<number> = new EventEmitter<number>();
-    @Output('desireSummaryOnly') summaryOnly: EventEmitter<number> = new EventEmitter<number>();
+    @Output() previewRow: (row: any, hideSearchForm?: boolean) => void;
+    @Output() desireSummarize: EventEmitter<number> = new EventEmitter<number>();
+    @Output() summarizeSearchFormOpen: EventEmitter<number> = new EventEmitter<number>();
 
     constructor(
         private elementRef: ElementRef,
@@ -44,11 +44,11 @@ export class ProviderResultsComponent implements OnInit {
             name: row => row.name(),
         };
 
-        this.previewRow = (row: any, updateSummaryOnly = false) => {
-            if (updateSummaryOnly) {
-                this.summaryOnly.emit(row.id());
+        this.previewRow = (row: any, hideSearchForm = true) => {
+            if (hideSearchForm) {
+                this.desireSummarize.emit(row.id());
             } else {
-                this.summarize.emit(row.id());
+                this.summarizeSearchFormOpen.emit(row.id());
             }
         }
     }