add pagination for invoice and update ui for material 3

This commit is contained in:
tzw
2024-01-26 16:56:20 +06:30
parent 93a5fe071a
commit 8d0f712bf4
32 changed files with 351 additions and 635 deletions

View File

@@ -23,12 +23,24 @@ class PackageList extends StatefulWidget {
class _PackageListState extends State<PackageList> {
bool _isLoading = false;
int _selectedIndex = 1;
@override
void initState() {
_init();
super.initState();
}
_init() {
var model = context.read<PackageModel>();
_selectedIndex = model.selectedIndex;
model.initData(_selectedIndex, widget.forCustomer);
if (mounted) {
setState(() {});
}
}
@override
Widget build(BuildContext context) {
var packageModel = Provider.of<PackageModel>(context);
@@ -37,20 +49,24 @@ class _PackageListState extends State<PackageList> {
: packageModel.packages;
final popupMenu = LocalPopupMenuButton(
popmenus: [
LocalPopupMenu(
id: 1,
textKey: "package.popupmenu.active",
selected: packageModel.menuSelectedIndex == 1),
LocalPopupMenu(
id: 2,
textKey: "package.popupmenu.delivered",
selected: packageModel.menuSelectedIndex == 2)
],
popupMenuCallback: (p) => this.setState(() {
packageModel.menuSelectedIndex = p.id;
}),
);
popmenus: [
LocalPopupMenu(
id: 1,
textKey: "package.popupmenu.active",
selected: packageModel.selectedIndex == 1),
LocalPopupMenu(
id: 2,
textKey: "package.popupmenu.delivered",
selected: packageModel.selectedIndex == 2)
],
popupMenuCallback: (p) {
this.setState(() {
_selectedIndex = p.id;
});
context
.read<PackageModel>()
.onChanged(_selectedIndex, widget.forCustomer);
});
return LocalProgress(
inAsyncCall: _isLoading,