TF-495 Implement linter for mailbox view
This commit is contained in:
@@ -6,7 +6,7 @@ import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:model/mailbox/select_mode.dart';
|
||||
|
||||
class MailboxNode with EquatableMixin{
|
||||
static PresentationMailbox _root = PresentationMailbox(MailboxId(Id('root')));
|
||||
static final PresentationMailbox _root = PresentationMailbox(MailboxId(Id('root')));
|
||||
|
||||
PresentationMailbox item;
|
||||
List<MailboxNode>? childrenItems;
|
||||
@@ -29,14 +29,12 @@ class MailboxNode with EquatableMixin{
|
||||
);
|
||||
|
||||
void addChildNode(MailboxNode node) {
|
||||
if (childrenItems == null) {
|
||||
childrenItems = [];
|
||||
}
|
||||
childrenItems ??= [];
|
||||
childrenItems?.add(node);
|
||||
}
|
||||
|
||||
List<MailboxNode>? updateNode(MailboxId mailboxId, MailboxNode newNode, {MailboxNode? parent}) {
|
||||
List<MailboxNode>? _children = parent == null ? this.childrenItems : parent.childrenItems;
|
||||
List<MailboxNode>? _children = parent == null ? childrenItems : parent.childrenItems;
|
||||
return _children?.map((MailboxNode child) {
|
||||
if (child.item.id == mailboxId) {
|
||||
return newNode;
|
||||
@@ -66,15 +64,15 @@ class MailboxNode with EquatableMixin{
|
||||
listOfNodes.add(node);
|
||||
List<MailboxNode>? childrenItems = node.childrenItems;
|
||||
if (childrenItems != null) {
|
||||
childrenItems.forEach((child) {
|
||||
for (var child in childrenItems) {
|
||||
_appendDescendants(child, listOfNodes);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<MailboxNode>? toggleSelectNode(MailboxNode selectedMailboxMode, {MailboxNode? parent}) {
|
||||
List<MailboxNode>? _children = parent == null ? this.childrenItems : parent.childrenItems;
|
||||
List<MailboxNode>? _children = parent == null ? childrenItems : parent.childrenItems;
|
||||
return _children?.map((MailboxNode child) {
|
||||
if (child.item.id == selectedMailboxMode.item.id) {
|
||||
return child.toggleSelectMailboxNode();
|
||||
@@ -88,7 +86,7 @@ class MailboxNode with EquatableMixin{
|
||||
}
|
||||
|
||||
List<MailboxNode>? toSelectedNode({required SelectMode selectMode, ExpandMode? newExpandMode, MailboxNode? parent}) {
|
||||
List<MailboxNode>? _children = parent == null ? this.childrenItems : parent.childrenItems;
|
||||
List<MailboxNode>? _children = parent == null ? childrenItems : parent.childrenItems;
|
||||
return _children?.map((MailboxNode child) {
|
||||
if (child.hasChildren()) {
|
||||
return child.copyWith(
|
||||
|
||||
@@ -15,7 +15,7 @@ class MailboxTree with EquatableMixin {
|
||||
MailboxTree(this.root);
|
||||
|
||||
MailboxNode? findNode(NodeQuery nodeQuery) {
|
||||
var result;
|
||||
MailboxNode? result;
|
||||
final queue = ListQueue<MailboxNode>();
|
||||
queue.addLast(root);
|
||||
while (queue.isNotEmpty) {
|
||||
|
||||
@@ -13,10 +13,10 @@ class TreeBuilder {
|
||||
final Map<MailboxId, MailboxNode> mailboxDictionary = HashMap();
|
||||
|
||||
final tree = MailboxTree(MailboxNode.root());
|
||||
mailboxesList.forEach((mailbox) {
|
||||
for (var mailbox in mailboxesList) {
|
||||
mailboxDictionary[mailbox.id] = MailboxNode(mailbox);
|
||||
});
|
||||
mailboxesList.forEach((mailbox) {
|
||||
}
|
||||
for (var mailbox in mailboxesList) {
|
||||
final parentId = mailbox.parentId;
|
||||
final parentNode = mailboxDictionary[parentId];
|
||||
final node = mailboxDictionary[mailbox.id];
|
||||
@@ -35,7 +35,7 @@ class TreeBuilder {
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return tree;
|
||||
}
|
||||
|
||||
@@ -45,11 +45,11 @@ class TreeBuilder {
|
||||
final defaultTree = MailboxTree(MailboxNode.root());
|
||||
final folderTree = MailboxTree(MailboxNode.root());
|
||||
|
||||
allMailboxes.forEach((mailbox) {
|
||||
for (var mailbox in allMailboxes) {
|
||||
mailboxDictionary[mailbox.id] = MailboxNode(mailbox);
|
||||
});
|
||||
}
|
||||
|
||||
allMailboxes.forEach((mailbox) {
|
||||
for (var mailbox in allMailboxes) {
|
||||
final parentId = mailbox.parentId;
|
||||
final parentNode = mailboxDictionary[parentId];
|
||||
final node = mailboxDictionary[mailbox.id];
|
||||
@@ -70,7 +70,7 @@ class TreeBuilder {
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
defaultTree.root.childrenItems?.sort((thisMailbox, thatMailbox) => thisMailbox.compareTo(thatMailbox));
|
||||
return Tuple2(defaultTree, folderTree);
|
||||
@@ -86,7 +86,7 @@ class TreeBuilder {
|
||||
final newDefaultTree = MailboxTree(MailboxNode.root());
|
||||
final newFolderTree = MailboxTree(MailboxNode.root());
|
||||
|
||||
allMailboxes.forEach((mailbox) {
|
||||
for (var mailbox in allMailboxes) {
|
||||
final mailboxNodeBeforeChanges = defaultTreeBeforeChanges.findNode((node) => node.item.id == mailbox.id) ??
|
||||
folderTreeBeforeChanges.findNode((node) => node.item.id == mailbox.id);
|
||||
if (mailboxNodeBeforeChanges != null) {
|
||||
@@ -97,9 +97,9 @@ class TreeBuilder {
|
||||
} else {
|
||||
mailboxDictionary[mailbox.id] = MailboxNode(mailbox);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
allMailboxes.forEach((mailbox) {
|
||||
for (var mailbox in allMailboxes) {
|
||||
final parentId = mailbox.parentId;
|
||||
final parentNode = mailboxDictionary[parentId];
|
||||
final node = mailboxDictionary[mailbox.id];
|
||||
@@ -120,7 +120,7 @@ class TreeBuilder {
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
newDefaultTree.root.childrenItems?.sort((thisMailbox, thatMailbox) => thisMailbox.compareTo(thatMailbox));
|
||||
return Tuple2(newDefaultTree, newFolderTree);
|
||||
|
||||
Reference in New Issue
Block a user