Enabled sorting invoices by due date

This commit is contained in:
Hillel Coren 2018-11-20 13:58:47 +02:00
parent 778c27c77e
commit 5547103324
5 changed files with 19 additions and 4 deletions

View File

@ -15,9 +15,11 @@ class InvoiceEditDetails extends StatefulWidget {
const InvoiceEditDetails({
Key key,
@required this.viewModel,
this.isQuote = false,
}) : super(key: key);
final EntityEditDetailsVM viewModel;
final bool isQuote;
@override
InvoiceEditDetailsState createState() => InvoiceEditDetailsState();
@ -137,7 +139,9 @@ class InvoiceEditDetailsState extends State<InvoiceEditDetails> {
autocorrect: false,
controller: _invoiceNumberController,
decoration: InputDecoration(
labelText: localization.invoiceNumber,
labelText: widget.isQuote
? localization.quoteNumber
: localization.invoiceNumber,
),
validator: (String val) => val.trim().isEmpty
? AppLocalization.of(context).pleaseEnterAnInvoiceNumber
@ -147,7 +151,9 @@ class InvoiceEditDetailsState extends State<InvoiceEditDetails> {
validator: (String val) => val.trim().isEmpty
? AppLocalization.of(context).pleaseSelectADate
: null,
labelText: localization.invoiceDate,
labelText: widget.isQuote
? localization.quoteDate
: localization.invoiceDate,
selectedDate: invoice.invoiceDate,
onSelected: (date) {
viewModel
@ -155,7 +161,9 @@ class InvoiceEditDetailsState extends State<InvoiceEditDetails> {
},
),
DatePicker(
labelText: localization.dueDate,
labelText: widget.isQuote
? localization.validUntil
: localization.dueDate,
selectedDate: invoice.dueDate,
onSelected: (date) {
viewModel.onChanged(invoice.rebuild((b) => b..dueDate = date));

View File

@ -73,7 +73,11 @@ class InvoiceListItem extends StatelessWidget {
child: filterMatch == null
? Text(invoice.invoiceNumber +
'' +
formatDate(invoice.invoiceDate, context))
formatDate(
invoice.dueDate.isNotEmpty
? invoice.dueDate
: invoice.invoiceDate,
context))
: Text(
filterMatch,
maxLines: 3,

View File

@ -53,6 +53,7 @@ class InvoiceScreen extends StatelessWidget {
sortFields: [
InvoiceFields.invoiceNumber,
InvoiceFields.invoiceDate,
InvoiceFields.dueDate,
InvoiceFields.updatedAt,
],
onSelectedState: (EntityState state, value) {

View File

@ -26,6 +26,7 @@ class QuoteEditDetailsScreen extends StatelessWidget {
builder: (context, viewModel) {
return InvoiceEditDetails(
viewModel: viewModel,
isQuote: true,
);
},
);

View File

@ -59,6 +59,7 @@ class QuoteScreen extends StatelessWidget {
sortFields: [
QuoteFields.quoteNumber,
QuoteFields.quoteDate,
QuoteFields.validUntil,
InvoiceFields.updatedAt,
],
onSelectedState: (EntityState state, value) {