Repository navigation
Add Shift-click range selection to HyperTableV2 - #291
Merged
JulienVannier66 merged 3 commits intoNov 3, 2026
Merged
JulienVannier66 merged 3 commits into
JulienVannier66 merged 3 commits into
Conversation
phndiaye
reviewed
Oct 30, 2026
| const selected = this.isRowSelected(this.rows[anchorIndex]); | ||
| const range = this.rows | ||
| .slice(Math.min(anchorIndex, rowIndex), Math.max(anchorIndex, rowIndex) + 1) | ||
| .filter((rangeRow) => !rangeRow._isLoading); |
Member
There was a problem hiding this comment.
are we sure we want to exclude these? 🤔
| } | ||
| } | ||
|
|
||
| updateSelectionRange(row: Row): boolean { |
Member
There was a problem hiding this comment.
i think we can split this one a bit more
olxmpe
approved these changes
Nov 2, 2026
olxmpe
left a comment
Contributor
There was a problem hiding this comment.
Except Phil's comments LGTM
JulienVannier66
deleted the
jv/vel-6988/hypertable-add-support-for-contiguous-shift-click-selection
branch
November 3, 2026 14:19
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds contiguous selection to
HyperTableV2: holding Shift while clicking a row of the selection column applies the state of the last clicked row to every loaded row in between, in both directions.TableHandlerowns the anchor and the range throughupdateSelectionRange(row). In global mode (selection = 'all'), the range updatesexclusioninstead ofselection.OSS::Checkboxstops the propagation and does not forward the event. Clicks without Shift keep their existing path.user-select: noneon the selection cells prevents the native text selection on Shift-click.Related to : https://linear.app/upfluence/issue/VEL-6988/hypertable-add-support-for-contiguous-shift-click-selection
What are the observable changes?
In every Hypertable v2 table with selection enabled (Payments, Workflow > Creators, Workflow > Affiliate performance, IRM, Inbox):
Select all, uncheck row 2, then Shift-click row 5: rows 2 to 5 are excluded and the counter drops by 4.🧑💻 Developer Heads Up
⚡ Since we are using Ember Octane now:
Useful Resource : Ember Octane vs Classic Cheat Sheet
Good PR checklist
Additional Notes
Row, soprependRowsdoes not shift it, and it is reset byclearSelection,selectAllGlobalandtoggleSelectAll. Without a valid anchor, a Shift-click toggles the clicked row alone.baselinequeries of upfluence-web, which breaks the build when hypertable is linked withpnpm link.-webkit-user-selectis there for Safari but was not tested on it.