From f8d173e8150e1fb8b10f9dc86d4c82518bc37486 Mon Sep 17 00:00:00 2001 From: ffriedl89 Date: Tue, 9 Feb 2021 12:01:53 +0000 Subject: [PATCH] fix(breadcrumbs): Fixes an ExpressionChangedAfterChecked error on the breadcrumbs in non OnPush environments. --- .../breadcrumbs/src/breadcrumbs-item.ts | 13 +++++++------ .../breadcrumbs/src/breadcrumbs.scss | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/libs/barista-components/breadcrumbs/src/breadcrumbs-item.ts b/libs/barista-components/breadcrumbs/src/breadcrumbs-item.ts index 4952d984d8..8c78b35838 100644 --- a/libs/barista-components/breadcrumbs/src/breadcrumbs-item.ts +++ b/libs/barista-components/breadcrumbs/src/breadcrumbs-item.ts @@ -31,24 +31,25 @@ const BREADCRUMBS_ITEM_ELLIPSIS_CLASS = `dt-breadcrumbs-item-ellipsis`; exportAs: 'dtBreadcrumbsItem', host: { class: 'dt-breadcrumbs-item', - '[class.dt-breadcrumbs-item-non-interactive]': '!_isFocusable', '(keydown)': '_onKeyDown($event)', }, }) export class DtBreadcrumbsItem2 implements Highlightable { - constructor( - readonly _elementRef: ElementRef, - private _interactivityChecker: InteractivityChecker, - ) {} - + /** @internal Whether the breadcrumb is focusable - determined by the interactivity checker */ get _isFocusable(): boolean { return this._interactivityChecker.isFocusable( this._elementRef.nativeElement, ); } + /** @internal Stream of keydown events on the breadcrumb item */ _onKeyDown$ = new Subject(); + constructor( + readonly _elementRef: ElementRef, + private _interactivityChecker: InteractivityChecker, + ) {} + /** Applies the styles for an active item to this item. Part of the Highlightable interface */ setActiveStyles(): void { if (this._isFocusable) { diff --git a/libs/barista-components/breadcrumbs/src/breadcrumbs.scss b/libs/barista-components/breadcrumbs/src/breadcrumbs.scss index 4d4ecf0eac..7e57465559 100644 --- a/libs/barista-components/breadcrumbs/src/breadcrumbs.scss +++ b/libs/barista-components/breadcrumbs/src/breadcrumbs.scss @@ -138,7 +138,7 @@ $dt-breadcrumbs-panel-min-width: 112px !default; outline: none; } - &.dt-breadcrumbs-item-non-interactive { + &:not([href]) { color: $disabledcolor; background-color: inherit; cursor: default;