mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-06 07:15:43 -06:00
feat: Fix documents not being displayed
This commit is contained in:
@@ -1,2 +1,3 @@
|
|||||||
|
- Dokumente können jetzt wieder in der App betrachtet werden!
|
||||||
- Beheben eines Problems mit mTLS
|
- Beheben eines Problems mit mTLS
|
||||||
- Kleinere Fehlerbehebungen
|
- Kleinere Fehlerbehebungen
|
||||||
@@ -1,2 +1,3 @@
|
|||||||
|
- Documents (PDFs) can again be viewed in-app!
|
||||||
- Fix issue with mTLS
|
- Fix issue with mTLS
|
||||||
- Some minor bug fixes
|
- Some minor bug fixes
|
||||||
@@ -167,7 +167,8 @@ class _DocumentEditPageState extends State<DocumentEditPage>
|
|||||||
child: DocumentView(
|
child: DocumentView(
|
||||||
showAppBar: false,
|
showAppBar: false,
|
||||||
showControls: false,
|
showControls: false,
|
||||||
documentBytes: context
|
title: state.document.title,
|
||||||
|
bytes: context
|
||||||
.read<PaperlessDocumentsApi>()
|
.read<PaperlessDocumentsApi>()
|
||||||
.downloadDocument(state.document.id),
|
.downloadDocument(state.document.id),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ class _ScannerPageState extends State<ScannerPage>
|
|||||||
? () => Navigator.of(context).push(
|
? () => Navigator.of(context).push(
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (context) => DocumentView(
|
builder: (context) => DocumentView(
|
||||||
documentBytes: _assembleFileBytes(
|
bytes: _assembleFileBytes(
|
||||||
state.scans,
|
state.scans,
|
||||||
forcePdf: true,
|
forcePdf: true,
|
||||||
).then((file) => file.bytes),
|
).then((file) => file.bytes),
|
||||||
|
|||||||
@@ -1,155 +1,3 @@
|
|||||||
// import 'dart:async';
|
|
||||||
// import 'dart:developer';
|
|
||||||
|
|
||||||
// import 'package:flutter/foundation.dart';
|
|
||||||
// import 'package:flutter/material.dart';
|
|
||||||
// import 'package:flutter_animate/flutter_animate.dart';
|
|
||||||
// import 'package:paperless_mobile/core/extensions/flutter_extensions.dart';
|
|
||||||
// import 'package:pdfx/pdfx.dart';
|
|
||||||
|
|
||||||
// class DocumentView extends StatefulWidget {
|
|
||||||
// final String? filePath;
|
|
||||||
// final Future<Uint8List>? bytes;
|
|
||||||
// final String? title;
|
|
||||||
// final bool showAppBar;
|
|
||||||
// final bool showControls;
|
|
||||||
// const DocumentView({
|
|
||||||
// super.key,
|
|
||||||
// this.bytes,
|
|
||||||
// this.showAppBar = true,
|
|
||||||
// this.showControls = true,
|
|
||||||
// this.title,
|
|
||||||
// this.filePath,
|
|
||||||
// }) : assert(bytes != null || filePath != null);
|
|
||||||
|
|
||||||
// @override
|
|
||||||
// State<DocumentView> createState() => _DocumentViewState();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// class _DocumentViewState extends State<DocumentView> {
|
|
||||||
// late final PdfController _controller;
|
|
||||||
// int _currentPage = 1;
|
|
||||||
// int? _totalPages;
|
|
||||||
// @override
|
|
||||||
// void initState() {
|
|
||||||
// super.initState();
|
|
||||||
// Future<PdfDocument> document;
|
|
||||||
// document = PdfDocument.openAsset("assets/example/sample.pdf");
|
|
||||||
// // if (widget.bytes != null) {
|
|
||||||
// // document = widget.bytes!.then((value) => PdfDocument.openData(value));
|
|
||||||
// // } else {
|
|
||||||
// // document = PdfDocument.openFile(widget.filePath!);
|
|
||||||
// // }
|
|
||||||
// _controller = PdfController(document: document);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @override
|
|
||||||
// void didChangeDependencies() {
|
|
||||||
// super.didChangeDependencies();
|
|
||||||
// log("Did change dependencies LOL");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @override
|
|
||||||
// void dispose() {
|
|
||||||
// _controller.dispose();
|
|
||||||
// super.dispose();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @override
|
|
||||||
// Widget build(BuildContext context) {
|
|
||||||
// final pageTransitionDuration = MediaQuery.disableAnimationsOf(context)
|
|
||||||
// ? 0.milliseconds
|
|
||||||
// : 100.milliseconds;
|
|
||||||
// final canGoToNextPage = _totalPages != null && _currentPage < _totalPages!;
|
|
||||||
// final canGoToPreviousPage =
|
|
||||||
// _controller.pagesCount != null && _currentPage > 1;
|
|
||||||
// return Scaffold(
|
|
||||||
// appBar: widget.showAppBar
|
|
||||||
// ? AppBar(
|
|
||||||
// title: widget.title != null ? Text(widget.title!) : null,
|
|
||||||
// )
|
|
||||||
// : null,
|
|
||||||
// bottomNavigationBar: widget.showControls
|
|
||||||
// ? BottomAppBar(
|
|
||||||
// child: Row(
|
|
||||||
// children: [
|
|
||||||
// Flexible(
|
|
||||||
// child: Row(
|
|
||||||
// children: [
|
|
||||||
// IconButton.filled(
|
|
||||||
// onPressed: canGoToPreviousPage
|
|
||||||
// ? () async {
|
|
||||||
// await _controller.previousPage(
|
|
||||||
// duration: pageTransitionDuration,
|
|
||||||
// curve: Curves.easeOut,
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// : null,
|
|
||||||
// icon: const Icon(Icons.arrow_left),
|
|
||||||
// ),
|
|
||||||
// const SizedBox(width: 16),
|
|
||||||
// IconButton.filled(
|
|
||||||
// onPressed: canGoToNextPage
|
|
||||||
// ? () async {
|
|
||||||
// await _controller.nextPage(
|
|
||||||
// duration: pageTransitionDuration,
|
|
||||||
// curve: Curves.easeOut,
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// : null,
|
|
||||||
// icon: const Icon(Icons.arrow_right),
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// // PdfPageNumber(
|
|
||||||
// // controller: _controller,
|
|
||||||
// // builder: (context, loadingState, page, pagesCount) {
|
|
||||||
// // if (loadingState != PdfLoadingState.success) {
|
|
||||||
// // return const Text("-/-");
|
|
||||||
// // }
|
|
||||||
// // return Text(
|
|
||||||
// // "$page/$pagesCount",
|
|
||||||
// // style: Theme.of(context).textTheme.titleMedium,
|
|
||||||
// // ).padded();
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// )
|
|
||||||
// : null,
|
|
||||||
// body: PdfView(
|
|
||||||
// builders: PdfViewBuilders<DefaultBuilderOptions>(
|
|
||||||
// options: const DefaultBuilderOptions(),
|
|
||||||
// documentLoaderBuilder: (_) =>
|
|
||||||
// const Center(child: CircularProgressIndicator()),
|
|
||||||
// pageLoaderBuilder: (_) =>
|
|
||||||
// const Center(child: CircularProgressIndicator()),
|
|
||||||
// errorBuilder: (p0, error) {
|
|
||||||
// return Center(
|
|
||||||
// child: Text(error.toString()),
|
|
||||||
// );
|
|
||||||
// },
|
|
||||||
// ),
|
|
||||||
// controller: _controller,
|
|
||||||
// ),
|
|
||||||
// // PdfView(
|
|
||||||
// // controller: _controller,
|
|
||||||
// // onDocumentLoaded: (document) {
|
|
||||||
// // setState(() {
|
|
||||||
// // _totalPages = document.pagesCount;
|
|
||||||
// // });
|
|
||||||
// // },
|
|
||||||
// // onPageChanged: (page) {
|
|
||||||
// // setState(() {
|
|
||||||
// // _currentPage = page;
|
|
||||||
// // });
|
|
||||||
// // },
|
|
||||||
// // ),
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_animate/flutter_animate.dart';
|
import 'package:flutter_animate/flutter_animate.dart';
|
||||||
@@ -157,13 +5,13 @@ import 'package:paperless_mobile/core/extensions/flutter_extensions.dart';
|
|||||||
import 'package:pdfx/pdfx.dart';
|
import 'package:pdfx/pdfx.dart';
|
||||||
|
|
||||||
class DocumentView extends StatefulWidget {
|
class DocumentView extends StatefulWidget {
|
||||||
final Future<Uint8List> documentBytes;
|
final Future<Uint8List> bytes;
|
||||||
final String? title;
|
final String? title;
|
||||||
final bool showAppBar;
|
final bool showAppBar;
|
||||||
final bool showControls;
|
final bool showControls;
|
||||||
const DocumentView({
|
const DocumentView({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.documentBytes,
|
required this.bytes,
|
||||||
this.showAppBar = true,
|
this.showAppBar = true,
|
||||||
this.showControls = true,
|
this.showControls = true,
|
||||||
this.title,
|
this.title,
|
||||||
@@ -180,8 +28,7 @@ class _DocumentViewState extends State<DocumentView> {
|
|||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
final document =
|
final document = widget.bytes.then((value) => PdfDocument.openData(value));
|
||||||
widget.documentBytes.then((value) => PdfDocument.openData(value));
|
|
||||||
_controller = PdfController(document: document);
|
_controller = PdfController(document: document);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -257,16 +104,334 @@ class _DocumentViewState extends State<DocumentView> {
|
|||||||
body: PdfView(
|
body: PdfView(
|
||||||
controller: _controller,
|
controller: _controller,
|
||||||
onDocumentLoaded: (document) {
|
onDocumentLoaded: (document) {
|
||||||
setState(() {
|
if (mounted) {
|
||||||
_totalPages = document.pagesCount;
|
setState(() {
|
||||||
});
|
_totalPages = document.pagesCount;
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onPageChanged: (page) {
|
onPageChanged: (page) {
|
||||||
setState(() {
|
if (mounted) {
|
||||||
_currentPage = page;
|
setState(() {
|
||||||
});
|
_currentPage = page;
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// import 'dart:async';
|
||||||
|
// import 'dart:developer';
|
||||||
|
|
||||||
|
// import 'package:flutter/foundation.dart';
|
||||||
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:flutter_animate/flutter_animate.dart';
|
||||||
|
// import 'package:paperless_mobile/core/extensions/flutter_extensions.dart';
|
||||||
|
// import 'package:pdfx/pdfx.dart';
|
||||||
|
|
||||||
|
// class DocumentView extends StatefulWidget {
|
||||||
|
// final String? filePath;
|
||||||
|
// final Future<Uint8List>? bytes;
|
||||||
|
// final String? title;
|
||||||
|
// final bool showAppBar;
|
||||||
|
// final bool showControls;
|
||||||
|
// const DocumentView({
|
||||||
|
// super.key,
|
||||||
|
// this.bytes,
|
||||||
|
// this.showAppBar = true,
|
||||||
|
// this.showControls = true,
|
||||||
|
// this.title,
|
||||||
|
// this.filePath,
|
||||||
|
// }) : assert(bytes != null || filePath != null);
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// State<DocumentView> createState() => _DocumentViewState();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// class _DocumentViewState extends State<DocumentView> {
|
||||||
|
// late final PdfController _controller;
|
||||||
|
// int _currentPage = 1;
|
||||||
|
// int? _totalPages;
|
||||||
|
// @override
|
||||||
|
// void initState() {
|
||||||
|
// super.initState();
|
||||||
|
// Future<PdfDocument> document;
|
||||||
|
// if (widget.bytes != null) {
|
||||||
|
// document = widget.bytes!.then((value) => PdfDocument.openData(value));
|
||||||
|
// } else {
|
||||||
|
// document = PdfDocument.openFile(widget.filePath!);
|
||||||
|
// }
|
||||||
|
// _controller = PdfController(document: document);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// void didChangeDependencies() {
|
||||||
|
// super.didChangeDependencies();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// void dispose() {
|
||||||
|
// _controller.dispose();
|
||||||
|
// super.dispose();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// Widget build(BuildContext context) {
|
||||||
|
// final pageTransitionDuration = MediaQuery.disableAnimationsOf(context)
|
||||||
|
// ? 0.milliseconds
|
||||||
|
// : 100.milliseconds;
|
||||||
|
// final canGoToNextPage = _totalPages != null && _currentPage < _totalPages!;
|
||||||
|
// final canGoToPreviousPage =
|
||||||
|
// _controller.pagesCount != null && _currentPage > 1;
|
||||||
|
// return Scaffold(
|
||||||
|
// appBar: widget.showAppBar
|
||||||
|
// ? AppBar(
|
||||||
|
// title: widget.title != null ? Text(widget.title!) : null,
|
||||||
|
// )
|
||||||
|
// : null,
|
||||||
|
// bottomNavigationBar: widget.showControls
|
||||||
|
// ? BottomAppBar(
|
||||||
|
// child: Row(
|
||||||
|
// children: [
|
||||||
|
// Flexible(
|
||||||
|
// child: Row(
|
||||||
|
// children: [
|
||||||
|
// IconButton.filled(
|
||||||
|
// onPressed: canGoToPreviousPage
|
||||||
|
// ? () async {
|
||||||
|
// await _controller.previousPage(
|
||||||
|
// duration: pageTransitionDuration,
|
||||||
|
// curve: Curves.easeOut,
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// : null,
|
||||||
|
// icon: const Icon(Icons.arrow_left),
|
||||||
|
// ),
|
||||||
|
// const SizedBox(width: 16),
|
||||||
|
// IconButton.filled(
|
||||||
|
// onPressed: canGoToNextPage
|
||||||
|
// ? () async {
|
||||||
|
// await _controller.nextPage(
|
||||||
|
// duration: pageTransitionDuration,
|
||||||
|
// curve: Curves.easeOut,
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// : null,
|
||||||
|
// icon: const Icon(Icons.arrow_right),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// PdfPageNumber(
|
||||||
|
// controller: _controller,
|
||||||
|
// builder: (context, loadingState, page, pagesCount) {
|
||||||
|
// if (loadingState != PdfLoadingState.success) {
|
||||||
|
// return const Text("-/-");
|
||||||
|
// }
|
||||||
|
// return Text(
|
||||||
|
// "$page/$pagesCount",
|
||||||
|
// style: Theme.of(context).textTheme.titleMedium,
|
||||||
|
// ).padded();
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// )
|
||||||
|
// : null,
|
||||||
|
// body: PdfView(
|
||||||
|
// builders: PdfViewBuilders<DefaultBuilderOptions>(
|
||||||
|
// options: const DefaultBuilderOptions(),
|
||||||
|
// documentLoaderBuilder: (_) =>
|
||||||
|
// const Center(child: CircularProgressIndicator()),
|
||||||
|
// pageLoaderBuilder: (_) =>
|
||||||
|
// const Center(child: CircularProgressIndicator()),
|
||||||
|
// errorBuilder: (p0, error) {
|
||||||
|
// return Center(
|
||||||
|
// child: Text(error.toString()),
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// onPageChanged: (page) {
|
||||||
|
// setState(() {
|
||||||
|
// _currentPage = page;
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// controller: _controller,
|
||||||
|
// ),
|
||||||
|
// // PdfView(
|
||||||
|
// // controller: _controller,
|
||||||
|
// // onDocumentLoaded: (document) {
|
||||||
|
// // setState(() {
|
||||||
|
// // _totalPages = document.pagesCount;
|
||||||
|
// // });
|
||||||
|
// // },
|
||||||
|
// // onPageChanged: (page) {
|
||||||
|
// // setState(() {
|
||||||
|
// // _currentPage = page;
|
||||||
|
// // });
|
||||||
|
// // },
|
||||||
|
// // ),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// import 'dart:math';
|
||||||
|
|
||||||
|
// import 'package:flutter/foundation.dart';
|
||||||
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:flutter_animate/flutter_animate.dart';
|
||||||
|
// import 'package:paperless_mobile/core/extensions/flutter_extensions.dart';
|
||||||
|
// import 'package:pdfrx/pdfrx.dart';
|
||||||
|
|
||||||
|
// class DocumentView extends StatefulWidget {
|
||||||
|
// final Future<Uint8List> bytes;
|
||||||
|
// final String? title;
|
||||||
|
// final bool showAppBar;
|
||||||
|
// final bool showControls;
|
||||||
|
// const DocumentView({
|
||||||
|
// Key? key,
|
||||||
|
// required this.bytes,
|
||||||
|
// this.showAppBar = true,
|
||||||
|
// this.showControls = true,
|
||||||
|
// this.title,
|
||||||
|
// }) : super(key: key);
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// State<DocumentView> createState() => _DocumentViewState();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// class _DocumentViewState extends State<DocumentView> {
|
||||||
|
// late final PdfViewerController _controller;
|
||||||
|
// int _currentPage = 1;
|
||||||
|
// int? _totalPages;
|
||||||
|
// @override
|
||||||
|
// void initState() {
|
||||||
|
// super.initState();
|
||||||
|
// _controller = PdfViewerController()
|
||||||
|
// ..addListener(() {
|
||||||
|
// if (_controller.isLoaded) {
|
||||||
|
// setState(() {
|
||||||
|
// _totalPages = _controller.pages.length;
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// void dispose() {
|
||||||
|
// _controller.dispose();
|
||||||
|
// super.dispose();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// Widget build(BuildContext context) {
|
||||||
|
// final pageTransitionDuration = MediaQuery.disableAnimationsOf(context)
|
||||||
|
// ? 0.milliseconds
|
||||||
|
// : 100.milliseconds;
|
||||||
|
// final canGoToNextPage = _controller.isLoaded && _currentPage < _totalPages!;
|
||||||
|
// final canGoToPreviousPage = _controller.isLoaded && _currentPage > 1;
|
||||||
|
// return SafeArea(
|
||||||
|
// child: Scaffold(
|
||||||
|
// appBar: widget.showAppBar
|
||||||
|
// ? AppBar(
|
||||||
|
// title: widget.title != null ? Text(widget.title!) : null,
|
||||||
|
// )
|
||||||
|
// : null,
|
||||||
|
// bottomNavigationBar: widget.showControls
|
||||||
|
// ? BottomAppBar(
|
||||||
|
// child: Row(
|
||||||
|
// children: [
|
||||||
|
// Flexible(
|
||||||
|
// child: Row(
|
||||||
|
// children: [
|
||||||
|
// IconButton.filled(
|
||||||
|
// onPressed: canGoToPreviousPage
|
||||||
|
// ? () async {
|
||||||
|
// await _controller.goToPage(
|
||||||
|
// pageNumber: _currentPage - 1,
|
||||||
|
// duration: pageTransitionDuration,
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// : null,
|
||||||
|
// icon: const Icon(Icons.arrow_left),
|
||||||
|
// ),
|
||||||
|
// const SizedBox(width: 16),
|
||||||
|
// IconButton.filled(
|
||||||
|
// onPressed: canGoToNextPage
|
||||||
|
// ? () async {
|
||||||
|
// await _controller.goToPage(
|
||||||
|
// pageNumber: _currentPage + 1,
|
||||||
|
// duration: pageTransitionDuration,
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// : null,
|
||||||
|
// icon: const Icon(Icons.arrow_right),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Builder(
|
||||||
|
// builder: (context) {
|
||||||
|
// if (_totalPages == null) {
|
||||||
|
// return const SizedBox.shrink();
|
||||||
|
// }
|
||||||
|
// return Text(
|
||||||
|
// "$_currentPage/$_totalPages",
|
||||||
|
// style: Theme.of(context).textTheme.titleMedium,
|
||||||
|
// ).padded();
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// )
|
||||||
|
// : null,
|
||||||
|
// body: FutureBuilder<Uint8List>(
|
||||||
|
// future: widget.bytes,
|
||||||
|
// builder: (context, snapshot) {
|
||||||
|
// if (!snapshot.hasData) {
|
||||||
|
// return const Center(child: CircularProgressIndicator());
|
||||||
|
// }
|
||||||
|
// return PdfViewer.data(
|
||||||
|
// snapshot.data!,
|
||||||
|
// controller: _controller,
|
||||||
|
// displayParams: PdfViewerParams(
|
||||||
|
// minScale: 1,
|
||||||
|
// boundaryMargin: EdgeInsets.all(24),
|
||||||
|
// pageAnchor: PdfPageAnchor.center,
|
||||||
|
// backgroundColor: Theme.of(context).colorScheme.background,
|
||||||
|
// loadingBannerBuilder: (context, bytesDownloaded, totalBytes) {
|
||||||
|
// return Center(
|
||||||
|
// child: CircularProgressIndicator(),
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// layoutPages: (pages, params) {
|
||||||
|
// final height =
|
||||||
|
// pages.fold(0.0, (prev, page) => max(prev, page.height)) +
|
||||||
|
// params.margin * 2;
|
||||||
|
// final pageLayouts = <Rect>[];
|
||||||
|
// double x = params.margin;
|
||||||
|
// for (var page in pages) {
|
||||||
|
// pageLayouts.add(
|
||||||
|
// Rect.fromLTWH(
|
||||||
|
// x,
|
||||||
|
// (height - page.height) / 2, // center vertically
|
||||||
|
// page.width,
|
||||||
|
// page.height,
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// x += page.width + params.margin;
|
||||||
|
// }
|
||||||
|
// return PdfPageLayout(
|
||||||
|
// pageLayouts: pageLayouts,
|
||||||
|
// documentSize: Size(x, height),
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@@ -1,85 +0,0 @@
|
|||||||
import 'dart:async';
|
|
||||||
import 'dart:math';
|
|
||||||
import 'dart:typed_data';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:pdfrx/pdfrx.dart';
|
|
||||||
|
|
||||||
class PdfrxDocumentView extends StatefulWidget {
|
|
||||||
final Future<Uint8List> bytes;
|
|
||||||
|
|
||||||
const PdfrxDocumentView({super.key, required this.bytes});
|
|
||||||
|
|
||||||
@override
|
|
||||||
State<PdfrxDocumentView> createState() => _PdfrxDocumentViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _PdfrxDocumentViewState extends State<PdfrxDocumentView> {
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return PdfViewer.asset(
|
|
||||||
// snapshot.data!,
|
|
||||||
'assets/example/sample.pdf',
|
|
||||||
displayParams: PdfViewerParams(
|
|
||||||
layoutPages: (pages, params) {
|
|
||||||
final height =
|
|
||||||
pages.fold(0.0, (prev, page) => max(prev, page.height)) +
|
|
||||||
params.margin * 2;
|
|
||||||
final pageLayouts = <Rect>[];
|
|
||||||
double x = params.margin;
|
|
||||||
for (var page in pages) {
|
|
||||||
pageLayouts.add(
|
|
||||||
Rect.fromLTWH(
|
|
||||||
x,
|
|
||||||
(height - page.height) / 2, // center vertically
|
|
||||||
page.width,
|
|
||||||
page.height,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
x += page.width + params.margin;
|
|
||||||
}
|
|
||||||
return PdfPageLayout(
|
|
||||||
pageLayouts: pageLayouts,
|
|
||||||
documentSize: Size(x, height),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
);
|
|
||||||
return FutureBuilder(
|
|
||||||
future: widget.bytes,
|
|
||||||
builder: (context, snapshot) {
|
|
||||||
if (!snapshot.hasData) {
|
|
||||||
return const Center(child: CircularProgressIndicator());
|
|
||||||
}
|
|
||||||
return PdfViewer.asset(
|
|
||||||
// snapshot.data!,
|
|
||||||
'assets/example/sample.pdf',
|
|
||||||
displayParams: PdfViewerParams(
|
|
||||||
layoutPages: (pages, params) {
|
|
||||||
final height =
|
|
||||||
pages.fold(0.0, (prev, page) => max(prev, page.height)) +
|
|
||||||
params.margin * 2;
|
|
||||||
final pageLayouts = <Rect>[];
|
|
||||||
double x = params.margin;
|
|
||||||
for (var page in pages) {
|
|
||||||
pageLayouts.add(
|
|
||||||
Rect.fromLTWH(
|
|
||||||
x,
|
|
||||||
(height - page.height) / 2, // center vertically
|
|
||||||
page.width,
|
|
||||||
page.height,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
x += page.width + params.margin;
|
|
||||||
}
|
|
||||||
return PdfPageLayout(
|
|
||||||
pageLayouts: pageLayouts,
|
|
||||||
documentSize: Size(x, height),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -14,7 +14,6 @@ import 'package:paperless_mobile/features/document_edit/cubit/document_edit_cubi
|
|||||||
import 'package:paperless_mobile/features/document_edit/view/document_edit_page.dart';
|
import 'package:paperless_mobile/features/document_edit/view/document_edit_page.dart';
|
||||||
import 'package:paperless_mobile/features/documents/view/pages/document_view.dart';
|
import 'package:paperless_mobile/features/documents/view/pages/document_view.dart';
|
||||||
import 'package:paperless_mobile/features/documents/view/pages/documents_page.dart';
|
import 'package:paperless_mobile/features/documents/view/pages/documents_page.dart';
|
||||||
import 'package:paperless_mobile/features/documents/view/pages/pdfrx_document_view.dart';
|
|
||||||
import 'package:paperless_mobile/generated/l10n/app_localizations.dart';
|
import 'package:paperless_mobile/generated/l10n/app_localizations.dart';
|
||||||
import 'package:paperless_mobile/routing/navigation_keys.dart';
|
import 'package:paperless_mobile/routing/navigation_keys.dart';
|
||||||
import 'package:paperless_mobile/theme.dart';
|
import 'package:paperless_mobile/theme.dart';
|
||||||
@@ -112,12 +111,14 @@ class DocumentPreviewRoute extends GoRouteData {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context, GoRouterState state) {
|
Widget build(BuildContext context, GoRouterState state) {
|
||||||
return PdfrxDocumentView(
|
|
||||||
bytes: context.read<PaperlessDocumentsApi>().downloadDocument(id));
|
|
||||||
return DocumentView(
|
return DocumentView(
|
||||||
documentBytes: context.read<PaperlessDocumentsApi>().downloadDocument(id),
|
bytes: context.read<PaperlessDocumentsApi>().downloadDocument(id),
|
||||||
title: title,
|
title: title,
|
||||||
);
|
);
|
||||||
|
// return DocumentView(
|
||||||
|
// documentBytes: context.read<PaperlessDocumentsApi>().downloadDocument(id),
|
||||||
|
// title: title,
|
||||||
|
// );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
184
pubspec.lock
184
pubspec.lock
@@ -141,10 +141,10 @@ packages:
|
|||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: build_runner
|
name: build_runner
|
||||||
sha256: "67d591d602906ef9201caf93452495ad1812bea2074f04e25dbd7c133785821b"
|
sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.7"
|
version: "2.4.8"
|
||||||
build_runner_core:
|
build_runner_core:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -221,10 +221,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: code_builder
|
name: code_builder
|
||||||
sha256: feee43a5c05e7b3199bb375a86430b8ada1b04104f2923d0e03cc01ca87b6d84
|
sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.9.0"
|
version: "4.10.0"
|
||||||
collection:
|
collection:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -475,10 +475,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_animate
|
name: flutter_animate
|
||||||
sha256: "1dbc1aabfb8ec1e9d9feed2b675c21fb6b0a11f99be53ec3bc0f1901af6a8eb7"
|
sha256: "2f3535790fff1ad21bca4f16b7435fa4af6a3c4b43e88e273a8683ed4ec26b26"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.3.0"
|
version: "4.4.0"
|
||||||
flutter_bloc:
|
flutter_bloc:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -552,10 +552,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: flutter_keyboard_visibility
|
name: flutter_keyboard_visibility
|
||||||
sha256: "4983655c26ab5b959252ee204c2fffa4afeb4413cd030455194ec0caa3b8e7cb"
|
sha256: "98664be7be0e3ffca00de50f7f6a287ab62c763fc8c762e0a21584584a3ff4f8"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.4.1"
|
version: "6.0.0"
|
||||||
flutter_keyboard_visibility_linux:
|
flutter_keyboard_visibility_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -722,10 +722,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_typeahead
|
name: flutter_typeahead
|
||||||
sha256: "1f6b248bb4f3ebb4cf1ee0354aa23c77be457fb2d26d6847ecc33a917f65e58e"
|
sha256: ef2dd5a505d2d95a5b4c571c81ad2d6e7955f583dddec49064fec57acffd7a96
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.0.1"
|
version: "5.0.2"
|
||||||
flutter_web_plugins:
|
flutter_web_plugins:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -844,10 +844,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: http
|
name: http
|
||||||
sha256: d4872660c46d929f6b8a9ef4e7a7eff7e49bbf0c4ec3f385ee32df5119175139
|
sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.2"
|
version: "1.2.0"
|
||||||
http_methods:
|
http_methods:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -892,10 +892,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: image
|
name: image
|
||||||
sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271"
|
sha256: "004a2e90ce080f8627b5a04aecb4cdfac87d2c3f3b520aa291260be5a32c033d"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.3"
|
version: "4.1.4"
|
||||||
integration_test:
|
integration_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -913,10 +913,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: introduction_screen
|
name: introduction_screen
|
||||||
sha256: "72d25ceb71471773783f72783608e17585af93d4bc6474df577fcfe9e7842852"
|
sha256: ffbae2e9e1e21e1d8d6a898385f11513c23f6e83436f78c26664f7f002a58caa
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.12"
|
version: "3.1.6"
|
||||||
io:
|
io:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -934,7 +934,7 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "6.2.2"
|
version: "6.2.2"
|
||||||
js:
|
js:
|
||||||
dependency: transitive
|
dependency: "direct overridden"
|
||||||
description:
|
description:
|
||||||
name: js
|
name: js
|
||||||
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
|
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
|
||||||
@@ -977,10 +977,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: local_auth
|
name: local_auth
|
||||||
sha256: "7e6c63082e399b61e4af71266b012e767a5d4525dd6e9ba41e174fd42d76e115"
|
sha256: "27679ed8e0d7daab2357db6bb7076359e083a56b295c0c59723845301da6aed9"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.7"
|
version: "2.1.8"
|
||||||
local_auth_android:
|
local_auth_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -993,18 +993,18 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: local_auth_ios
|
name: local_auth_ios
|
||||||
sha256: "8293faf72ef0ac4710f209edd03916c2d4c1eeab0483bdcf9b2e659c2f7d737b"
|
sha256: eb283b530029b334698918f1e282d4483737cbca972ff21b9193be3d6de8e2b8
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.5"
|
version: "1.1.6"
|
||||||
local_auth_platform_interface:
|
local_auth_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: local_auth_platform_interface
|
name: local_auth_platform_interface
|
||||||
sha256: "3215f9a97aa532aca91ea7591e9ee6a553bdc66ff9b11f19d14b6dffc4fdf45b"
|
sha256: "1b842ff177a7068442eae093b64abe3592f816afd2a533c0ebcdbe40f9d2075a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.9"
|
version: "1.0.10"
|
||||||
local_auth_windows:
|
local_auth_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1033,10 +1033,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: markdown
|
name: markdown
|
||||||
sha256: acf35edccc0463a9d7384e437c015a3535772e09714cf60e07eeef3a15870dcd
|
sha256: "4e304b422905967f1f7e35a03cd2a3f8f34306b3e1b0cc7a8677d7a306471a0e"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.1.1"
|
version: "7.2.0"
|
||||||
matcher:
|
matcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1207,10 +1207,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_foundation
|
name: path_provider_foundation
|
||||||
sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d"
|
sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.1"
|
version: "2.3.2"
|
||||||
path_provider_linux:
|
path_provider_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1223,10 +1223,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_platform_interface
|
name: path_provider_platform_interface
|
||||||
sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c"
|
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.2"
|
||||||
path_provider_windows:
|
path_provider_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1243,20 +1243,12 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.10.7"
|
version: "3.10.7"
|
||||||
pdfrx:
|
|
||||||
dependency: "direct main"
|
|
||||||
description:
|
|
||||||
name: pdfrx
|
|
||||||
sha256: "7b34f58ec0f8959cd99a6ff3de8fd1a54824823462c7a118fa55bcb42ca45422"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "0.4.6"
|
|
||||||
pdfx:
|
pdfx:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
path: "packages/pdfx"
|
path: "packages/pdfx"
|
||||||
ref: "4be9de9ffed5398fd7d5f44bbb07dcd3d3f1711b"
|
ref: d637108a2a6e3e97a70304f00f1eda9511fb4f92
|
||||||
resolved-ref: "4be9de9ffed5398fd7d5f44bbb07dcd3d3f1711b"
|
resolved-ref: d637108a2a6e3e97a70304f00f1eda9511fb4f92
|
||||||
url: "https://github.com/ScerIO/packages.flutter"
|
url: "https://github.com/ScerIO/packages.flutter"
|
||||||
source: git
|
source: git
|
||||||
version: "2.5.0"
|
version: "2.5.0"
|
||||||
@@ -1264,50 +1256,50 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: permission_handler
|
name: permission_handler
|
||||||
sha256: "860c6b871c94c78e202dc69546d4d8fd84bd59faeb36f8fb9888668a53ff4f78"
|
sha256: "45ff3fbcb99040fde55c528d5e3e6ca29171298a85436274d49c6201002087d6"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "11.1.0"
|
version: "11.2.0"
|
||||||
permission_handler_android:
|
permission_handler_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_android
|
name: permission_handler_android
|
||||||
sha256: "2f1bec180ee2f5665c22faada971a8f024761f632e93ddc23310487df52dcfa6"
|
sha256: "758284a0976772f9c744d6384fc5dc4834aa61e3f7aa40492927f244767374eb"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "12.0.1"
|
version: "12.0.3"
|
||||||
permission_handler_apple:
|
permission_handler_apple:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_apple
|
name: permission_handler_apple
|
||||||
sha256: "1a816084338ada8d574b1cb48390e6e8b19305d5120fe3a37c98825bacc78306"
|
sha256: c6bf440f80acd2a873d3d91a699e4cc770f86e7e6b576dda98759e8b92b39830
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "9.2.0"
|
version: "9.3.0"
|
||||||
permission_handler_html:
|
permission_handler_html:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_html
|
name: permission_handler_html
|
||||||
sha256: "11b762a8c123dced6461933a88ea1edbbe036078c3f9f41b08886e678e7864df"
|
sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.0+2"
|
version: "0.1.1"
|
||||||
permission_handler_platform_interface:
|
permission_handler_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_platform_interface
|
name: permission_handler_platform_interface
|
||||||
sha256: d87349312f7eaf6ce0adaf668daf700ac5b06af84338bd8b8574dfbd93ffe1a1
|
sha256: "5c43148f2bfb6d14c5a8162c0a712afe891f2d847f35fcff29c406b37da43c3c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.0.2"
|
version: "4.1.0"
|
||||||
permission_handler_windows:
|
permission_handler_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_windows
|
name: permission_handler_windows
|
||||||
sha256: "1e8640c1e39121128da6b816d236e714d2cf17fac5a105dd6acdd3403a628004"
|
sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.0"
|
version: "0.2.1"
|
||||||
petitparser:
|
petitparser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1344,18 +1336,42 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: pointer_interceptor
|
name: pointer_interceptor
|
||||||
sha256: adf7a637f97c077041d36801b43be08559fd4322d2127b3f20bb7be1b9eebc22
|
sha256: bd18321519718678d5fa98ad3a3359cbc7a31f018554eab80b73d08a7f0c165a
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.9.3+7"
|
version: "0.10.1"
|
||||||
|
pointer_interceptor_ios:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pointer_interceptor_ios
|
||||||
|
sha256: "2e73c39452830adc4695757130676a39412a3b7f3c34e3f752791b5384770877"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.10.0+2"
|
||||||
|
pointer_interceptor_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pointer_interceptor_platform_interface
|
||||||
|
sha256: "0597b0560e14354baeb23f8375cd612e8bd4841bf8306ecb71fcd0bb78552506"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.10.0+1"
|
||||||
|
pointer_interceptor_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pointer_interceptor_web
|
||||||
|
sha256: "9386e064097fd16419e935c23f08f35b58e6aaec155dd39bd6a003b88f9c14b4"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.10.1+2"
|
||||||
pointycastle:
|
pointycastle:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: pointycastle
|
name: pointycastle
|
||||||
sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c"
|
sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.7.3"
|
version: "3.7.4"
|
||||||
pool:
|
pool:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1480,10 +1496,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_foundation
|
name: shared_preferences_foundation
|
||||||
sha256: "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7"
|
sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.4"
|
version: "2.3.5"
|
||||||
shared_preferences_linux:
|
shared_preferences_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1496,10 +1512,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_platform_interface
|
name: shared_preferences_platform_interface
|
||||||
sha256: d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a
|
sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.1"
|
version: "2.3.2"
|
||||||
shared_preferences_web:
|
shared_preferences_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1725,10 +1741,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: time
|
name: time
|
||||||
sha256: "83427e11d9072e038364a5e4da559e85869b227cf699a541be0da74f14140124"
|
sha256: ad8e018a6c9db36cb917a031853a1aae49467a93e0d464683e029537d848c221
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.3"
|
version: "2.1.4"
|
||||||
timezone:
|
timezone:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1781,26 +1797,26 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: url_launcher
|
name: url_launcher
|
||||||
sha256: e9aa5ea75c84cf46b3db4eea212523591211c3cf2e13099ee4ec147f54201c86
|
sha256: d25bb0ca00432a5e1ee40e69c36c85863addf7cc45e433769d61bed3fe81fd96
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.2.2"
|
version: "6.2.3"
|
||||||
url_launcher_android:
|
url_launcher_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_android
|
name: url_launcher_android
|
||||||
sha256: c0766a55ab42cefaa728cabc951e82919ab41a3a4fee0aaa96176ca82da8cc51
|
sha256: "507dc655b1d9cb5ebc756032eb785f114e415f91557b73bf60b7e201dfedeb2f"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.2.1"
|
version: "6.2.2"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_ios
|
name: url_launcher_ios
|
||||||
sha256: "46b81e3109cbb2d6b81702ad3077540789a3e74e22795eb9f0b7d494dbaa72ea"
|
sha256: "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.2.2"
|
version: "6.2.4"
|
||||||
url_launcher_linux:
|
url_launcher_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1821,10 +1837,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_platform_interface
|
name: url_launcher_platform_interface
|
||||||
sha256: "4aca1e060978e19b2998ee28503f40b5ba6226819c2b5e3e4d1821e8ccd92198"
|
sha256: a932c3a8082e118f80a475ce692fde89dc20fddb24c57360b96bc56f7035de1f
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.0"
|
version: "2.3.1"
|
||||||
url_launcher_web:
|
url_launcher_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1845,34 +1861,34 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: uuid
|
name: uuid
|
||||||
sha256: "22c94e5ad1e75f9934b766b53c742572ee2677c56bc871d850a57dad0f82127f"
|
sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.2.2"
|
version: "4.3.3"
|
||||||
vector_graphics:
|
vector_graphics:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_graphics
|
name: vector_graphics
|
||||||
sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43"
|
sha256: "18f6690295af52d081f6808f2f7c69f0eed6d7e23a71539d75f4aeb8f0062172"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.9+1"
|
version: "1.1.9+2"
|
||||||
vector_graphics_codec:
|
vector_graphics_codec:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_graphics_codec
|
name: vector_graphics_codec
|
||||||
sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7"
|
sha256: "531d20465c10dfac7f5cd90b60bbe4dd9921f1ec4ca54c83ebb176dbacb7bb2d"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.9+1"
|
version: "1.1.9+2"
|
||||||
vector_graphics_compiler:
|
vector_graphics_compiler:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_graphics_compiler
|
name: vector_graphics_compiler
|
||||||
sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26
|
sha256: "03012b0a33775c5530576b70240308080e1d5050f0faf000118c20e6463bc0ad"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.9+1"
|
version: "1.1.9+2"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1933,10 +1949,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: webview_flutter
|
name: webview_flutter
|
||||||
sha256: "60e23976834e995c404c0b21d3b9db37ecd77d3303ef74f8b8d7a7b19947fc04"
|
sha256: "71e1bfaef41016c8d5954291df5e9f8c6172f1f6ff3af01b5656456ddb11f94c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.4.3"
|
version: "4.4.4"
|
||||||
webview_flutter_android:
|
webview_flutter_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1949,18 +1965,18 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_platform_interface
|
name: webview_flutter_platform_interface
|
||||||
sha256: dbe745ee459a16b6fec296f7565a8ef430d0d681001d8ae521898b9361854943
|
sha256: "80b40ae4fb959957eef9fa8970b6c9accda9f49fc45c2b75154696a8e8996cfe"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.9.0"
|
version: "2.9.1"
|
||||||
webview_flutter_wkwebview:
|
webview_flutter_wkwebview:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_wkwebview
|
name: webview_flutter_wkwebview
|
||||||
sha256: "02d8f3ebbc842704b2b662377b3ee11c0f8f1bbaa8eab6398262f40049819160"
|
sha256: "4d062ad505390ecef1c4bfb6001cd857a51e00912cc9dfb66edb1886a9ebd80c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.10.1"
|
version: "3.10.2"
|
||||||
win32:
|
win32:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -2002,5 +2018,5 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.2"
|
version: "3.1.2"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=3.2.3 <4.0.0"
|
dart: ">=3.2.0 <4.0.0"
|
||||||
flutter: ">=3.16.0"
|
flutter: ">=3.16.0"
|
||||||
|
|||||||
@@ -104,13 +104,17 @@ dependencies:
|
|||||||
pdfx:
|
pdfx:
|
||||||
git:
|
git:
|
||||||
url: 'https://github.com/ScerIO/packages.flutter'
|
url: 'https://github.com/ScerIO/packages.flutter'
|
||||||
ref: '4be9de9ffed5398fd7d5f44bbb07dcd3d3f1711b'
|
ref: 'd637108a2a6e3e97a70304f00f1eda9511fb4f92'
|
||||||
path: packages/pdfx
|
path: packages/pdfx
|
||||||
markdown: ^7.1.1
|
markdown: ^7.1.1
|
||||||
pdfrx: ^0.4.6
|
# pdfrx:
|
||||||
|
# git:
|
||||||
|
# url: https://github.com/astubenbord/pdfrx
|
||||||
|
# ref: master
|
||||||
|
|
||||||
dependency_overrides:
|
dependency_overrides:
|
||||||
intl: ^0.18.1
|
intl: ^0.18.1
|
||||||
|
js: ^0.6.3
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
integration_test:
|
integration_test:
|
||||||
|
|||||||
Reference in New Issue
Block a user