angular / angular/components

[Tabs] Tab label not fully shown when added past overflow

Open
#9,178 2 comments 1 reaction 0 assignees View on GitHub
area: material/tabs P4
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

#### Bug, feature request, or proposal:
Bug

#### What is the expected behavior?
Tab is selected after being added to mat-tab-group and is in full view.

#### What is the current behavior?
Tab is selected and is hidden behind the paginators.

#### What are the steps to reproduce?
https://stackblitz.com/edit/angular-material2-issue-c9hsyv
In the stackblitz above, add tabs until the paginator is shown. The tab will be partial hidden by the paginator.
![material-tab-bug](https://user-images.githubusercontent.com/3068898/34464804-13f95dae-ee5f-11e7-831c-1ef7fd3b3595.PNG)

#### What is the use-case or motivation for changing an existing behavior?
Navigating the user to the tab they just opened.

#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular: any
Material: 5.0.0
OS: any
TypeScript: 2.4.2
Browsers: any

#### Is there anything else we should know?
A related issue which can also be seen in the stackbliz provided, is that the transform of the bar is not correctly updating when removing tabs. Steps to reproduce: Add 4(or enough tabs to show pagination) tabs (pagination will be shown and last tab will be selected).
Remove the third tab by clicking the X on the label. Pagination is shown until clicking on the label. It then updates and removes the pagination controls since the content can fit.
![beforeclickinglabel](https://user-images.githubusercontent.com/3068898/34464799-11470228-ee5f-11e7-92f6-18643e852a62.PNG)
![afterclickinglabel](https://user-images.githubusercontent.com/3068898/34464798-0f975bb2-ee5f-11e7-84f9-493be75ad855.PNG)

Both issues seem to be related to the animation of the inkbar. (ink-bar.ts line 35) Performing the left calculation in the animation frame plus the delay of the actual animation happens after all the calculations to show/hide the paginator controls.

Contributor guide

Open the contributing guide

Research direction

Reproduce the tab overflow and tab-removal cases in the linked StackBlitz, then inspect ink-bar.ts around line 35 and the tab pagination behavior. Confirm that a newly added selected tab is fully visible and that removing a tab updates the paginator without an extra click; cover both behaviors with regression tests if the relevant test entry point is found.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.