mirror of
https://github.com/inventree/inventree-app.git
synced 2025-04-29 05:56:47 +00:00
the stock detail view is now a refreshable state
This commit is contained in:
parent
58f6fd0f15
commit
26c47b5fff
@ -4,12 +4,15 @@ import 'package:InvenTree/inventree/stock.dart';
|
|||||||
import 'package:InvenTree/inventree/part.dart';
|
import 'package:InvenTree/inventree/part.dart';
|
||||||
import 'package:InvenTree/widget/location_display.dart';
|
import 'package:InvenTree/widget/location_display.dart';
|
||||||
import 'package:InvenTree/widget/part_detail.dart';
|
import 'package:InvenTree/widget/part_detail.dart';
|
||||||
|
import 'package:InvenTree/widget/refreshable_state.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:InvenTree/api.dart';
|
import 'package:InvenTree/api.dart';
|
||||||
|
|
||||||
import 'package:InvenTree/widget/drawer.dart';
|
import 'package:InvenTree/widget/drawer.dart';
|
||||||
|
import 'package:InvenTree/widget/refreshable_state.dart';
|
||||||
|
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
|
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
|
||||||
@ -25,7 +28,10 @@ class StockDetailWidget extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class _StockItemDisplayState extends State<StockDetailWidget> {
|
class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
|
||||||
|
|
||||||
|
@override
|
||||||
|
String app_bar_title = "Stock Item";
|
||||||
|
|
||||||
final TextEditingController _quantityController = TextEditingController();
|
final TextEditingController _quantityController = TextEditingController();
|
||||||
final TextEditingController _notesController = TextEditingController();
|
final TextEditingController _notesController = TextEditingController();
|
||||||
@ -42,13 +48,9 @@ class _StockItemDisplayState extends State<StockDetailWidget> {
|
|||||||
|
|
||||||
final InvenTreeStockItem item;
|
final InvenTreeStockItem item;
|
||||||
|
|
||||||
/**
|
@override
|
||||||
* Function to reload the page data
|
Future<void> request(BuildContext context) async {
|
||||||
*/
|
|
||||||
Future<void> _refresh() async {
|
|
||||||
|
|
||||||
await item.reload();
|
await item.reload();
|
||||||
setState(() {});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void _editStockItem() {
|
void _editStockItem() {
|
||||||
@ -92,7 +94,7 @@ class _StockItemDisplayState extends State<StockDetailWidget> {
|
|||||||
_notesController.clear();
|
_notesController.clear();
|
||||||
|
|
||||||
// TODO - Handle error cases
|
// TODO - Handle error cases
|
||||||
_refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _addStockDialog() async {
|
void _addStockDialog() async {
|
||||||
@ -158,7 +160,7 @@ class _StockItemDisplayState extends State<StockDetailWidget> {
|
|||||||
|
|
||||||
// TODO - Handle error cases
|
// TODO - Handle error cases
|
||||||
|
|
||||||
_refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _removeStockDialog() {
|
void _removeStockDialog() {
|
||||||
@ -227,7 +229,7 @@ class _StockItemDisplayState extends State<StockDetailWidget> {
|
|||||||
|
|
||||||
// TODO - Handle error cases
|
// TODO - Handle error cases
|
||||||
|
|
||||||
_refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _countStockDialog() async {
|
void _countStockDialog() async {
|
||||||
@ -464,26 +466,30 @@ class _StockItemDisplayState extends State<StockDetailWidget> {
|
|||||||
return buttons;
|
return buttons;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget getBody(BuildContext context) {
|
||||||
|
return ListView(
|
||||||
|
children: stockTiles()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
||||||
|
this.context = context;
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: getAppBar(context),
|
||||||
title: Text("Stock Item"),
|
drawer: getDrawer(context),
|
||||||
),
|
|
||||||
drawer: new InvenTreeDrawer(context),
|
|
||||||
floatingActionButton: SpeedDial(
|
floatingActionButton: SpeedDial(
|
||||||
visible: true,
|
visible: true,
|
||||||
animatedIcon: AnimatedIcons.menu_close,
|
animatedIcon: AnimatedIcons.menu_close,
|
||||||
heroTag: 'stock-item-fab',
|
heroTag: 'stock-item-fab',
|
||||||
children: actionButtons(),
|
children: actionButtons(),
|
||||||
),
|
),
|
||||||
body: Center(
|
body: RefreshIndicator(
|
||||||
child: new RefreshIndicator(
|
onRefresh: refresh,
|
||||||
onRefresh: _refresh,
|
child: getBody(context)
|
||||||
child: ListView(
|
|
||||||
children: stockTiles(),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user