-
Notifications
You must be signed in to change notification settings - Fork 279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
6.0.0 #810
Conversation
…ed when mouse over the rightElement
…conditions, fixes #690
…ity, and remove accidentally encoding nbsp into users apps
* Make menu icon configurable * Cleanup * More cleanup * Changed order * Add to story * Add to story * Remove icons
* Add rounding radius theme property * Fix button cell * More updates * Fix drilldown radius * Cleanup cell
* Use accentLight color for resize indicator * Blend with bgCell
* Fix sparkline cell with two values * Minor change
@jassmith I did another round of testing, and only came across one aspect that is a bit unexpected: Screen.Recording.2024-01-12.at.01.32.41.movThese borders when updating or changing cells are probably not expected? But not sure why this happens, I'm not able to reproduce this in the glide-data-grid storyboard |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything else looks great 👍
It is reproducable on the Small Editable Grid story |
Fixed |
* Add visual fixes * More fixes * Fix measuring
## Describe your changes Glide-data-grid had a [major update](glideapps/glide-data-grid#810). This PR updates to this version and adapts the implementation for all the breaking/updated features. This update fixes a variety of issues (see list below). ## GitHub Issue Link (if applicable) Closes #6900 Closes #7032 Closes #7727 Closes #6810 Closes #7930 Closes #7949 Closes #7831 Closes #8168 ## Testing Plan - Updated tests --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes Glide-data-grid had a [major update](glideapps/glide-data-grid#810). This PR updates to this version and adapts the implementation for all the breaking/updated features. This update fixes a variety of issues (see list below). ## GitHub Issue Link (if applicable) Closes streamlit#6900 Closes streamlit#7032 Closes streamlit#7727 Closes streamlit#6810 Closes streamlit#7930 Closes streamlit#7949 Closes streamlit#7831 Closes streamlit#8168 ## Testing Plan - Updated tests --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
🚨 Breaking Changes
New dependency
✌️ Farewell create react app 4
CRA 4 is no longer officially supported. While it is definitely possible to make it work, it may require extra work. CRA 5 works fine.
🚢 Better exports
Exports for Glide Data Grid are now done in a more standard esm compliant manner. This should enable better tree shaking.
🧼 Cell API cleanup
Some cells have had minor tweaks to their API to bring them in line with standard conventions. The
ImageCell
and all the cells in thecells
package now uses the standardreadonly
flag.👋 Minimap removed
The minimap was awesome, and largely unused. It has been removed from this version of Glide Data Grid in the service of smaller packages and a more maintainable surface area. We appreciate your service 🫡
🎨
drawCell
callback improved.The drawCell callback now receives a callback argument which paints the standard cell. This allows dramatically more flexibility with custom under and overdrawing of cells. It is also now a void method eliminating a source of confusion.
🎉 New Features
💪 Kinetic super scroll on iOS
Are you the one person presenting data grids to your mobile users? This feature is for you. GDG will now artificially boost the framerate during kinetic scroll on iOS to maintain a smooth experience. This is still experimental, but if feedback goes well we intend to promote this to stable.
🏁 Performance improvements when updating lots of data at once
Damage rendering now is 2x faster than the 5.0 series. This is enabled by reducing the amount of clipping during a damage pass. This improvement is what has made the DOOM easter egg on the main site possible. The easter egg may also be the reason for the improvement...
🌐 UriCell improvements
The URI cell supports drawing an underscore on hovering a URI value via the
hoverEffect
property. It also supports click events (e.g., to open the URL) via theonUriClick
property and uses thedisplayData
within the cell rendering.⚽️ Add support for rounding radius in the theme
Configure the rounding radii of checkboxes, bubbles, skeletons, images, buttons, and other rounded elements via the optional
roundingRadius
theming property.🤕 Header menu icons can now be configured
Customize the header menu icon via the
menuIcon
property inGridColumn
. It supportstriangle
for the default menu icon,dots
for the three-dots menu icon, or a key of one of the icons passed to theheaderIcons
prop.📈 Sparkline cell now supports even more charts
The
line
graphKind got renamed toarea
. The newline
chart now renders just a simple line chart. Additionally, the x-axis can be hidden viahideAxis
.🥶 Freeze trailing rows
Get going by specifying the number of freeze trailing rows you want.
💀 LoadingCell skeletons
The loading cell can be configured to show skeletons when
skeletonWidth
is set to a value > 0. The height can be configured via the optionalskeletonHeight
property, and it also supports a randomized variability applied to the width viaskeletonWidthVariability.
⌨️ Fully remappable keybindings
Keybindings can now be remapped instead of just turned off and on. More details here.
🪤 Focus trapping
There is now a
trapFocus
prop that will cause the grid to prevent focus leaving the grid during caret browsing or pressing tab.🙅♀️ Prevent column reordering
Reordering of columns can now be prevented as new column locations are proposed using the new
onColumnProposeMove
callback. This allows for greater control over where users are allowed to drag columns.💾 Copy and paste methods now available
The copy and paste functionality of the data grid is now exposed for direct usage by developers.
🌲 Tree view cell
This cell represents the basic building block required to make collapsable and groupable rows. We will continue to improve support for row grouping in the rest of the 6.0.0 series.
⬇️ Dropdown cell improvements
Allow specifying label and value independently in dropdown cell and some other visual improvements.
🚀 Improvements
💍 Improved drawing of highlight and selection rings
When the selection ring or a highlight ring is at the right or bottom edge of the grid it will no longer be clipped out.
🦏 Safari performance improvements
Safari now renders around 2 to 5 times faster on mobile devices. Less hitching, better grids, papa johns.
🔦 Large highlight region support
Prior to 6.0.0 large highlight regions could cause excessively slow drawing performance. This is no longer a problem.
🔍 Search no longer renders eagerly
Don't use the search? No problem. You no longer pay the penalty for something you don't need.
🏁 Mouse hover render reduction
Hovering with the mouse no longer results in excessive react rendering.
👓 Hover interactions now can discern blank spots of grid from outside of grid
More details here: #811
There is a new column resize indicator. It can be configured via the
resizeIndicatorColor
theme property.☕️ Fill handle improvements
🔲 Get the bounds of the entire scroll area
If
getBounds
get called withcol
androw
as undefined, the bounding box of the entire data grid scroll area is returned.🔚 Odds and ends
🐞 Bug Fixes
onDelete
now properly called when doing a cut operation.getBounds
would compute for the wrong cell.Merge blockers