TF-467 Apply new UI for mailbox of destination picker and mailbox creator
This commit is contained in:
@@ -90,7 +90,6 @@ class MailboxController extends BaseMailboxController {
|
||||
final searchFocus = FocusNode();
|
||||
final mailboxListScrollController = ScrollController();
|
||||
|
||||
List<PresentationMailbox> allMailboxes = <PresentationMailbox>[];
|
||||
jmapState.State? currentMailboxState;
|
||||
List<String> listMailboxNameAsStringExist = <String>[];
|
||||
|
||||
@@ -184,19 +183,13 @@ class MailboxController extends BaseMailboxController {
|
||||
super.onData(newState);
|
||||
newState.map((success) async {
|
||||
if (success is GetAllMailboxSuccess) {
|
||||
log('MailboxController::onData(): ${allMailboxes.length}');
|
||||
allMailboxes = success.mailboxList;
|
||||
currentMailboxState = success.currentMailboxState;
|
||||
await buildTree(allMailboxes);
|
||||
|
||||
_setUpMapMailboxIdDefault(allMailboxes, defaultMailboxTree.value, folderMailboxTree.value);
|
||||
await buildTree(success.mailboxList);
|
||||
_setUpMapMailboxIdDefault(success.mailboxList, defaultMailboxTree.value, folderMailboxTree.value);
|
||||
} else if (success is RefreshChangesAllMailboxSuccess) {
|
||||
log('MailboxController::onData(): ${allMailboxes.length}');
|
||||
allMailboxes = success.mailboxList;
|
||||
currentMailboxState = success.currentMailboxState;
|
||||
await refreshTree(allMailboxes);
|
||||
|
||||
_setUpMapMailboxIdDefault(allMailboxes, defaultMailboxTree.value, folderMailboxTree.value);
|
||||
await refreshTree(success.mailboxList);
|
||||
_setUpMapMailboxIdDefault(success.mailboxList, defaultMailboxTree.value, folderMailboxTree.value);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -407,25 +400,10 @@ class MailboxController extends BaseMailboxController {
|
||||
}
|
||||
|
||||
void _searchMailboxSuccess(SearchMailboxSuccess success) {
|
||||
final mailboxesSearchedWithPath = _findMailboxPath(success.mailboxesSearched);
|
||||
final mailboxesSearchedWithPath = findMailboxPath(success.mailboxesSearched);
|
||||
listMailboxSearched.value = mailboxesSearchedWithPath;
|
||||
}
|
||||
|
||||
List<PresentationMailbox> _findMailboxPath(List<PresentationMailbox> mailboxes) {
|
||||
return mailboxes.map((presentationMailbox) {
|
||||
if (!presentationMailbox.hasParentId()) {
|
||||
return presentationMailbox;
|
||||
} else {
|
||||
final mailboxNodePath = findNodePath(presentationMailbox.id);
|
||||
if (mailboxNodePath != null) {
|
||||
return presentationMailbox.toPresentationMailboxWithMailboxPath(mailboxNodePath);
|
||||
} else {
|
||||
return presentationMailbox;
|
||||
}
|
||||
}
|
||||
}).toList();
|
||||
}
|
||||
|
||||
void _searchMailboxFailure(SearchMailboxFailure failure) {
|
||||
listMailboxSearched.clear();
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ class MailboxView extends GetWidget<MailboxController> {
|
||||
child: RefreshIndicator(
|
||||
color: AppColor.primaryColor,
|
||||
onRefresh: () async => controller.refreshAllMailbox(),
|
||||
child:controller.isSearchActive()
|
||||
child: controller.isSearchActive()
|
||||
? SafeArea(
|
||||
bottom: !controller.isSelectionEnabled(),
|
||||
top: false,
|
||||
@@ -337,11 +337,7 @@ class MailboxView extends GetWidget<MailboxController> {
|
||||
context,
|
||||
key: Key('children_tree_mailbox_child'),
|
||||
isExpanded: mailboxNode.expandMode == ExpandMode.EXPAND,
|
||||
parent: Obx(() => (MailBoxFolderTileBuilder(
|
||||
context,
|
||||
_imagePaths,
|
||||
mailboxNode,
|
||||
lastNode: lastNode,
|
||||
parent: Obx(() => (MailBoxFolderTileBuilder(context, _imagePaths, mailboxNode, lastNode: lastNode,
|
||||
allSelectMode: controller.currentSelectMode.value)
|
||||
..addOnOpenMailboxFolderClick((mailboxNode) => controller.openMailbox(context, mailboxNode.item))
|
||||
..addOnExpandFolderActionClick((mailboxNode) => controller.toggleMailboxFolder(mailboxNode))
|
||||
@@ -349,15 +345,11 @@ class MailboxView extends GetWidget<MailboxController> {
|
||||
.build()),
|
||||
children: _buildListChildTileWidget(context, mailboxNode)
|
||||
).build()
|
||||
: Obx(() => (MailBoxFolderTileBuilder(
|
||||
context,
|
||||
_imagePaths,
|
||||
mailboxNode,
|
||||
lastNode: lastNode,
|
||||
allSelectMode: controller.currentSelectMode.value)
|
||||
..addOnOpenMailboxFolderClick((mailboxNode) => controller.openMailbox(context, mailboxNode.item))
|
||||
..addOnSelectMailboxFolderClick((mailboxNode) => controller.selectMailboxNode(mailboxNode)))
|
||||
.build())
|
||||
: Obx(() => (MailBoxFolderTileBuilder(context, _imagePaths, mailboxNode, lastNode: lastNode,
|
||||
allSelectMode: controller.currentSelectMode.value)
|
||||
..addOnOpenMailboxFolderClick((mailboxNode) => controller.openMailbox(context, mailboxNode.item))
|
||||
..addOnSelectMailboxFolderClick((mailboxNode) => controller.selectMailboxNode(mailboxNode)))
|
||||
.build())
|
||||
).toList() ?? <Widget>[];
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ extension MailboxActionsExtension on MailboxActions {
|
||||
case MailboxActions.create:
|
||||
return AppLocalizations.of(context).mailbox_location;
|
||||
case MailboxActions.moveEmail:
|
||||
return AppLocalizations.of(context).move_to_mailbox;
|
||||
return AppLocalizations.of(context).move_message;
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ class MailboxSearchTileBuilder {
|
||||
),
|
||||
if (lastMailbox?.id != _presentationMailbox.id)
|
||||
Padding(
|
||||
padding: EdgeInsets.only(left: allSelectMode == SelectMode.ACTIVE ? 50 : 45),
|
||||
padding: EdgeInsets.only(left: allSelectMode == SelectMode.ACTIVE ? 50 : 35),
|
||||
child: Divider(color: AppColor.lineItemListColor, height: 0.5, thickness: 0.2)),
|
||||
]),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user