bug(MatDialogRef): updatePosition is not consistent for previously dragged dialog
- Langage dominant
- TypeScript
- Étoiles
- 25k
- Forks
- 6.8k
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 91
Description
#### 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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par reproduire le comportement dans le StackBlitz lié, en vous concentrant sur MatDialogRef.updatePosition() après avoir déplacé la boîte de dialogue. Suivez l’interaction entre le déplacement et la position en bas à droite, puis vérifiez que la réduction après un déplacement place la boîte de dialogue à la même position qu’avant le déplacement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- angular, typescript
- Domaine
- frontend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100