Navigation...
This commit is contained in:
parent
8541a585ce
commit
eee5fe965f
|
|
@ -71,6 +71,7 @@ class EntitiesListTile extends StatelessWidget {
|
|||
this.onLongPress,
|
||||
this.title,
|
||||
this.subtitle,
|
||||
@required this.isFilter,
|
||||
});
|
||||
|
||||
final Function onTap;
|
||||
|
|
@ -78,16 +79,15 @@ class EntitiesListTile extends StatelessWidget {
|
|||
final EntityType entityType;
|
||||
final String title;
|
||||
final String subtitle;
|
||||
final bool isFilter;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final state = store.state;
|
||||
final mainRoute = state.uiState.mainRoute;
|
||||
final isFiltered =
|
||||
isNotMobile(context) && state.uiState.filterEntityType != null;
|
||||
final isFIlterMatch =
|
||||
isFiltered && entityType.toString() == mainRoute.replaceFirst('/', '');
|
||||
final isFilterMatch =
|
||||
isFilter && entityType.toString() == mainRoute.replaceFirst('/', '');
|
||||
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
|
|
@ -95,7 +95,7 @@ class EntitiesListTile extends StatelessWidget {
|
|||
Material(
|
||||
color: Theme.of(context).cardColor,
|
||||
child: SelectedIndicator(
|
||||
isSelected: isFIlterMatch,
|
||||
isSelected: isFilterMatch,
|
||||
isMenu: true,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 10),
|
||||
|
|
@ -103,7 +103,7 @@ class EntitiesListTile extends StatelessWidget {
|
|||
title: Text(title),
|
||||
subtitle: Text(subtitle ?? ''),
|
||||
leading: Icon(getEntityIcon(entityType), size: 18.0),
|
||||
trailing: isFiltered ? null : Icon(Icons.navigate_next),
|
||||
trailing: isFilter ? null : Icon(Icons.navigate_next),
|
||||
onTap: onTap,
|
||||
onLongPress: onLongPress,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/buttons/action_flat_button.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
||||
|
||||
class SaveCancelButtons extends StatelessWidget {
|
||||
const SaveCancelButtons({
|
||||
|
|
|
|||
|
|
@ -12,13 +12,11 @@ import 'package:invoiceninja_flutter/redux/quote/quote_selectors.dart';
|
|||
import 'package:invoiceninja_flutter/redux/task/task_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/FieldGrid.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entities/entity_list_tile.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entities/entity_state_title.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entity_header.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/icon_message.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/lists/list_divider.dart';
|
||||
import 'package:invoiceninja_flutter/ui/client/view/client_view_vm.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
import 'package:invoiceninja_flutter/utils/icons.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ClientOverview extends StatelessWidget {
|
||||
|
|
@ -105,6 +103,7 @@ class ClientOverview extends StatelessWidget {
|
|||
FieldGrid(fields),
|
||||
ListDivider(),
|
||||
EntitiesListTile(
|
||||
isFilter: isFilter,
|
||||
entityType: EntityType.invoice,
|
||||
title: localization.invoices,
|
||||
onTap: () => viewModel.onEntityPressed(context, EntityType.invoice),
|
||||
|
|
@ -115,6 +114,7 @@ class ClientOverview extends StatelessWidget {
|
|||
.present(localization.active, localization.archived),
|
||||
),
|
||||
EntitiesListTile(
|
||||
isFilter: isFilter,
|
||||
entityType: EntityType.payment,
|
||||
title: localization.payments,
|
||||
onTap: () => viewModel.onEntityPressed(context, EntityType.payment),
|
||||
|
|
@ -126,6 +126,7 @@ class ClientOverview extends StatelessWidget {
|
|||
),
|
||||
if (company.isModuleEnabled(EntityType.quote))
|
||||
EntitiesListTile(
|
||||
isFilter: isFilter,
|
||||
entityType: EntityType.quote,
|
||||
title: localization.quotes,
|
||||
onTap: () => viewModel.onEntityPressed(context, EntityType.quote),
|
||||
|
|
@ -137,6 +138,7 @@ class ClientOverview extends StatelessWidget {
|
|||
),
|
||||
if (company.isModuleEnabled(EntityType.credit))
|
||||
EntitiesListTile(
|
||||
isFilter: isFilter,
|
||||
entityType: EntityType.credit,
|
||||
title: localization.credits,
|
||||
onTap: () => viewModel.onEntityPressed(context, EntityType.credit),
|
||||
|
|
@ -148,6 +150,7 @@ class ClientOverview extends StatelessWidget {
|
|||
),
|
||||
if (company.isModuleEnabled(EntityType.project))
|
||||
EntitiesListTile(
|
||||
isFilter: isFilter,
|
||||
entityType: EntityType.project,
|
||||
title: localization.projects,
|
||||
onTap: () => viewModel.onEntityPressed(context, EntityType.project),
|
||||
|
|
@ -159,6 +162,7 @@ class ClientOverview extends StatelessWidget {
|
|||
),
|
||||
if (company.isModuleEnabled(EntityType.task))
|
||||
EntitiesListTile(
|
||||
isFilter: isFilter,
|
||||
entityType: EntityType.task,
|
||||
title: localization.tasks,
|
||||
onTap: () => viewModel.onEntityPressed(context, EntityType.task),
|
||||
|
|
@ -169,6 +173,7 @@ class ClientOverview extends StatelessWidget {
|
|||
),
|
||||
if (company.isModuleEnabled(EntityType.expense))
|
||||
EntitiesListTile(
|
||||
isFilter: isFilter,
|
||||
entityType: EntityType.expense,
|
||||
title: localization.expenses,
|
||||
onTap: () => viewModel.onEntityPressed(context, EntityType.expense),
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ class _GroupViewState extends State<GroupView> {
|
|||
),
|
||||
ListDivider(),
|
||||
EntitiesListTile(
|
||||
isFilter: widget.isFilter,
|
||||
entityType: EntityType.client,
|
||||
title: localization.clients,
|
||||
onTap: () => viewModel.onClientsPressed(context),
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ class _ProjectViewState extends State<ProjectView> {
|
|||
height: 12.0,
|
||||
),
|
||||
EntitiesListTile(
|
||||
isFilter: widget.isFilter,
|
||||
entityType: EntityType.task,
|
||||
title: localization.tasks,
|
||||
onTap: () => viewModel.onTasksPressed(context),
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ class UserView extends StatelessWidget {
|
|||
height: 1.0,
|
||||
),
|
||||
EntitiesListTile(
|
||||
isFilter: isFilter,
|
||||
title: localization.invoices,
|
||||
onTap: () => viewModel.onEntityPressed(context, EntityType.invoice),
|
||||
onLongPress: () =>
|
||||
|
|
@ -53,6 +54,7 @@ class UserView extends StatelessWidget {
|
|||
.present(localization.active, localization.archived),
|
||||
),
|
||||
EntitiesListTile(
|
||||
isFilter: isFilter,
|
||||
entityType: EntityType.payment,
|
||||
title: localization.payments,
|
||||
onTap: () => viewModel.onEntityPressed(context, EntityType.payment),
|
||||
|
|
@ -64,6 +66,7 @@ class UserView extends StatelessWidget {
|
|||
),
|
||||
company.isModuleEnabled(EntityType.quote)
|
||||
? EntitiesListTile(
|
||||
isFilter: isFilter,
|
||||
entityType: EntityType.quote,
|
||||
title: localization.quotes,
|
||||
onTap: () =>
|
||||
|
|
|
|||
Loading…
Reference in New Issue