This commit is contained in:
Hillel Coren 2019-12-01 19:49:06 +02:00
parent 32d04f785e
commit ce4c388580
4 changed files with 48 additions and 8 deletions

View File

@ -9,6 +9,8 @@ import 'package:invoiceninja_flutter/ui/app/forms/decorated_form_field.dart';
import 'package:invoiceninja_flutter/ui/app/forms/discount_field.dart';
import 'package:invoiceninja_flutter/ui/app/forms/user_picker.dart';
import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_details_vm.dart';
import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_items_vm.dart';
import 'package:invoiceninja_flutter/ui/quote/edit/quote_edit_items_vm.dart';
import 'package:invoiceninja_flutter/utils/completers.dart';
import 'package:invoiceninja_flutter/utils/formatting.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
@ -126,6 +128,7 @@ class InvoiceEditDesktopState extends State<InvoiceEditDesktop> {
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Expanded(
child: FormCard(
@ -254,7 +257,8 @@ class InvoiceEditDesktopState extends State<InvoiceEditDesktop> {
),
),
],
)
),
widget.isQuote ? QuoteEditItemsScreen() : InvoiceEditItemsScreen()
],
);
}

View File

@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_items_vm.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
class InvoiceEditItemsTable extends StatelessWidget {
const InvoiceEditItemsTable({this.viewModel});
class InvoiceEditItemsDesktop extends StatelessWidget {
const InvoiceEditItemsDesktop({this.viewModel});
final EntityEditItemsVM viewModel;
@ -12,6 +12,35 @@ class InvoiceEditItemsTable extends StatelessWidget {
final localization = AppLocalization.of(context);
final invoice = viewModel.invoice;
return DataTable(
columns: [
DataColumn(
label: Text(localization.item),
),
DataColumn(
label: Text(localization.description),
),
DataColumn(
label: Text(localization.unitCost),
),
DataColumn(
label: Text(localization.quantity),
),
DataColumn(
label: Text(localization.lineTotal),
),
],
rows: invoice.lineItems.map((item) => DataRow(
cells: [
DataCell(Text(item.productKey)),
DataCell(Text('')),
DataCell(Text('')),
DataCell(Text('')),
DataCell(Text('')),
],
)).toList(),
);
return SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: DataTable(

View File

@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_redux/flutter_redux.dart';
import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_items.dart';
import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_items_desktop.dart';
import 'package:redux/redux.dart';
import 'package:invoiceninja_flutter/redux/invoice/invoice_actions.dart';
import 'package:invoiceninja_flutter/data/models/models.dart';
@ -17,9 +18,15 @@ class InvoiceEditItemsScreen extends StatelessWidget {
return InvoiceEditItemsVM.fromStore(store);
},
builder: (context, viewModel) {
return InvoiceEditItems(
viewModel: viewModel,
);
if (viewModel.state.prefState.isDesktop) {
return InvoiceEditItemsDesktop(
viewModel: viewModel,
);
} else {
return InvoiceEditItems(
viewModel: viewModel,
);
}
},
);
}

View File

@ -2,7 +2,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_redux/flutter_redux.dart';
import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_items.dart';
import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_items_table.dart';
import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_items_desktop.dart';
import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_items_vm.dart';
import 'package:redux/redux.dart';
import 'package:invoiceninja_flutter/redux/quote/quote_actions.dart';
@ -20,7 +20,7 @@ class QuoteEditItemsScreen extends StatelessWidget {
},
builder: (context, viewModel) {
if (viewModel.state.prefState.isDesktop) {
return InvoiceEditItemsTable(
return InvoiceEditItemsDesktop(
viewModel: viewModel,
);
} else {