Add designs templates
This commit is contained in:
parent
bd1d619604
commit
a7de25323e
|
|
@ -14,14 +14,13 @@ import 'package:invoiceninja_flutter/constants.dart';
|
|||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/document/document_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/product/product_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart';
|
||||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/dialogs.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
import '../document/document_actions.dart';
|
||||
|
||||
class ViewProductList implements PersistUI {
|
||||
ViewProductList({
|
||||
this.force = false,
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
import 'package:invoiceninja_flutter/data/repositories/purchase_order_repository.dart';
|
||||
import 'package:invoiceninja_flutter/redux/document/document_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/expense/expense_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/purchase_order/purchase_order_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/purchase_order/edit/purchase_order_edit_vm.dart';
|
||||
|
|
@ -20,8 +21,6 @@ import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
|
|||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart';
|
||||
|
||||
import '../document/document_actions.dart';
|
||||
|
||||
List<Middleware<AppState>> createStorePurchaseOrdersMiddleware([
|
||||
PurchaseOrderRepository repository = const PurchaseOrderRepository(),
|
||||
]) {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
import 'package:invoiceninja_flutter/redux/document/document_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/payment/payment_actions.dart';
|
||||
|
||||
// Package imports:
|
||||
|
|
@ -20,8 +21,6 @@ import 'package:invoiceninja_flutter/ui/recurring_invoice/recurring_invoice_pdf_
|
|||
import 'package:invoiceninja_flutter/ui/recurring_invoice/recurring_invoice_screen.dart';
|
||||
import 'package:invoiceninja_flutter/ui/recurring_invoice/view/recurring_invoice_view_vm.dart';
|
||||
|
||||
import '../document/document_actions.dart';
|
||||
|
||||
List<Middleware<AppState>> createStoreRecurringInvoicesMiddleware([
|
||||
RecurringInvoiceRepository repository = const RecurringInvoiceRepository(),
|
||||
]) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import 'dart:convert';
|
|||
|
||||
// Flutter imports:
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
// Package imports:
|
||||
|
|
@ -15,6 +14,7 @@ import 'package:http/http.dart';
|
|||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/main_app.dart';
|
||||
import 'package:invoiceninja_flutter/redux/design/design_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/buttons/elevated_button.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart';
|
||||
|
|
@ -40,11 +40,6 @@ import 'package:invoiceninja_flutter/utils/dialogs.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
||||
|
||||
import 'package:invoiceninja_flutter/utils/web_stub.dart'
|
||||
if (dart.library.html) 'package:invoiceninja_flutter/utils/web.dart';
|
||||
|
||||
import '../../redux/design/design_selectors.dart';
|
||||
|
||||
class ClientPdfView extends StatefulWidget {
|
||||
const ClientPdfView({
|
||||
Key? key,
|
||||
|
|
@ -70,7 +65,6 @@ class _ClientPdfViewState extends State<ClientPdfView> {
|
|||
convertDateTimeToSqlDate(DateTime.now().subtract(Duration(days: 365)));
|
||||
String? _endDate = convertDateTimeToSqlDate();
|
||||
String _status = kStatementStatusAll;
|
||||
String? _pdfString;
|
||||
String? _designId;
|
||||
|
||||
@override
|
||||
|
|
@ -86,7 +80,6 @@ class _ClientPdfViewState extends State<ClientPdfView> {
|
|||
}
|
||||
|
||||
final localization = AppLocalization.of(context);
|
||||
final state = widget.viewModel.state;
|
||||
|
||||
setState(() {
|
||||
_isLoading = true;
|
||||
|
|
@ -100,12 +93,6 @@ class _ClientPdfViewState extends State<ClientPdfView> {
|
|||
}
|
||||
} else {
|
||||
_response = response;
|
||||
|
||||
if (kIsWeb && state.prefState.enableNativeBrowser) {
|
||||
_pdfString = 'data:application/pdf;base64,' +
|
||||
base64Encode(response!.bodyBytes);
|
||||
WebUtils.registerWebView(_pdfString);
|
||||
}
|
||||
}
|
||||
|
||||
_isLoading = false;
|
||||
|
|
@ -501,18 +488,14 @@ class _ClientPdfViewState extends State<ClientPdfView> {
|
|||
Expanded(
|
||||
child: _isLoading || _response == null
|
||||
? LoadingIndicator()
|
||||
: (kIsWeb && state.prefState.enableNativeBrowser)
|
||||
? HtmlElementView(viewType: _pdfString!)
|
||||
: PdfPreview(
|
||||
build: (format) => _response!.bodyBytes,
|
||||
canChangeOrientation: false,
|
||||
canChangePageFormat: false,
|
||||
canDebug: false,
|
||||
maxPageWidth: 600,
|
||||
pdfFileName: localization.statement +
|
||||
'_' +
|
||||
client.number +
|
||||
'.pdf',
|
||||
pdfFileName:
|
||||
localization.statement + '_' + client.number + '.pdf',
|
||||
),
|
||||
),
|
||||
],
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@ import 'package:invoiceninja_flutter/data/models/entities.dart';
|
|||
import 'package:invoiceninja_flutter/redux/static/static_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/buttons/elevated_button.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entity_dropdown.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/form_card.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/forms/decorated_form_field.dart';
|
||||
import 'package:invoiceninja_flutter/ui/client/edit/client_edit_vm.dart';
|
||||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import '../../app/form_card.dart';
|
||||
|
||||
class ClientEditShippingAddress extends StatefulWidget {
|
||||
const ClientEditShippingAddress({
|
||||
|
|
|
|||
|
|
@ -6,14 +6,13 @@ import 'package:flutter_styled_toast/flutter_styled_toast.dart';
|
|||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/help_text.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/scrollable_listview.dart';
|
||||
import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_contacts_vm.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
import '../../../redux/app/app_state.dart';
|
||||
|
||||
class InvoiceEditContacts extends StatelessWidget {
|
||||
const InvoiceEditContacts({
|
||||
Key? key,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
// Dart imports:
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
|
||||
// Flutter imports:
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
|
@ -31,9 +30,6 @@ import 'package:invoiceninja_flutter/utils/formatting.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
||||
|
||||
import 'package:invoiceninja_flutter/utils/web_stub.dart'
|
||||
if (dart.library.html) 'package:invoiceninja_flutter/utils/web.dart';
|
||||
|
||||
class InvoicePdfView extends StatefulWidget {
|
||||
const InvoicePdfView({
|
||||
Key? key,
|
||||
|
|
@ -53,7 +49,6 @@ class _InvoicePdfViewState extends State<InvoicePdfView> {
|
|||
bool _isDeliveryNote = false;
|
||||
String? _designId;
|
||||
String? _activityId;
|
||||
String? _pdfString;
|
||||
http.Response? _response;
|
||||
//int _pageCount = 1;
|
||||
//int _currentPage = 1;
|
||||
|
|
@ -75,7 +70,6 @@ class _InvoicePdfViewState extends State<InvoicePdfView> {
|
|||
void loadPdf() {
|
||||
final viewModel = widget.viewModel;
|
||||
final invoice = viewModel.invoice!;
|
||||
final state = viewModel.state;
|
||||
|
||||
if (invoice.invitations.isEmpty) {
|
||||
return;
|
||||
|
|
@ -95,12 +89,6 @@ class _InvoicePdfViewState extends State<InvoicePdfView> {
|
|||
setState(() {
|
||||
_response = response;
|
||||
_isLoading = false;
|
||||
|
||||
if (kIsWeb && state!.prefState.enableNativeBrowser) {
|
||||
_pdfString = 'data:application/pdf;base64,' +
|
||||
base64Encode(response!.bodyBytes);
|
||||
WebUtils.registerWebView(_pdfString);
|
||||
}
|
||||
});
|
||||
}).catchError((Object error) {
|
||||
setState(() {
|
||||
|
|
@ -144,8 +132,7 @@ class _InvoicePdfViewState extends State<InvoicePdfView> {
|
|||
];
|
||||
*/
|
||||
|
||||
final activityPicker =
|
||||
_activityId == null || (kIsWeb && state.prefState.enableNativeBrowser)
|
||||
final activityPicker = _activityId == null
|
||||
? SizedBox()
|
||||
: Expanded(
|
||||
child: Padding(
|
||||
|
|
@ -162,8 +149,7 @@ class _InvoicePdfViewState extends State<InvoicePdfView> {
|
|||
},
|
||||
items: invoice.balanceHistory
|
||||
.map((history) => DropdownMenuItem(
|
||||
child: Text(formatNumber(
|
||||
history.amount, context,
|
||||
child: Text(formatNumber(history.amount, context,
|
||||
clientId: invoice.clientId)! +
|
||||
' • ' +
|
||||
formatDate(
|
||||
|
|
@ -179,7 +165,6 @@ class _InvoicePdfViewState extends State<InvoicePdfView> {
|
|||
);
|
||||
|
||||
final designPicker = _activityId != null ||
|
||||
(kIsWeb && state.prefState.enableNativeBrowser) ||
|
||||
!hasDesignTemplatesForEntityType(
|
||||
state.designState.map, invoice.entityType!)
|
||||
? SizedBox()
|
||||
|
|
@ -289,8 +274,6 @@ class _InvoicePdfViewState extends State<InvoicePdfView> {
|
|||
Expanded(
|
||||
child: _isLoading || _response == null
|
||||
? LoadingIndicator()
|
||||
: (kIsWeb && state.prefState.enableNativeBrowser)
|
||||
? HtmlElementView(viewType: _pdfString!)
|
||||
: PdfPreview(
|
||||
build: (format) => _response!.bodyBytes,
|
||||
canChangeOrientation: false,
|
||||
|
|
|
|||
Loading…
Reference in New Issue