angular / angular/components

[Table] Remove requirement for a header or data row template

Open
#7,604 10 comments 26 reactions 0 assignees View on GitHub
area: material/table needs: discussion P4
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

It's valid that tables may not want any header, or a table could *only* be a header. Support this use case by letting users avoid defining a `cdk-header-row` or `cdk-row` which means that they should not be inserted.

Motivation: A table footer row could be a single row composed of a single row without a header. If placed after a preceding table, it acts as a sticky footer. Works well for cases where the header should not affect the rows, e.g. a totals row

Note that this doesn't help in cases where a scrollbar appears on one container but not the other. This will cause misalignment on browsers that push content left to show a scrollbar rather than overlay it (e.g. safari)

Contributor guide

Open the contributing guide

Research direction

Start by searching the Angular CDK table implementation and tests for `cdk-header-row` and `cdk-row` template handling. Verify the behavior for a table with no header, a table with no data-row template, and a header-only table; done means omitted templates are not inserted while supported rows still render.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.