From f0c063c63b335fba28e9f8ce9e6ee1fe205315e2 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Mon, 16 Apr 2018 14:52:44 +0000 Subject: [PATCH] LP#1626157 org select display on click Signed-off-by: Bill Erickson --- .../src/eg2/src/app/share/accesskey/accesskey.directive.ts | 2 ++ Open-ILS/src/eg2/src/app/share/org-select.component.html | 2 ++ Open-ILS/src/eg2/src/app/share/org-select.component.ts | 11 +++++++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Open-ILS/src/eg2/src/app/share/accesskey/accesskey.directive.ts b/Open-ILS/src/eg2/src/app/share/accesskey/accesskey.directive.ts index 8e58ab1c47..ddbe6938a5 100644 --- a/Open-ILS/src/eg2/src/app/share/accesskey/accesskey.directive.ts +++ b/Open-ILS/src/eg2/src/app/share/accesskey/accesskey.directive.ts @@ -30,8 +30,10 @@ export class EgAccessKeyDirective implements OnInit { ngOnInit() { + /* console.debug( `EgAccessKey assigning '${this.keySpec}' => ${this.keyDesc}`); + */ this.keyService.assign({ key: this.keySpec, diff --git a/Open-ILS/src/eg2/src/app/share/org-select.component.html b/Open-ILS/src/eg2/src/app/share/org-select.component.html index d7b9101c89..e628ab2cee 100644 --- a/Open-ILS/src/eg2/src/app/share/org-select.component.html +++ b/Open-ILS/src/eg2/src/app/share/org-select.component.html @@ -11,5 +11,7 @@ [ngbTypeahead]="filter" [resultTemplate]="displayTemplate" [inputFormatter]="formatter" + (click)="click$.next($event.target.value)" (selectItem)="orgChanged($event)" + #instance="ngbTypeahead" /> diff --git a/Open-ILS/src/eg2/src/app/share/org-select.component.ts b/Open-ILS/src/eg2/src/app/share/org-select.component.ts index f502c9e7fd..4d0e77685c 100644 --- a/Open-ILS/src/eg2/src/app/share/org-select.component.ts +++ b/Open-ILS/src/eg2/src/app/share/org-select.component.ts @@ -1,11 +1,13 @@ -import {Component, OnInit, Input, Output, EventEmitter} from '@angular/core'; +import {Component, OnInit, Input, Output, ViewChild, EventEmitter} from '@angular/core'; import {Observable} from 'rxjs/Observable'; import {map, debounceTime} from 'rxjs/operators'; +import {Subject} from 'rxjs/Subject'; import {EgAuthService} from '@eg/core/auth.service'; import {EgStoreService} from '@eg/core/store.service'; import {EgOrgService} from '@eg/core/org.service'; import {EgIdlObject} from '@eg/core/idl.service'; -import {NgbTypeaheadSelectItemEvent} from '@ng-bootstrap/ng-bootstrap'; +import {NgbTypeahead, NgbTypeaheadSelectItemEvent} + from '@ng-bootstrap/ng-bootstrap'; // Use a unicode char for spacing instead of ASCII=32 so the browser // won't collapse the nested display entries down to a single space. @@ -27,6 +29,10 @@ export class EgOrgSelectComponent implements OnInit { startOrg: EgIdlObject; hidden: number[] = []; disabled: number[] = []; + //focus$ = new Subject(); + click$ = new Subject(); + + @ViewChild('instance') instance: NgbTypeahead; // Read-only properties optionally provided by the calling component. @Input() placeholder: string; @@ -82,6 +88,7 @@ export class EgOrgSelectComponent implements OnInit { return text$ .debounceTime(100) .distinctUntilChanged() + .merge(this.click$.filter(() => !this.instance.isPopupOpen())) .map(term => { return this.org.list().filter(org => { -- 2.11.0