Skip to content

Commit

Permalink
feat(material/button): allow focus origin to be optional input in foc…
Browse files Browse the repository at this point in the history
…us method (#20898)

Co-authored-by: Jessica Xu <jessicacxu@google.com>
  • Loading branch information
Jessica Xu and jesscxu committed Nov 3, 2020
1 parent 43b463f commit 23d0b80
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
17 changes: 17 additions & 0 deletions src/material/button/button.spec.ts
Expand Up @@ -84,6 +84,23 @@ describe('MatButton', () => {
expect(buttonDebugEl.nativeElement.classList).toContain('cdk-touch-focused');
});

it('should not change focus origin if origin not specified', () => {
const fixture = TestBed.createComponent(TestApp);
fixture.detectChanges();

const fabButtonDebugEl = fixture.debugElement.query(By.css('button[mat-fab]'))!;
const fabButtonInstance = fabButtonDebugEl.componentInstance as MatButton;
fabButtonInstance.focus('mouse');

const miniFabButtonDebugEl = fixture.debugElement.query(By.css('button[mat-mini-fab]'))!;
const miniFabButtonInstance = miniFabButtonDebugEl.componentInstance as MatButton;

miniFabButtonInstance.focus();

expect(miniFabButtonDebugEl.nativeElement.classList).toContain('cdk-focused');
expect(miniFabButtonDebugEl.nativeElement.classList).toContain('cdk-mouse-focused');
});

describe('button[mat-fab]', () => {
it('should have accent palette by default', () => {
const fixture = TestBed.createComponent(TestApp);
Expand Down
8 changes: 6 additions & 2 deletions src/material/button/button.ts
Expand Up @@ -127,8 +127,12 @@ export class MatButton extends _MatButtonMixinBase
}

/** Focuses the button. */
focus(origin: FocusOrigin = 'program', options?: FocusOptions): void {
this._focusMonitor.focusVia(this._getHostElement(), origin, options);
focus(origin?: FocusOrigin, options?: FocusOptions): void {
if (origin) {
this._focusMonitor.focusVia(this._getHostElement(), origin, options);
} else {
this._getHostElement().focus(options);
}
}

_getHostElement() {
Expand Down

0 comments on commit 23d0b80

Please sign in to comment.