feat(dashboard): DataGrid improvements [4/4] (#8798)

**What**
- Changes cell state strategy from tracking from lazy to eager. This has required some changes to the API of the DataGrid component, and createDataGridColumnHelper function.
- Displays error messages in both affected cells and their rows. The row indicator also provides an option to quickly jump to an error.
- Allows the user to hide all rows and columns that don't have errors, to help quickly get an overview of the errors in a large grid.
- The first column of a DataGrid is now pinned, making it easier for a user to tell which entity they are editing.
- Fixes and improvements to column visibility menu.
- Adds a shortcuts modal that explains the different available keyboard commands.
- Updates `@tanstack/react-table` to the latest version.

Resolves CC-269
This commit is contained in:
Kasper Fabricius Kristensen
2024-08-28 21:06:38 +02:00
committed by GitHub
parent d8fdf4d0b2
commit b8572165cb
68 changed files with 4116 additions and 2381 deletions

View File

@@ -3566,6 +3566,17 @@ __metadata:
languageName: node
linkType: hard
"@hookform/error-message@npm:^2.0.1":
version: 2.0.1
resolution: "@hookform/error-message@npm:2.0.1"
peerDependencies:
react: ">=16.8.0"
react-dom: ">=16.8.0"
react-hook-form: ^7.0.0
checksum: 6b608bcdbd797ddb7c6cfc8c42b6bbac40066181a0c582b1f1a342bfa65fa7e8329cdb8e869a76e33988cd46fe8623d521ea597231b9d33e1f0ba3288e36c58e
languageName: node
linkType: hard
"@hookform/resolvers@npm:3.4.2":
version: 3.4.2
resolution: "@hookform/resolvers@npm:3.4.2"
@@ -4519,6 +4530,7 @@ __metadata:
"@ariakit/react": ^0.4.1
"@dnd-kit/core": ^6.1.0
"@dnd-kit/sortable": ^8.0.0
"@hookform/error-message": ^2.0.1
"@hookform/resolvers": 3.4.2
"@medusajs/admin-shared": ^0.0.1
"@medusajs/admin-vite-plugin": 0.0.1
@@ -4529,7 +4541,7 @@ __metadata:
"@medusajs/ui-preset": 1.1.3
"@radix-ui/react-collapsible": 1.1.0
"@tanstack/react-query": ^5.28.14
"@tanstack/react-table": 8.10.7
"@tanstack/react-table": 8.20.5
"@tanstack/react-virtual": ^3.8.3
"@types/node": ^20.11.15
"@types/react": ^18.2.79
@@ -4554,6 +4566,7 @@ __metadata:
react-country-flag: ^3.1.0
react-currency-input-field: ^3.6.11
react-dom: ^18.2.0
react-helmet-async: ^2.0.5
react-hook-form: 7.49.1
react-i18next: 13.5.0
react-jwt: ^1.2.0
@@ -11511,15 +11524,15 @@ __metadata:
languageName: node
linkType: hard
"@tanstack/react-table@npm:8.10.7":
version: 8.10.7
resolution: "@tanstack/react-table@npm:8.10.7"
"@tanstack/react-table@npm:8.20.5":
version: 8.20.5
resolution: "@tanstack/react-table@npm:8.20.5"
dependencies:
"@tanstack/table-core": 8.10.7
"@tanstack/table-core": 8.20.5
peerDependencies:
react: ">=16"
react-dom: ">=16"
checksum: 2ddf6f90b06e7af069f16dbe5d0dc8c8afab3de88c25e33f6c297beaf2507c2e46fee1f746f7977d48bad2114909bba0016026fc2b6a85bcaee472cdafdc7ffd
react: ">=16.8"
react-dom: ">=16.8"
checksum: 574fa62fc6868a3b1113dbd043323f8b73aeb60555609caa164d5137a14636d4502784a961191afde2ec46f33f8c2bbfc4561d27a701c3d084e899a632dda3c8
languageName: node
linkType: hard
@@ -11535,10 +11548,10 @@ __metadata:
languageName: node
linkType: hard
"@tanstack/table-core@npm:8.10.7":
version: 8.10.7
resolution: "@tanstack/table-core@npm:8.10.7"
checksum: 3f671484319094443bb2db86356f408d4246e22bebd7ad444edc919fef131899384c3a27261c5ee01fb18887bc9157c5a0d9db3e32aae940ce5416f6e58b038b
"@tanstack/table-core@npm:8.20.5":
version: 8.20.5
resolution: "@tanstack/table-core@npm:8.20.5"
checksum: 3c27b5debd61b6bd9bfbb40bfc7c5d5af90873ae1a566b20e3bf2d2f4f2e9a78061c081aacc5259a00e256f8df506ec250eb5472f5c01ff04baf9918b554982b
languageName: node
linkType: hard
@@ -26088,6 +26101,26 @@ __metadata:
languageName: node
linkType: hard
"react-fast-compare@npm:^3.2.2":
version: 3.2.2
resolution: "react-fast-compare@npm:3.2.2"
checksum: 0bbd2f3eb41ab2ff7380daaa55105db698d965c396df73e6874831dbafec8c4b5b08ba36ff09df01526caa3c61595247e3269558c284e37646241cba2b90a367
languageName: node
linkType: hard
"react-helmet-async@npm:^2.0.5":
version: 2.0.5
resolution: "react-helmet-async@npm:2.0.5"
dependencies:
invariant: ^2.2.4
react-fast-compare: ^3.2.2
shallowequal: ^1.1.0
peerDependencies:
react: ^16.6.0 || ^17.0.0 || ^18.0.0
checksum: f390ea8bf13c2681850e5f8eb5b73d8613f407c245a5fd23e9db9b2cc14a3700dd1ce992d3966632886d1d613083294c2aeee009193f49dfa7d145d9f13ea2b0
languageName: node
linkType: hard
"react-hook-form@npm:7.49.1":
version: 7.49.1
resolution: "react-hook-form@npm:7.49.1"
@@ -27742,7 +27775,7 @@ __metadata:
languageName: node
linkType: hard
"shallowequal@npm:1.1.0":
"shallowequal@npm:1.1.0, shallowequal@npm:^1.1.0":
version: 1.1.0
resolution: "shallowequal@npm:1.1.0"
checksum: b926efb51cd0f47aa9bc061add788a4a650550bbe50647962113a4579b60af2abe7b62f9b02314acc6f97151d4cf87033a2b15fc20852fae306d1a095215396c