Open vladitasev opened 2 years ago
The first issue is fixed with https://github.com/SAP/ui5-webcomponents/pull/5251 "Some components have a busy property already, and when both busy and __isBusy are set (f.e. the OpenUI5 ui5-table wrapper has setBusy(true) ) users see 2 busy indicators"
The second issue remains
We have the
OpenUI5Enablement
feature that adds an__isBusy
property + the necessary code for it. Although this is only used in the OpenUI5 context now (but could become a core web components feature in the future), the code itself is maintained here in this repo.There are currently 2 issues:
busy
property already, and when bothbusy
and__isBusy
are set (f.e. the OpenUI5 ui5-table wrapper hassetBusy(true)
) users see 2 busy indicatorsui5-wizard-step
) have no shadow root, but still have the__isBusy
property when enriched with theOpenUI5Enablement
mixin. However, when__isBusy
is set totrue
nothing happens (due to no shadow root and nowhere for the "busy" code to act)The first could be solved either in UI5 Web Components (OpenUI5Elablement for example not only adds
__isBusy
to the metadata, but also removesbusy
for the components that have such a property), or in OpenUI5 (WebComponent.js
never sets it to the web components instance). To be determined which would be best.The second issue is trickier. All component wrappers are controls (even for the components that are logical elements such as options, items, etc.). One way to do it would be to create
WebComponent.js
andWebComponentElement.js
classes in OpenUI5 and only set busy support for the first ones. But this way wizard steps would not have busy support at all. The other way would be to manually enable it for some elements (such as wizard steps). For this to work, the parent component (ui5-wizard
) would need to monitor the__isBusy
property of its children and act upon it - f.e. set busy state to some of its own shadow root as the wizard is the one to display the steps. This would mean that UI5 Web Components code starts working with, and understanding the__isBusy
property.