feat(Mat-Table): Allow for adding multiple TBODY within Mat-Table
- Vorherrschende Sprache
- TypeScript
- Sterne
- 25k
- Forks
- 6.8k
- Ø Merge
- 1 T. 8 Std.
- Gemergte PRs (30 T.)
- 91
Beschreibung
### Feature Description
In the current cdk Table implementation we can only have on `` with a `matRowDef`. This will generate a TBODY element with the TR's inside.
That works fine for most use case.
I would like to be able to add a second TBODY with a selection of the rows of the datasource (based on a filter) so that I have 2 groups of rows within the same table.
I tried using the When option in matRowDef but that doesn't result in 2 TBODY's, but it comes close into what I am looking for.
### Use Case
I am having a list of Categories of which the top 3 can have primary flag. Those are display at the top, then row 4 until X is the non primary Categories.
I enabled drag and drop and I only want to be able to order the Primary rows within their TBODY and the non-primary rows in their TBODY. So you can't accidentally drop a Non primary row into a primary block.
You can control if a category is primary or not by editing the Category itself.
So to sum up feature request:
- Allow for multiple TBODYs which can have a filtered collection of the datasource
- Allow Drag and drop within that tbody only
Beitragsleitfaden
Rechercherichtung
Beginne mit der CDK Table-Implementierung und der matRowDef When-Option, um zu verstehen, wie das aktuelle einzelne TBODY erzeugt wird. Lege fest, wie mehrere gefilterte datasource-Gruppen gerendert werden sollen und wie Drag-and-drop innerhalb jedes TBODY bleiben soll; als abgeschlossen gilt die Aufgabe, wenn beide Verhaltensweisen für die beschriebenen primären und nicht primären Kategoriegruppen funktionieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- angular, typescript
- Bereich
- frontend
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100