Skip to content

Commit e62d735

Browse files
jassmithivoelbertdjsweetdependabot[bot]reczy
authored
4.0.0 (#220)
* 3.5.0-alpha1 * Prevent vertical underscroll * Improve cell prep routine (#215) * Improve prep * Reduce deprepping * Make number cell dynamic * 3.5.0-alpha2 * Fix up issue with drilldown cells having bad rendering when too small * Allow quick-insert and delete from custom editors (#213) * Add test for span expansion * More tests * Dont fail at drawing empty text cells quite so hard * Improve screen reader support * Spit our more aria tags * Input/selection overhaul - Grid selection is totally redefined - Range/cell/rows/columns selections are all merged into the GridSelection object - Multi-select for range/row/column can all be enabled disabled - Blended selections of ranges/columns/rows can now be enabled - Delete callback is now universal and allows partial handling - Highlight ranges - Many keybinding improvements * Fix docs * Attempt to fix esm module import in strict mode (#223) * Attempt to fix esm module import in strict mode * Add next test project * Add test projects * Run test projects in CI * Cleanup stories * Async getCellsForSelection support (#224) * Improve type * WIP * Fix use-cell-sizer * Remove dead comment * Fix build of cells * Fix use-data-source tests * Hook up test * Fix formatting * Update docs * Update contributing file to include instructions for how to add new cells * Fix release builds I hope * Try fix build again * Add useAsyncDataSource to source package * Fix build * Fix build instructions * Add smart sort mode which is number aware * Handle floats better * Fix issue where spans would sometimes cause selection to become unmoveable * Update API for range/column/rowSelect modes * Cleanup useColumnSizer and make sure it respects min/max size appropriately * Measure last row when allowed to measure more than 1 row. This enables better handling of increasing series * Make sure RowID cell has a valid editor * 4.0.0-alpha2 * Improve screen reader support * Add infromation about read-only and row/col selection states into a11y tree * Make sure headers are clickable with screan readers * Fix issue where pressing ctrl+a with an overlay open that did not have focus would cause unexpected results * Fix issue where column sizer would call for non-existent rows * Add onCellActivated event (#234) * Add onCellActivated event * Document and add tests * Fix number cell centering * Downfill indicator (#235) * WIP * WIP * Implement partly buggy fill handle * Better working downfill indicator * Add docs * Make sure you can operate the grid by tabbing into it * Render focus state * Fix build * 4.0.0-alpha3 * Don't select first cell unless the selection is truly empty * 4.0.0-alpah4 * Make sure to account for rowMarkerOffset in data editor * Force DataGridOverlayEditor to left if its right draws out of viewport (#236) * Force DataGridOverlayEditor to left if its right draws out of viewport * Make ESLint happy * Update readme * Bump minimist from 1.2.5 to 1.2.6 (#239) Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6. - [Release notes](https://github.com/substack/minimist/releases) - [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6) --- updated-dependencies: - dependency-name: minimist dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 4.0.0-beta1 * Remove unneeded hooks * Initial work on removal of DataGridContainer * Fix build * Fix error where clicking on dead parts of the grid would focus the first cell in some situations * Dramatically improve auto-layout behavior * Cleanup refs to DataEditorContainer * Fix widths * 4.0.0-beta2 * Implement a basic range cell (#242) * Add a custom Range cell * Improve editor a bit * Fix up rendering * Improve overlay editor * Fix centering * Fix image loader Co-authored-by: Jason <[email protected]> * Fix typo * 4.0.0-beta3 * rowMarkerOffset for onCellActivated mouse clicks (#243) Keyboard activation already accounts for rowMarkerOffset; this fixes for mouse clicks * Prevent diagonal scrolling (#244) * Add ability to prevent diagonal scrolling * Add docs * Improve stories * Missing story * Fix visual * Prep for 4.0.0 stable * Update changelog Co-authored-by: Ivo Elbert <[email protected]> Co-authored-by: Daniel Sweet <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mike Reczek <[email protected]>
1 parent 906f1a5 commit e62d735

File tree

144 files changed

+40463
-2312
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

144 files changed

+40463
-2312
lines changed

.github/workflows/node.js.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ jobs:
2121
- run: npm run bootstrap
2222
- run: npm run build
2323
- run: npm run test -- --coverage
24+
- run: npm run test-source
25+
- run: npm run test-projects
2426
- name: Coveralls
2527
uses: coverallsapp/github-action@master
2628
with:

CONTRIBUTING.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,20 @@ is to use Codespaces if you have access to it. If you do not, simply cloning the
1212
- 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
1313
- 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.
1414

15-
Once codespaces is up and runnng:
15+
Once codespaces is up and runnng make sure `jq` is installed and then:
1616

1717
```bash
18-
npm run i && npm run storybook
18+
npm run bootstrap && npm run storybook
1919
```
2020

2121
## Forking the data grid?
2222

2323
Please consider submitting your work for review. We are a small project but we are super enthused when anyone comes by to help us build the best damned data grid on the internet.
2424

25+
## Contributing new cells
26+
27+
If you wish to contribute new cells, please add them to the `cells` package. There are already other cells in that package which can be used as an example. If your cell editor requires additional third party dependencies please consider using a React.lazy to allow for code splitting.
28+
2529
## Any contributions you make will be under the MIT Software License
2630

2731
In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.

README.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
</h1>
55
<p align="center">A relatively small HTML5 Canvas based data editor supporting <b>millions</b> of rows, <b>rapid</b> updating, and fully <b>native scrolling</b>. We built <a href="https://grid.glideapps.com" target="_blank">Data Grid</a> as the basis for the <a href="https://docs.glideapps.com/all/reference/data-editor/introduction-to-the-data-editor" target="_blank">Glide Data Editor</a>.</p>
66

7-
[![Version](https://img.shields.io/badge/latest-v3.4.0-blue?style=for-the-badge&logo=none)](https://github.com/glideapps/glide-data-grid/releases)
7+
[![Version](https://img.shields.io/npm/v/@glideapps/glide-data-grid?color=blue&label=latest&style=for-the-badge)](https://github.com/glideapps/glide-data-grid/releases)
88
[![React 16+](https://img.shields.io/badge/React-16+-00ADD8?style=for-the-badge&logo=react)](https://reactjs.org)
9-
![Code Coverage](https://img.shields.io/coveralls/github/glideapps/glide-data-grid?color=457aba&label=Cover&style=for-the-badge)
10-
[![Bundle Size](https://img.shields.io/badge/Bundle-48.6kb-success?style=for-the-badge&logo=none)](https://bundlephobia.com/package/@glideapps/glide-data-grid)
11-
[![License MIT](https://img.shields.io/badge/license-mit-red?style=for-the-badge&logo=none)](https://github.com/glideapps/glide-data-grid/blob/main/LICENSE)
9+
[![Code Coverage](https://img.shields.io/coveralls/github/glideapps/glide-data-grid?color=457aba&label=Cover&style=for-the-badge)](https://coveralls.io/github/glideapps/glide-data-grid)
10+
[![npm bundle size](https://img.shields.io/bundlephobia/minzip/@glideapps/glide-data-grid/3.4.1?color=success&label=bundle&style=for-the-badge)](https://bundlephobia.com/package/@glideapps/glide-data-grid)
11+
[![License](https://img.shields.io/github/license/glideapps/glide-data-grid?color=red&style=for-the-badge)](https://github.com/glideapps/glide-data-grid/blob/main/LICENSE)
1212
[![Made By Glide](https://img.shields.io/badge/❤_Made_by-Glide-11CCE5?style=for-the-badge&logo=none)](https://www.glideapps.com/jobs)
1313

1414
![Data Grid](https://raw.githubusercontent.com/glideapps/glide-data-grid/master/data-grid.jpg)
@@ -47,10 +47,7 @@ npm i lodash marked react-responsive-carousel styled-components
4747
Create a new `DataEditor` wherever you need to display lots and lots of data
4848

4949
```tsx
50-
// The container is not required, but is convenient for getting started
51-
<DataEditorContainer width={1000} height={700}>
52-
<DataEditor getCellContent={getData} columns={columns} rows={numRows} />
53-
</DataEditorContainer>
50+
<DataEditor getCellContent={getData} columns={columns} rows={numRows} />
5451
```
5552

5653
Making your columns is easy
@@ -68,7 +65,7 @@ Last provide data to the grid
6865
```ts
6966
// If fetching data is slow you can use the DataEditor ref to send updates for cells
7067
// once data is loaded.
71-
function getData([col, row]: readonly [number, number]): GridCell {
68+
function getData([col, row]: Item): GridCell {
7269
const person = getData(row);
7370

7471
if (col === 0) {

bootstrap.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,12 @@ popd
2121
for DIR in "cells" "source"
2222
do
2323
pushd packages/$DIR
24-
update ".dependencies.\"@glideapps/glide-data-grid\" = \"3.1.0-beta5\"" package.json
24+
update ".dependencies.\"@glideapps/glide-data-grid\" = \"3.4.1\"" package.json
2525
npm ci
2626
update ".dependencies.\"@glideapps/glide-data-grid\" = $VERSION" package.json
2727
update ".version = $VERSION" package.json
28-
rm -rf node_modules/@glideapps/glide-data-grid
29-
ln -s ../../../core node_modules/@glideapps/glide-data-grid
28+
rm -rf node_modules/@glideapps/glide-data-grid/*
29+
ln -s ../../../../core/dist node_modules/@glideapps/glide-data-grid/dist
30+
ln -s ../../../../core/package.json node_modules/@glideapps/glide-data-grid/package.json
3031
popd
3132
done

0 commit comments

Comments
 (0)