From 8f790f52c713d1b0ae6e4a711b1600f27039361b Mon Sep 17 00:00:00 2001 From: mmalerba Date: Tue, 11 Dec 2018 09:43:04 -0800 Subject: [PATCH] Revert "fix(a11y): activeItem out of date if active index is removed from ListKeyManager" (#14467) * Revert "build: update sauce connect (#14422)" This reverts commit bc563b713adb8bc704b5822b872755a29246b4c1. * Revert "build: changelog script not filtering duplicate entries (#14421)" This reverts commit fe4629024ffb5034df8cc931f7119a22497241eb. * Revert "build: update to angular 7.1.2 (#14418)" This reverts commit e1487dfac4ec7ec0802715f16c2b866f1cf52be5. * Revert "refactor(drag-drop): move logic out of directives (#14350)" This reverts commit 19f9bca6fb8b022f34317a1c66a451eb453cf282. * Revert "fix(checkbox): redirect focus to underlying input element (#13959)" This reverts commit e0eb3dfb649380e320b1e08ba6f47862b8aec7e5. * Revert "fix(radio): host element unable to receive focus events (#13956)" This reverts commit 41eb27e7ddda8ccacf355f25d6048e09b2e2703f. * Revert "fix(a11y): activeItem out of date if active index is removed from ListKeyManager (#14407)" This reverts commit 014dc7915a2b53b1d2d4981d83fdf2cf01f376d7. --- src/cdk/a11y/key-manager/list-key-manager.spec.ts | 11 ----------- src/cdk/a11y/key-manager/list-key-manager.ts | 4 ++-- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/src/cdk/a11y/key-manager/list-key-manager.spec.ts b/src/cdk/a11y/key-manager/list-key-manager.spec.ts index 2e7ae77d0760..4bbc026b87ac 100644 --- a/src/cdk/a11y/key-manager/list-key-manager.spec.ts +++ b/src/cdk/a11y/key-manager/list-key-manager.spec.ts @@ -93,17 +93,6 @@ describe('Key managers', () => { expect(keyManager.activeItem!.getLabel()).toBe('one'); }); - it('should keep the active item in sync if the active item is removed', () => { - expect(keyManager.activeItemIndex).toBe(0); - expect(keyManager.activeItem!.getLabel()).toBe('one'); - - itemList.items.shift(); - itemList.notifyOnChanges(); - - expect(keyManager.activeItemIndex).toBe(0); - expect(keyManager.activeItem!.getLabel()).toBe('two'); - }); - it('should start off the activeItem as null', () => { expect(new ListKeyManager([]).activeItem).toBeNull(); }); diff --git a/src/cdk/a11y/key-manager/list-key-manager.ts b/src/cdk/a11y/key-manager/list-key-manager.ts index c68001c4021f..9b6bf2d04dcc 100644 --- a/src/cdk/a11y/key-manager/list-key-manager.ts +++ b/src/cdk/a11y/key-manager/list-key-manager.ts @@ -67,8 +67,8 @@ export class ListKeyManager { const itemArray = newItems.toArray(); const newIndex = itemArray.indexOf(this._activeItem); - if (newIndex !== this._activeItemIndex) { - this.updateActiveItem(newIndex > -1 ? newIndex : this._activeItemIndex); + if (newIndex > -1 && newIndex !== this._activeItemIndex) { + this._activeItemIndex = newIndex; } } });