Loading Indicators
Status Informations on running commands
Implementing a loading spinner is quite easy with PowerMVVM. You have to inherit from AStatusProvider
and implement your calls to the UI framework.
This allows to
- show and hide a loding indicator
Register the status provider via the static property:
Command.StatusProvider = new MyStatusProviderImplementation();
Status Informations for separate commands
With Version 1.0.6 loading indicators can be set for each command differently, if necessary. This provides more flexibility when showing, e.g. a loading indicator directly next to a button, while it might not be necessary to block the whole page, as the general indicator might do.
The ACommand
exposes the following API for loading indicator customisation:
command.UseLoadingIndicator() // display the loading indicator (disabled by default)
.UseLoadingIndicator(ILoadingIndicator) // control an external loading indicator instance
.UseLoadingIndicator(show, hide) // control any loading states with show and hide callbacks
The ILoadingIndicator
interface needs a proper implementation of the following methods for showing and hiding logic:
Task ShowLoadingAsync();
Task HideLoadingAsync();