Skip to content

matTabLink disabled input should be matTabLinkDisabled #17446

Open
@paulferaud

Description

@paulferaud

Reproduction

Use StackBlitz to reproduce your issue: https://stackblitz.com/edit/angular-zju32k

Steps to reproduce:

  1. Put a tooltip on a matTabLink
  2. Disabled the matTabLink

Expected Behavior

Tab should be disabled, and tooltip should show.

Actual Behavior

Tooltip did not show.

Notes/Thoughts

If the input is changed to matTabLinkDisabled, then disabled and [disabled]="true" should still be able to work. However, it would also be possible to use matTabLinkDisabled, which would make it possible to disable the MatTabLink specifically, without disabling any other directive on the element.

I believe this would be a non breaking change, as the input is declared in the inputs field on component:

@Directive({
  selector: '[mat-tab-link], [matTabLink]',
  exportAs: 'matTabLink',
  inputs: ['disabled', 'disableRipple', 'tabIndex'], // <== HERE
  host: {
    'class': 'mat-tab-link',
    '[attr.aria-current]': 'active ? "page" : null',
    '[attr.aria-disabled]': 'disabled',
    '[attr.tabIndex]': 'tabIndex',
    '[class.mat-tab-disabled]': 'disabled',
    '[class.mat-tab-label-active]': 'active',
  }
})
export class MatTabLink 

So my understanding is right now, you can’t read the disabled field by name anyways.

Environment

  • Angular: 8.2.11
  • CDK/Material: 8.2.1
  • Browser(s): Version 77.0.3865.120 (Official Build) (64-bit)
  • Operating System (e.g. Windows, macOS, Ubuntu): Debian Rodette

Metadata

Metadata

Assignees

No one assigned

    Labels

    GThis is is related to a Google internal issueP3An issue that is relevant to core functions, but does not impede progress. Important, but not urgentarea: material/tabstarget: majorThis PR is targeted for the next major release

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions