feat: Implement new tag form field

This commit is contained in:
Anton Stubenbord
2023-04-10 01:00:34 +02:00
parent 5eb19dbe83
commit f2fa4e16de
9 changed files with 448 additions and 102 deletions

View File

@@ -1,3 +1,4 @@
import 'package:collection/collection.dart';
import 'package:json_annotation/json_annotation.dart';
import 'tags_query.dart';
@@ -22,6 +23,16 @@ class AnyAssignedTagsQuery extends TagsQuery {
@override
List<Object?> get props => [tagIds];
AnyAssignedTagsQuery withRemoved(Iterable<int> ids) {
return AnyAssignedTagsQuery(
tagIds: tagIds.toSet().difference(ids.toSet()).toList(),
);
}
AnyAssignedTagsQuery withAdded(Iterable<int> ids) {
return AnyAssignedTagsQuery(tagIds: [...tagIds, ...ids]);
}
@override
Map<String, dynamic> toJson() => _$AnyAssignedTagsQueryToJson(this);