angular / angular/components

MatTreeFlattener does not preserve traversal order while flattening mixed [] and Observable<[]>

Abierto
#13,461 0 comentarios 5 reacciones 0 asignados Ver en GitHub
area: material/tree G P2
Lenguaje dominante
TypeScript
Estrellas
25k
Forks
6.8k
Merge medio
1 d 8 h
PR fusionados (30 d)
91

Descripción

When `MatTreeFlattener` `flattenNodes` method is used to flatten a data structure that mixes use of `[]` and `Observable<[]>`, the resulting flattened nodes are out of order as the children found from `Observable<[]>` are not done syncronously, but instead are done in order of discovery as they are each sent into the microtask queue to be done. They are sent in the correct order however to the task queue.

It appears the code in question is here:
https://github.com/angular/material2/blob/da63c6f85005966b42864a6c10f60896c8362361/src/lib/tree/data-source/flat-data-source.ts#L62-L68

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en src/lib/tree/data-source/flat-data-source.ts, en la implementación enlazada de MatTreeFlattener.flattenNodes, y reproduce el aplanado de una estructura que mezcla [] con hijos Observable<[]>. Sigue cómo esos hijos se ponen en cola y verifica que el resultado aplanado preserve el orden de recorrido.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
angular, typescript
Área
frontend
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.