updateArticle<A extends ArticleRawAbstract> method
Future<A>
updateArticle<A extends ArticleRawAbstract>(
- A articleData, {
- bool isInternetAvailable = true,
Implementation
@action
Future<A> updateArticle<A extends ArticleRawAbstract>(A articleData,
{bool isInternetAvailable = true}) async {
await _articlesService.updateArticleRpc.request(articleData);
final calibreIndex =
calibresFull.indexWhere((e) => e.id == articleData.calibreId);
if (calibreIndex < 0) {
throw 'error in updateArticle for ${articleData.toString()}';
}
final calibre = calibresFull[calibreIndex];
if (calibre.articles.isEmpty) {
throw 'error in updateArticle for ${articleData.toString()}';
}
final articleIndex =
calibre.articles.indexWhere((a) => a.id == articleData.id);
if (articleIndex < 0) {
throw 'error in updateArticle';
}
await _updateCalibreServer(calibre, isInternetAvailable);
calibresFull[calibreIndex].articles[articleIndex] = articleData;
// make sur that the function sparks an update in mobx => View
final temp = calibresFull[calibreIndex];
calibresFull.removeAt(calibreIndex);
calibresFull.add(temp);
return articleData;
}