leeoniya / leeoniya/uPlot

.u-over needs an inner clipping region

Open
#876 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
10.5k
Forks
463
PR merge metrics
No merged PRs in 30d

Description

.u-over is currently overflow: visible, while .u-under is overflow: hidden.

https://github.com/leeoniya/uPlot/blob/c629511d9c2d6dbba5bc799c823b120ac55e722a/src/uPlot.css#L25-L32

this is done because the hover points in the dom are inside .u-over and should not be clipped at the edges of the plotting area. the cursor is also inside .u-over, but it should be clipped, because hiding it can simply be setting its coordinates to -10,-10. this is currently not possible so, there's extra code that actually applies or removes a .u-off class with display: none:

https://github.com/leeoniya/uPlot/blob/c629511d9c2d6dbba5bc799c823b120ac55e722a/src/dom.js#L79-L82

so, the broader issue is that sometimes we want to put things into .u-over for the benefits of using relative positioning, but sometimes need clipping at the edges (large hover points) and other times not (tooltips / menus):

image

for this to be possible we a additional div within .u-over that has position: absolute; overflow: hidden; width: 100%; height: 100%. maybe called .u-clipped or .u-inner and a uPlot option that instructs where to put the hover points, and provide a place to put unclipped dom things, like tooltips.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked sections of src/uPlot.css and src/dom.js to understand the current .u-over clipping and cursor visibility behavior. Define the inner clipping region and the placement mechanism described in the issue, while preserving unclipped tooltips or menus; done means hover points can be clipped and other .u-over content can remain visible.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
data-visualization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.