holoviz / holoviews

With Holoviews, your data visualizes itself.
https://holoviews.org
BSD 3-Clause "New" or "Revised" License
2.71k stars 404 forks source link

In jupyter lab, clicking on a table scrolls to the top of page #5786

Open nbud opened 1 year ago

nbud commented 1 year ago

ALL software version info

Python 3.10, Ubuntu 22.04. I can reproduce on both Chromium and Firefox. I cannot reproduce with the classic Jupyter Notebook interface.

In a new venv: pip install jupyterlab holoviews. Here's the pip list:

Package                  Version
------------------------ --------
anyio                    3.7.0
argon2-cffi              21.3.0
argon2-cffi-bindings     21.2.0
arrow                    1.2.3
asttokens                2.2.1
async-lru                2.0.2
attrs                    23.1.0
Babel                    2.12.1
backcall                 0.2.0
beautifulsoup4           4.12.2
bleach                   6.0.0
bokeh                    3.1.1
certifi                  2023.5.7
cffi                     1.15.1
charset-normalizer       3.1.0
colorcet                 3.0.1
comm                     0.1.3
contourpy                1.1.0
debugpy                  1.6.7
decorator                5.1.1
defusedxml               0.7.1
exceptiongroup           1.1.1
executing                1.2.0
fastjsonschema           2.17.1
fqdn                     1.5.1
holoviews                1.16.2
idna                     3.4
ipykernel                6.23.3
ipython                  8.14.0
isoduration              20.11.0
jedi                     0.18.2
Jinja2                   3.1.2
json5                    0.9.14
jsonpointer              2.4
jsonschema               4.17.3
jupyter_client           8.3.0
jupyter_core             5.3.1
jupyter-events           0.6.3
jupyter-lsp              2.2.0
jupyter_server           2.7.0
jupyter_server_terminals 0.4.4
jupyterlab               4.0.2
jupyterlab-pygments      0.2.2
jupyterlab_server        2.23.0
linkify-it-py            2.0.2
Markdown                 3.4.3
markdown-it-py           2.2.0
MarkupSafe               2.1.3
matplotlib-inline        0.1.6
mdit-py-plugins          0.4.0
mdurl                    0.1.2
mistune                  3.0.1
nbclient                 0.8.0
nbconvert                7.6.0
nbformat                 5.9.0
nest-asyncio             1.5.6
notebook_shim            0.2.3
numpy                    1.25.0
overrides                7.3.1
packaging                23.1
pandas                   2.0.3
pandocfilters            1.5.0
panel                    1.1.1
param                    1.13.0
parso                    0.8.3
pexpect                  4.8.0
pickleshare              0.7.5
Pillow                   9.5.0
pip                      22.0.2
platformdirs             3.8.0
prometheus-client        0.17.0
prompt-toolkit           3.0.38
psutil                   5.9.5
ptyprocess               0.7.0
pure-eval                0.2.2
pycparser                2.21
pyct                     0.5.0
Pygments                 2.15.1
pyrsistent               0.19.3
python-dateutil          2.8.2
python-json-logger       2.0.7
pytz                     2023.3
pyviz-comms              2.3.2
PyYAML                   6.0
pyzmq                    25.1.0
requests                 2.31.0
rfc3339-validator        0.1.4
rfc3986-validator        0.1.1
Send2Trash               1.8.2
setuptools               59.6.0
six                      1.16.0
sniffio                  1.3.0
soupsieve                2.4.1
stack-data               0.6.2
terminado                0.17.1
tinycss2                 1.2.1
tomli                    2.0.1
tornado                  6.3.2
tqdm                     4.65.0
traitlets                5.9.0
typing_extensions        4.7.0
tzdata                   2023.3
uc-micro-py              1.0.2
uri-template             1.3.0
urllib3                  2.0.3
wcwidth                  0.2.6
webcolors                1.13
webencodings             0.5.1
websocket-client         1.6.1
xyzservices              2023.5.0

Description of expected behavior and the observed behavior

Clicking on a table (holoviews.element.tabular.Table) scrolls to the top of the page. This makes tables in Annotator unusable.

Complete, minimal, self-contained example code that reproduces the issue

In a new notebook, run the following code (adapted from 08-Tabular-Datasets.ipynb in holoview's documentation):

import numpy as np
import holoviews as hv
hv.extension('bokeh')

xs = np.linspace(0, 10, 11)
ys = np.sin(xs)

table = hv.Table((xs, ys), 'x', 'y')
table

Scrolls down a bit, click on a row of the table, now the page has jumped to its top.

Stack traceback and/or browser JavaScript console output

Screenshots or screencasts of the bug in action

JiangnanLi-29384 commented 1 year ago

Same problem too.