From: Bill Erickson Date: Sun, 13 May 2018 19:03:28 +0000 (-0400) Subject: LP#1775466 More grid X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=f6cbd96f930fa17d3b89bb7ef153672c937bcce2;p=working%2FEvergreen.git LP#1775466 More grid Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/eg2/src/app/share/grid/grid.component.css b/Open-ILS/src/eg2/src/app/share/grid/grid.component.css index c571b894a9..5bb1c9eed3 100644 --- a/Open-ILS/src/eg2/src/app/share/grid/grid.component.css +++ b/Open-ILS/src/eg2/src/app/share/grid/grid.component.css @@ -14,6 +14,10 @@ .eg-grid-header-row { } +.eg-grid-body { + outline: none; /* for keyboard events */ +} + .eg-grid-body-row { } diff --git a/Open-ILS/src/eg2/src/app/share/grid/grid.component.html b/Open-ILS/src/eg2/src/app/share/grid/grid.component.html index 4b679862d0..6be7e69fb4 100644 --- a/Open-ILS/src/eg2/src/app/share/grid/grid.component.html +++ b/Open-ILS/src/eg2/src/app/share/grid/grid.component.html @@ -1,5 +1,6 @@
+ @@ -14,22 +15,24 @@
-
+
+
-
- -
-
- {{context.pager.rowNumber(idx)}} +
+ +
+
+ {{context.pager.rowNumber(idx)}} +
+
+ {{context.getRowColumnValue(row, col)}} +
-
- {{context.getRowColumnValue(row, col)}} -
-
+
diff --git a/Open-ILS/src/eg2/src/app/share/grid/grid.component.ts b/Open-ILS/src/eg2/src/app/share/grid/grid.component.ts index 817f044e1c..624b284d68 100644 --- a/Open-ILS/src/eg2/src/app/share/grid/grid.component.ts +++ b/Open-ILS/src/eg2/src/app/share/grid/grid.component.ts @@ -58,29 +58,36 @@ export class EgGridComponent implements OnInit, AfterViewInit, OnDestroy { this.context.destroy(); } - // Grid keyboard navigation handlers. - @HostListener('window:keydown', ['$event']) onKeyDown(evt: KeyboardEvent) { - if (evt.key == 'ArrowUp') { - this.context.selectPreviousRow(); - - } else if (evt.key == 'ArrowDown') { - this.context.selectNextRow(); - - } else if (evt.key == 'ArrowLeft') { - this.context.toPrevPage() + // Not using @HostListener because it only works globally. + onGridKeyDown(evt: KeyboardEvent) { + switch(evt.key) { + case 'ArrowUp': + this.context.selectPreviousRow(); + evt.stopPropagation(); + break; + case 'ArrowDown': + this.context.selectNextRow(); + evt.stopPropagation(); + break; + case 'ArrowLeft': + this.context.toPrevPage() .then(ok => this.context.selectFirstRow(), err => {}); - - } else if (evt.key == 'ArrowRight') { - this.context.toNextPage() + evt.stopPropagation(); + break; + case 'ArrowRight': + this.context.toNextPage() .then(ok => this.context.selectFirstRow(), err => {}); - - } else if (evt.key == 'Enter') { - if (this.context.lastSelectedIndex) { - this.onRowActivate$.emit( - this.context.getRowByIndex( - this.context.lastSelectedIndex) - ); - } + evt.stopPropagation(); + break; + case 'Enter': + if (this.context.lastSelectedIndex) { + this.onRowActivate$.emit( + this.context.getRowByIndex( + this.context.lastSelectedIndex) + ); + } + evt.stopPropagation(); + break; } } diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html b/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html index 650c785f8c..4d6b4f35da 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html +++ b/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html @@ -48,7 +48,7 @@ TODO focus search input
diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.ts b/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.ts index cf6d66dc6a..6879a14341 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.ts @@ -81,11 +81,9 @@ export class SearchFormComponent implements OnInit, AfterViewInit { this.searchContext.matchOp.splice(index, 1); } - checkEnter($event: any): void { - if ($event.keyCode == 13) { - this.searchContext.pager.offset = 0; - this.searchByForm(); - } + formEnter() { + this.searchContext.pager.offset = 0; + this.searchByForm(); } // https://stackoverflow.com/questions/42322968/angular2-dynamic-input-field-lose-focus-when-input-changes diff --git a/Open-ILS/src/eg2/src/app/staff/share/op-change/op-change.component.html b/Open-ILS/src/eg2/src/app/staff/share/op-change/op-change.component.html index 3befa3ef94..e5a6f493b5 100644 --- a/Open-ILS/src/eg2/src/app/staff/share/op-change/op-change.component.html +++ b/Open-ILS/src/eg2/src/app/staff/share/op-change/op-change.component.html @@ -17,7 +17,7 @@ id="username" name="username" required - (keyup)="checkEnter($event)" + (keyup.enter)="login()" autocomplete="username" i18n-placeholder placeholder="Username..." @@ -33,7 +33,7 @@ id="password" name="password" required - (keyup)="checkEnter($event)" + (keyup.enter)="login()" autocomplete="current-password" i18n-placeholder placeholder="Password..." diff --git a/Open-ILS/src/eg2/src/app/staff/share/op-change/op-change.component.ts b/Open-ILS/src/eg2/src/app/staff/share/op-change/op-change.component.ts index 39444f653d..b8832e93c7 100644 --- a/Open-ILS/src/eg2/src/app/staff/share/op-change/op-change.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/share/op-change/op-change.component.ts @@ -35,11 +35,6 @@ export class EgOpChangeComponent ); } - checkEnter($event: any): void { - if ($event.keyCode == 13) - this.login(); - } - login(): Promise { if (!(this.username && this.password)) return Promise.reject('Missing Params'); diff --git a/Open-ILS/src/eg2/src/app/staff/splash.component.html b/Open-ILS/src/eg2/src/app/staff/splash.component.html index 0018fc37b7..013eab34af 100644 --- a/Open-ILS/src/eg2/src/app/staff/splash.component.html +++ b/Open-ILS/src/eg2/src/app/staff/splash.component.html @@ -62,7 +62,7 @@