feat: Add bulk edit forms

This commit is contained in:
Anton Stubenbord
2023-03-12 18:26:44 +01:00
parent 81822f5897
commit a5df4deeb9
7 changed files with 564 additions and 305 deletions

View File

@@ -58,43 +58,6 @@ class DocumentsCubit extends HydratedCubit<DocumentsState>
await reload();
}
Future<void> bulkEditTags(
Iterable<DocumentModel> documents, {
Iterable<int> addTags = const [],
Iterable<int> removeTags = const [],
}) async {
debugPrint("[DocumentsCubit] bulkEditTags");
final edited = await api.bulkAction(BulkModifyTagsAction(
documents.map((doc) => doc.id),
addTags: addTags,
removeTags: removeTags,
));
await reload();
for (final id in edited) {
final doc =
state.documents.firstWhereOrNull((element) => element.id == id);
if (doc != null) {
notifier.notifyUpdated(doc);
}
}
}
Future<void> bulkAction(BulkAction action) async {
debugPrint("[DocumentsCubit] bulkEditLabel");
final edited = await api.bulkAction(action);
await reload();
for (final id in edited) {
final doc =
state.documents.firstWhereOrNull((element) => element.id == id);
if (doc != null) {
notifier.notifyUpdated(doc);
}
}
}
void toggleDocumentSelection(DocumentModel model) {
debugPrint("[DocumentsCubit] toggleSelection");
if (state.selectedIds.contains(model.id)) {