🌐 AI搜索 & 代理 主页
Skip to content

Conversation

@tmorehouse
Copy link
Member

@tmorehouse tmorehouse commented Oct 4, 2019

Describe the PR

Use event delegation, where possible, on the tbody element for row-* event handling.

This will reduce the number of native event listeners registered on each tbody > tr element, and reduce the number of anonymous function event handlers, which should help improve table rendering time and reduce run-time memory footprint

Future To Do:

  • Possibly add in table row cache during the render cycle for improved event handler performance, if users are experiencing lagging events on tables with a huge amount of rows
  • Only instantiate row-* event handlers if there are corresponding event listeners registered

PR checklist

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

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

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 tmorehouse changed the title perf(b-table, b-table-lite): delegate the row event handler to the tbody element perf(b-table, b-table-lite): delegate row event handlers to the tbody element Oct 4, 2019
@codecov
Copy link

codecov bot commented Oct 4, 2019

Codecov Report

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

Impacted file tree graph

@@            Coverage Diff             @@
##              dev    #4192      +/-   ##
==========================================
+ Coverage   99.86%   99.86%   +<.01%     
==========================================
  Files         237      237              
  Lines        4519     4527       +8     
  Branches     1267     1274       +7     
==========================================
+ Hits         4513     4521       +8     
  Misses          5        5              
  Partials        1        1
Impacted Files Coverage Δ
src/components/table/helpers/mixin-tbody-row.js 100% <100%> (ø) ⬆️
src/components/table/helpers/mixin-tbody.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 dfbc398...44af964. Read the comment docs.

@tmorehouse tmorehouse added PR: Patch Requires patch version bump and removed Status: WIP labels Oct 4, 2019
@tmorehouse tmorehouse marked this pull request as ready for review October 4, 2019 19:59
@tmorehouse tmorehouse requested a review from jacobmllr95 October 4, 2019 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: Patch Requires patch version bump Type: Perf Type: Refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants