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(b-table): programmatic row selection (closes #3064, #3370) #3844

merged 20 commits into from Aug 12, 2019


Copy link

commented Aug 9, 2019

Describe the PR

Adds in the ability for programmatic row selection

New Public methods on BTable instance (when in selectable mode):

  • selectRow(index)
  • unselectRow(index)
  • isRowSelected(index)
  • selectAllRows()
  • clearSelection()


  • index refers to the displayed row index number, which is not necessarily the actual index in the original source array (the index is computed after sorting, filtering, pagination have been applied)
  • If select-mode is single, then selectAllRows() will only select the first row, and selectRow(index) will unselect any previously selected row

Closes #3064
Closes #3370

To Do:

  • TypeScript declaration update
  • additional unit tests
  • documentation updates

PR checklist

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Enhancement
  • ARIA accessibility
  • Documentation update
  • Other (please describe)

Does this PR introduce a breaking change? (check one)

  • No
  • Yes (please describe)

The PR fulfills these requirements:

  • It's submitted to the dev branch, not the master branch
  • When resolving a specific issue, it's referenced in the PR's title (i.e. [...] (fixes #xxx[,#xxx]), where "xxx" is the issue number)
  • It should address only one issue or feature. If adding multiple features or fixing a bug and adding a new feature, break them into separate PRs if at all possible.
  • The title should follow the Conventional Commits naming convention (i.e. fix(alert): not alerting during SSR render, docs(badge): update pill examples, fix typos, chore: fix typo in README, etc). This is very important, as the CHANGELOG is generated from these messages.

If new features/enhancement/fixes are added or changed:

  • Includes documentation updates (including updating the component's package.json for slot and event changes)
  • Includes any needed TypeScript declaration file updates
  • New/updated tests are included and passing (if required)
  • Existing test suites are passing
  • The changes have not impacted the functionality of other components or directives
  • ARIA Accessibility has been taken into consideration (Does it affect screen reader users or keyboard only users? Clickable items should be in the tab index, etc.)

If adding a new feature, or changing the functionality of an existing feature, the PR's
description above includes:

  • A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

tmorehouse added some commits Aug 9, 2019


This comment has been minimized.

Copy link

commented Aug 9, 2019

Codecov Report

Merging #3844 into dev will increase coverage by <.01%.
The diff coverage is 100%.

Impacted file tree graph

@@           Coverage Diff            @@
##             dev   #3844      +/-   ##
+ Coverage   99.3%   99.3%   +<.01%     
  Files        233     233              
  Lines       4473    4482       +9     
  Branches    1267    1270       +3     
+ Hits        4442    4451       +9     
  Misses        25      25              
  Partials       6       6
Impacted Files Coverage Δ
src/components/table/helpers/mixin-selectable.js 100% <100%> (ø) ⬆️
src/components/table/helpers/mixin-tbody-row.js 100% <100%> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ed99f9c...1ea933a. Read the comment docs.

tmorehouse added some commits Aug 9, 2019

@tmorehouse tmorehouse removed the Status: WIP label Aug 9, 2019

@tmorehouse tmorehouse marked this pull request as ready for review Aug 9, 2019

@tmorehouse tmorehouse requested a review from jackmu95 Aug 9, 2019

@tmorehouse tmorehouse added this to In Progress in 2.0.0 Stable via automation Aug 9, 2019

tmorehouse and others added some commits Aug 9, 2019

@tmorehouse tmorehouse merged commit 9a4fe24 into dev Aug 12, 2019

9 checks passed

License Compliance All checks passed.
ci/circleci: build Your tests passed on CircleCI!
ci/circleci: lint Your tests passed on CircleCI!
ci/circleci: setup Your tests passed on CircleCI!
ci/circleci: test Your tests passed on CircleCI!
codecov/patch 100% of diff hit (target 99.3%)
codecov/project 99.3% (+<.01%) compared to ed99f9c
deploy/netlify Deploy preview ready!
security/snyk - package.json (pi0) No manifest changes detected

2.0.0 Stable automation moved this from In Progress to Completed Aug 12, 2019

@tmorehouse tmorehouse deleted the tmorehouse/selectable branch Aug 12, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants
You can’t perform that action at this time.