From 96dabb60c2e1dc1eb13cc7955e9ffa17c8cc25ad Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 29 May 2019 18:16:33 +0300 Subject: [PATCH] Vendors --- stubs/ui/stub/stub_list | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/stubs/ui/stub/stub_list b/stubs/ui/stub/stub_list index 4d8ad1f3e..eb7fc86ce 100644 --- a/stubs/ui/stub/stub_list +++ b/stubs/ui/stub/stub_list @@ -1,7 +1,9 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; +import 'package:invoiceninja_flutter/ui/app/loading_indicator.dart'; import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; +import 'package:invoiceninja_flutter/ui/stub/stub_list_item.dart'; import 'package:invoiceninja_flutter/ui/stub/stub_list_vm.dart'; import 'package:invoiceninja_flutter/utils/icons.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; @@ -63,6 +65,60 @@ class StubList extends StatelessWidget { return Column( children: [ + + Expanded( + child: !viewModel.isLoaded + ? LoadingIndicator() + : RefreshIndicator( + onRefresh: () => viewModel.onRefreshed(context), + child: viewModel.stubList.isEmpty + ? Opacity( + opacity: 0.5, + child: Center( + child: Text( + AppLocalization.of(context).noRecordsFound, + style: TextStyle( + fontSize: 18.0, + ), + ), + ), + ) + : ListView.builder( + shrinkWrap: true, + itemCount: viewModel.stubList.length, + itemBuilder: (BuildContext context, index) { + final stubId = viewModel.stubList[index]; + final stub = viewModel.stubMap[stubId]; + return Column( + children: [ + VendorListItem( + user: viewModel.user, + filter: viewModel.filter, + stub: stub, + onTap: () => + viewModel.onVendorTap(context, stub), + onEntityAction: (EntityAction action) { + if (action == EntityAction.more) { + _showMenu(context, stub); + } else { + viewModel.onEntityAction( + context, stub, action); + } + }, + onLongPress: () => + _showMenu(context, stub), + ), + Divider( + height: 1.0, + ), + ], + ); + }, + ), + ), + ), + + /* filteredClient != null ? Material(