Skip to content
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

feat(Datagrid): add option to specify an initial sortable column #4423

Conversation

matthewgallo
Copy link
Member

@matthewgallo matthewgallo commented Feb 23, 2024

Contributes to #4301

This PR adds the ability to specify a column to be sortable within the datagrid initial state, see following structure:

initialState: {
  sortableColumn: {
    id: 'firstName', // column id
    order: 'ASC' // sorting order, 'ASC' | 'DESC' included in docs update
  }
}

I created a custom hook called useInitialColumnSort that calls instance.toggleSortBy(), which comes from react-table, and is what triggers the sorting.

What did you change?

packages/ibm-products/src/components/Datagrid/Datagrid.docs-page.js
packages/ibm-products/src/components/Datagrid/Datagrid.stories.js
packages/ibm-products/src/components/Datagrid/Datagrid/DatagridHeaderRow.js
packages/ibm-products/src/components/Datagrid/useInitialColumnSort.js
packages/ibm-products/src/components/Datagrid/useSortableColumns.js

How did you test and verify your work?

Storybook

@matthewgallo matthewgallo requested a review from a team as a code owner February 23, 2024 14:57
Copy link

netlify bot commented Feb 23, 2024

Deploy Preview for carbon-for-ibm-products ready!

Name Link
🔨 Latest commit 07edd64
🔍 Latest deploy log https://app.netlify.com/sites/carbon-for-ibm-products/deploys/65d8b262b1b20100083a847e
😎 Deploy Preview https://deploy-preview-4423--carbon-for-ibm-products.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@matthewgallo matthewgallo added this pull request to the merge queue Feb 23, 2024
Merged via the queue into carbon-design-system:main with commit d6e306f Feb 23, 2024
21 checks passed
@matthewgallo matthewgallo deleted the 4301-datagrid-initial-sorting-state-v2 branch February 23, 2024 19:14
paul-balchin-ibm pushed a commit to paul-balchin-ibm/ibm-products that referenced this pull request Feb 26, 2024
…bon-design-system#4423)

* feat(Datagrid): apply initial column sort functionality

* fix: return if not using sortable table
github-merge-queue bot pushed a commit that referenced this pull request Feb 26, 2024
* feat: new component decorator

* fix: code and styling updates

* fix: udpate snapshots

* fix: update gallery

* fix: skip some tests (temp)

* fix: minor changes

* fix: updated PropTypes

* fix: updated tests

* fix: update styling

* fix: updated snapshots and galleries

* fix: storybook update

* fix: update code, style, docs

* fix: design review update

* fix: design review update

* fix: added a11y icon borders

* fix: update icons and colors

* fix: tests

* fix: docs

* fix: styling updates

* fix: adds aria label to datagrid toolbar (#4348)

* fix: add aria label to datagrid toolbar

* chore: format

* fix: prop name change

* fix(Dataspreadsheet): Reduce duplication with isHoldingCommandKey #4188 (#4227)

* feat(UserAvatar): implementation of name,size props (#4312)

* feat(useravatar):implementation of name,size props

* fix(useravatar): changed story name

* fix(useravatar): review changes suggested

* fix(useravatar): resolve test-c4p

* fix(useravatar): review changes suggested

* fix(useravatar): review changes suggested

* fix(useravatar): review changes suggested

* fix(useravatar): review changes suggested

* fix(useravatar): review changes suggested

* fix(useravatar): name changes suggested

---------

Co-authored-by: elysia <[email protected]>

* feat:  Tearsheet ai (#4215)

* chore: wip

* feat: tearsheet AI enhancements

* feat: add gradient glow to container

* chore(release): publish [skip ci]

 - [email protected]
 - @carbon/[email protected]
 - @carbon/[email protected]
 - @carbon/[email protected]
 - @carbon/[email protected]

* chore: add new example gallery action (#4352)

* chore: add new example gallery action

* chore: remove gallery check from CI

* chore: remove unused steps

🙃

* feat: Modal ai updates (#4362)

* chore: wip

* feat: tearsheet AI enhancements

* feat: add gradient glow to container

* chore: bump carbon versions

* feat: modal ai v2 updates

* fix: modal body

* feat: modal ai v2 updates

* Merge branch 'main' into modalAIUpdates

* chore: update gallery config

* fix(DataGrid): add support for selectrow and nestedrow (#4354)

Co-authored-by: Matt Gallo <[email protected]>

* feat(Datagrid): add support for multi select filter type (#4361)

* chore: custom filter exploration continued

* fix(DataGrid): add support for selectrow and nestedrow

* chore: custom filter exploration

* feat(Datagrid): add multi select option

* chore: remove onClearFilters from prop types

* chore: revert copyright year

* chore: add multi select example to flyout

* chore: revert nested/selection changes from branch

* chore: update gallery config

---------

Co-authored-by: Ratheesh Rajan <[email protected]>

* feat(Datagrid): apply latest ai gradients to Datagrid (#4377)

* fix(DataGrid): add support for selectrow and nestedrow

* feat(Datagrid): apply latest ai gradients

* chore: remove comments

* chore: revert nested row changes pulled in accidentally

* chore: update snapshot

* chore: refactor how row class names are applied

* fix: remove extra border

---------

Co-authored-by: Ratheesh Rajan <[email protected]>

* feat(useravatar): image implementation (#4355)

* feat(useravatar):implementation of name,size props

* fix(useravatar): changed story name

* fix(useravatar): review changes suggested

* fix(useravatar): resolve test-c4p

* fix(useravatar): review changes suggested

* fix(useravatar): review changes suggested

* fix(useravatar): review changes suggested

* fix(useravatar): review changes suggested

* fix(useravatar): review changes suggested

* fix(useravatar): name changes suggested

* feat(useravatar): image implementation

* fix(useravatar): resolve lint issue

* fix(useravatar): resolve check-gallery

* fix(useravatar): review changes suggested

---------

Co-authored-by: elysia <[email protected]>

* feat: sort icon appear in the Actions column on Datagrid #4339 (#4346)

* chore(release): publish [skip ci]

 - @carbon/[email protected]
 - @carbon/[email protected]
 - @carbon/[email protected]
 - @carbon/[email protected]

* fix: move ai gradient to content (#4381)

* chore(release): publish [skip ci]

 - @carbon/[email protected]
 - @carbon/[email protected]
 - @carbon/[email protected]

* fix: merge conflicts

* fix: update publish config in community package to public (#4383)

* fix: header border issue introduced with ai slug (#4385)

* chore(deps): bump ip to 2.0.1 (#4386)

* build(deps): bump ip

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/UserAvatar

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/WebTerminal

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/TruncatedList

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/prefix-example

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip from 2.0.0 to 2.0.1

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(APIKeyModal): add typescript types (#4336)

* feat: beginning ts changes for APIKeyModal

* chore: add custom typings to address broken types from carbon/react

* fix: address remaining type issues

* chore: refactor pw input import

* chore: refactor customStep types

* chore(deps): bump ip to 2.0.1 (#4401)

* build(deps): bump ip in /examples/carbon-for-ibm-products/ProductiveCard

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/StatusIcon

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/SidePanel

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/TagSet

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/RemoveModal

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/PageHeader

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/Saving

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/Tearsheet

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump ip in /examples/carbon-for-ibm-products/SearchBar

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: new component status indicator (#4419)

* fix: udpate gallery

* fix: code review updates

* fix: code review updates

* chore: update chromedriver resolutions (#4422)

* chore: add chromedriver to resolutions

Fixes an issue with changed CDN

* chore: remove from resolutions

Keep latest chromedriver in yarn.lock

* fix: tearsheet overlay (#4421)

* fix: tearsheet overlay

* fix: selector for old overlay

---------

Co-authored-by: Matt Gallo <[email protected]>

* fix: side panel slug and close position (#4426)

* feat(Datagrid): add option to specify an initial sortable column (#4423)

* feat(Datagrid): apply initial column sort functionality

* fix: return if not using sortable table

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: David Menendez <[email protected]>
Co-authored-by: Amal K Joy <[email protected]>
Co-authored-by: Anamika T S <[email protected]>
Co-authored-by: elysia <[email protected]>
Co-authored-by: Lee Chase <[email protected]>
Co-authored-by: github-merge-queue <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ratheesh Rajan <[email protected]>
Co-authored-by: Matt Gallo <[email protected]>
Co-authored-by: SeonyuK <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants