mirror of
				https://github.com/inventree/inventree-app.git
				synced 2025-10-31 13:25:40 +00:00 
			
		
		
		
	Refactor loading overlay
This commit is contained in:
		| @@ -977,7 +977,7 @@ Future<void> launchApiForm( | |||||||
|       IconData icon = TablerIcons.device_floppy |       IconData icon = TablerIcons.device_floppy | ||||||
|     }) async { |     }) async { | ||||||
|  |  | ||||||
|   showLoadingOverlay(context); |   showLoadingOverlay(); | ||||||
|  |  | ||||||
|   // List of fields defined by the server |   // List of fields defined by the server | ||||||
|   Map<String, dynamic> serverFields = {}; |   Map<String, dynamic> serverFields = {}; | ||||||
| @@ -1229,7 +1229,7 @@ class _APIFormWidgetState extends State<APIFormWidget> { | |||||||
|  |  | ||||||
|     if (widget.method == "POST") { |     if (widget.method == "POST") { | ||||||
|  |  | ||||||
|       showLoadingOverlay(context); |       showLoadingOverlay(); | ||||||
|       final response =  await InvenTreeAPI().post( |       final response =  await InvenTreeAPI().post( | ||||||
|         widget.url, |         widget.url, | ||||||
|         body: data, |         body: data, | ||||||
| @@ -1240,7 +1240,7 @@ class _APIFormWidgetState extends State<APIFormWidget> { | |||||||
|       return response; |       return response; | ||||||
|  |  | ||||||
|     } else { |     } else { | ||||||
|       showLoadingOverlay(context); |       showLoadingOverlay(); | ||||||
|       final response = await InvenTreeAPI().patch( |       final response = await InvenTreeAPI().patch( | ||||||
|         widget.url, |         widget.url, | ||||||
|         body: data, |         body: data, | ||||||
|   | |||||||
| @@ -65,7 +65,7 @@ class InvenTreeBarcodeControllerState extends State<InvenTreeBarcodeController> | |||||||
|       context = OneContext.hasContext ? OneContext().context : null; |       context = OneContext.hasContext ? OneContext().context : null; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     showLoadingOverlay(context); |     showLoadingOverlay(); | ||||||
|     await pauseScan(); |     await pauseScan(); | ||||||
|  |  | ||||||
|     await widget.handler.processBarcode(data); |     await widget.handler.processBarcode(data); | ||||||
|   | |||||||
| @@ -3,6 +3,7 @@ import "package:inventree/helpers.dart"; | |||||||
| import "package:inventree/inventree/company.dart"; | import "package:inventree/inventree/company.dart"; | ||||||
| import "package:inventree/inventree/model.dart"; | import "package:inventree/inventree/model.dart"; | ||||||
| import "package:inventree/inventree/orders.dart"; | import "package:inventree/inventree/orders.dart"; | ||||||
|  | import "package:inventree/widget/progress.dart"; | ||||||
|  |  | ||||||
|  |  | ||||||
| /* | /* | ||||||
| @@ -121,7 +122,9 @@ class InvenTreePurchaseOrder extends InvenTreeOrder { | |||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     showLoadingOverlay(); | ||||||
|     await api.post("${url}issue/", expectedStatusCode: 201); |     await api.post("${url}issue/", expectedStatusCode: 201); | ||||||
|  |     hideLoadingOverlay(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /// Mark this order as "cancelled" |   /// Mark this order as "cancelled" | ||||||
| @@ -130,7 +133,9 @@ class InvenTreePurchaseOrder extends InvenTreeOrder { | |||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     showLoadingOverlay(); | ||||||
|     await api.post("${url}cancel/", expectedStatusCode: 201); |     await api.post("${url}cancel/", expectedStatusCode: 201); | ||||||
|  |     hideLoadingOverlay(); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,6 +6,7 @@ import "package:inventree/inventree/model.dart"; | |||||||
| import "package:inventree/inventree/orders.dart"; | import "package:inventree/inventree/orders.dart"; | ||||||
|  |  | ||||||
| import "package:inventree/api.dart"; | import "package:inventree/api.dart"; | ||||||
|  | import "package:inventree/widget/progress.dart"; | ||||||
|  |  | ||||||
|  |  | ||||||
| /* | /* | ||||||
| @@ -76,7 +77,9 @@ class InvenTreeSalesOrder extends InvenTreeOrder { | |||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     showLoadingOverlay(); | ||||||
|     await api.post("${url}issue/", expectedStatusCode: 201); |     await api.post("${url}issue/", expectedStatusCode: 201); | ||||||
|  |     hideLoadingOverlay(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /// Mark this order as "cancelled" |   /// Mark this order as "cancelled" | ||||||
| @@ -85,7 +88,9 @@ class InvenTreeSalesOrder extends InvenTreeOrder { | |||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     showLoadingOverlay(); | ||||||
|     await api.post("${url}cancel/", expectedStatusCode: 201); |     await api.post("${url}cancel/", expectedStatusCode: 201); | ||||||
|  |     hideLoadingOverlay(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   int get customerId => getInt("customer"); |   int get customerId => getInt("customer"); | ||||||
|   | |||||||
| @@ -98,7 +98,7 @@ Future<void> selectAndPrintLabel( | |||||||
|  |  | ||||||
|       if (labelId != -1 && pluginKey != null) { |       if (labelId != -1 && pluginKey != null) { | ||||||
|  |  | ||||||
|         showLoadingOverlay(context); |         showLoadingOverlay(); | ||||||
|  |  | ||||||
|         if (InvenTreeAPI().supportsModernLabelPrinting) { |         if (InvenTreeAPI().supportsModernLabelPrinting) { | ||||||
|  |  | ||||||
|   | |||||||
| @@ -50,7 +50,7 @@ class _InvenTreeAppSettingsState extends State<InvenTreeAppSettingsWidget> { | |||||||
|  |  | ||||||
|   Future <void> loadSettings(BuildContext context) async { |   Future <void> loadSettings(BuildContext context) async { | ||||||
|  |  | ||||||
|     showLoadingOverlay(context); |     showLoadingOverlay(); | ||||||
|  |  | ||||||
|     barcodeSounds = await InvenTreeSettingsManager().getValue(INV_SOUNDS_BARCODE, true) as bool; |     barcodeSounds = await InvenTreeSettingsManager().getValue(INV_SOUNDS_BARCODE, true) as bool; | ||||||
|     serverSounds = await InvenTreeSettingsManager().getValue(INV_SOUNDS_SERVER, true) as bool; |     serverSounds = await InvenTreeSettingsManager().getValue(INV_SOUNDS_SERVER, true) as bool; | ||||||
|   | |||||||
| @@ -50,7 +50,7 @@ class _InvenTreeLoginState extends State<InvenTreeLoginWidget> { | |||||||
|         currentFocus.unfocus(); |         currentFocus.unfocus(); | ||||||
|       } |       } | ||||||
|  |  | ||||||
|       showLoadingOverlay(context); |       showLoadingOverlay(); | ||||||
|  |  | ||||||
|       // Attempt login |       // Attempt login | ||||||
|       final response = await InvenTreeAPI().fetchToken(widget.profile, username, password); |       final response = await InvenTreeAPI().fetchToken(widget.profile, username, password); | ||||||
|   | |||||||
| @@ -79,7 +79,7 @@ class _AttachmentWidgetState extends RefreshableState<AttachmentWidget> { | |||||||
|  |  | ||||||
|     if (file == null) return; |     if (file == null) return; | ||||||
|  |  | ||||||
|     showLoadingOverlay(context); |     showLoadingOverlay(); | ||||||
|  |  | ||||||
|     final bool result = await widget.attachmentClass.uploadAttachment( |     final bool result = await widget.attachmentClass.uploadAttachment( | ||||||
|         file, |         file, | ||||||
| @@ -178,7 +178,7 @@ class _AttachmentWidgetState extends RefreshableState<AttachmentWidget> { | |||||||
|           subtitle: Text(attachment.comment), |           subtitle: Text(attachment.comment), | ||||||
|           leading: Icon(attachment.icon, color: COLOR_ACTION), |           leading: Icon(attachment.icon, color: COLOR_ACTION), | ||||||
|           onTap: () async { |           onTap: () async { | ||||||
|             showLoadingOverlay(context); |             showLoadingOverlay(); | ||||||
|             await attachment.downloadAttachment(); |             await attachment.downloadAttachment(); | ||||||
|             hideLoadingOverlay(); |             hideLoadingOverlay(); | ||||||
|           }, |           }, | ||||||
|   | |||||||
| @@ -119,7 +119,7 @@ class _SupplierPartDisplayState extends RefreshableState<SupplierPartDetailWidge | |||||||
|           leading: Icon(TablerIcons.box, color: COLOR_ACTION), |           leading: Icon(TablerIcons.box, color: COLOR_ACTION), | ||||||
|           trailing: InvenTreeAPI().getThumbnail(widget.supplierPart.partImage), |           trailing: InvenTreeAPI().getThumbnail(widget.supplierPart.partImage), | ||||||
|           onTap: () async { |           onTap: () async { | ||||||
|             showLoadingOverlay(context); |             showLoadingOverlay(); | ||||||
|             final part = await InvenTreePart().get(widget.supplierPart.partId); |             final part = await InvenTreePart().get(widget.supplierPart.partId); | ||||||
|             hideLoadingOverlay(); |             hideLoadingOverlay(); | ||||||
|  |  | ||||||
| @@ -162,7 +162,7 @@ class _SupplierPartDisplayState extends RefreshableState<SupplierPartDetailWidge | |||||||
|         leading: Icon(TablerIcons.building, color: COLOR_ACTION), |         leading: Icon(TablerIcons.building, color: COLOR_ACTION), | ||||||
|         trailing: InvenTreeAPI().getThumbnail(widget.supplierPart.supplierImage), |         trailing: InvenTreeAPI().getThumbnail(widget.supplierPart.supplierImage), | ||||||
|         onTap: () async { |         onTap: () async { | ||||||
|           showLoadingOverlay(context); |           showLoadingOverlay(); | ||||||
|           var supplier = await InvenTreeCompany().get(widget.supplierPart.supplierId); |           var supplier = await InvenTreeCompany().get(widget.supplierPart.supplierId); | ||||||
|           hideLoadingOverlay(); |           hideLoadingOverlay(); | ||||||
|  |  | ||||||
| @@ -193,7 +193,7 @@ class _SupplierPartDisplayState extends RefreshableState<SupplierPartDetailWidge | |||||||
|           leading: Icon(TablerIcons.building_factory_2, color: COLOR_ACTION), |           leading: Icon(TablerIcons.building_factory_2, color: COLOR_ACTION), | ||||||
|           trailing: InvenTreeAPI().getThumbnail(widget.supplierPart.manufacturerImage), |           trailing: InvenTreeAPI().getThumbnail(widget.supplierPart.manufacturerImage), | ||||||
|           onTap: () async { |           onTap: () async { | ||||||
|             showLoadingOverlay(context); |             showLoadingOverlay(); | ||||||
|             var supplier = await InvenTreeCompany().get(widget.supplierPart.manufacturerId); |             var supplier = await InvenTreeCompany().get(widget.supplierPart.manufacturerId); | ||||||
|             hideLoadingOverlay(); |             hideLoadingOverlay(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -175,7 +175,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | |||||||
|       fields["location"]?["value"] = destination; |       fields["location"]?["value"] = destination; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     showLoadingOverlay(context); |     showLoadingOverlay(); | ||||||
|     var order = await InvenTreePurchaseOrder().get(widget.item.orderId); |     var order = await InvenTreePurchaseOrder().get(widget.item.orderId); | ||||||
|     hideLoadingOverlay(); |     hideLoadingOverlay(); | ||||||
|  |  | ||||||
| @@ -210,7 +210,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | |||||||
|         leading: Icon(TablerIcons.box, color: COLOR_ACTION), |         leading: Icon(TablerIcons.box, color: COLOR_ACTION), | ||||||
|         trailing: api.getThumbnail(widget.item.partImage), |         trailing: api.getThumbnail(widget.item.partImage), | ||||||
|         onTap: () async { |         onTap: () async { | ||||||
|           showLoadingOverlay(context); |           showLoadingOverlay(); | ||||||
|           var part = await InvenTreePart().get(widget.item.partId); |           var part = await InvenTreePart().get(widget.item.partId); | ||||||
|           hideLoadingOverlay(); |           hideLoadingOverlay(); | ||||||
|  |  | ||||||
| @@ -228,7 +228,7 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> { | |||||||
|         subtitle: Text(widget.item.SKU), |         subtitle: Text(widget.item.SKU), | ||||||
|         leading: Icon(TablerIcons.building, color: COLOR_ACTION), |         leading: Icon(TablerIcons.building, color: COLOR_ACTION), | ||||||
|         onTap: () async { |         onTap: () async { | ||||||
|           showLoadingOverlay(context); |           showLoadingOverlay(); | ||||||
|           var part = await InvenTreeSupplierPart().get(widget.item.supplierPartId); |           var part = await InvenTreeSupplierPart().get(widget.item.supplierPartId); | ||||||
|           hideLoadingOverlay(); |           hideLoadingOverlay(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -77,7 +77,7 @@ class _PaginatedPOLineListState extends PaginatedSearchState<PaginatedPOLineList | |||||||
|         trailing: Text(item.progressString, style: TextStyle(color: item.isComplete ? COLOR_SUCCESS : COLOR_WARNING)), |         trailing: Text(item.progressString, style: TextStyle(color: item.isComplete ? COLOR_SUCCESS : COLOR_WARNING)), | ||||||
|         leading: InvenTreeAPI().getThumbnail(supplierPart.partImage), |         leading: InvenTreeAPI().getThumbnail(supplierPart.partImage), | ||||||
|         onTap: () async { |         onTap: () async { | ||||||
|           showLoadingOverlay(context); |           showLoadingOverlay(); | ||||||
|           await item.reload(); |           await item.reload(); | ||||||
|           hideLoadingOverlay(); |           hideLoadingOverlay(); | ||||||
|           Navigator.push(context, MaterialPageRoute(builder: (context) => POLineDetailWidget(item))); |           Navigator.push(context, MaterialPageRoute(builder: (context) => POLineDetailWidget(item))); | ||||||
|   | |||||||
| @@ -185,7 +185,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | |||||||
|       color: Colors.blue, |       color: Colors.blue, | ||||||
|       acceptText: L10().issue, |       acceptText: L10().issue, | ||||||
|       onAccept: () async { |       onAccept: () async { | ||||||
|         await widget.order.issueOrder().then((dynamic) { |         widget.order.issueOrder().then((dynamic) { | ||||||
|           refresh(context); |           refresh(context); | ||||||
|         }); |         }); | ||||||
|       } |       } | ||||||
| @@ -201,7 +201,7 @@ class _PurchaseOrderDetailState extends RefreshableState<PurchaseOrderDetailWidg | |||||||
|       color: Colors.red, |       color: Colors.red, | ||||||
|       acceptText: L10().cancel, |       acceptText: L10().cancel, | ||||||
|       onAccept: () async { |       onAccept: () async { | ||||||
|         await widget.order.cancelOrder().then((dynamic) { |         widget.order.cancelOrder().then((dynamic) { | ||||||
|           refresh(context); |           refresh(context); | ||||||
|         }); |         }); | ||||||
|       } |       } | ||||||
|   | |||||||
| @@ -127,7 +127,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> { | |||||||
|         color: Colors.blue, |         color: Colors.blue, | ||||||
|         acceptText: L10().issue, |         acceptText: L10().issue, | ||||||
|         onAccept: () async { |         onAccept: () async { | ||||||
|           await widget.order.issueOrder().then((dynamic) { |           widget.order.issueOrder().then((dynamic) { | ||||||
|             refresh(context); |             refresh(context); | ||||||
|           }); |           }); | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -187,7 +187,7 @@ class _SOLineDetailWidgetState extends RefreshableState<SoLineDetailWidget> { | |||||||
|         leading: Icon(TablerIcons.box, color: COLOR_ACTION), |         leading: Icon(TablerIcons.box, color: COLOR_ACTION), | ||||||
|         trailing: api.getThumbnail(widget.item.partImage), |         trailing: api.getThumbnail(widget.item.partImage), | ||||||
|         onTap: () async { |         onTap: () async { | ||||||
|           showLoadingOverlay(context); |           showLoadingOverlay(); | ||||||
|           var part = await InvenTreePart().get(widget.item.partId); |           var part = await InvenTreePart().get(widget.item.partId); | ||||||
|           hideLoadingOverlay(); |           hideLoadingOverlay(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -65,7 +65,7 @@ class _PaginatedSOLineListState extends PaginatedSearchState<PaginatedSOLineList | |||||||
|         leading: InvenTreeAPI().getThumbnail(part.thumbnail), |         leading: InvenTreeAPI().getThumbnail(part.thumbnail), | ||||||
|         trailing: Text(item.progressString, style: TextStyle(color: item.isComplete ? COLOR_SUCCESS : COLOR_WARNING)), |         trailing: Text(item.progressString, style: TextStyle(color: item.isComplete ? COLOR_SUCCESS : COLOR_WARNING)), | ||||||
|         onTap: () async { |         onTap: () async { | ||||||
|           showLoadingOverlay(context); |           showLoadingOverlay(); | ||||||
|           await item.reload(); |           await item.reload(); | ||||||
|           hideLoadingOverlay(); |           hideLoadingOverlay(); | ||||||
|           Navigator.push( |           Navigator.push( | ||||||
|   | |||||||
| @@ -154,7 +154,7 @@ class _PaginatedBomListState extends PaginatedSearchState<PaginatedBomList> { | |||||||
|       leading: InvenTreeAPI().getThumbnail(subPart?.thumbnail ?? ""), |       leading: InvenTreeAPI().getThumbnail(subPart?.thumbnail ?? ""), | ||||||
|       onTap: subPart == null ? null : () async { |       onTap: subPart == null ? null : () async { | ||||||
|  |  | ||||||
|         showLoadingOverlay(context); |         showLoadingOverlay(); | ||||||
|         var part = await InvenTreePart().get(subPart.pk); |         var part = await InvenTreePart().get(subPart.pk); | ||||||
|         hideLoadingOverlay(); |         hideLoadingOverlay(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -159,7 +159,7 @@ class _CategoryDisplayState extends RefreshableState<CategoryDisplayWidget> { | |||||||
|                   Navigator.push(context, MaterialPageRoute(builder: (context) => CategoryDisplayWidget(null))); |                   Navigator.push(context, MaterialPageRoute(builder: (context) => CategoryDisplayWidget(null))); | ||||||
|                 } else { |                 } else { | ||||||
|  |  | ||||||
|                   showLoadingOverlay(context); |                   showLoadingOverlay(); | ||||||
|                   var cat = await InvenTreePartCategory().get(parentId); |                   var cat = await InvenTreePartCategory().get(parentId); | ||||||
|                   hideLoadingOverlay(); |                   hideLoadingOverlay(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -366,7 +366,7 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> { | |||||||
|             onTap: () async { |             onTap: () async { | ||||||
|               if (part.categoryId > 0) { |               if (part.categoryId > 0) { | ||||||
|  |  | ||||||
|                 showLoadingOverlay(context); |                 showLoadingOverlay(); | ||||||
|                 var cat = await InvenTreePartCategory().get(part.categoryId); |                 var cat = await InvenTreePartCategory().get(part.categoryId); | ||||||
|                 hideLoadingOverlay(); |                 hideLoadingOverlay(); | ||||||
|  |  | ||||||
| @@ -646,7 +646,7 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> { | |||||||
|  |  | ||||||
|     if (part.isTrackable) { |     if (part.isTrackable) { | ||||||
|       // read the next available serial number |       // read the next available serial number | ||||||
|       showLoadingOverlay(context); |       showLoadingOverlay(); | ||||||
|       var response = await api.get("/api/part/${part.pk}/serial-numbers/", expectedStatusCode: null); |       var response = await api.get("/api/part/${part.pk}/serial-numbers/", expectedStatusCode: null); | ||||||
|       hideLoadingOverlay(); |       hideLoadingOverlay(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -127,7 +127,7 @@ class _PaginatedParameterState extends PaginatedSearchState<PaginatedParameterLi | |||||||
|           value: parameter.as_bool, |           value: parameter.as_bool, | ||||||
|           onChanged: (bool value) { |           onChanged: (bool value) { | ||||||
|             if (parameter.canEdit) { |             if (parameter.canEdit) { | ||||||
|               showLoadingOverlay(context); |               showLoadingOverlay(); | ||||||
|               parameter.update( |               parameter.update( | ||||||
|                 values: { |                 values: { | ||||||
|                   "data": value.toString() |                   "data": value.toString() | ||||||
|   | |||||||
| @@ -3,6 +3,7 @@ | |||||||
| import "package:flutter/material.dart"; | import "package:flutter/material.dart"; | ||||||
| import "package:flutter_overlay_loader/flutter_overlay_loader.dart"; | import "package:flutter_overlay_loader/flutter_overlay_loader.dart"; | ||||||
| import "package:inventree/app_colors.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) { |   if (context == null) { | ||||||
|     return; |     return; | ||||||
|   | |||||||
| @@ -362,7 +362,7 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> { | |||||||
|                   Navigator.push(context, MaterialPageRoute( |                   Navigator.push(context, MaterialPageRoute( | ||||||
|                       builder: (context) => LocationDisplayWidget(null))); |                       builder: (context) => LocationDisplayWidget(null))); | ||||||
|                 } else { |                 } else { | ||||||
|                   showLoadingOverlay(context); |                   showLoadingOverlay(); | ||||||
|                   var loc = await InvenTreeStockLocation().get(parentId); |                   var loc = await InvenTreeStockLocation().get(parentId); | ||||||
|                   hideLoadingOverlay(); |                   hideLoadingOverlay(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -523,7 +523,7 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> { | |||||||
|         onTap: () async { |         onTap: () async { | ||||||
|           if (widget.item.partId > 0) { |           if (widget.item.partId > 0) { | ||||||
|  |  | ||||||
|             showLoadingOverlay(context); |             showLoadingOverlay(); | ||||||
|             var part = await InvenTreePart().get(widget.item.partId); |             var part = await InvenTreePart().get(widget.item.partId); | ||||||
|             hideLoadingOverlay(); |             hideLoadingOverlay(); | ||||||
|  |  | ||||||
| @@ -566,7 +566,7 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> { | |||||||
|           onTap: () async { |           onTap: () async { | ||||||
|             if (widget.item.locationId > 0) { |             if (widget.item.locationId > 0) { | ||||||
|  |  | ||||||
|               showLoadingOverlay(context); |               showLoadingOverlay(); | ||||||
|               var loc = await InvenTreeStockLocation().get(widget.item.locationId); |               var loc = await InvenTreeStockLocation().get(widget.item.locationId); | ||||||
|               hideLoadingOverlay(); |               hideLoadingOverlay(); | ||||||
|  |  | ||||||
| @@ -651,7 +651,7 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> { | |||||||
|           leading: Icon(TablerIcons.building, color: COLOR_ACTION), |           leading: Icon(TablerIcons.building, color: COLOR_ACTION), | ||||||
|           trailing: InvenTreeAPI().getThumbnail(widget.item.supplierImage, hideIfNull: true), |           trailing: InvenTreeAPI().getThumbnail(widget.item.supplierImage, hideIfNull: true), | ||||||
|           onTap: () async { |           onTap: () async { | ||||||
|             showLoadingOverlay(context); |             showLoadingOverlay(); | ||||||
|             var sp = await InvenTreeSupplierPart().get( |             var sp = await InvenTreeSupplierPart().get( | ||||||
|                 widget.item.supplierPartId); |                 widget.item.supplierPartId); | ||||||
|             hideLoadingOverlay(); |             hideLoadingOverlay(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user