Add more actions to the edit screen

This commit is contained in:
Hillel Coren 2022-02-27 15:38:12 +02:00
parent aefba83da7
commit 3d7738a763
16 changed files with 33 additions and 7 deletions

View File

@ -546,6 +546,7 @@ Future handleCreditAction(
..entityType = EntityType.quote
..designId = designId));
break;
case EntityAction.clone:
case EntityAction.cloneToCredit:
createEntity(context: context, entity: credit.clone);
break;

View File

@ -546,6 +546,7 @@ Future handleQuoteAction(
..entityType = EntityType.invoice
..designId = designId));
break;
case EntityAction.clone:
case EntityAction.cloneToQuote:
createEntity(context: context, entity: quote.clone);
break;

View File

@ -396,6 +396,7 @@ void handleRecurringExpenseAction(BuildContext context,
.rebuild((b) => b..entityType = EntityType.expense),
);
break;
case EntityAction.clone:
case EntityAction.cloneToRecurring:
createEntity(
context: context,

View File

@ -463,6 +463,7 @@ void handleRecurringInvoiceAction(BuildContext context,
case EntityAction.cloneToOther:
cloneToDialog(context: context, invoice: recurringInvoice);
break;
case EntityAction.clone:
case EntityAction.cloneToRecurring:
createEntity(context: context, entity: recurringInvoice.clone);
break;

View File

@ -100,6 +100,7 @@ class _CreditEditState extends State<CreditEdit>
EntityAction.download,
EntityAction.emailCredit,
if (!invoice.isSent) EntityAction.markSent,
if (invoice.isOld) EntityAction.clone,
],
onActionPressed: (context, action) => _onSavePressed(context, action),
appBarBottom: TabBar(

View File

@ -98,6 +98,7 @@ class CreditEditVM extends AbstractInvoiceEditVM {
EntityAction.emailCredit,
EntityAction.viewPdf,
EntityAction.download,
EntityAction.clone,
].contains(action)) {
handleEntityAction(credit, action);
} else {
@ -134,6 +135,7 @@ class CreditEditVM extends AbstractInvoiceEditVM {
EntityAction.emailCredit,
EntityAction.viewPdf,
EntityAction.download,
EntityAction.clone,
].contains(action)) {
handleEntityAction(savedCredit, action);
}

View File

@ -99,7 +99,7 @@ class _ExpenseEditState extends State<ExpenseEdit>
actions: [
if (expense.isRecurring)
if (expense.isRunning) EntityAction.stop else EntityAction.start,
EntityAction.clone,
if (expense.isOld) EntityAction.clone,
if (!expense.isRecurring) EntityAction.invoiceExpense,
],
onActionPressed: (context, action) => _onSavePressed(context, action),

View File

@ -178,7 +178,7 @@ class ExpenseEditVM extends AbstractExpenseEditVM {
if ([
EntityAction.invoiceExpense,
if (expense.isOld) EntityAction.clone,
EntityAction.clone,
].contains(action)) {
handleEntityAction(savedExpense, action);
}

View File

@ -186,7 +186,7 @@ class InvoiceEditVM extends AbstractInvoiceEditVM {
EntityAction.emailInvoice,
EntityAction.viewPdf,
EntityAction.download,
if (invoice.isOld) EntityAction.clone,
EntityAction.clone,
].contains(action)) {
handleEntityAction(savedInvoice, action);
}

View File

@ -98,6 +98,7 @@ class QuoteEditVM extends AbstractInvoiceEditVM {
EntityAction.viewPdf,
EntityAction.download,
EntityAction.viewInvoice,
EntityAction.clone,
].contains(action)) {
handleEntityAction(quote, action);
} else {
@ -134,6 +135,7 @@ class QuoteEditVM extends AbstractInvoiceEditVM {
EntityAction.viewPdf,
EntityAction.download,
EntityAction.viewInvoice,
EntityAction.clone,
].contains(action)) {
handleEntityAction(savedQuote, action);
}

View File

@ -103,6 +103,7 @@ class _QuoteEditState extends State<QuoteEdit>
invoice.invoiceId.isEmpty
? EntityAction.convertToInvoice
: EntityAction.viewInvoice,
if (invoice.isOld) EntityAction.clone,
],
onActionPressed: (context, action) => _onSavePressed(context, action),
appBarBottom: TabBar(

View File

@ -167,7 +167,8 @@ class RecurringExpenseEditVM extends AbstractExpenseEditVM {
if ([
EntityAction.start,
EntityAction.stop,
if (recurringExpense.isOld) EntityAction.clone,
EntityAction.clone,
EntityAction.viewPdf,
].contains(action)) {
handleEntityAction(savedRecurringExpense, action);
}

View File

@ -103,6 +103,7 @@ class _RecurringInvoiceEditState extends State<RecurringInvoiceEdit>
else
EntityAction.stop,
EntityAction.viewPdf,
if (invoice.isOld) EntityAction.clone,
],
onActionPressed: (context, action) => _onSavePressed(context, action),
appBarBottom: TabBar(

View File

@ -95,7 +95,12 @@ class RecurringInvoiceEditVM extends AbstractInvoiceEditVM {
if (recurringInvoice.isOld &&
!hasRecurringInvoiceChanges(
recurringInvoice, state.recurringInvoiceState.map) &&
action != null) {
[
EntityAction.start,
EntityAction.stop,
EntityAction.viewPdf,
EntityAction.clone,
].contains(action)) {
handleEntityAction(recurringInvoice, action);
} else {
final Completer<InvoiceEntity> completer =
@ -127,6 +132,15 @@ class RecurringInvoiceEditVM extends AbstractInvoiceEditVM {
entity: savedRecurringInvoice);
}
}
if ([
EntityAction.start,
EntityAction.stop,
EntityAction.viewPdf,
EntityAction.clone,
].contains(action)) {
handleEntityAction(savedRecurringInvoice, action);
}
}).catchError((Object error) {
showDialog<ErrorDialog>(
context: navigatorKey.currentContext,

View File

@ -104,7 +104,7 @@ class _TaskEditState extends State<TaskEdit>
_onSavePressed(context, action),
actions: [
EntityAction.invoiceTask,
EntityAction.clone,
if (task.isOld) EntityAction.clone,
],
onActionPressed: (context, action) => _onSavePressed(context, action),
appBarBottom: TabBar(

View File

@ -129,7 +129,7 @@ class TaskEditVM {
if ([
EntityAction.invoiceTask,
if (task.isOld) EntityAction.clone,
EntityAction.clone,
].contains(action)) {
handleEntityAction(savedTask, action);
}