-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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-lite): new <b-table-lite>
lightweight table component
#3447
Conversation
…omponents we may, in the future offer `b-table-simple` companion component, that does not support filtering, pagination, sorting, provider, etc. Just plain rendering of table, for lighter component footprint when users are tree shaking. This PR prepares the b-table helper code-base to support this.
Codecov Report
@@ Coverage Diff @@
## dev #3447 +/- ##
==========================================
+ Coverage 99.24% 99.24% +<.01%
==========================================
Files 221 221
Lines 4215 4220 +5
Branches 1216 1227 +11
==========================================
+ Hits 4183 4188 +5
Misses 26 26
Partials 6 6
Continue to review full report at Codecov.
|
b-table-*
componentsb-table-*
companion components
b-table-lite
lightweight table component<b-table-lite>
lightweight table component
@tmorehouse Not to sure about this naming scheme. I have never been a fan of the "overload" of features of the current I would suggest to rename |
@jackmu95 reversing the component names would be a rather large breaking change though. Although it does make sense. |
@tmorehouse The thing is when we don't do it before v2.0.0 we can't do it before v3.0.0. Would it make sense to give the users a notice to stick with one of the two components to safe some bundlesize? |
Maybe the migration to Vue 3.x and maybe Bootstrap V5, can trigger the component name flip. We'll probably have to maintain two branches in the future... based on version of Vue/Bootstrap |
@jackmu95 Maybe we can get an opinion from @pi0 on the table component names, and see what he thinks. |
I don't know the number of users that individually import components, but my guess is a single digit percentage. Making it by default is rather a breaking change and including the lite version increases bundle size for (the majority) of users that simply use plugin or module because of an additional component. My suggestion is making this new component optional for those who individually import by name (and not by plugin) |
@pi0 The code base addition for the Overall change (coverage wise) is only |
@tmorehouse OK let's bundle it by default :) |
Describe the PR
New
<b-table-lite>
table component. using shared helper code of<b-table>
, but tailored for just rendering arrays of items, without enhanced features.New component does not support:
This PR refactored the
<b-table>
helper code-base to support lightweight table components.When importing individual components, this will help consumers reduce their bundle size if they don't need the full
b-table
feature set.PR checklist
What kind of change does this PR introduce? (check at least one)
Does this PR introduce a breaking change? (check one)
The PR fulfills these requirements:
dev
branch, not themaster
branch[...] (fixes #xxx[,#xxx])
, where "xxx" is the issue number)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 theCHANGELOG
is generated from these messages.If new features/enhancement/fixes are added or changed:
package.json
for slot and event changes)If adding a new feature, or changing the functionality of an existing feature, the PR's
description above includes: