UI Component Adapters - #16402
Conversation
f113222 to
a563717
Compare
75fa49b to
b35756c
Compare
131ab4b to
78c893e
Compare
6f0dfcb to
3b70b49
Compare
…pText wrapper for BInputGroup, BInputGroupAppend, BInputGroupPrepend and BInputGroupText
…d fix missing exposes in GListGroupItem
28dd595 to
e4a6c35
Compare
e4a6c35 to
cba7ea9
Compare
|
All used components are wrapped (75 of them) and most of them are working as expected and their tests are passing. However, a few components still need some attention, as their tests are failing. Here's the breakdown:
|
|
I think that the popover tests can not be fixed, because stubbing composition components does not seem to work in v1 of vue test utils. It needs to be stubbed, because B-Popover renders it's content outside of its parents dom node, which is not something JSDOMEnvironment seems to be able to handle. We can't upgrade to vue test utils 2, since that requires vue 3, which requires this PR. I'd recommend removing it from the PR for now, and handling this in a separate PR, where instead of wrapping the component, we directly replace it with a custom component that renders it's contents withing it's parents dom node (such as dialog). |
|
While trying to fix the remaining failing tests, I noticed a bigger issue which these tests uncover. Most of the tests fail, because the test is expecting to select the inner element, but selects the wrappers div instead. This is due to <div id="confirmation-modal" style="position: absolute; z-index: 1040;" title="Permanently delete 2 items?" title-tag="h2" ok-title="Permanently delete" ok-variant="" ok-disabled="true" static="" centered="">
<transition-stub enterclass="" leaveclass="" entertoclass="" leavetoclass="" enteractiveclass="" leaveactiveclass="">
<div id="confirmation-modal" role="dialog" aria-hidden="true" aria-labelledby="confirmation-modal___BV_modal_title_" aria-describedby="confirmation-modal___BV_modal_body_" class="modal fade" style="display: none;">Notice the same This is an issue beyond just the failing tests, since duplicate |
|
Closing this -- the approach here (thin wrappers re-exporting Bootstrap-Vue) has been superseded by the component-by-component replacement work tracked in #21956. The current PRs (#21957, #21958, #21959, #21960, #21961, #21962) create real custom implementations using CSS transitions, This PR was directionally right about the need to decouple from Bootstrap-Vue, but the execution path has changed. Leaving the branch in case anything is useful for reference. |
WIP, cofest work.
This will insulate the galaxy codebase from specific external component implementations, focusing on bootstrap-vue first. Additionally, it'll allow us to customize each of these separate the underlying implementation.
How to test the changes?
(Select all options that apply)
License