Tasks
This commit is contained in:
parent
70c6388461
commit
b19eca38ea
|
|
@ -394,6 +394,12 @@ const String kExpenseStatusLogged = '1';
|
||||||
const String kExpenseStatusPending = '2';
|
const String kExpenseStatusPending = '2';
|
||||||
const String kExpenseStatusInvoiced = '3';
|
const String kExpenseStatusInvoiced = '3';
|
||||||
|
|
||||||
|
const kExpenseStatuses = {
|
||||||
|
kExpenseStatusLogged: 'logged',
|
||||||
|
kExpenseStatusPending: 'pending',
|
||||||
|
kExpenseStatusInvoiced: 'invoiced',
|
||||||
|
};
|
||||||
|
|
||||||
const String kDefaultCurrencyId = '1';
|
const String kDefaultCurrencyId = '1';
|
||||||
const String kDefaultDateFormat = '5';
|
const String kDefaultDateFormat = '5';
|
||||||
const String kDefaultAccentColor = '#0091EA';
|
const String kDefaultAccentColor = '#0091EA';
|
||||||
|
|
|
||||||
|
|
@ -138,6 +138,11 @@ class EntityType extends EnumClass {
|
||||||
return [
|
return [
|
||||||
EntityType.vendor,
|
EntityType.vendor,
|
||||||
EntityType.project,
|
EntityType.project,
|
||||||
|
EntityType.expenseCategory,
|
||||||
|
];
|
||||||
|
case EntityType.expenseCategory:
|
||||||
|
return [
|
||||||
|
EntityType.expense,
|
||||||
];
|
];
|
||||||
default:
|
default:
|
||||||
return [];
|
return [];
|
||||||
|
|
|
||||||
|
|
@ -228,7 +228,6 @@ abstract class AppState implements Built<AppState, AppStateBuilder> {
|
||||||
// STARTER: states switch map - do not remove comment
|
// STARTER: states switch map - do not remove comment
|
||||||
case EntityType.expenseCategory:
|
case EntityType.expenseCategory:
|
||||||
return expenseCategoryState.map;
|
return expenseCategoryState.map;
|
||||||
|
|
||||||
case EntityType.recurringInvoice:
|
case EntityType.recurringInvoice:
|
||||||
return recurringInvoiceState.map;
|
return recurringInvoiceState.map;
|
||||||
case EntityType.webhook:
|
case EntityType.webhook:
|
||||||
|
|
|
||||||
|
|
@ -22,13 +22,7 @@ class ErrorDialog extends StatelessWidget {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: Text(localization.error),
|
title: Text(localization.error),
|
||||||
content: error != null
|
content: error != null
|
||||||
? ConstrainedBox(
|
? Text(error.toString())
|
||||||
child: Text(error.toString()),
|
|
||||||
constraints: BoxConstraints(
|
|
||||||
maxWidth: 600,
|
|
||||||
maxHeight: 400,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
: SizedBox(),
|
: SizedBox(),
|
||||||
actions: [
|
actions: [
|
||||||
if (clearErrorOnDismiss && !Config.DEMO_MODE)
|
if (clearErrorOnDismiss && !Config.DEMO_MODE)
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,11 @@ class EntityStatusChip extends StatelessWidget {
|
||||||
label = kCreditStatuses[credit.statusId];
|
label = kCreditStatuses[credit.statusId];
|
||||||
color = CreditStatusColors.colors[credit.statusId];
|
color = CreditStatusColors.colors[credit.statusId];
|
||||||
break;
|
break;
|
||||||
|
case EntityType.expense:
|
||||||
|
final expense = entity as ExpenseEntity;
|
||||||
|
label = kExpenseStatuses[expense.statusId];
|
||||||
|
color = ExpenseStatusColors.colors[expense.statusId];
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
print(
|
print(
|
||||||
'ERROR: unhandled entityType ${entity.entityType} in entity_status_chip.dart');
|
'ERROR: unhandled entityType ${entity.entityType} in entity_status_chip.dart');
|
||||||
|
|
|
||||||
|
|
@ -640,6 +640,11 @@ class EntityScreens extends StatelessWidget {
|
||||||
? RecurringInvoiceEditScreen()
|
? RecurringInvoiceEditScreen()
|
||||||
: RecurringInvoiceViewScreen(isFilter: true);
|
: RecurringInvoiceViewScreen(isFilter: true);
|
||||||
break;
|
break;
|
||||||
|
case EntityType.expenseCategory:
|
||||||
|
leftFilterChild = editingFIlterEntity
|
||||||
|
? ExpenseCategoryEditScreen()
|
||||||
|
: ExpenseCategoryViewScreen(isFilter: true);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
print(
|
print(
|
||||||
'Error: filter view not implemented for ${uiState.filterEntityType}');
|
'Error: filter view not implemented for ${uiState.filterEntityType}');
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart';
|
import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/dismissible_entity.dart';
|
import 'package:invoiceninja_flutter/ui/app/dismissible_entity.dart';
|
||||||
|
import 'package:invoiceninja_flutter/ui/app/entities/entity_status_chip.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/entity_state_label.dart';
|
import 'package:invoiceninja_flutter/ui/app/entity_state_label.dart';
|
||||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||||
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
||||||
|
|
@ -131,6 +132,7 @@ class ExpenseListItem extends StatelessWidget {
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
|
Text(expense.number),
|
||||||
if (!expense.isActive) EntityStateLabel(expense)
|
if (!expense.isActive) EntityStateLabel(expense)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
@ -142,11 +144,11 @@ class ExpenseListItem extends StatelessWidget {
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Text(
|
Text(
|
||||||
(expense.number ?? '') +
|
(expense.publicNotes ?? '') +
|
||||||
(expense.documents.isNotEmpty
|
(expense.documents.isNotEmpty ? ' 📎' : ''),
|
||||||
? ' 📎'
|
style: textStyle,
|
||||||
: ''),
|
maxLines: 1,
|
||||||
style: textStyle),
|
),
|
||||||
Text(subtitle ?? filterMatch,
|
Text(subtitle ?? filterMatch,
|
||||||
maxLines: 3,
|
maxLines: 3,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
|
|
@ -167,6 +169,8 @@ class ExpenseListItem extends StatelessWidget {
|
||||||
style: textStyle,
|
style: textStyle,
|
||||||
textAlign: TextAlign.end,
|
textAlign: TextAlign.end,
|
||||||
),
|
),
|
||||||
|
SizedBox(width: 25),
|
||||||
|
EntityStatusChip(entity: expense),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue