From 2ad541ebb22c9e5453a08f801ded165be67a11b9 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Thu, 26 Nov 2020 17:55:46 +0200 Subject: [PATCH] Add task columns --- lib/data/models/invoice_model.dart | 14 +++++++++++ lib/ui/settings/invoice_design.dart | 36 +++++++++++++++++++++-------- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/lib/data/models/invoice_model.dart b/lib/data/models/invoice_model.dart index 8b135f99d..0274d5a99 100644 --- a/lib/data/models/invoice_model.dart +++ b/lib/data/models/invoice_model.dart @@ -999,6 +999,20 @@ class ProductItemFields { static const String custom4 = 'custom4'; } +class TaskItemFields { + static const String productKey = 'product_key'; + static const String description = 'description'; + static const String rate = 'rate'; + static const String tax = 'tax'; + static const String hours = 'hours'; + static const String lineTotal = 'line_total'; + static const String discount = 'discount'; + static const String custom1 = 'custom1'; + static const String custom2 = 'custom2'; + static const String custom3 = 'custom3'; + static const String custom4 = 'custom4'; +} + abstract class InvoiceItemEntity implements Built { factory InvoiceItemEntity({String productKey, double quantity}) { diff --git a/lib/ui/settings/invoice_design.dart b/lib/ui/settings/invoice_design.dart index 72d600b77..1fe2644f9 100644 --- a/lib/ui/settings/invoice_design.dart +++ b/lib/ui/settings/invoice_design.dart @@ -54,7 +54,7 @@ class _InvoiceDesignState extends State void initState() { super.initState(); _focusNode = FocusScopeNode(); - _controller = TabController(vsync: this, length: 10); + _controller = TabController(vsync: this, length: 11); } @override @@ -90,10 +90,8 @@ class _InvoiceDesignState extends State Tab(text: localization.quoteDetails), Tab(text: localization.creditDetails), Tab(text: localization.productColumns), - Tab(text: localization.totalFields), - /* Tab(text: localization.taskColumns), - */ + Tab(text: localization.totalFields), ], ), body: AppTabForm( @@ -538,22 +536,40 @@ class _InvoiceDesignState extends State prefix: 'product', ), ), - /* FormCard( child: MultiSelectList( - options: [], - defaultSelected: [], + options: [ + TaskItemFields.productKey, + TaskItemFields.description, + TaskItemFields.hours, + TaskItemFields.rate, + TaskItemFields.tax, + TaskItemFields.discount, + TaskItemFields.lineTotal, + TaskItemFields.custom1, + TaskItemFields.custom2, + TaskItemFields.custom3, + TaskItemFields.custom4, + ].map((field) => '\$task.$field').toList(), + defaultSelected: [ + TaskItemFields.productKey, + TaskItemFields.description, + TaskItemFields.rate, + TaskItemFields.hours, + TaskItemFields.discount, + TaskItemFields.tax, + TaskItemFields.lineTotal, + ].map((field) => '\$task.$field').toList(), selected: settings.getFieldsForSection(kPdfFieldsTaskColumns), onSelected: (values) { - viewModel.onSettingsChanged(settings.setFieldsForSection( + viewModel.onSettingsChanged(settings.setFieldsForSection( kPdfFieldsTaskColumns, values)); }, addTitle: localization.addField, liveChanges: true, prefix: 'task', ), - ), - */ + ), FormCard( child: MultiSelectList( options: [