Correct subscription cancel button

This commit is contained in:
Hillel Coren 2021-04-01 16:04:51 +03:00
parent 359349e29b
commit a49b84101e
5 changed files with 11 additions and 2 deletions

View File

@ -37,7 +37,7 @@ class SaveCancelButtons extends StatelessWidget {
return TextButton( return TextButton(
child: Text( child: Text(
cancelLabel ?? localization.cancel, cancelLabel ?? localization.cancel,
style: isHeader && isEnabled style: isHeader && (isEnabled || isCancelEnabled)
? TextStyle(color: store.state.headerTextColor) ? TextStyle(color: store.state.headerTextColor)
: null, : null,
), ),

View File

@ -43,6 +43,7 @@ class CompanyGatewayScreen extends StatelessWidget {
appBarActions: [ appBarActions: [
if (viewModel.isInMultiselect) if (viewModel.isInMultiselect)
SaveCancelButtons( SaveCancelButtons(
isHeader: true,
saveLabel: localization.done, saveLabel: localization.done,
onSavePressed: listUIState.selectedIds.isEmpty onSavePressed: listUIState.selectedIds.isEmpty
? null ? null
@ -80,6 +81,7 @@ class CompanyGatewayScreen extends StatelessWidget {
SaveCancelButtons( SaveCancelButtons(
isEnabled: state.uiState.settingsUIState.isChanged, isEnabled: state.uiState.settingsUIState.isChanged,
isCancelEnabled: true, isCancelEnabled: true,
isHeader: true,
isSaving: state.isSaving, isSaving: state.isSaving,
onSavePressed: viewModel.onSavePressed, onSavePressed: viewModel.onSavePressed,
onCancelPressed: (_) { onCancelPressed: (_) {

View File

@ -1,6 +1,5 @@
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/data/models/company_model.dart';
import 'package:invoiceninja_flutter/data/models/entities.dart'; import 'package:invoiceninja_flutter/data/models/entities.dart';
import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/data/models/models.dart';
import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart';

View File

@ -41,6 +41,7 @@ class _SubscriptionViewState extends State<SubscriptionView> {
return ViewScaffold( return ViewScaffold(
isFilter: widget.isFilter, isFilter: widget.isFilter,
entity: subscription, entity: subscription,
onBackPressed: () => viewModel.onBackPressed(),
body: ScrollableListView( body: ScrollableListView(
children: <Widget>[ children: <Widget>[
EntityHeader( EntityHeader(

View File

@ -3,6 +3,8 @@ import 'package:invoiceninja_flutter/constants.dart';
import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart';
import 'package:invoiceninja_flutter/ui/subscription/subscription_screen.dart';
import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/completers.dart';
import 'package:invoiceninja_flutter/utils/localization.dart'; import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:redux/redux.dart'; import 'package:redux/redux.dart';
@ -45,6 +47,7 @@ class SubscriptionViewVM {
@required this.onEntityAction, @required this.onEntityAction,
@required this.onRefreshed, @required this.onRefreshed,
@required this.isSaving, @required this.isSaving,
@required this.onBackPressed,
@required this.isLoading, @required this.isLoading,
@required this.isDirty, @required this.isDirty,
}); });
@ -71,6 +74,9 @@ class SubscriptionViewVM {
isDirty: subscription.isNew, isDirty: subscription.isNew,
subscription: subscription, subscription: subscription,
onRefreshed: (context) => _handleRefresh(context), onRefreshed: (context) => _handleRefresh(context),
onBackPressed: () {
store.dispatch(UpdateCurrentRoute(SubscriptionScreen.route));
},
onEntityAction: (BuildContext context, EntityAction action) => onEntityAction: (BuildContext context, EntityAction action) =>
handleEntitiesActions(context, [subscription], action, autoPop: true), handleEntitiesActions(context, [subscription], action, autoPop: true),
); );
@ -81,6 +87,7 @@ class SubscriptionViewVM {
final CompanyEntity company; final CompanyEntity company;
final Function(BuildContext, EntityAction) onEntityAction; final Function(BuildContext, EntityAction) onEntityAction;
final Function(BuildContext) onRefreshed; final Function(BuildContext) onRefreshed;
final Function onBackPressed;
final bool isSaving; final bool isSaving;
final bool isLoading; final bool isLoading;
final bool isDirty; final bool isDirty;