Migrate v0.11.3-patch4-dev to master branch
This commit is contained in:
@@ -571,8 +571,8 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: master
|
||||
resolved-ref: "21d15bc1a6a75e048ee1e3cd751dd0815492ce20"
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
resolved-ref: "49305a382ca77211a0668fd9fe196a3c057cdc8e"
|
||||
url: "https://github.com/linagora/jmap-dart-client.git"
|
||||
source: git
|
||||
version: "0.0.1"
|
||||
|
||||
@@ -15,10 +15,12 @@ dependencies:
|
||||
path: ../model
|
||||
|
||||
### Dependencies from git ###
|
||||
# TODO: We will change it when the PR in upstream repository will be merged
|
||||
# https://github.com/linagora/jmap-dart-client/pull/87
|
||||
jmap_dart_client:
|
||||
git:
|
||||
url: https://github.com/linagora/jmap-dart-client.git
|
||||
ref: master
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
|
||||
### Dependencies from pub.dev ###
|
||||
equatable: 2.0.5
|
||||
|
||||
@@ -295,8 +295,8 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: master
|
||||
resolved-ref: "21d15bc1a6a75e048ee1e3cd751dd0815492ce20"
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
resolved-ref: "49305a382ca77211a0668fd9fe196a3c057cdc8e"
|
||||
url: "https://github.com/linagora/jmap-dart-client.git"
|
||||
source: git
|
||||
version: "0.0.1"
|
||||
|
||||
@@ -12,10 +12,12 @@ dependencies:
|
||||
sdk: flutter
|
||||
|
||||
### Dependencies from git ###
|
||||
# TODO: We will change it when the PR in upstream repository will be merged
|
||||
# https://github.com/linagora/jmap-dart-client/pull/87
|
||||
jmap_dart_client:
|
||||
git:
|
||||
url: https://github.com/linagora/jmap-dart-client.git
|
||||
ref: master
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
|
||||
### Dependencies from pub.dev ###
|
||||
equatable: 2.0.5
|
||||
|
||||
+2
-2
@@ -295,8 +295,8 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: master
|
||||
resolved-ref: "21d15bc1a6a75e048ee1e3cd751dd0815492ce20"
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
resolved-ref: "49305a382ca77211a0668fd9fe196a3c057cdc8e"
|
||||
url: "https://github.com/linagora/jmap-dart-client.git"
|
||||
source: git
|
||||
version: "0.0.1"
|
||||
|
||||
+3
-1
@@ -12,10 +12,12 @@ dependencies:
|
||||
sdk: flutter
|
||||
|
||||
### Dependencies from git ###
|
||||
# TODO: We will change it when the PR in upstream repository will be merged
|
||||
# https://github.com/linagora/jmap-dart-client/pull/87
|
||||
jmap_dart_client:
|
||||
git:
|
||||
url: https://github.com/linagora/jmap-dart-client.git
|
||||
ref: master
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
|
||||
### Dependencies from pub.dev ###
|
||||
equatable: 2.0.5
|
||||
|
||||
@@ -295,8 +295,8 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: master
|
||||
resolved-ref: "21d15bc1a6a75e048ee1e3cd751dd0815492ce20"
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
resolved-ref: "49305a382ca77211a0668fd9fe196a3c057cdc8e"
|
||||
url: "https://github.com/linagora/jmap-dart-client.git"
|
||||
source: git
|
||||
version: "0.0.1"
|
||||
|
||||
@@ -12,10 +12,12 @@ dependencies:
|
||||
sdk: flutter
|
||||
|
||||
### Dependencies from git ###
|
||||
# TODO: We will change it when the PR in upstream repository will be merged
|
||||
# https://github.com/linagora/jmap-dart-client/pull/87
|
||||
jmap_dart_client:
|
||||
git:
|
||||
url: https://github.com/linagora/jmap-dart-client.git
|
||||
ref: master
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
|
||||
### Dependencies from pub.dev ###
|
||||
equatable: 2.0.5
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'dart:async' as async;
|
||||
import 'package:async/async.dart';
|
||||
import 'package:core/domain/extensions/media_type_extension.dart';
|
||||
import 'package:core/data/constants/constant.dart';
|
||||
import 'package:desktop_drop/desktop_drop.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
@@ -43,7 +43,7 @@ mixin DragDropFileMixin {
|
||||
fileName: details.files[i].name,
|
||||
type: details.files[i].mimeType,
|
||||
fileSize: bytesList.result![i].length,
|
||||
isInline: details.files[i].mimeType?.startsWith(MediaTypeExtension.imageType) == true
|
||||
isInline: details.files[i].mimeType?.startsWith(Constant.imageType) == true
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -44,6 +44,8 @@ enum EventActionType {
|
||||
KeyWordIdentifierExtension.tentativelyAcceptedEventAttendance.generatePath(): null,
|
||||
KeyWordIdentifierExtension.rejectedEventAttendance.generatePath(): true,
|
||||
});
|
||||
case EventActionType.mailToAttendees:
|
||||
return PatchObject({});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,6 +57,8 @@ enum EventActionType {
|
||||
return AppLocalizations.of(context).youMayAttendThisMeeting;
|
||||
case EventActionType.no:
|
||||
return AppLocalizations.of(context).youWillNotAttendThisMeeting;
|
||||
case EventActionType.mailToAttendees:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,8 +74,8 @@ import 'package:tmail_ui_user/features/email/domain/usecases/store_opened_email_
|
||||
import 'package:tmail_ui_user/features/email/presentation/action/email_ui_action.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/bindings/calendar_event_interactor_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/controller/email_supervisor_controller.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/blob_calendar_event.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/extensions/attachment_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/blob_calendar_event.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/email_loaded.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/email_unsubscribe.dart';
|
||||
@@ -1800,7 +1800,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
|
||||
void handleViewAttachmentAction(BuildContext context, Attachment attachment) {
|
||||
if (PlatformInfo.isWeb) {
|
||||
if (PlatformInfo.isCanvasKit && attachment.isDisplayedPDFIcon) {
|
||||
if (PlatformInfo.isCanvasKit && attachment.validatePDFIcon()) {
|
||||
previewPDFFileAction(context, attachment);
|
||||
} else {
|
||||
downloadAttachmentForWeb(attachment);
|
||||
@@ -1839,4 +1839,24 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
void handleMailToAttendees(CalendarOrganizer? organizer, List<CalendarAttendee>? attendees) {
|
||||
final listEmailAddressAttendees = attendees
|
||||
?.map((attendee) => EmailAddress(attendee.name?.name, attendee.mailto?.mailAddress.value))
|
||||
.toList() ?? [];
|
||||
|
||||
if (organizer != null) {
|
||||
listEmailAddressAttendees.add(EmailAddress(organizer.name, organizer.mailto?.value));
|
||||
}
|
||||
|
||||
final listEmailAddressMailTo = listEmailAddressAttendees
|
||||
.where((emailAddress) => emailAddress.emailAddress.isNotEmpty && emailAddress.emailAddress != mailboxDashBoardController.sessionCurrent?.username.value)
|
||||
.toSet()
|
||||
.toList();
|
||||
|
||||
log('SingleEmailController::handleMailToAttendees: listEmailAddressMailTo = $listEmailAddressMailTo');
|
||||
mailboxDashBoardController.goToComposer(
|
||||
ComposerArguments.fromMailtoUri(listEmailAddress: listEmailAddressMailTo)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,6 @@ import 'package:model/extensions/presentation_mailbox_extension.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/popup_item_widget.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/scrollbar_list_view.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/controller/single_email_controller.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/extensions/calendar_event_extension.dart';
|
||||
@@ -148,33 +147,30 @@ class EmailView extends GetWidget<SingleEmailController> {
|
||||
child: Obx(() => _buildEmailMessage(
|
||||
context: context,
|
||||
presentationEmail: currentEmail,
|
||||
calendarEvent: controller.calendarEvent.value,
|
||||
calendarEvent: controller.calendarEvent,
|
||||
maxBodyHeight: constraints.maxHeight
|
||||
))
|
||||
)
|
||||
);
|
||||
} else {
|
||||
return Obx(() {
|
||||
final calendarEvent = controller.calendarEvent.value;
|
||||
final calendarEvent = controller.calendarEvent;
|
||||
if (currentEmail.hasCalendarEvent && calendarEvent != null) {
|
||||
return Padding(
|
||||
padding: const EdgeInsetsDirectional.symmetric(horizontal: 4),
|
||||
child: ScrollbarListView(
|
||||
scrollController: controller.emailContentScrollController,
|
||||
child: SingleChildScrollView(
|
||||
physics : const ClampingScrollPhysics(),
|
||||
child: Container(
|
||||
width: double.infinity,
|
||||
alignment: Alignment.center,
|
||||
color: Colors.white,
|
||||
child: _buildEmailMessage(
|
||||
context: context,
|
||||
presentationEmail: currentEmail,
|
||||
calendarEvent: calendarEvent,
|
||||
emailAddressSender: currentEmail.listEmailAddressSender.getListAddress(),
|
||||
)
|
||||
child: SingleChildScrollView(
|
||||
physics : const ClampingScrollPhysics(),
|
||||
child: Container(
|
||||
width: double.infinity,
|
||||
alignment: Alignment.center,
|
||||
color: Colors.white,
|
||||
child: _buildEmailMessage(
|
||||
context: context,
|
||||
presentationEmail: currentEmail,
|
||||
calendarEvent: calendarEvent,
|
||||
emailAddressSender: currentEmail.listEmailAddressSender.getListAddress(),
|
||||
)
|
||||
),
|
||||
)
|
||||
),
|
||||
);
|
||||
} else {
|
||||
@@ -199,34 +195,31 @@ class EmailView extends GetWidget<SingleEmailController> {
|
||||
child: Obx(() => _buildEmailMessage(
|
||||
context: context,
|
||||
presentationEmail: currentEmail,
|
||||
calendarEvent: controller.calendarEvent.value,
|
||||
calendarEvent: controller.calendarEvent,
|
||||
maxBodyHeight: constraints.maxHeight
|
||||
))
|
||||
)
|
||||
);
|
||||
} else {
|
||||
return Obx(() {
|
||||
final calendarEvent = controller.calendarEvent.value;
|
||||
final calendarEvent = controller.calendarEvent;
|
||||
if (currentEmail.hasCalendarEvent && calendarEvent != null) {
|
||||
return Padding(
|
||||
padding: const EdgeInsetsDirectional.symmetric(horizontal: 4),
|
||||
child: ScrollbarListView(
|
||||
scrollController: controller.emailContentScrollController,
|
||||
child: SingleChildScrollView(
|
||||
physics : const ClampingScrollPhysics(),
|
||||
child: Container(
|
||||
width: double.infinity,
|
||||
alignment: Alignment.center,
|
||||
color: Colors.white,
|
||||
child: _buildEmailMessage(
|
||||
context: context,
|
||||
presentationEmail: currentEmail,
|
||||
calendarEvent: calendarEvent,
|
||||
emailAddressSender: currentEmail.listEmailAddressSender.getListAddress(),
|
||||
maxBodyHeight: constraints.maxHeight
|
||||
)
|
||||
child: SingleChildScrollView(
|
||||
physics : const ClampingScrollPhysics(),
|
||||
child: Container(
|
||||
width: double.infinity,
|
||||
alignment: Alignment.center,
|
||||
color: Colors.white,
|
||||
child: _buildEmailMessage(
|
||||
context: context,
|
||||
presentationEmail: currentEmail,
|
||||
calendarEvent: calendarEvent,
|
||||
emailAddressSender: currentEmail.listEmailAddressSender.getListAddress(),
|
||||
maxBodyHeight: constraints.maxHeight
|
||||
)
|
||||
),
|
||||
)
|
||||
),
|
||||
);
|
||||
} else {
|
||||
@@ -367,6 +360,7 @@ class EmailView extends GetWidget<SingleEmailController> {
|
||||
controller.onCalendarEventReplyAction(eventActionType, presentationEmail.id!),
|
||||
calendarEventReplying: controller.calendarEventProcessing,
|
||||
presentationEmail: controller.currentEmail,
|
||||
onMailtoAttendeesAction: controller.handleMailToAttendees,
|
||||
)),
|
||||
if (calendarEvent.getTitleEventAction(context, emailAddressSender ?? []).isNotEmpty)
|
||||
CalendarEventActionBannerWidget(
|
||||
@@ -384,6 +378,7 @@ class EmailView extends GetWidget<SingleEmailController> {
|
||||
controller.onCalendarEventReplyAction(eventActionType, presentationEmail.id!),
|
||||
calendarEventReplying: controller.calendarEventProcessing,
|
||||
presentationEmail: controller.currentEmail,
|
||||
onMailtoAttendeesAction: controller.handleMailToAttendees,
|
||||
)),
|
||||
],
|
||||
)
|
||||
|
||||
@@ -4,4 +4,6 @@ import 'package:tmail_ui_user/features/upload/domain/extensions/media_type_exten
|
||||
|
||||
extension AttachmentExtension on Attachment {
|
||||
String getIcon(ImagePaths imagePaths) => type?.getIcon(imagePaths, fileName: name) ?? imagePaths.icFileEPup;
|
||||
|
||||
bool validatePDFIcon() => type?.validatePDFIcon(fileName: name) ?? false;
|
||||
}
|
||||
+8
@@ -97,6 +97,8 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
|
||||
return CalendarEventActionButtonWidgetStyles.loadingBackgroundColor;
|
||||
}
|
||||
|
||||
return CalendarEventActionButtonWidgetStyles.backgroundColor;
|
||||
case EventActionType.mailToAttendees:
|
||||
return CalendarEventActionButtonWidgetStyles.backgroundColor;
|
||||
}
|
||||
}
|
||||
@@ -120,6 +122,8 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
|
||||
return CalendarEventActionButtonWidgetStyles.selectedTextColor;
|
||||
}
|
||||
|
||||
return CalendarEventActionButtonWidgetStyles.textColor;
|
||||
case EventActionType.mailToAttendees:
|
||||
return CalendarEventActionButtonWidgetStyles.textColor;
|
||||
}
|
||||
}
|
||||
@@ -143,6 +147,8 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
|
||||
return CalendarEventActionButtonWidgetStyles.selectedBackgroundColor;
|
||||
}
|
||||
|
||||
return CalendarEventActionButtonWidgetStyles.textColor;
|
||||
case EventActionType.mailToAttendees:
|
||||
return CalendarEventActionButtonWidgetStyles.textColor;
|
||||
}
|
||||
}
|
||||
@@ -164,6 +170,8 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
|
||||
return null;
|
||||
}
|
||||
return () => onCalendarEventReplyActionClick(eventActionType);
|
||||
case EventActionType.mailToAttendees:
|
||||
return onMailToAttendeesAction;
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
@@ -1,6 +1,8 @@
|
||||
import 'package:core/presentation/views/html_viewer/html_content_viewer_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/calendar/calendar_event.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/calendar/properties/attendee/calendar_attendee.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/calendar/properties/calendar_organizer.dart';
|
||||
import 'package:model/email/presentation_email.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/extensions/calendar_event_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/styles/calendar_event_detail_widget_styles.dart';
|
||||
@@ -13,6 +15,8 @@ import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event
|
||||
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/event_title_widget.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||
|
||||
typedef OnMailtoAttendeesAction = Function(CalendarOrganizer? organizer, List<CalendarAttendee>? participants);
|
||||
|
||||
class CalendarEventDetailWidget extends StatelessWidget {
|
||||
|
||||
final CalendarEvent calendarEvent;
|
||||
@@ -24,6 +28,7 @@ class CalendarEventDetailWidget extends StatelessWidget {
|
||||
final OnCalendarEventReplyActionClick onCalendarEventReplyActionClick;
|
||||
final bool calendarEventReplying;
|
||||
final PresentationEmail? presentationEmail;
|
||||
final OnMailtoAttendeesAction? onMailtoAttendeesAction;
|
||||
|
||||
const CalendarEventDetailWidget({
|
||||
super.key,
|
||||
@@ -36,6 +41,7 @@ class CalendarEventDetailWidget extends StatelessWidget {
|
||||
this.onOpenComposerAction,
|
||||
this.onMailtoDelegateAction,
|
||||
this.presentationEmail,
|
||||
this.onMailtoAttendeesAction,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -99,6 +105,10 @@ class CalendarEventDetailWidget extends StatelessWidget {
|
||||
onCalendarEventReplyActionClick: onCalendarEventReplyActionClick,
|
||||
calendarEventReplying: calendarEventReplying,
|
||||
presentationEmail: presentationEmail,
|
||||
onMailToAttendeesAction: () => onMailtoAttendeesAction?.call(
|
||||
calendarEvent.organizer,
|
||||
calendarEvent.participants,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
+10
@@ -25,6 +25,7 @@ class CalendarEventInformationWidget extends StatelessWidget {
|
||||
final OnCalendarEventReplyActionClick onCalendarEventReplyActionClick;
|
||||
final bool calendarEventReplying;
|
||||
final PresentationEmail? presentationEmail;
|
||||
final OnMailtoAttendeesAction? onMailtoAttendeesAction;
|
||||
|
||||
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||
|
||||
@@ -36,6 +37,7 @@ class CalendarEventInformationWidget extends StatelessWidget {
|
||||
this.onOpenNewTabAction,
|
||||
this.onOpenComposerAction,
|
||||
this.presentationEmail,
|
||||
this.onMailtoAttendeesAction,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -123,6 +125,10 @@ class CalendarEventInformationWidget extends StatelessWidget {
|
||||
onCalendarEventReplyActionClick: onCalendarEventReplyActionClick,
|
||||
calendarEventReplying: calendarEventReplying,
|
||||
presentationEmail: presentationEmail,
|
||||
onMailToAttendeesAction: () => onMailtoAttendeesAction?.call(
|
||||
calendarEvent.organizer,
|
||||
calendarEvent.participants,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -194,6 +200,10 @@ class CalendarEventInformationWidget extends StatelessWidget {
|
||||
onCalendarEventReplyActionClick: onCalendarEventReplyActionClick,
|
||||
calendarEventReplying: calendarEventReplying,
|
||||
presentationEmail: presentationEmail,
|
||||
onMailToAttendeesAction: () => onMailtoAttendeesAction?.call(
|
||||
calendarEvent.organizer,
|
||||
calendarEvent.participants,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -4,8 +4,6 @@ import 'package:core/presentation/views/image/avatar_builder.dart';
|
||||
import 'package:core/presentation/views/text/text_overflow_builder.dart';
|
||||
import 'package:core/utils/platform_info.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
||||
import 'package:model/extensions/username_extension.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/material_text_button.dart';
|
||||
|
||||
+2
-2
@@ -563,8 +563,8 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: master
|
||||
resolved-ref: "21d15bc1a6a75e048ee1e3cd751dd0815492ce20"
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
resolved-ref: "49305a382ca77211a0668fd9fe196a3c057cdc8e"
|
||||
url: "https://github.com/linagora/jmap-dart-client.git"
|
||||
source: git
|
||||
version: "0.0.1"
|
||||
|
||||
+3
-1
@@ -30,10 +30,12 @@ dependencies:
|
||||
path: ../core
|
||||
|
||||
### Dependencies from git ###
|
||||
# TODO: We will change it when the PR in upstream repository will be merged
|
||||
# https://github.com/linagora/jmap-dart-client/pull/87
|
||||
jmap_dart_client:
|
||||
git:
|
||||
url: https://github.com/linagora/jmap-dart-client.git
|
||||
ref: master
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
|
||||
### Dependencies from pub.dev ###
|
||||
cupertino_icons: 1.0.6
|
||||
|
||||
+5
-5
@@ -521,7 +521,7 @@ packages:
|
||||
source: hosted
|
||||
version: "6.1.4"
|
||||
file_picker:
|
||||
dependency: "direct overridden"
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: "email_supported_5.3.1"
|
||||
@@ -1058,8 +1058,8 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: "bugfix/composer-reply-memory-leak"
|
||||
resolved-ref: "7a20f8e924e403eb54f4a6177c3c8ecb0c7b3687"
|
||||
ref: cnb_supported
|
||||
resolved-ref: "978886d768e6540fc7dbe016dd83733c56ffb220"
|
||||
url: "https://github.com/linagora/html-editor-enhanced.git"
|
||||
source: git
|
||||
version: "2.5.1"
|
||||
@@ -1147,8 +1147,8 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: master
|
||||
resolved-ref: "21d15bc1a6a75e048ee1e3cd751dd0815492ce20"
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
resolved-ref: "49305a382ca77211a0668fd9fe196a3c057cdc8e"
|
||||
url: "https://github.com/linagora/jmap-dart-client.git"
|
||||
source: git
|
||||
version: "0.0.1"
|
||||
|
||||
+7
-3
@@ -55,17 +55,19 @@ dependencies:
|
||||
rich_text_composer:
|
||||
git:
|
||||
url: https://github.com/linagora/rich-text-composer.git
|
||||
ref: master
|
||||
ref: cnb_supported
|
||||
|
||||
html_editor_enhanced:
|
||||
git:
|
||||
url: https://github.com/linagora/html-editor-enhanced.git
|
||||
ref: bugfix/composer-reply-memory-leak
|
||||
ref: cnb_supported
|
||||
|
||||
# TODO: We will change it when the PR in upstream repository will be merged
|
||||
# https://github.com/linagora/jmap-dart-client/pull/87
|
||||
jmap_dart_client:
|
||||
git:
|
||||
url: https://github.com/linagora/jmap-dart-client.git
|
||||
ref: master
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
|
||||
contacts_service:
|
||||
git:
|
||||
@@ -240,6 +242,8 @@ dependencies:
|
||||
|
||||
future_loading_dialog: 0.3.0
|
||||
|
||||
file_picker: 5.3.1
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
@@ -295,8 +295,8 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: master
|
||||
resolved-ref: "21d15bc1a6a75e048ee1e3cd751dd0815492ce20"
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
resolved-ref: "49305a382ca77211a0668fd9fe196a3c057cdc8e"
|
||||
url: "https://github.com/linagora/jmap-dart-client.git"
|
||||
source: git
|
||||
version: "0.0.1"
|
||||
|
||||
@@ -12,10 +12,12 @@ dependencies:
|
||||
sdk: flutter
|
||||
|
||||
### Dependencies from git ###
|
||||
# TODO: We will change it when the PR in upstream repository will be merged
|
||||
# https://github.com/linagora/jmap-dart-client/pull/87
|
||||
jmap_dart_client:
|
||||
git:
|
||||
url: https://github.com/linagora/jmap-dart-client.git
|
||||
ref: master
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
|
||||
### Dependencies from pub.dev ###
|
||||
equatable: 2.0.5
|
||||
|
||||
@@ -11,10 +11,12 @@ dependencies:
|
||||
sdk: flutter
|
||||
|
||||
### Dependencies from git ###
|
||||
# TODO: We will change it when the PR in upstream repository will be merged
|
||||
# https://github.com/linagora/jmap-dart-client/pull/87
|
||||
jmap_dart_client:
|
||||
git:
|
||||
url: https://github.com/linagora/jmap-dart-client.git
|
||||
ref: master
|
||||
ref: migrate_cnb_to_master_5Jun
|
||||
|
||||
### Dependencies from pub.dev ###
|
||||
equatable: 2.0.5
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'dart:ui';
|
||||
import 'package:core/core.dart';
|
||||
import 'package:core/utils/application_manager.dart';
|
||||
import 'package:dartz/dartz.dart' hide State;
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
@@ -185,6 +186,7 @@ void main() {
|
||||
|
||||
setUp(() {
|
||||
Get.locale = locale;
|
||||
debugDefaultTargetPlatformOverride = TargetPlatform.macOS;
|
||||
});
|
||||
|
||||
group('accept test:', () {
|
||||
@@ -270,9 +272,18 @@ void main() {
|
||||
verify(rejectCalendarEventInteractor.execute(testAccountId, {blobId}, emailId, locale.languageCode)).called(1);
|
||||
});
|
||||
});
|
||||
|
||||
tearDown(() {
|
||||
debugDefaultTargetPlatformOverride = null;
|
||||
});
|
||||
});
|
||||
|
||||
group('StoreEventAttendanceStatusInteractor test', () {
|
||||
|
||||
setUp(() {
|
||||
debugDefaultTargetPlatformOverride = TargetPlatform.macOS;
|
||||
});
|
||||
|
||||
group('calendarEventSuccess method test', () {
|
||||
test(
|
||||
'SHOULD call execute on StoreEventAttendanceStatusInteractor\n'
|
||||
@@ -343,5 +354,9 @@ void main() {
|
||||
)).called(1);
|
||||
});
|
||||
});
|
||||
|
||||
tearDown(() {
|
||||
debugDefaultTargetPlatformOverride = null;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:core/presentation/utils/app_toast.dart';
|
||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||
import 'package:core/utils/application_manager.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -51,6 +52,7 @@ import 'home_controller_test.mocks.dart';
|
||||
MockSpec<UpdateAuthenticationAccountInteractor>(),
|
||||
MockSpec<CachingManager>(),
|
||||
MockSpec<LanguageCacheManager>(),
|
||||
MockSpec<ApplicationManager>(),
|
||||
])
|
||||
void main() {
|
||||
TestWidgetsFlutterBinding.ensureInitialized();
|
||||
@@ -77,6 +79,7 @@ void main() {
|
||||
late MockImagePaths mockImagePaths;
|
||||
late MockResponsiveUtils mockResponsiveUtils;
|
||||
late MockUuid mockUuid;
|
||||
late MockApplicationManager mockApplicationManager;
|
||||
|
||||
setUpAll(() {
|
||||
cleanupEmailCacheInteractor = MockCleanupEmailCacheInteractor();
|
||||
@@ -102,6 +105,7 @@ void main() {
|
||||
mockImagePaths = MockImagePaths();
|
||||
mockResponsiveUtils = MockResponsiveUtils();
|
||||
mockUuid = MockUuid();
|
||||
mockApplicationManager = MockApplicationManager();
|
||||
|
||||
Get.put<GetSessionInteractor>(mockGetSessionInteractor);
|
||||
Get.put<GetAuthenticatedAccountInteractor>(mockGetAuthenticatedAccountInteractor);
|
||||
@@ -122,6 +126,7 @@ void main() {
|
||||
Get.put<ImagePaths>(mockImagePaths);
|
||||
Get.put<ResponsiveUtils>(mockResponsiveUtils);
|
||||
Get.put<Uuid>(mockUuid);
|
||||
Get.put<ApplicationManager>(mockApplicationManager);
|
||||
Get.testMode = true;
|
||||
|
||||
homeController = HomeController(
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:core/data/network/config/dynamic_url_interceptors.dart';
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:core/presentation/utils/app_toast.dart';
|
||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||
import 'package:core/utils/application_manager.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:mockito/annotations.dart';
|
||||
@@ -65,6 +66,7 @@ import 'login_controller_test.mocks.dart';
|
||||
MockSpec<UpdateAuthenticationAccountInteractor>(),
|
||||
MockSpec<CachingManager>(),
|
||||
MockSpec<LanguageCacheManager>(),
|
||||
MockSpec<ApplicationManager>(),
|
||||
])
|
||||
void main() {
|
||||
late MockAuthenticationInteractor mockAuthenticationInteractor;
|
||||
@@ -94,6 +96,7 @@ void main() {
|
||||
late MockImagePaths mockImagePaths;
|
||||
late MockResponsiveUtils mockResponsiveUtils;
|
||||
late MockUuid mockUuid;
|
||||
late MockApplicationManager mockApplicationManager;
|
||||
|
||||
late LoginController loginController;
|
||||
|
||||
@@ -130,6 +133,7 @@ void main() {
|
||||
mockImagePaths = MockImagePaths();
|
||||
mockResponsiveUtils = MockResponsiveUtils();
|
||||
mockUuid = MockUuid();
|
||||
mockApplicationManager = MockApplicationManager();
|
||||
|
||||
Get.put<GetSessionInteractor>(mockGetSessionInteractor);
|
||||
Get.put<GetAuthenticatedAccountInteractor>(mockGetAuthenticatedAccountInteractor);
|
||||
@@ -149,6 +153,7 @@ void main() {
|
||||
Get.put<ImagePaths>(mockImagePaths);
|
||||
Get.put<ResponsiveUtils>(mockResponsiveUtils);
|
||||
Get.put<Uuid>(mockUuid);
|
||||
Get.put<ApplicationManager>(mockApplicationManager);
|
||||
Get.testMode = true;
|
||||
|
||||
loginController = LoginController(
|
||||
|
||||
+2
-7
@@ -17,7 +17,6 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:mockito/annotations.dart';
|
||||
import 'package:mockito/mockito.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
import 'package:rxdart/subjects.dart';
|
||||
import 'package:tmail_ui_user/features/caching/caching_manager.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/send_email_interactor.dart';
|
||||
@@ -168,6 +167,8 @@ const fallbackGenerators = {
|
||||
MockSpec<CachingManager>(),
|
||||
MockSpec<LanguageCacheManager>(),
|
||||
MockSpec<RemoveComposerCacheOnWebInteractor>(),
|
||||
MockSpec<ApplicationManager>(),
|
||||
MockSpec<GetAllIdentitiesInteractor>(),
|
||||
])
|
||||
void main() {
|
||||
// mock mailbox dashboard controller direct dependencies
|
||||
@@ -303,12 +304,6 @@ void main() {
|
||||
Get.put<RemoveComposerCacheOnWebInteractor>(removeComposerCacheOnWebInteractor);
|
||||
|
||||
Get.testMode = true;
|
||||
PackageInfo.setMockInitialValues(
|
||||
appName: '',
|
||||
packageName: '',
|
||||
version: '',
|
||||
buildNumber: '',
|
||||
buildSignature: '');
|
||||
|
||||
when(emailReceiveManager.pendingEmailAddressInfo).thenAnswer((_) => BehaviorSubject.seeded(null));
|
||||
when(emailReceiveManager.pendingEmailContentInfo).thenAnswer((_) => BehaviorSubject.seeded(null));
|
||||
|
||||
Reference in New Issue
Block a user