You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Theme storybook
* Fix everything having the same image
* Massively improve column performance
* 100k cols is better than 2k
* Cancel images
* More aggressive image cache clearing
* Fix testcases
* More beautiful stories
* Draw row selection in blank area
* Prevent dragging columns when they should not be draggable
* More stories
* Try not to make out of bounds getCellValue calls when adding a new row
* Fix crashes
* More crash fixes
* Links in markdown should open in blank target
* Improve codespace
* Add more expressive abilities for trailing row
* Progress on new add styles
* WIP
* Improve handling of new row cell
* Back to parity
* Start breaking out rendering into smaller chunks
* Use title instead of company because company is slow in faker and the mocks shouldn't slow down the demos
* Build fixes
* Update TS version
* More faster with 100k cols
* Re-enable blitting
* Fix blitting
* New story with all cell kinds
* Fix all data types
* Remove allow resize from public API as it can be inferred by onColumnResized
* Improve images
* Auto-redraw when editing a cell
* Fix shift+click on last sticky row
* Improve shift click onto last sticky row
* Don't allow selection of add row
* Add hover animations
* Well if wasn't going to be a 3.0 before it definitely is now
* Don't allow drag select on trailing row
* Fix hook deps
* Scroll to end when appending rows
* Don't commit every branch back to storybook...
* Prevent NaN in number editor
* Bump version
* New marker cells
* DRY
* Normal folks dont zero index
* Support large numbers of selected rows efficiently
* Fix hook
* Greately improve standard multi-select behavior
* More selection edge cases
* Fix lint errors
* Update linter
* Fix drag selections starting from last sticky row
* Optimize animation amnager
* Fix jello scrolls
* Make a class out of CompactSelection
* Rework theme to be much simpler
* Fix a few type errors
* Remove dead code
* Fix build
* Pass a slightly less too big number
* Scroll by 1000 vs 100 to make sure massive rows are well accounted for
* Remove references to cellOffsetX/Y
* Swap images column
* Naming
* Make sure icons work correctly in data grid with custom themed columns
* WIP: New sticky row behavior
* Single line border focus ring
* Clean up bounds calculation
* Fix text overlay editor sizing
* Improve overlay editor layouting
* Minor theme ugprades
* Add multi-column select from the get go
* Delete dead code
* Don't search millions of rows. Get 1000's and stop
* More string changes
* update story
* One more global gone
* Don't respond to clicks outside of event region
* Try to track down blitting issue
* Prevent subpixel scroll as it screws up blitting
* Rapidly fade in overlay editor
* More edge cases handled in keyboard
* Disable diagonal blitting as it causes issues
* Faster but we will need to start adapting rendering to deal with clipping hurting performance too much very soon
* Diagnol scrolling still too glitchy
* Major drawing refactor
* Fix hidpi
* More perf work
* improve damage performance
* Eliminate middle buffer as it really hurts performance even though it cleans up the code a lot
* Better handling of touch events
* Fix issue when scrolling left in non smooth scroll
* Fix sticky footer rendering without tint
* Turn tint back on
* Make sure overdraws are used correctly
* WIP
* Minor cleanup to event handling
* Remove dep
* Fix build
* remove another dep
* update docs
* Add API for replacing icons
* Add support for custom icons
* errant console statement
* Fix build
* Hopefully fix safari events
* Clipping works on safari now
* Fix some focus scrolling behavior issues
* Improve docs
* Final column can resize in dead zone
* Hopefully don't commit to main just to deploy page
* More actions work
* Remove cruft
* remove testing code
* Tag beta1
* Give ourselves a tiny amount of wiggle room to prevent scrollbars
* beta 2
* Make sure not to highlight newly typed strings
* Fix build
* 3.0.0-beta3
* More theme tweaks
* Add header click event
* Remove shit parsing colors
* Implement animations for headers
* 3.0.0-beta4
* Add API to get first item from CompactSelection
* Might as well have last too
* Allocate image space only after image loads (#76)
Previously, the space was allocated so long as the image was specified,
and in the event that an image failed to load or specified an invalid
URL, would leave an empty space to the right of the text. This fixes
that issue.
* Testing delayed handling of row append
* 3.0.0-beta5
* Add exponential backoff to focus behavior
* Don't show highlight on trailing row
* Add right element
* Minor fix
* 3.0.0-beta7
* Fix height of right element
* Fix missing line
* 3.0.0-beta8
* Fix under-draw of grid lines
* 3.0.0-beta9
* More diverse images with better optimization for big/small
* 3.0.0-beta10
* Fix issue where sometimes you could not type to edit a cell
* Draw blanks under lines as well
* Fix minor themeing issue
* Fix performance issues and clean up a couple more minor theming issues
* Shrink sprite map
* Improve handling of header border line
* 3.0.0-rc4
* Add comments explaining future areas of improvement
* Prevent invalid text measure cache results
* Add rapid update support
* Don't set a react state in rAF
* Better numbers
* Speed up random numbers slightly to try to stop bottlenecking streaming updates
* Crush default svg's
* Unused exports
* Better error
* Add copy story
* Story cleanup
* 3.0.0-rc5
* Add experimental padding support
* Fix positioning bug with non-sticky scroll Y and new cells
* Remove dead code
* Deps
* 3.0.0-rc7
* Fix overscroll and rendering issues
* 3.0.0-rc8
* Dumb math error
* 3.0.0-rc9
* Increase margin for error
* Fix copy
* 3.0
Co-authored-by: ivoelbert <ivo.elbert1@gmail.com>
Co-authored-by: Victoria Lacroix <victoria@vlacroix.ca>
`cellXOffset` and `cellYOffset` are the zero-based indexes of the leftmost column, and topmost row to display, respectively. Both should be provided if one is.
74
-
75
-
```ts
76
-
allowResize?:boolean;
77
-
```
78
-
79
-
`allowResize` is a boolean indicating whether to allow resizing the widths of columns. Default is `false`.
`onVisibleRegionChanged` is called whenever the visible region changed. The new visible region is passed as a `Rectangle`. Note that you have to keep track of at least the `cellXOffset` and `cellYOffset`, for which the rectangle provides new values in `.x` and `.y`, respectively, and pass them back in as properties, otherwise your Grid will not scroll.
72
+
`onVisibleRegionChanged` is called whenever the visible region changed. The new visible region is passed as a `Rectangle`.
`rowHeight` is the height of a row in the table. It defaults to `34`. By passing a function instead of a number you can give different heights to each row. The `index` is the zero-based absolute row index.
98
85
99
86
```ts
100
-
rowMarkers?:boolean;
87
+
rowMarkers?:"checkbox"|"number"|"both"|"none";
101
88
```
102
89
103
-
`rowMarkers` determines whether to display the marker column on the very left. It defaults to `true`. Note that this column doesn't count as a table column, i.e. it has no index, and doesn't change column indexes.
90
+
`rowMarkers` determines whether to display the marker column on the very left. It defaults to `none`. Note that this column doesn't count as a table column, i.e. it has no index, and doesn't change column indexes.
`showTrailingBlankRow` and `onRowAppended` control adding new rows at the bottom of the Grid. If `showTrailingBlankRow` is `true`, an empty, editable row will display at the bottom. If the user enters a value in one of its cells, `onRowAppended` is called, which is responsible for appending the new row.
153
-
154
-
`showTrailingBlankRow` is `true` by default.
143
+
`onRowAppended` controls adding new rows at the bottom of the Grid. If `onRowAppended` is defined, an empty, editable row will display at the bottom. If the user enters a value in one of its cells, `onRowAppended` is called, which is responsible for appending the new row. The appearance of the blank row can be configured using `trailingRowOptions`.
@@ -212,7 +201,7 @@ If the value is less than 50, it will be increased to 50. If it isn't set, the d
212
201
213
202
### Cell coordinates
214
203
215
-
Many function properties take cell coordinates. Those are arrays of two numbers, namely the column index and the row index. Both are zero-based, and are absolute, i.e. independent of the region of cells currently displayed in the grid. For example, if `cellOffsetX` is `3` and `cellOffsetY` is `5`, then the coordinates of the cell displayed at the top left would be `[3, 5]`.
204
+
Many function properties take cell coordinates. Those are arrays of two numbers, namely the column index and the row index. Both are zero-based, and are absolute, i.e. independent of the region of cells currently displayed in the grid.
Copy file name to clipboardExpand all lines: README.md
+10-7Lines changed: 10 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,15 +15,18 @@ We built [Data Grid](https://grid.glideapps.com) as the basis for the [Glide Dat
15
15
-**Cell rendering can be customized**.
16
16
17
17
### Setting Up Codespaces
18
+
18
19
If you'd like to set up glide data grid locally and contribute, the easiest way to get up and running
19
20
is to use Codespaces if you have access to it. If you do not, simply cloning the repo and running `npm install` also works!
21
+
20
22
#### Steps
21
-
- Cick the green dropdown labeled code, there should be two tabs: local and codespaces.
22
-
- Click on codespaces.
23
-
- If this is your first time, then create a new codespace. It will open a new browser tab and build the docker container for it - there will be a button to open the environment in VSCode if you'd prefer to run it that way
24
-
- You should see a screen that says `Setting up your codespace` As soon as that's done, you should see a VSCode like UI with files on the left.
25
-
- Open a terminal window (you should find it at the top under terminal) and run
26
-
`.devcontainer/install.sh`
23
+
24
+
- Cick the green dropdown labeled code, there should be two tabs: local and codespaces.
25
+
- Click on codespaces.
26
+
- If this is your first time, then create a new codespace. It will open a new browser tab and build the docker container for it - there will be a button to open the environment in VSCode if you'd prefer to run it that way
27
+
- You should see a screen that says `Setting up your codespace` As soon as that's done, you should see a VSCode like UI with files on the left.
28
+
- Open a terminal window (you should find it at the top under terminal) and run
29
+
`.devcontainer/install.sh`
27
30
28
31
## Installation
29
32
@@ -91,7 +94,7 @@ Please read the [Prerequisites section in the docs](API.md).
91
94
92
95
**Does it work with screen readers and other a11y tools?**
93
96
94
-
Not yet unfortunately. This is on our todo list.
97
+
Yes. Unfortunately none of the primary developers are accessibility users so there are likely flaws in the implementation we are not aware of. Bug reports welcome!
0 commit comments