Files
paperless-mobile/lib/features/scan/bloc/document_scanner_cubit.dart
Anton Stubenbord cb797df7d2 Initial commit
2022-10-30 14:15:37 +01:00

35 lines
827 B
Dart

import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_paperless_mobile/core/model/error_message.dart';
import 'package:injectable/injectable.dart';
@singleton
class DocumentScannerCubit extends Cubit<List<File>> {
static List<File> initialState = [];
DocumentScannerCubit() : super(initialState);
void addScan(File file) => emit([...state, file]);
void removeScan(int fileIndex) {
try {
state[fileIndex].deleteSync();
final scans = [...state];
scans.removeAt(fileIndex);
emit(scans);
} catch (_) {
addError(const ErrorMessage(ErrorCode.scanRemoveFailed));
}
}
void reset() {
for (final doc in state) {
doc.deleteSync();
}
imageCache.clear();
emit(initialState);
}
}