angular / angular/components

feat(Mat-Table): Allow for adding multiple TBODY within Mat-Table

Offen
#28,195 1 Kommentar 5 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: cdk/table feature P3
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
image

Beitragsleitfaden

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.