Add desktop state/status filters
This commit is contained in:
parent
7ddea4386a
commit
cef117088f
|
|
@ -25,7 +25,7 @@ class _SelectRow extends StatelessWidget {
|
||||||
selected: selected,
|
selected: selected,
|
||||||
title: child,
|
title: child,
|
||||||
dense: true,
|
dense: true,
|
||||||
contentPadding: EdgeInsets.symmetric(horizontal: 2),
|
contentPadding: EdgeInsets.symmetric(horizontal: 4),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
onChange(!selected);
|
onChange(!selected);
|
||||||
_theState.notify();
|
_theState.notify();
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,9 @@ class CreditScreen extends StatelessWidget {
|
||||||
onFilterChanged: (value) {
|
onFilterChanged: (value) {
|
||||||
store.dispatch(FilterCredits(value));
|
store.dispatch(FilterCredits(value));
|
||||||
},
|
},
|
||||||
|
onSelectedState: (EntityState state, value) {
|
||||||
|
store.dispatch(FilterCreditsByState(state));
|
||||||
|
},
|
||||||
),
|
),
|
||||||
onCheckboxPressed: () {
|
onCheckboxPressed: () {
|
||||||
if (store.state.creditListState.isInMultiselect()) {
|
if (store.state.creditListState.isInMultiselect()) {
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,9 @@ class DesignScreen extends StatelessWidget {
|
||||||
onFilterChanged: (value) {
|
onFilterChanged: (value) {
|
||||||
store.dispatch(FilterDesigns(value));
|
store.dispatch(FilterDesigns(value));
|
||||||
},
|
},
|
||||||
|
onSelectedState: (EntityState state, value) {
|
||||||
|
store.dispatch(FilterDesignsByState(state));
|
||||||
|
},
|
||||||
),
|
),
|
||||||
onCheckboxPressed: () {
|
onCheckboxPressed: () {
|
||||||
if (store.state.designListState.isInMultiselect()) {
|
if (store.state.designListState.isInMultiselect()) {
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,9 @@ class DocumentScreen extends StatelessWidget {
|
||||||
onFilterChanged: (value) {
|
onFilterChanged: (value) {
|
||||||
store.dispatch(FilterDocuments(value));
|
store.dispatch(FilterDocuments(value));
|
||||||
},
|
},
|
||||||
|
onSelectedState: (EntityState state, value) {
|
||||||
|
store.dispatch(FilterDocumentsByState(state));
|
||||||
|
},
|
||||||
),
|
),
|
||||||
onCheckboxPressed: () {
|
onCheckboxPressed: () {
|
||||||
if (store.state.documentListState.isInMultiselect()) {
|
if (store.state.documentListState.isInMultiselect()) {
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,22 @@ class ExpenseScreen extends StatelessWidget {
|
||||||
final userCompany = state.userCompany;
|
final userCompany = state.userCompany;
|
||||||
final localization = AppLocalization.of(context);
|
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(
|
return ListScaffold(
|
||||||
entityType: EntityType.expense,
|
entityType: EntityType.expense,
|
||||||
onHamburgerLongPress: () => store.dispatch(StartExpenseMultiselect()),
|
onHamburgerLongPress: () => store.dispatch(StartExpenseMultiselect()),
|
||||||
|
|
@ -47,6 +63,13 @@ class ExpenseScreen extends StatelessWidget {
|
||||||
onFilterChanged: (value) {
|
onFilterChanged: (value) {
|
||||||
store.dispatch(FilterExpenses(value));
|
store.dispatch(FilterExpenses(value));
|
||||||
},
|
},
|
||||||
|
statuses: statuses,
|
||||||
|
onSelectedState: (EntityState state, value) {
|
||||||
|
store.dispatch(FilterExpensesByState(state));
|
||||||
|
},
|
||||||
|
onSelectedStatus: (EntityStatus status, value) {
|
||||||
|
store.dispatch(FilterExpensesByStatus(status));
|
||||||
|
},
|
||||||
),
|
),
|
||||||
onCheckboxPressed: () {
|
onCheckboxPressed: () {
|
||||||
if (store.state.expenseListState.isInMultiselect()) {
|
if (store.state.expenseListState.isInMultiselect()) {
|
||||||
|
|
@ -86,21 +109,7 @@ class ExpenseScreen extends StatelessWidget {
|
||||||
onSelectedState: (EntityState state, value) {
|
onSelectedState: (EntityState state, value) {
|
||||||
store.dispatch(FilterExpensesByState(state));
|
store.dispatch(FilterExpensesByState(state));
|
||||||
},
|
},
|
||||||
statuses: [
|
statuses: 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,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
onSelectedStatus: (EntityStatus status, value) {
|
onSelectedStatus: (EntityStatus status, value) {
|
||||||
store.dispatch(FilterExpensesByStatus(status));
|
store.dispatch(FilterExpensesByStatus(status));
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class ExpenseCategoryScreen extends StatelessWidget {
|
||||||
onFilterChanged: (value) {
|
onFilterChanged: (value) {
|
||||||
store.dispatch(FilterExpenseCategories(value));
|
store.dispatch(FilterExpenseCategories(value));
|
||||||
},
|
},
|
||||||
|
onSelectedState: (EntityState state, value) {
|
||||||
|
store.dispatch(FilterExpenseCategoriesByState(state));
|
||||||
|
},
|
||||||
),
|
),
|
||||||
body: ExpenseCategoryListBuilder(),
|
body: ExpenseCategoryListBuilder(),
|
||||||
bottomNavigationBar: AppBottomBar(
|
bottomNavigationBar: AppBottomBar(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue