Add chip in edit header

This commit is contained in:
Hillel Coren 2021-09-30 17:49:57 +03:00
parent 1bd6625362
commit bb2741d0eb
13 changed files with 31 additions and 1 deletions

View File

@ -121,6 +121,11 @@ abstract class PrefState implements Built<PrefState, PrefStateBuilder> {
return false; return false;
} }
if ([EntityType.product, EntityType.payment, EntityType.project]
.contains(entityType)) {
return false;
}
return !(useSidebarEditor[entityType.baseType] ?? false); return !(useSidebarEditor[entityType.baseType] ?? false);
} }

View File

@ -5,6 +5,7 @@ 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';
import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart'; import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart';
import 'package:invoiceninja_flutter/ui/app/entities/entity_status_chip.dart';
import 'package:invoiceninja_flutter/ui/app/forms/save_cancel_buttons.dart'; import 'package:invoiceninja_flutter/ui/app/forms/save_cancel_buttons.dart';
import 'package:invoiceninja_flutter/ui/app/icon_message.dart'; import 'package:invoiceninja_flutter/ui/app/icon_message.dart';
import 'package:invoiceninja_flutter/ui/app/menu_drawer_vm.dart'; import 'package:invoiceninja_flutter/ui/app/menu_drawer_vm.dart';
@ -117,7 +118,20 @@ class EditScaffold extends StatelessWidget {
appBar: AppBar( appBar: AppBar(
centerTitle: false, centerTitle: false,
automaticallyImplyLeading: isMobile(context), automaticallyImplyLeading: isMobile(context),
title: Text(title), title: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(title),
if (entity != null &&
entity.isOld &&
isDesktop(context) &&
state.prefState.isEditorFullScreen(entity.entityType)) ...[
SizedBox(width: 16),
EntityStatusChip(
entity: state.getEntity(entity.entityType, entity.id)),
],
],
),
actions: <Widget>[ actions: <Widget>[
SaveCancelButtons( SaveCancelButtons(
isEnabled: isEnabled && onSavePressed != null, isEnabled: isEnabled && onSavePressed != null,

View File

@ -107,6 +107,7 @@ class _CompanyGatewayEditState extends State<CompanyGatewayEdit>
.isEnabled); .isEnabled);
return EditScaffold( return EditScaffold(
entity: companyGateway,
title: viewModel.companyGateway.isNew title: viewModel.companyGateway.isNew
? localization.newCompanyGateway ? localization.newCompanyGateway
: origCompanyGateway.listDisplayName, : origCompanyGateway.listDisplayName,

View File

@ -219,6 +219,7 @@ class _DesignEditState extends State<DesignEdit>
final design = viewModel.design; final design = viewModel.design;
return EditScaffold( return EditScaffold(
entity: design,
isFullscreen: true, isFullscreen: true,
title: design.isNew ? localization.newDesign : localization.editDesign, title: design.isNew ? localization.newDesign : localization.editDesign,
onCancelPressed: (context) => viewModel.onCancelPressed(context), onCancelPressed: (context) => viewModel.onCancelPressed(context),

View File

@ -76,6 +76,7 @@ class _ExpenseCategoryEditState extends State<ExpenseCategoryEdit> {
final expenseCategory = viewModel.expenseCategory; final expenseCategory = viewModel.expenseCategory;
return EditScaffold( return EditScaffold(
entity: expenseCategory,
title: expenseCategory.isNew title: expenseCategory.isNew
? localization.newExpenseCategory ? localization.newExpenseCategory
: localization.editExpenseCategory, : localization.editExpenseCategory,

View File

@ -77,6 +77,7 @@ class _GroupEditState extends State<GroupEdit> {
final group = viewModel.group; final group = viewModel.group;
return EditScaffold( return EditScaffold(
entity: group,
onCancelPressed: (context) => viewModel.onCancelPressed(context), onCancelPressed: (context) => viewModel.onCancelPressed(context),
title: group.isNew ? localization.newGroup : localization.editGroup, title: group.isNew ? localization.newGroup : localization.editGroup,
onSavePressed: (context) { onSavePressed: (context) {

View File

@ -74,6 +74,7 @@ class _PaymentTermEditState extends State<PaymentTermEdit> {
final localization = AppLocalization.of(context); final localization = AppLocalization.of(context);
return EditScaffold( return EditScaffold(
entity: viewModel.paymentTerm,
title: viewModel.paymentTerm.isNew title: viewModel.paymentTerm.isNew
? localization.newPaymentTerm ? localization.newPaymentTerm
: localization.editPaymentTerm, : localization.editPaymentTerm,

View File

@ -88,6 +88,7 @@ class _RecurringInvoiceEditState extends State<RecurringInvoiceEdit>
final isFullscreen = prefState.isEditorFullScreen(EntityType.invoice); final isFullscreen = prefState.isEditorFullScreen(EntityType.invoice);
return EditScaffold( return EditScaffold(
entity: invoice,
isFullscreen: isFullscreen, isFullscreen: isFullscreen,
title: recurringInvoice.isNew title: recurringInvoice.isNew
? localization.newRecurringInvoice ? localization.newRecurringInvoice

View File

@ -179,6 +179,7 @@ class _SubscriptionEditState extends State<SubscriptionEdit>
final value = _postPurchaseHeaderValueController.text.trim(); final value = _postPurchaseHeaderValueController.text.trim();
return EditScaffold( return EditScaffold(
entity: subscription,
title: subscription.isNew title: subscription.isNew
? localization.newSubscription ? localization.newSubscription
: localization.editSubscription, : localization.editSubscription,

View File

@ -74,6 +74,7 @@ class _TaskStatusEditState extends State<TaskStatusEdit> {
final taskStatus = viewModel.taskStatus; final taskStatus = viewModel.taskStatus;
return EditScaffold( return EditScaffold(
entity: taskStatus,
title: taskStatus.isNew title: taskStatus.isNew
? localization.newTaskStatus ? localization.newTaskStatus
: localization.editTaskStatus, : localization.editTaskStatus,

View File

@ -81,6 +81,7 @@ class _TaxRateEditState extends State<TaxRateEdit> {
final localization = AppLocalization.of(context); final localization = AppLocalization.of(context);
return EditScaffold( return EditScaffold(
entity: viewModel.taxRate,
title: viewModel.taxRate.isNew title: viewModel.taxRate.isNew
? localization.newTaxRate ? localization.newTaxRate
: localization.editTaxRate, : localization.editTaxRate,

View File

@ -73,6 +73,7 @@ class _TokenEditState extends State<TokenEdit> {
final token = viewModel.token; final token = viewModel.token;
return EditScaffold( return EditScaffold(
entity: token,
title: token.isNew ? localization.newToken : localization.editToken, title: token.isNew ? localization.newToken : localization.editToken,
onCancelPressed: (context) => viewModel.onCancelPressed(context), onCancelPressed: (context) => viewModel.onCancelPressed(context),
onSavePressed: (context) { onSavePressed: (context) {

View File

@ -83,6 +83,7 @@ class _WebhookEditState extends State<WebhookEdit> {
final value = _headerValueController.text.trim(); final value = _headerValueController.text.trim();
return EditScaffold( return EditScaffold(
entity: webhook,
title: webhook.isNew ? localization.newWebhook : localization.editWebhook, title: webhook.isNew ? localization.newWebhook : localization.editWebhook,
onCancelPressed: (context) => viewModel.onCancelPressed(context), onCancelPressed: (context) => viewModel.onCancelPressed(context),
onSavePressed: (context) { onSavePressed: (context) {