LCOV - code coverage report
Current view: top level - src/ui/editor/pages/helpers_list - helpers_list_loader.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 8 23 34.8 %
Date: 2020-12-04 18:41:24 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:flutter/material.dart';
       2             : import 'package:pal/src/database/entity/helper/helper_entity.dart';
       3             : import 'package:pal/src/database/entity/page_entity.dart';
       4             : import 'package:pal/src/database/entity/pageable.dart';
       5             : import 'package:pal/src/pal_navigator_observer.dart';
       6             : import 'package:pal/src/services/editor/helper/helper_editor_service.dart';
       7             : import 'package:pal/src/services/editor/page/page_editor_service.dart';
       8             : import 'package:pal/src/ui/editor/pages/helpers_list/helpers_list_modal_viewmodel.dart';
       9             : 
      10             : class HelpersListModalLoader {
      11             : 
      12             :   final PageEditorService _pageService;
      13             :   final EditorHelperService _helperService;
      14             :   final PalRouteObserver _routeObserver;
      15             :   final _helpersOffset = 20;
      16             :   Pageable<HelperEntity> _pageable;
      17             : 
      18           1 :   HelpersListModalLoader(
      19             :     this._pageService,
      20             :     this._helperService,
      21             :     this._routeObserver
      22             :   );
      23             : 
      24           1 :   Future<HelpersListModalModel> load() async {
      25           1 :     var resViewModel = HelpersListModalModel();
      26             : 
      27           4 :     RouteSettings route = await _routeObserver.routeSettings.first;
      28           2 :     PageEntity page = await getPage(route);
      29           0 :     if (page != null && page.id.isNotEmpty) {
      30           0 :       resViewModel.pageId = page.id;
      31           0 :       resViewModel.pageRouteName = page.route;
      32           0 :       resViewModel.helpers = await this.loadMore(page?.id);
      33             :     }
      34             :     return resViewModel;
      35             :   }
      36             : 
      37           0 :   Future<List<HelperEntity>> loadMore(String pageId) {
      38           0 :     return _pageable != null && _pageable.last
      39           0 :         ? Future.value([])
      40             :         : this
      41           0 :             ._helperService.getPage(
      42             :               pageId,
      43           0 :               _pageable == null ? 0 : ++_pageable.pageNumber,
      44           0 :               _helpersOffset,
      45           0 :             ).then(
      46           0 :               (res) {
      47           0 :                 _pageable = res;
      48           0 :                 return this._pageable.entities.toList();
      49             :             },
      50             :           );
      51             :   }
      52             : 
      53           1 :   Future<PageEntity> getPage(RouteSettings route) async {
      54           1 :     if (route == null || route.name == null || route.name.length <= 0) {
      55           1 :       return Future.value();
      56             :     }
      57           0 :     return this._pageService.getPage(route.name).then((resPage) => resPage);
      58             :   }
      59             : 
      60             : }

Generated by: LCOV version 1.14