diff --git a/lib/widget/category_display.dart b/lib/widget/category_display.dart index 46a04bde..6832b212 100644 --- a/lib/widget/category_display.dart +++ b/lib/widget/category_display.dart @@ -41,9 +41,11 @@ class _CategoryDisplayState extends RefreshableState { List _parts = List(); - /* - * Request data from the server - */ + @override + Future onBuild(BuildContext context) async { + refresh(); + } + @override Future request(BuildContext context) async { diff --git a/lib/widget/company_detail.dart b/lib/widget/company_detail.dart index 56d16d7e..16201d5a 100644 --- a/lib/widget/company_detail.dart +++ b/lib/widget/company_detail.dart @@ -2,6 +2,7 @@ import 'package:InvenTree/api.dart'; import 'package:InvenTree/inventree/company.dart'; import 'package:InvenTree/widget/drawer.dart'; +import 'package:InvenTree/widget/refreshable_state.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; @@ -18,10 +19,18 @@ class CompanyDetailWidget extends StatefulWidget { } -class _CompanyDetailState extends State { +class _CompanyDetailState extends RefreshableState { final InvenTreeCompany company; + @override + String getAppBarTitle(BuildContext context) { return "Company"; } + + @override + Future request(BuildContext context) async { + await company.reload(context); + } + _CompanyDetailState(this.company) { // TODO } @@ -122,17 +131,11 @@ class _CompanyDetailState extends State { } @override - Widget build(BuildContext context) { + Widget getBody(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: Text("${company.name}"), - ), - drawer: new InvenTreeDrawer(context), - body: Center( - child: ListView( - children: _companyTiles(), - ) + return Center( + child: ListView( + children: _companyTiles(), ) ); } diff --git a/lib/widget/company_list.dart b/lib/widget/company_list.dart index 767b8a79..a627ee74 100644 --- a/lib/widget/company_list.dart +++ b/lib/widget/company_list.dart @@ -46,6 +46,11 @@ class _CompanyListState extends RefreshableState { _CompanyListState(this._title, this._filters) {} + @override + Future onBuild(BuildContext context) async { + refresh(); + } + @override Future request(BuildContext context) async { diff --git a/lib/widget/location_display.dart b/lib/widget/location_display.dart index 84362689..f8ab0c8d 100644 --- a/lib/widget/location_display.dart +++ b/lib/widget/location_display.dart @@ -46,6 +46,11 @@ class _LocationDisplayState extends RefreshableState { List _items = List(); + @override + Future onBuild(BuildContext context) async { + refresh(); + } + @override Future request(BuildContext context) async { diff --git a/lib/widget/refreshable_state.dart b/lib/widget/refreshable_state.dart index bfb061ef..b0b9ad3c 100644 --- a/lib/widget/refreshable_state.dart +++ b/lib/widget/refreshable_state.dart @@ -15,7 +15,12 @@ abstract class RefreshableState extends State { void initState() { super.initState(); - WidgetsBinding.instance.addPostFrameCallback((_) => request(context)); + WidgetsBinding.instance.addPostFrameCallback((_) => onBuild(context)); + } + + // Function called after the widget is first build + Future onBuild(BuildContext context) async { + return; } // Function to request data for this page