TF-4195 Add Label to Thread
This commit is contained in:
@@ -12,8 +12,8 @@ import 'package:tmail_ui_user/features/labels/presentation/widgets/label_item_co
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
typedef OnAddLabelToEmailCallback = void Function(
|
||||
EmailId emailId,
|
||||
typedef OnAddLabelToEmailsCallback = void Function(
|
||||
List<EmailId> emailIds,
|
||||
Label label,
|
||||
bool isSelected,
|
||||
);
|
||||
@@ -21,15 +21,15 @@ typedef OnAddLabelToEmailCallback = void Function(
|
||||
class AddLabelToEmailModal extends StatefulWidget {
|
||||
final List<Label> labels;
|
||||
final List<Label> emailLabels;
|
||||
final EmailId emailId;
|
||||
final OnAddLabelToEmailCallback onAddLabelToEmailCallback;
|
||||
final List<EmailId> emailIds;
|
||||
final OnAddLabelToEmailsCallback onAddLabelToEmailsCallback;
|
||||
|
||||
const AddLabelToEmailModal({
|
||||
super.key,
|
||||
required this.labels,
|
||||
required this.emailLabels,
|
||||
required this.emailId,
|
||||
required this.onAddLabelToEmailCallback,
|
||||
required this.emailIds,
|
||||
required this.onAddLabelToEmailsCallback,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -146,7 +146,7 @@ class _AddLabelToEmailModalState extends State<AddLabelToEmailModal> {
|
||||
}
|
||||
|
||||
void _onSelectLabel(Label label, bool isSelected) {
|
||||
widget.onAddLabelToEmailCallback(widget.emailId, label, isSelected);
|
||||
widget.onAddLabelToEmailsCallback(widget.emailIds, label, isSelected);
|
||||
popBack();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,28 +1,24 @@
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:labels/model/label.dart';
|
||||
import 'package:model/email/presentation_email.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/extensions/presentation_email_extension.dart';
|
||||
import 'package:tmail_ui_user/features/labels/presentation/widgets/label_item_context_menu.dart';
|
||||
|
||||
class LabelListContextMenu extends StatelessWidget {
|
||||
final PresentationEmail presentationEmail;
|
||||
final List<Label> labelList;
|
||||
final List<Label> emailLabels;
|
||||
final ImagePaths imagePaths;
|
||||
final OnSelectLabelAction onSelectLabelAction;
|
||||
|
||||
const LabelListContextMenu({
|
||||
super.key,
|
||||
required this.labelList,
|
||||
required this.presentationEmail,
|
||||
required this.emailLabels,
|
||||
required this.imagePaths,
|
||||
required this.onSelectLabelAction,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final emailLabels = presentationEmail.getLabelList(labelList);
|
||||
|
||||
return ListView.builder(
|
||||
shrinkWrap: true,
|
||||
itemCount: labelList.length,
|
||||
|
||||
Reference in New Issue
Block a user