From 9351ebfd3313473ed5f837e849536d956e663b6c Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 22 May 2024 16:00:37 +0700 Subject: [PATCH] TF-2764 Support click to outside of document to close viewer --- .../presentation/widgets/pdf_viewer/pdf_viewer.dart | 10 ++++++++-- pubspec.lock | 4 ++-- pubspec.yaml | 4 +++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/features/email/presentation/widgets/pdf_viewer/pdf_viewer.dart b/lib/features/email/presentation/widgets/pdf_viewer/pdf_viewer.dart index 4d5be3c86..efc0de29d 100644 --- a/lib/features/email/presentation/widgets/pdf_viewer/pdf_viewer.dart +++ b/lib/features/email/presentation/widgets/pdf_viewer/pdf_viewer.dart @@ -1,6 +1,5 @@ import 'dart:async'; import 'dart:math'; -import 'dart:typed_data'; import 'package:core/presentation/extensions/color_extension.dart'; import 'package:core/presentation/state/failure.dart'; @@ -10,6 +9,7 @@ import 'package:dartz/dartz.dart' as dartz; import 'package:device_info_plus/device_info_plus.dart'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:model/download/download_task_id.dart'; @@ -159,7 +159,8 @@ class _PDFViewerState extends State { top += height + padding; } return rect; - } + }, + onClickOutSidePageViewer: _closeView ), ); } else if (viewState is DownloadingAttachmentForWeb) { @@ -273,4 +274,9 @@ class _PDFViewerState extends State { ), ); } + + void _closeView() { + _downloadAttachmentCancelToken?.cancel(); + Navigator.maybeOf(context)?.pop(); + } } diff --git a/pubspec.lock b/pubspec.lock index f561da1ae..98f31c6c2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1363,8 +1363,8 @@ packages: dependency: "direct main" description: path: "." - ref: master - resolved-ref: c76f69fb8db912e8420751e219e77d930dda1a28 + ref: trigger-click-outside-event-page-view + resolved-ref: "4f1a9a9386ced299c11a6634e21f4129503e0313" url: "https://github.com/linagora/flutter_pdf_render.git" source: git version: "1.4.7" diff --git a/pubspec.yaml b/pubspec.yaml index cc48eb1db..70fd3ce25 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -99,10 +99,12 @@ dependencies: url: https://github.com/linagora/dns_client.git ref: twake-supported + # TODO: We will change it when the PR in upstream repository will be merged + # https://github.com/espresso3389/flutter_pdf_render/pull/148 pdf_render: git: url: https://github.com/linagora/flutter_pdf_render.git - ref: master + ref: trigger-click-outside-event-page-view ### Dependencies from pub.dev ### cupertino_icons: 1.0.6