WIP - More decoupling of data layer from ui layer

This commit is contained in:
Anton Stubenbord
2022-12-09 00:54:39 +01:00
parent 75fa2f7713
commit c9694fa8d0
87 changed files with 2508 additions and 1879 deletions

View File

@@ -1,24 +1,25 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:injectable/injectable.dart';
import 'package:paperless_api/paperless_api.dart';
import 'package:paperless_mobile/features/linked_documents_preview/bloc/state/linked_documents_state.dart';
@injectable
class LinkedDocumentsCubit extends Cubit<LinkedDocumentsState> {
final PaperlessDocumentsApi _api;
LinkedDocumentsCubit(this._api) : super(LinkedDocumentsState());
LinkedDocumentsCubit(this._api, DocumentFilter filter)
: super(LinkedDocumentsState(filter: filter)) {
_initialize();
}
Future<void> initialize(DocumentFilter filter) async {
Future<void> _initialize() async {
final documents = await _api.find(
filter.copyWith(
state.filter.copyWith(
pageSize: 100,
),
);
emit(LinkedDocumentsState(
isLoaded: true,
documents: documents,
filter: filter,
filter: state.filter,
));
}
}

View File

@@ -3,10 +3,10 @@ import 'package:paperless_api/paperless_api.dart';
class LinkedDocumentsState {
final bool isLoaded;
final PagedSearchResult<DocumentModel>? documents;
final DocumentFilter? filter;
final DocumentFilter filter;
LinkedDocumentsState({
this.filter,
required this.filter,
this.isLoaded = false,
this.documents,
});