From: Bill Erickson Date: Fri, 4 Dec 2020 16:17:51 +0000 (-0500) Subject: LP1929741 Combobox asyncSupportsEmptyTermClick fix X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=c103126aeea84b4cacc5079f2272ac3237dc5e0e;p=working%2FEvergreen.git LP1929741 Combobox asyncSupportsEmptyTermClick fix Fixes situation where combobox would fetch the needed entries in async mode, but fail to open the drop-down after a click. Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/eg2/src/app/share/combobox/combobox.component.ts b/Open-ILS/src/eg2/src/app/share/combobox/combobox.component.ts index d21ad5f916..db561f5f7e 100644 --- a/Open-ILS/src/eg2/src/app/share/combobox/combobox.component.ts +++ b/Open-ILS/src/eg2/src/app/share/combobox/combobox.component.ts @@ -442,12 +442,14 @@ export class ComboboxComponent implements ControlValueAccessor, OnInit, AfterVie return of(term); } - let searchTerm: string; - searchTerm = term; - if (searchTerm === '_CLICK_') { + let searchTerm = term; + if (term === '_CLICK_') { if (this.asyncSupportsEmptyTermClick) { + // Search for "all", but retain and propage the _CLICK_ + // term so the filter knows to open the selector searchTerm = ''; } else { + // Skip the final filter map and display nothing. return of(); } } @@ -457,7 +459,7 @@ export class ComboboxComponent implements ControlValueAccessor, OnInit, AfterVie (entry: ComboboxEntry) => this.addAsyncEntry(entry), err => {}, () => { - observer.next(searchTerm); + observer.next(term); observer.complete(); } ); @@ -487,10 +489,8 @@ export class ComboboxComponent implements ControlValueAccessor, OnInit, AfterVie // click action occurred. if (term === '') { return []; } - // In sync-data mode, a click displays the full list. - if (term === '_CLICK_' && !this.asyncDataSource) { - return this.entrylist; - } + // If we make it this far, _CLICK_ means show everything. + if (term === '_CLICK_') { term = ''; } // Filter entrylist whose labels substring-match the // text entered.