2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-06-15 03:35:28 +00:00

Refactor loading overlay

This commit is contained in:
Oliver Walters
2024-12-11 21:45:43 +11:00
parent d5a9f4310e
commit e44d1ea5b4
22 changed files with 44 additions and 31 deletions

View File

@ -79,7 +79,7 @@ class _AttachmentWidgetState extends RefreshableState<AttachmentWidget> {
if (file == null) return;
showLoadingOverlay(context);
showLoadingOverlay();
final bool result = await widget.attachmentClass.uploadAttachment(
file,
@ -178,7 +178,7 @@ class _AttachmentWidgetState extends RefreshableState<AttachmentWidget> {
subtitle: Text(attachment.comment),
leading: Icon(attachment.icon, color: COLOR_ACTION),
onTap: () async {
showLoadingOverlay(context);
showLoadingOverlay();
await attachment.downloadAttachment();
hideLoadingOverlay();
},

View File

@ -119,7 +119,7 @@ class _SupplierPartDisplayState extends RefreshableState<SupplierPartDetailWidge
leading: Icon(TablerIcons.box, color: COLOR_ACTION),
trailing: InvenTreeAPI().getThumbnail(widget.supplierPart.partImage),
onTap: () async {
showLoadingOverlay(context);
showLoadingOverlay();
final part = await InvenTreePart().get(widget.supplierPart.partId);
hideLoadingOverlay();
@ -162,7 +162,7 @@ class _SupplierPartDisplayState extends RefreshableState<SupplierPartDetailWidge
leading: Icon(TablerIcons.building, color: COLOR_ACTION),
trailing: InvenTreeAPI().getThumbnail(widget.supplierPart.supplierImage),
onTap: () async {
showLoadingOverlay(context);
showLoadingOverlay();
var supplier = await InvenTreeCompany().get(widget.supplierPart.supplierId);
hideLoadingOverlay();
@ -193,7 +193,7 @@ class _SupplierPartDisplayState extends RefreshableState<SupplierPartDetailWidge
leading: Icon(TablerIcons.building_factory_2, color: COLOR_ACTION),
trailing: InvenTreeAPI().getThumbnail(widget.supplierPart.manufacturerImage),
onTap: () async {
showLoadingOverlay(context);
showLoadingOverlay();
var supplier = await InvenTreeCompany().get(widget.supplierPart.manufacturerId);
hideLoadingOverlay();

View File

@ -175,7 +175,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> {
fields["location"]?["value"] = destination;
}
showLoadingOverlay(context);
showLoadingOverlay();
var order = await InvenTreePurchaseOrder().get(widget.item.orderId);
hideLoadingOverlay();
@ -210,7 +210,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> {
leading: Icon(TablerIcons.box, color: COLOR_ACTION),
trailing: api.getThumbnail(widget.item.partImage),
onTap: () async {
showLoadingOverlay(context);
showLoadingOverlay();
var part = await InvenTreePart().get(widget.item.partId);
hideLoadingOverlay();
@ -228,7 +228,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> {
subtitle: Text(widget.item.SKU),
leading: Icon(TablerIcons.building, color: COLOR_ACTION),
onTap: () async {
showLoadingOverlay(context);
showLoadingOverlay();
var part = await InvenTreeSupplierPart().get(widget.item.supplierPartId);
hideLoadingOverlay();

View File

@ -77,7 +77,7 @@ class _PaginatedPOLineListState extends PaginatedSearchState<PaginatedPOLineList
trailing: Text(item.progressString, style: TextStyle(color: item.isComplete ? COLOR_SUCCESS : COLOR_WARNING)),
leading: InvenTreeAPI().getThumbnail(supplierPart.partImage),
onTap: () async {
showLoadingOverlay(context);
showLoadingOverlay();
await item.reload();
hideLoadingOverlay();
Navigator.push(context, MaterialPageRoute(builder: (context) => POLineDetailWidget(item)));

View File

@ -185,7 +185,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg
color: Colors.blue,
acceptText: L10().issue,
onAccept: () async {
await widget.order.issueOrder().then((dynamic) {
widget.order.issueOrder().then((dynamic) {
refresh(context);
});
}
@ -201,7 +201,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg
color: Colors.red,
acceptText: L10().cancel,
onAccept: () async {
await widget.order.cancelOrder().then((dynamic) {
widget.order.cancelOrder().then((dynamic) {
refresh(context);
});
}

View File

@ -127,7 +127,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> {
color: Colors.blue,
acceptText: L10().issue,
onAccept: () async {
await widget.order.issueOrder().then((dynamic) {
widget.order.issueOrder().then((dynamic) {
refresh(context);
});
}

View File

@ -187,7 +187,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> {
leading: Icon(TablerIcons.box, color: COLOR_ACTION),
trailing: api.getThumbnail(widget.item.partImage),
onTap: () async {
showLoadingOverlay(context);
showLoadingOverlay();
var part = await InvenTreePart().get(widget.item.partId);
hideLoadingOverlay();

View File

@ -65,7 +65,7 @@ class _PaginatedSOLineListState extends PaginatedSearchState<PaginatedSOLineList
leading: InvenTreeAPI().getThumbnail(part.thumbnail),
trailing: Text(item.progressString, style: TextStyle(color: item.isComplete ? COLOR_SUCCESS : COLOR_WARNING)),
onTap: () async {
showLoadingOverlay(context);
showLoadingOverlay();
await item.reload();
hideLoadingOverlay();
Navigator.push(

View File

@ -154,7 +154,7 @@ class _PaginatedBomListState extends PaginatedSearchState<PaginatedBomList> {
leading: InvenTreeAPI().getThumbnail(subPart?.thumbnail ?? ""),
onTap: subPart == null ? null : () async {
showLoadingOverlay(context);
showLoadingOverlay();
var part = await InvenTreePart().get(subPart.pk);
hideLoadingOverlay();

View File

@ -159,7 +159,7 @@ class _CategoryDisplayState extends RefreshableState<CategoryDisplayWidget> {
Navigator.push(context, MaterialPageRoute(builder: (context) => CategoryDisplayWidget(null)));
} else {
showLoadingOverlay(context);
showLoadingOverlay();
var cat = await InvenTreePartCategory().get(parentId);
hideLoadingOverlay();

View File

@ -366,7 +366,7 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
onTap: () async {
if (part.categoryId > 0) {
showLoadingOverlay(context);
showLoadingOverlay();
var cat = await InvenTreePartCategory().get(part.categoryId);
hideLoadingOverlay();
@ -646,7 +646,7 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
if (part.isTrackable) {
// read the next available serial number
showLoadingOverlay(context);
showLoadingOverlay();
var response = await api.get("/api/part/${part.pk}/serial-numbers/", expectedStatusCode: null);
hideLoadingOverlay();

View File

@ -127,7 +127,7 @@ class _PaginatedParameterState extends PaginatedSearchState<PaginatedParameterLi
value: parameter.as_bool,
onChanged: (bool value) {
if (parameter.canEdit) {
showLoadingOverlay(context);
showLoadingOverlay();
parameter.update(
values: {
"data": value.toString()

View File

@ -3,6 +3,7 @@
import "package:flutter/material.dart";
import "package:flutter_overlay_loader/flutter_overlay_loader.dart";
import "package:inventree/app_colors.dart";
import "package:one_context/one_context.dart";
/*
@ -42,7 +43,9 @@ Widget progressIndicator() {
}
void showLoadingOverlay(BuildContext? context) {
void showLoadingOverlay() {
BuildContext? context = OneContext().context;
if (context == null) {
return;

View File

@ -362,7 +362,7 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> {
Navigator.push(context, MaterialPageRoute(
builder: (context) => LocationDisplayWidget(null)));
} else {
showLoadingOverlay(context);
showLoadingOverlay();
var loc = await InvenTreeStockLocation().get(parentId);
hideLoadingOverlay();

View File

@ -523,7 +523,7 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
onTap: () async {
if (widget.item.partId > 0) {
showLoadingOverlay(context);
showLoadingOverlay();
var part = await InvenTreePart().get(widget.item.partId);
hideLoadingOverlay();
@ -566,7 +566,7 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
onTap: () async {
if (widget.item.locationId > 0) {
showLoadingOverlay(context);
showLoadingOverlay();
var loc = await InvenTreeStockLocation().get(widget.item.locationId);
hideLoadingOverlay();
@ -651,7 +651,7 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
leading: Icon(TablerIcons.building, color: COLOR_ACTION),
trailing: InvenTreeAPI().getThumbnail(widget.item.supplierImage, hideIfNull: true),
onTap: () async {
showLoadingOverlay(context);
showLoadingOverlay();
var sp = await InvenTreeSupplierPart().get(
widget.item.supplierPartId);
hideLoadingOverlay();