Navigation...
This commit is contained in:
parent
44d14a90b2
commit
8830482337
|
|
@ -1,5 +1,6 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/dashboard/dashboard_actions.dart';
|
||||
|
|
@ -15,6 +16,7 @@ class ListScaffold extends StatelessWidget {
|
|||
const ListScaffold({
|
||||
@required this.appBarTitle,
|
||||
@required this.body,
|
||||
this.entityType,
|
||||
this.appBarActions,
|
||||
this.bottomNavigationBar,
|
||||
this.floatingActionButton,
|
||||
|
|
@ -26,6 +28,7 @@ class ListScaffold extends StatelessWidget {
|
|||
this.showCheckbox = false,
|
||||
});
|
||||
|
||||
final EntityType entityType;
|
||||
final Widget body;
|
||||
final AppBottomBar bottomNavigationBar;
|
||||
final FloatingActionButton floatingActionButton;
|
||||
|
|
@ -78,6 +81,13 @@ class ListScaffold extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
);
|
||||
} else if (entityType != null) {
|
||||
leading = IconButton(
|
||||
icon: Icon(Icons.add),
|
||||
onPressed: () {
|
||||
createEntityByType(entityType: entityType, context: context);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
return WillPopScope(
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ class ClientScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.client,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.clientList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class CompanyGatewayScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.companyGateway,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.companyGatewayList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ class CreditScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.credit,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.creditList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ class DesignScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.design,
|
||||
isSettings: true,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.designList.length,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class DocumentScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.document,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.documentList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ class ExpenseScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.expense,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.expenseList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ class GroupSettingsScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.group,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.groupList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ class InvoiceScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.invoice,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.invoiceList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ class PaymentScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.payment,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.paymentList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class ProductScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.product,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.productList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class ProjectScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.project,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.projectList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ class QuoteScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.quote,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.quoteList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ class TaskScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.task,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.taskList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class TaxRateSettingsScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.taxRate,
|
||||
isSettings: true,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.taxRateList.length,
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ class UserScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.user,
|
||||
isSettings: true,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.userList.length,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class VendorScreen extends StatelessWidget {
|
|||
final isInMultiselect = listUIState.isInMultiselect();
|
||||
|
||||
return ListScaffold(
|
||||
entityType: EntityType.vendor,
|
||||
isChecked: isInMultiselect &&
|
||||
listUIState.selectedIds.length == viewModel.vendorList.length,
|
||||
showCheckbox: isInMultiselect,
|
||||
|
|
|
|||
Loading…
Reference in New Issue