diff --git a/lib/main.dart b/lib/main.dart index 8967d61a..2f400069 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -216,7 +216,7 @@ class _MyHomePageState extends State { void _suppliers() { if (!InvenTreeAPI().checkConnection(context)) return; - Navigator.push(context, MaterialPageRoute(builder: (context) => CompanyListWidget())); + Navigator.push(context, MaterialPageRoute(builder: (context) => SupplierListWidget())); } void _unsupported() { @@ -249,7 +249,7 @@ class _MyHomePageState extends State { title: Text(widget.title), actions: [ IconButton( - icon: Icon(Icons.search), + icon: FaIcon(FontAwesomeIcons.search), tooltip: 'Search', onPressed: null, ), diff --git a/lib/widget/company_list.dart b/lib/widget/company_list.dart index e55b90d5..1856f0c4 100644 --- a/lib/widget/company_list.dart +++ b/lib/widget/company_list.dart @@ -5,14 +5,29 @@ import 'package:flutter/material.dart'; import 'package:InvenTree/api.dart'; import 'package:InvenTree/inventree/company.dart'; import 'package:InvenTree/widget/drawer.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart'; -class CompanyListWidget extends StatefulWidget { +abstract class CompanyListWidget extends StatefulWidget { + + String title; + Map filters; @override - _CompanyListState createState() => _CompanyListState(); + _CompanyListState createState() => _CompanyListState(title, filters); } +class SupplierListWidget extends CompanyListWidget { + @override + _CompanyListState createState() => _CompanyListState("Suppliers", {"is_supplier": "true"}); +} + + +class CustomerListWidget extends CompanyListWidget { + @override + _CompanyListState createState() => _CompanyListState("Customers", {"is_customer": "true"}); +} + class _CompanyListState extends State { @@ -22,13 +37,15 @@ class _CompanyListState extends State { var _title = "Companies"; - _CompanyListState() { + Map _filters = Map(); + + _CompanyListState(this._title, this._filters) { _requestData(); } void _requestData() { - InvenTreeCompany().list().then((var companies) { + InvenTreeCompany().list(filters: _filters).then((var companies) { _companies.clear(); @@ -80,6 +97,13 @@ class _CompanyListState extends State { return Scaffold( appBar: AppBar( title: Text("$_title"), + actions: [ + IconButton( + icon: FaIcon(FontAwesomeIcons.plus), + tooltip: 'New', + onPressed: null, + ) + ], ), drawer: new InvenTreeDrawer(context), body: ListView(