diff --git a/lib/ui/app/multiselect.dart b/lib/ui/app/multiselect.dart index bdb7f825e..8095a533a 100644 --- a/lib/ui/app/multiselect.dart +++ b/lib/ui/app/multiselect.dart @@ -25,7 +25,7 @@ class _SelectRow extends StatelessWidget { selected: selected, title: child, dense: true, - contentPadding: EdgeInsets.symmetric(horizontal: 2), + contentPadding: EdgeInsets.symmetric(horizontal: 4), onTap: () { onChange(!selected); _theState.notify(); diff --git a/lib/ui/credit/credit_screen.dart b/lib/ui/credit/credit_screen.dart index b8f6142f4..b74ec7f44 100644 --- a/lib/ui/credit/credit_screen.dart +++ b/lib/ui/credit/credit_screen.dart @@ -46,6 +46,9 @@ class CreditScreen extends StatelessWidget { onFilterChanged: (value) { store.dispatch(FilterCredits(value)); }, + onSelectedState: (EntityState state, value) { + store.dispatch(FilterCreditsByState(state)); + }, ), onCheckboxPressed: () { if (store.state.creditListState.isInMultiselect()) { diff --git a/lib/ui/design/design_screen.dart b/lib/ui/design/design_screen.dart index 5ca2a7b3d..e8bbd00a9 100644 --- a/lib/ui/design/design_screen.dart +++ b/lib/ui/design/design_screen.dart @@ -46,6 +46,9 @@ class DesignScreen extends StatelessWidget { onFilterChanged: (value) { store.dispatch(FilterDesigns(value)); }, + onSelectedState: (EntityState state, value) { + store.dispatch(FilterDesignsByState(state)); + }, ), onCheckboxPressed: () { if (store.state.designListState.isInMultiselect()) { diff --git a/lib/ui/document/document_screen.dart b/lib/ui/document/document_screen.dart index 7143f158f..ffe5f2015 100644 --- a/lib/ui/document/document_screen.dart +++ b/lib/ui/document/document_screen.dart @@ -44,6 +44,9 @@ class DocumentScreen extends StatelessWidget { onFilterChanged: (value) { store.dispatch(FilterDocuments(value)); }, + onSelectedState: (EntityState state, value) { + store.dispatch(FilterDocumentsByState(state)); + }, ), onCheckboxPressed: () { if (store.state.documentListState.isInMultiselect()) { diff --git a/lib/ui/expense/expense_screen.dart b/lib/ui/expense/expense_screen.dart index 2010b28be..accf4abaf 100644 --- a/lib/ui/expense/expense_screen.dart +++ b/lib/ui/expense/expense_screen.dart @@ -36,6 +36,22 @@ class ExpenseScreen extends StatelessWidget { final userCompany = state.userCompany; final localization = AppLocalization.of(context); + final statuses = [ + ExpenseStatusEntity().rebuild((b) => b + ..id = kExpenseStatusLogged + ..name = localization.logged), + ExpenseStatusEntity().rebuild( + (b) => b + ..id = kExpenseStatusPending + ..name = localization.pending, + ), + ExpenseStatusEntity().rebuild( + (b) => b + ..id = kExpenseStatusInvoiced + ..name = localization.invoiced, + ), + ]; + return ListScaffold( entityType: EntityType.expense, onHamburgerLongPress: () => store.dispatch(StartExpenseMultiselect()), @@ -47,6 +63,13 @@ class ExpenseScreen extends StatelessWidget { onFilterChanged: (value) { store.dispatch(FilterExpenses(value)); }, + statuses: statuses, + onSelectedState: (EntityState state, value) { + store.dispatch(FilterExpensesByState(state)); + }, + onSelectedStatus: (EntityStatus status, value) { + store.dispatch(FilterExpensesByStatus(status)); + }, ), onCheckboxPressed: () { if (store.state.expenseListState.isInMultiselect()) { @@ -86,21 +109,7 @@ class ExpenseScreen extends StatelessWidget { onSelectedState: (EntityState state, value) { store.dispatch(FilterExpensesByState(state)); }, - statuses: [ - ExpenseStatusEntity().rebuild((b) => b - ..id = kExpenseStatusLogged - ..name = localization.logged), - ExpenseStatusEntity().rebuild( - (b) => b - ..id = kExpenseStatusPending - ..name = localization.pending, - ), - ExpenseStatusEntity().rebuild( - (b) => b - ..id = kExpenseStatusInvoiced - ..name = localization.invoiced, - ), - ], + statuses: statuses, onSelectedStatus: (EntityStatus status, value) { store.dispatch(FilterExpensesByStatus(status)); }, diff --git a/lib/ui/expense_category/expense_category_screen.dart b/lib/ui/expense_category/expense_category_screen.dart index 3d406674b..0b35e0ef9 100644 --- a/lib/ui/expense_category/expense_category_screen.dart +++ b/lib/ui/expense_category/expense_category_screen.dart @@ -56,6 +56,9 @@ class ExpenseCategoryScreen extends StatelessWidget { onFilterChanged: (value) { store.dispatch(FilterExpenseCategories(value)); }, + onSelectedState: (EntityState state, value) { + store.dispatch(FilterExpenseCategoriesByState(state)); + }, ), body: ExpenseCategoryListBuilder(), bottomNavigationBar: AppBottomBar(