Add designs templates

This commit is contained in:
Hillel Coren 2023-11-09 18:54:21 +02:00
parent bd1d619604
commit a7de25323e
7 changed files with 58 additions and 96 deletions

View File

@ -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,

View File

@ -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(),
]) {

View File

@ -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(),
]) {

View File

@ -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',
),
),
],

View File

@ -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({

View File

@ -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,

View File

@ -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,