angular / angular/components

bug(MatDialogRef): updatePosition is not consistent for previously dragged dialog

Abierto
#19,539 5 comentarios 4 reacciones 0 asignados Ver en GitHub
area: cdk/drag-drop area: material/dialog P4
Lenguaje dominante
TypeScript
Estrellas
25k
Forks
6.8k
Merge medio
1 d 8 h
PR fusionados (30 d)
91

Descripción

#### Reproduction

The `updatePosition()` doesn't seem to be consistent if the dialog is previously dragged.

It is my understanding, according to the documentation that `updatePosition({bottom: '5px', right: '0px'})` will place my dialog at the bottom right of its container (`cdk-overlay-container` if I'm right ?).

[Here is a forked StackBlitz from the documentation](https://stackblitz.com/edit/angular-hc5lgp?file=app%2Fdialog-overview-example.ts) with, of course, minor changes.

With it, please:
1. open the dialog
2. click on the "minimize" button next to the title (dialog goes to the bottom right of the screen as expected : 👍 nice).
3. click on the "maximize" button next to the title to get the dialog back to it initial place. Also 👍 nice.

so far so good !

4. drag the dialog downwards (or in any direction you want) generously and minimize it again.


#### Expected Behavior

The dialog should be at the exact same place as it was after step 2.

#### Actual Behavior

The dialog's position has been updated, but with an additionnal translation.
(That additionnal translation seems to be of the same length as the previous drag.)

Worst : you can get the dialog outside of the screen if your drag was too generous, preventing you from dragging it back on visual.

#### Environment

- Angular: 9.1.7 (but discovered and reproduced in 7.3.4)
- CDK/Material: 9.2.4 (but discovered and reproduced in 6.4.1)
- Chrome 83.0.4103.61 64bits
- Windows 10 64bits

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza reproduciendo el comportamiento en el StackBlitz enlazado, centrándote en MatDialogRef.updatePosition() después de arrastrar el diálogo. Rastrea cómo interactúan el arrastre y la posición inferior derecha, y verifica después que minimizar tras arrastrar coloca el diálogo en la misma posición que tenía antes del arrastre.

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
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.