WIP - more decoupling of blocs

This commit is contained in:
Anton Stubenbord
2022-12-12 01:29:34 +01:00
parent e2a20cea75
commit 2f31d9c053
51 changed files with 1083 additions and 800 deletions

View File

@@ -25,7 +25,7 @@ class DocumentFilter extends Equatable {
final DocumentTypeQuery documentType;
final CorrespondentQuery correspondent;
final StoragePathQuery storagePath;
final AsnQuery asn;
final AsnQuery asnQuery;
final TagsQuery tags;
final SortField sortField;
final SortOrder sortOrder;
@@ -42,7 +42,7 @@ class DocumentFilter extends Equatable {
this.documentType = const DocumentTypeQuery.unset(),
this.correspondent = const CorrespondentQuery.unset(),
this.storagePath = const StoragePathQuery.unset(),
this.asn = const AsnQuery.unset(),
this.asnQuery = const AsnQuery.unset(),
this.tags = const IdsTagsQuery(),
this.sortField = SortField.created,
this.sortOrder = SortOrder.descending,
@@ -60,7 +60,7 @@ class DocumentFilter extends Equatable {
sb.write(correspondent.toQueryParameter());
sb.write(tags.toQueryParameter());
sb.write(storagePath.toQueryParameter());
sb.write(asn.toQueryParameter());
sb.write(asnQuery.toQueryParameter());
if (queryText?.isNotEmpty ?? false) {
sb.write("&${queryType.queryParam}=$queryText");
@@ -104,6 +104,7 @@ class DocumentFilter extends Equatable {
DocumentTypeQuery? documentType,
CorrespondentQuery? correspondent,
StoragePathQuery? storagePath,
AsnQuery? asnQuery,
TagsQuery? tags,
SortField? sortField,
SortOrder? sortOrder,
@@ -129,6 +130,7 @@ class DocumentFilter extends Equatable {
queryText: queryText ?? this.queryText,
createdDateBefore: createdDateBefore ?? this.createdDateBefore,
createdDateAfter: createdDateAfter ?? this.createdDateAfter,
asnQuery: asnQuery ?? this.asnQuery,
);
}
@@ -153,6 +155,19 @@ class DocumentFilter extends Equatable {
return null;
}
int get appliedFiltersCount => [
documentType != initial.documentType,
correspondent != initial.correspondent,
storagePath != initial.storagePath,
tags != initial.tags,
(addedDateAfter != initial.addedDateAfter ||
addedDateBefore != initial.addedDateBefore),
(createdDateAfter != initial.createdDateAfter ||
createdDateBefore != initial.createdDateBefore),
asnQuery != initial.asnQuery,
(queryType != initial.queryType || queryText != initial.queryText),
].fold(0, (previousValue, element) => previousValue += element ? 1 : 0);
@override
List<Object?> get props => [
pageSize,
@@ -160,7 +175,7 @@ class DocumentFilter extends Equatable {
documentType,
correspondent,
storagePath,
asn,
asnQuery,
tags,
sortField,
sortOrder,

View File

@@ -51,9 +51,9 @@ class DocumentModel extends Equatable {
: id = json[idKey],
title = json[titleKey],
content = json[contentKey],
created = DateTime.parse(json[createdKey]),
modified = DateTime.parse(json[modifiedKey]),
added = DateTime.parse(json[addedKey]),
created = DateTime.parse(json[createdKey]).toLocal(),
modified = DateTime.parse(json[modifiedKey]).toLocal(),
added = DateTime.parse(json[addedKey]).toLocal(),
archiveSerialNumber = json[asnKey],
originalFileName = json[originalFileNameKey],
archivedFileName = json[archivedFileNameKey],
@@ -71,9 +71,9 @@ class DocumentModel extends Equatable {
contentKey: content,
correspondentKey: correspondent,
documentTypeKey: documentType,
createdKey: created.toUtc().toIso8601String(),
modifiedKey: modified.toUtc().toIso8601String(),
addedKey: added.toUtc().toIso8601String(),
createdKey: created.toIso8601String(),
modifiedKey: modified.toIso8601String(),
addedKey: added.toIso8601String(),
originalFileNameKey: originalFileName,
tagsKey: tags.toList(),
storagePathKey: storagePath,

View File

@@ -187,7 +187,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
const DocumentFilter asnQueryFilter = DocumentFilter(
sortField: SortField.archiveSerialNumber,
sortOrder: SortOrder.descending,
asn: AsnQuery.anyAssigned(),
asnQuery: AsnQuery.anyAssigned(),
page: 1,
pageSize: 1,
);