-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Description
Bug, feature request, or proposal:
feature request
What is the expected behavior?
I would like to be able to convert a CDK table into a stacked list. I want to do this through CSS media queries (i.e. when window size is narrow), and I also want to be able to do it through JavaScript (e.g., when the user clicks a button). The header cell contents should be displayed on each line instead of just at the top. E.g.,
Header 1 Header 2 Header 3 Header 4
1.1 1.2 1.3 1.4
2.1 2.2 2.3 2.4
becomes
Header 1 1.1
Header 2 1.2
Header 3 1.3
Header 4 1.4
Header 1 2.1
Header 2 2.2
Header 3 2.3
Header 4 2.4
and even
Header 1
1.1
Header 2
1.2
Header 3
1.3
Header 4
1.4
Header 1
2.1
Header 2
2.2
Header 3
2.3
Header 4
2.4
If this is already facilitated by the CDK, I would like to see an example of this feature in the docs.
What is the current behavior?
The two docs pages I am looking at (https://material.angular.io/guide/cdk-table and the link below) do not mention 'responsive' or 'stack', and there are no demonstrations of tables that stack.
From https://material.angular.io/components/table/overview
What are the steps to reproduce?
Go to https://material.angular.io/components/table/overview on a small mobile browser or, with a desktop browser, resize the window to be narrow (e.g., 760px wide).
What is the use-case or motivation for changing an existing behavior?
- There are groups where I work, and no doubt at many other organizations, that do not want to use a table library that does not offer this feature.
- The need for this feature is evidenced by its existence in other solutions, such as PrimeNG datatable https://www.primefaces.org/primeng/#/datatable/responsive and https://css-tricks.com/responsive-data-tables/
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
N/A
Is there anything else we should know?
This is a restatement of #6608, trying to follow the advice of @jelbourn.