diff --git a/lib/main.dart b/lib/main.dart index 2f400069..4dd424d9 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,6 +4,7 @@ import 'package:InvenTree/inventree/stock.dart'; import 'package:InvenTree/widget/category_display.dart'; import 'package:InvenTree/widget/company_list.dart'; import 'package:InvenTree/widget/location_display.dart'; +import 'package:InvenTree/widget/search.dart'; import 'package:InvenTree/widget/drawer.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -192,7 +193,8 @@ class _MyHomePageState extends State { void _search() { if (!InvenTreeAPI().checkConnection(context)) return; - // TODO + Navigator.push(context, MaterialPageRoute(builder: (context) => SearchWidget())); + } void _scan() { @@ -251,7 +253,7 @@ class _MyHomePageState extends State { IconButton( icon: FaIcon(FontAwesomeIcons.search), tooltip: 'Search', - onPressed: null, + onPressed: _search, ), ], ), @@ -271,7 +273,7 @@ class _MyHomePageState extends State { IconButton( icon: new FaIcon(FontAwesomeIcons.search), tooltip: 'Search', - onPressed: _unsupported, + onPressed: _search, ), Text("Search"), ], diff --git a/lib/widget/drawer.dart b/lib/widget/drawer.dart index f5db6e59..3a4536df 100644 --- a/lib/widget/drawer.dart +++ b/lib/widget/drawer.dart @@ -1,6 +1,7 @@ import 'package:InvenTree/api.dart'; import 'package:InvenTree/barcode.dart'; import 'package:InvenTree/widget/company_list.dart'; +import 'package:InvenTree/widget/search.dart'; import 'package:flutter/material.dart'; import 'package:InvenTree/api.dart'; @@ -32,6 +33,11 @@ class InvenTreeDrawer extends StatelessWidget { Navigator.pushNamedAndRemoveUntil(context, "/", (r) => false); } + void _search() { + _closeDrawer(); + Navigator.push(context, MaterialPageRoute(builder: (context) => SearchWidget())); + } + /* * Launch the camera to scan a QR code. * Upon successful scan, data are passed off to be decoded. @@ -102,7 +108,7 @@ class InvenTreeDrawer extends StatelessWidget { new ListTile( title: new Text("Search"), leading: new FaIcon(FontAwesomeIcons.search), - onTap: null, + onTap: _search, ), new ListTile( title: new Text("Scan Barcode"), diff --git a/lib/widget/search.dart b/lib/widget/search.dart new file mode 100644 index 00000000..52bf164a --- /dev/null +++ b/lib/widget/search.dart @@ -0,0 +1,33 @@ + +import 'package:InvenTree/widget/drawer.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class SearchWidget extends StatefulWidget { + + @override + _SearchState createState() => _SearchState(); +} + + +class _SearchState extends State { + + @override + Widget build(BuildContext context) { + + return Scaffold( + appBar: AppBar( + title: Text("Search"), + ), + drawer: new InvenTreeDrawer(context), + body: Center( + child: ListView( + children: [ + + ], + ) + ) + ); + + } +} \ No newline at end of file diff --git a/lib/widget/stock_detail.dart b/lib/widget/stock_detail.dart index 5155c614..3f3787ba 100644 --- a/lib/widget/stock_detail.dart +++ b/lib/widget/stock_detail.dart @@ -196,28 +196,28 @@ class _StockItemDisplayState extends State { // The following actions only apply if the StockItem is not serialized if (!item.isSerialized()) { buttons.add(SpeedDialChild( - child: Icon(Icons.add_circle), + child: Icon(FontAwesomeIcons.plusCircle), label: "Add Stock", onTap: _addStock, ) ); buttons.add(SpeedDialChild( - child: Icon(Icons.remove_circle), + child: Icon(FontAwesomeIcons.minusCircle), label: "Remove Stock", onTap: _removeStock, ), ); buttons.add(SpeedDialChild( - child: Icon(Icons.check_circle), + child: Icon(FontAwesomeIcons.checkCircle), label: "Count Stock", onTap: _countStock, )); } buttons.add(SpeedDialChild( - child: Icon(Icons.location_on), + child: Icon(FontAwesomeIcons.exchangeAlt), label: "Transfer Stock", onTap: _transferStock, ));