configureLoader static method
void
configureLoader({
- required void onShow(),
- required void onHide(),
Configures a global loading indicator shown automatically around every
request, so callers don't need to manage an isLoading flag per screen.
onShow and onHide are plain callbacks — this package has no opinion
on how the indicator is presented. Wire them to whatever your app uses:
// GetX
ApiServices.configureLoader(
onShow: () => Get.dialog(const LoadingDialog(), barrierDismissible: false),
onHide: () => Get.back(),
);
// Navigator with a global key
ApiServices.configureLoader(
onShow: () => showDialog(
context: navigatorKey.currentContext!,
barrierDismissible: false,
builder: (_) => const LoadingDialog(),
),
onHide: () => navigatorKey.currentState!.pop(),
);
Concurrent requests share one indicator: onShow fires only when the
first request starts, onHide only once every in-flight request
(success, failure, or exception) has finished. Pass showLoader: false
to an individual request to opt it out (e.g. background polling).
Implementation
static void configureLoader({
required void Function() onShow,
required void Function() onHide,
}) {
_onLoadingShow = onShow;
_onLoadingHide = onHide;
}