"busy" and "__isBusy" handling
@nnaydenow is already working on this.
Since Feb 2, 2026.
- Dominant language
- TypeScript
- Stars
- 1.8k
- Forks
- 285
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 59
Description
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:
- Some components have a
busyproperty already, and when bothbusyand__isBusyare set (f.e. the OpenUI5 ui5-table wrapper hassetBusy(true)) users see 2 busy indicators - Some of our web components (
ui5-wizard-step) have no shadow root, but still have the__isBusyproperty when enriched with theOpenUI5Enablementmixin. However, when__isBusyis set totruenothing 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 removes busy 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 and WebComponentElement.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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.