PDF support

This commit is contained in:
Hillel Coren 2019-12-26 21:25:45 +02:00
parent 54098c251d
commit e1490c8aa1
5 changed files with 111 additions and 42 deletions

1
.gitignore vendored
View File

@ -75,6 +75,7 @@
#.android/
#.ios/
lib/generated_plugin_registrant.dart
.flutter-plugins-dependencies
.env.dart
key.properties

View File

@ -3,6 +3,7 @@ import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
import 'package:invoiceninja_flutter/ui/app/debug/state_inspector.dart';
import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart';
import 'package:invoiceninja_flutter/ui/app/loading_indicator.dart';
import 'package:invoiceninja_flutter/ui/app/resources/cached_image.dart';
import 'package:invoiceninja_flutter/utils/pdf.dart';
@ -351,23 +352,24 @@ class SidebarFooter extends StatelessWidget {
return StateInspector();
}),
),
if (state.lastError.isNotEmpty)
IconButton(
icon: Icon(Icons.filter),
onPressed: () => viewPdf(InvoiceEntity(), context),
),
if (state.lastError.isNotEmpty && !kReleaseMode)
IconButton(
icon: Icon(
Icons.warning,
color: Colors.red,
),
onPressed: () => viewPdf(InvoiceEntity(), context),
/*
onPressed: () => showDialog<ErrorDialog>(
context: context,
builder: (BuildContext context) {
return ErrorDialog(
state.lastError,
clearErrorOnDismiss: true,
);
}),
*/
onPressed: () => showDialog<ErrorDialog>(
context: context,
builder: (BuildContext context) {
return ErrorDialog(
state.lastError,
clearErrorOnDismiss: true,
);
}),
),
/*
if (!Platform.isIOS &&
@ -439,13 +441,11 @@ class SidebarFooterCollapsed extends StatelessWidget {
}
void _showAbout(BuildContext context) {
final localization = AppLocalization.of(context);
final ThemeData themeData = Theme.of(context);
final TextStyle aboutTextStyle = themeData.textTheme.body2;
final TextStyle linkStyle =
themeData.textTheme.body2.copyWith(color: themeData.accentColor);
themeData.textTheme.body2.copyWith(color: themeData.accentColor);
showAboutDialog(
context: context,

View File

@ -1,18 +1,15 @@
import 'dart:async';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/data/models/invoice_model.dart';
/*
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:invoiceninja_flutter/ui/app/loading_indicator.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:native_pdf_renderer/native_pdf_renderer.dart';
*/
Future<Null> viewPdf(InvoiceEntity invoice, BuildContext context) async {
/*
final localization = AppLocalization.of(context);
if (Platform.isIOS) {
if (await canLaunch(invoice.invitationBorderlessLink)) {
@ -98,11 +95,8 @@ Future<Null> viewPdf(InvoiceEntity invoice, BuildContext context) async {
),
);
});
*/
}
/*
Future<List<PDFPageImage>> renderPDF(String url) async {
url =
//'https://staging.invoiceninja.com/download/gj5d2udwzowatfsjibarq4eyo4k0cvpd'; // one page
@ -123,4 +117,3 @@ Future<List<PDFPageImage>> renderPDF(String url) async {
return pages;
}
*/

View File

@ -84,7 +84,7 @@ packages:
name: build_runner_core
url: "https://pub.dartlang.org"
source: hosted
version: "4.2.0"
version: "4.3.0"
built_collection:
dependency: "direct main"
description:
@ -190,6 +190,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.3"
extension:
dependency: transitive
description:
name: extension
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.5"
faker:
dependency: "direct dev"
description:
@ -204,6 +211,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "5.1.0"
firebase:
dependency: transitive
description:
name: firebase
url: "https://pub.dartlang.org"
source: hosted
version: "7.1.0"
firebase_auth:
dependency: "direct main"
description:
@ -217,14 +231,21 @@ packages:
name: firebase_core
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.2+1"
version: "0.4.3+1"
firebase_core_platform_interface:
dependency: transitive
description:
name: firebase_core_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
version: "1.0.2"
firebase_core_web:
dependency: transitive
description:
name: firebase_core_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.1+1"
fixnum:
dependency: transitive
description:
@ -301,6 +322,11 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.7.0"
flutter_web_plugins:
dependency: transitive
description: flutter
source: sdk
version: "0.0.0"
font_awesome_flutter:
dependency: "direct main"
description:
@ -333,14 +359,21 @@ packages:
name: google_sign_in
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.14"
version: "4.1.1"
google_sign_in_platform_interface:
dependency: transitive
description:
name: google_sign_in_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
version: "1.0.3"
google_sign_in_web:
dependency: transitive
description:
name: google_sign_in_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.8.2+1"
graphs:
dependency: transitive
description:
@ -389,14 +422,14 @@ packages:
name: image_picker
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.2+1"
version: "0.6.2+3"
in_app_purchase:
dependency: "direct main"
description:
name: in_app_purchase
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.2+3"
version: "0.2.2+4"
intl:
dependency: "direct main"
description:
@ -488,6 +521,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
native_pdf_renderer:
dependency: "direct main"
description:
name: native_pdf_renderer
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.1"
node_interop:
dependency: transitive
description:
@ -543,7 +583,7 @@ packages:
name: path_provider
url: "https://pub.dartlang.org"
source: hosted
version: "1.4.5"
version: "1.5.1"
pedantic:
dependency: transitive
description:
@ -565,6 +605,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.1"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
pool:
dependency: transitive
description:
@ -641,21 +688,35 @@ packages:
name: share
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.3+4"
version: "0.6.3+5"
shared_preferences:
dependency: "direct main"
description:
name: shared_preferences
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.4+8"
version: "0.5.6"
shared_preferences_macos:
dependency: transitive
description:
name: shared_preferences_macos
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.1+3"
shared_preferences_platform_interface:
dependency: transitive
description:
name: shared_preferences_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
version: "1.0.1"
shared_preferences_web:
dependency: transitive
description:
name: shared_preferences_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.2+2"
shelf:
dependency: transitive
description:
@ -723,7 +784,7 @@ packages:
name: sqflite
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.7+3"
version: "1.2.0"
stack_trace:
dependency: transitive
description:
@ -758,7 +819,7 @@ packages:
name: synchronized
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0+2"
version: "2.1.1"
term_glyph:
dependency: transitive
description:
@ -814,14 +875,28 @@ packages:
name: url_launcher
url: "https://pub.dartlang.org"
source: hosted
version: "5.2.7"
version: "5.4.1"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.1+2"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
version: "1.0.5"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.0+2"
usage:
dependency: transitive
description:
@ -849,7 +924,7 @@ packages:
name: vm_service
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.3"
version: "2.1.4"
vm_service_client:
dependency: transitive
description:
@ -877,7 +952,7 @@ packages:
name: webview_flutter
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.17"
version: "0.3.18+1"
xml:
dependency: transitive
description:
@ -901,4 +976,4 @@ packages:
version: "0.8.0"
sdks:
dart: ">=2.6.0 <3.0.0"
flutter: ">=1.10.15-pre.148 <2.0.0"
flutter: ">=1.12.13+hotfix.4 <2.0.0"

View File

@ -40,7 +40,7 @@ dependencies:
flutter_json_widget: ^1.0.2
webview_flutter: ^0.3.15+1
timeago: ^2.0.22
#native_pdf_renderer: any
native_pdf_renderer: any
flutter_typeahead: ^1.7.0
#quick_actions: ^0.2.1