bug(MatDialogRef): updatePosition is not consistent for previously dragged dialog
- 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
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