-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Relative ListBindings do not handle busy states automatically #1534
Comments
Hi, Thanks for your report, I was able to reproduce this and have reported it internally 1780230102. |
The reason why the busy indicator is shown in one case and not in the other is not because of absolute and relative bindings. Showing the busy indicator also works for relative bindings. The busy indicator is attached to the request events of the binding. So only if the binding of the list triggers a request, the busy indicator will be shown. In you example the list data is requested as an expanded collection on the element binding, the list doesn't known anything about it and its binding never triggers a request, so it can't show a busy state. |
I'd still rather expand a collection navigation property from the element binding instead of assigning the property solely to the list binding path without having it expanded before. The latter approach has, on the one hand, the advantage of displaying the busy indicator automatically as mentioned before, but on the other hand, it has the following disadvantages:
As expanding a collection from an element binding circumvents those issues, I'd be happy if you consider to reopen this enhancement request to display busy indicator for such relative list bindings as well even though such bindings don't send any request by themselves. |
The sinon release 4.1.3 - which is currently packaged with UI5 as sinon-4 - has an issue when a fake server is created from a sandbox. The created server unintentionally fakes timers as well and therefore doesn't auto-respond. See sinonjs/sinon#1534 for details. Sinon release 4.1.6 fixes the issue, this change applies the newest available release 4.4.6. Change-Id: If9207574f1e0b7d253ecb15041b15363086fa541
From my previous comment..
This is not the case anymore if |
ODataModel: V2
URL (minimal example if possible): https://embed.plnkr.co/elNMXE/
Steps to reproduce the problem:
items="{odata>ToProducts}"
(given ToProducts is a navigation property)busyIndicatorDelay
to 0 or increase the mock server response delay.What is the expected result?
The
listUl
section of the list (having relative ListBinding) is busy too.What happens instead?
Nothing. The busy state is not handled automatically in contrast to the absolute ListBinding.
I guess this is because the refresh event is never fired by its relative ListBinding since resolving relative path returns
undefined
. I believe this is the intended behavior but the list control manipulates its busy state automatically only if a refresh event is fired.Any other information?
A simple workaround may be to enable
legacySyntax
which forces the relative ListBinding to fire the refresh event. But I'm sure thatlegacySyntax
is not intended to be used like that.It would be nice if the busy states are handled automatically regardless whether the binding paths are absolute or relative. I'd like to avoid using
setBusy
manually on lists with relative ListBindings because not only do I have to manage busy states for them manually but alsosetBusy(true)
shows the busy indicator for the whole list control (including header and footer) instead of just for thelistUl
section where items are contained.The text was updated successfully, but these errors were encountered: