TF-1358 Fix can not use advanced search in email view
This commit is contained in:
+8
-5
@@ -9,6 +9,7 @@ import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/model/contact_suggestion_source.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
||||
@@ -284,10 +285,11 @@ class AdvancedFilterController extends BaseController {
|
||||
barrierColor: Colors.black54,
|
||||
pageBuilder: (context, animation, secondaryAnimation) {
|
||||
return Dialog(
|
||||
elevation: 0,
|
||||
backgroundColor: Colors.white,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(18.0)),
|
||||
elevation: 0,
|
||||
backgroundColor: Colors.white,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(18.0)),
|
||||
child: PointerInterceptor(
|
||||
child: MultipleViewDateRangePicker(
|
||||
confirmText: AppLocalizations.of(context).setDate,
|
||||
cancelText: AppLocalizations.of(context).cancel,
|
||||
@@ -300,7 +302,8 @@ class AdvancedFilterController extends BaseController {
|
||||
setDateActionCallback: ({startDate, endDate}) {
|
||||
_handleSelectDateRangeResult(context, startDate, endDate);
|
||||
},
|
||||
)
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_portal/flutter_portal.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/composer_view_web.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/email_view.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart';
|
||||
@@ -251,9 +252,11 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
|
||||
} else {
|
||||
return PortalTarget(
|
||||
visible: searchController.isAdvancedSearchViewOpen.isTrue,
|
||||
portalFollower: GestureDetector(
|
||||
portalFollower: PointerInterceptor(
|
||||
child: GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: () => searchController.selectOpenAdvanceSearch()),
|
||||
),
|
||||
child: PortalTarget(
|
||||
visible: searchController.isAdvancedSearchViewOpen.isTrue,
|
||||
anchor: const Aligned(
|
||||
|
||||
+28
-25
@@ -2,6 +2,7 @@ import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_form.dart';
|
||||
|
||||
class AdvancedSearchFilterOverlay extends StatelessWidget {
|
||||
@@ -17,31 +18,33 @@ class AdvancedSearchFilterOverlay extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
final responsiveUtils = Get.find<ResponsiveUtils>();
|
||||
|
||||
return GestureDetector(
|
||||
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 4, bottom: 16),
|
||||
child: Container(
|
||||
constraints: BoxConstraints(
|
||||
maxHeight: _getHeightOverlay(context, responsiveUtils),
|
||||
),
|
||||
width: maxWidth ?? 660,
|
||||
padding: const EdgeInsets.all(32),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.circular(16),
|
||||
boxShadow: const [
|
||||
BoxShadow(
|
||||
color: AppColor.colorShadowComposer,
|
||||
blurRadius: 32,
|
||||
offset: Offset.zero),
|
||||
BoxShadow(
|
||||
color: AppColor.colorDropShadow,
|
||||
blurRadius: 4,
|
||||
offset: Offset.zero),
|
||||
]),
|
||||
child: SingleChildScrollView(
|
||||
child: AdvancedSearchInputForm(),
|
||||
return PointerInterceptor(
|
||||
child: GestureDetector(
|
||||
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 4, bottom: 16),
|
||||
child: Container(
|
||||
constraints: BoxConstraints(
|
||||
maxHeight: _getHeightOverlay(context, responsiveUtils),
|
||||
),
|
||||
width: maxWidth ?? 660,
|
||||
padding: const EdgeInsets.all(32),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.circular(16),
|
||||
boxShadow: const [
|
||||
BoxShadow(
|
||||
color: AppColor.colorShadowComposer,
|
||||
blurRadius: 32,
|
||||
offset: Offset.zero),
|
||||
BoxShadow(
|
||||
color: AppColor.colorDropShadow,
|
||||
blurRadius: 4,
|
||||
offset: Offset.zero),
|
||||
]),
|
||||
child: SingleChildScrollView(
|
||||
child: AdvancedSearchInputForm(),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:flutter_portal/flutter_portal.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:model/email/presentation_email.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/recent_search.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
|
||||
@@ -34,9 +35,11 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
|
||||
|
||||
return PortalTarget(
|
||||
visible: controller.isAdvancedSearchViewOpen.isTrue,
|
||||
portalFollower: GestureDetector(
|
||||
portalFollower: PointerInterceptor(
|
||||
child: GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: () => controller.selectOpenAdvanceSearch()),
|
||||
),
|
||||
child: PortalTarget(
|
||||
visible: controller.isAdvancedSearchViewOpen.isTrue,
|
||||
anchor: const Aligned(
|
||||
|
||||
Reference in New Issue
Block a user