From 00f0155aec0d9e3da92ef885d6d4847c5271b612 Mon Sep 17 00:00:00 2001 From: Michael Bromley Date: Fri, 30 Jun 2023 16:32:29 +0200 Subject: [PATCH] fix(admin-ui): Improve keyboard controls for data table filters --- .../data-table-filters.component.html | 6 +++--- .../data-table-filters.component.scss | 18 +++++++++++++++++- .../data-table-filters.component.ts | 8 ++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.html b/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.html index 605801e809..f4b0f9d864 100644 --- a/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.html +++ b/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.html @@ -5,7 +5,7 @@ - + diff --git a/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.scss b/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.scss index 0d9e3312f3..4a4f2648e3 100644 --- a/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.scss +++ b/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.scss @@ -13,6 +13,7 @@ border-radius: var(--border-radius-lg); background-color: var(--color-button-small-bg); color: var(--color-button-small-text); + > button { border: none; gap: 12px; @@ -24,13 +25,16 @@ border-radius: var(--border-radius-lg); color: var(--color-button-small-text); } + &.active { background-color: var(--color-primary-700); color: var(--color-primary-100); + > button { color: var(--color-primary-100); } } + button.remove { } } @@ -48,8 +52,20 @@ label { color: var(--color-weight-600); margin: 0 calc(var(--space-unit) * 2); } + .apply-wrapper { display: flex; justify-content: flex-end; - padding-right : calc(var(--space-unit) * 2); + padding-right: calc(var(--space-unit) * 2); +} + +.filter-hotkey { + font-size: var(--font-size-xs); + color: var(--color-weight-500); + border: 1px solid var(--color-weight-200); + background-color: var(--color-weight-100); + border-radius: var(--border-radius); + padding: 0 3px; + text-transform: uppercase; + margin-inline-start: 3px; } diff --git a/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.ts b/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.ts index a53a82043b..3d742a4733 100644 --- a/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.ts +++ b/packages/admin-ui/src/lib/core/src/shared/components/data-table-filters/data-table-filters.component.ts @@ -4,6 +4,7 @@ import { ChangeDetectorRef, Component, ComponentRef, + HostListener, Input, ViewChild, } from '@angular/core'; @@ -40,6 +41,13 @@ export class DataTableFiltersComponent implements AfterViewInit { protected selectedFilter: DataTableFilter | undefined; protected customComponent?: ComponentRef; + @HostListener('window:keydown.f', ['$event']) + onFKeyPress(event: KeyboardEvent) { + if (!this.dropdown.isOpen && this.state === 'new') { + this.dropdown.toggleOpen(); + } + } + constructor(private i18nService: I18nService, private changeDetectorRef: ChangeDetectorRef) {} ngAfterViewInit() {