matplotlib / matplotlib/ipympl

Resizing extends outside the bounds of the notebook

Ouverte
#242 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Jupyter Notebook
Étoiles
1.7k
Forks
234
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## Describe the issue

If you drag the resize handle outside the limits of the notebook and release the mouse you lose the ability to resize as the handle will be hidden:
![wonky-resize](https://user-images.githubusercontent.com/10111092/87228336-8dbcc900-c36e-11ea-8ed8-bac8415939b9.gif)

This is a consequence of using a window mouse move listener: https://github.com/matplotlib/ipympl/blob/6b44a6f90cf74b12cfcf930b440010984d8a9b4d/js/src/mpl_widget.js#L272

Maybe there could be a check that it won't be resized to be larger the layout (`this.model.get('layout')`)?
## Versions

```
3.7.6 (default, Jan 8 2020, 19:59:22)
[GCC 7.3.0]
ipympl version: 0.5.6
jupyter core : 4.6.1
jupyter-notebook : 6.0.3
qtconsole : 4.6.0
ipython : 7.12.0
ipykernel : 5.1.4
jupyter client : 5.3.4
jupyter lab : 2.1.5
nbconvert : 5.6.1
ipywidgets : 7.5.1
nbformat : 5.0.4
traitlets : 4.3.3
Known nbextensions:
config dir: /home/ian/anaconda3/etc/jupyter/nbconfig
notebook section
jupyter-matplotlib/extension enabled
- Validating: OK
nbdime/index enabled
- Validating: OK
voila/extension enabled
- Validating: OK
jupyter-js-widgets/extension enabled
- Validating: OK
JupyterLab v2.1.5
Known labextensions:
app dir: /home/ian/anaconda3/share/jupyter/lab
@axlair/jupyterlab_vim v0.12.2 enabled OK
@jupyter-widgets/jupyterlab-manager v2.0.0 enabled OK
@jupyter-widgets/jupyterlab-sidecar v0.5.0 enabled OK
@jupyterlab/git v0.20.0-rc.0 enabled OK
jupyter-matplotlib v0.7.2 enabled OK
jupyterlab_vim-system-clipboard-support v0.1.0 enabled OK
nbdime-jupyterlab v2.0.0 enabled OK
```

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Lisez js/src/mpl_widget.js autour de la ligne 272 et reproduisez le comportement du resize-handle en faisant glisser au-delà des limites du notebook. Examinez comment le window mousemove listener utilise this.model.get('layout'); le problème est résolu lorsque le fait de relâcher en dehors du notebook ne laisse pas le handle masqué et n’empêche pas de continuer le redimensionnement.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, jupyter
Domaine
frontend
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.