mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-28 09:47:35 +08:00
Folder.removeFolder: Remove listeners recursively
Ideally when removing a folder one shouldn't have any notes, but sometimes we do allow an entire folder to be reset. Related to #36
This commit is contained in:
@ -318,6 +318,12 @@ class NotesFolderFS with NotesFolderNotifier implements NotesFolder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void removeFolder(NotesFolderFS folder) {
|
void removeFolder(NotesFolderFS folder) {
|
||||||
|
var notesCopy = List<Note>.from(folder._notes);
|
||||||
|
notesCopy.forEach(folder.remove);
|
||||||
|
|
||||||
|
var foldersCopy = List<NotesFolderFS>.from(folder._folders);
|
||||||
|
foldersCopy.forEach(folder.removeFolder);
|
||||||
|
|
||||||
_removeFolderListeners(folder);
|
_removeFolderListeners(folder);
|
||||||
|
|
||||||
assert(_folders.indexWhere((f) => f.folderPath == folder.folderPath) != -1);
|
assert(_folders.indexWhere((f) => f.folderPath == folder.folderPath) != -1);
|
||||||
|
Reference in New Issue
Block a user