2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-08-06 04:31:43 +00:00

Display overlay screen for blocking operations (#186)

* Catch state error in homepage widget

* Add flutter_overlay_loader lib

- Displays an overlay screen to indicate blocking operation

* Wrap blocking widget transitions in a loading overlay

- Prevents user from doing other things while loading
- Shows the user that something is happening

* Linting fixes

* Show overlay when uploading attachment file

* Show overlay when downloading file also

* Show overlay when loading or submitting API forms

- Major improvements to usability "feel"

* UI improvements for stock item test results widget

* Fix API_FORM bug

- onSuccess function was not being called
This commit is contained in:
Oliver
2022-07-20 09:05:21 +10:00
committed by GitHub
parent 277193ecb0
commit 01dd046dd1
20 changed files with 150 additions and 183 deletions

View File

@@ -475,13 +475,16 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
color: item.statusColor
)
),
onTap: () {
onTap: () async {
if (item.partId > 0) {
InvenTreePart().get(item.partId).then((var part) {
if (part is InvenTreePart) {
Navigator.push(context, MaterialPageRoute(builder: (context) => PartDetailWidget(part)));
}
});
showLoadingOverlay(context);
var part = await InvenTreePart().get(item.partId);
hideLoadingOverlay();
if (part is InvenTreePart) {
Navigator.push(context, MaterialPageRoute(builder: (context) => PartDetailWidget(part)));
}
}
},
//trailing: Text(item.serialOrQuantityDisplay()),
@@ -533,15 +536,17 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
FontAwesomeIcons.mapMarkerAlt,
color: COLOR_CLICK,
),
onTap: () {
onTap: () async {
if (item.locationId > 0) {
InvenTreeStockLocation().get(item.locationId).then((var loc) {
if (loc is InvenTreeStockLocation) {
Navigator.push(context, MaterialPageRoute(
builder: (context) => LocationDisplayWidget(loc)));
}
});
showLoadingOverlay(context);
var loc = await InvenTreeStockLocation().get(item.locationId);
hideLoadingOverlay();
if (loc is InvenTreeStockLocation) {
Navigator.push(context, MaterialPageRoute(
builder: (context) => LocationDisplayWidget(loc)));
}
}
},
),