LCOV - code coverage report
Current view: top level - src/ui/editor/pages/helper_editor/font_editor/pickers/font_family_picker - font_family_picker_presenter.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 27 29 93.1 %
Date: 2020-12-04 18:41:24 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:mvvm_builder/mvvm_builder.dart';
       2             : import 'package:pal/src/ui/editor/pages/helper_editor/font_editor/pickers/font_family_picker/font_family_picker.dart';
       3             : import 'package:pal/src/ui/editor/pages/helper_editor/font_editor/pickers/font_family_picker/font_family_picker_loader.dart';
       4             : import 'package:pal/src/ui/editor/pages/helper_editor/font_editor/pickers/font_family_picker/font_family_picker_viewmodel.dart';
       5             : 
       6             : class FontFamilyPickerPresenter
       7             :     extends Presenter<FontFamilyPickerModel, FontFamilyPickerView> {
       8             :   final FontFamilyPickerLoader loader;
       9             :   final FontFamilyPickerArguments arguments;
      10             : 
      11           1 :   FontFamilyPickerPresenter(
      12             :     FontFamilyPickerView viewInterface,
      13             :     this.loader,
      14             :     this.arguments,
      15           2 :   ) : super(FontFamilyPickerModel(), viewInterface);
      16             : 
      17           1 :   @override
      18             :   void onInit() {
      19           3 :     this.viewModel.originalFonts = [];
      20           3 :     this.viewModel.fonts = [];
      21           2 :     this.viewModel.isLoading = false;
      22           4 :     this.viewModel.selectedFontFamilyKey = arguments.fontFamilyName;
      23             : 
      24           1 :     this.setup();
      25             :   }
      26             : 
      27           1 :   setup() async {
      28           2 :     this.viewModel.isLoading = true;
      29           1 :     this.refreshView();
      30             : 
      31           3 :     FontFamilyPickerModel loadedViewModel = await this.loader.load();
      32           3 :     this.viewModel.fonts = loadedViewModel.fonts;
      33           3 :     this.viewModel.originalFonts = loadedViewModel.originalFonts;
      34             : 
      35           2 :     this.viewModel.isLoading = false;
      36           1 :     this.refreshView();
      37             :   }
      38             : 
      39           1 :   void filterSearchResults(String query) {
      40           1 :     if (query.isNotEmpty) {
      41           1 :       List<String> dummyListData = [];
      42           4 :       this.viewModel.originalFonts.forEach((fontKey) {
      43           1 :         final lowerQuery = query.toLowerCase();
      44           1 :         final lowerFontName = fontKey.toLowerCase();
      45             : 
      46           1 :         if (lowerFontName.contains(lowerQuery)) {
      47           1 :           dummyListData.add(fontKey);
      48             :         }
      49             :       });
      50           3 :       this.viewModel.fonts.clear();
      51           3 :       this.viewModel.fonts.addAll(dummyListData);
      52             :     } else {
      53           0 :       this.viewModel.fonts.clear();
      54           0 :       this.viewModel.fonts.addAll(this.viewModel.originalFonts);
      55             :     }
      56             : 
      57           1 :     this.refreshView();
      58             :   }
      59             : }

Generated by: LCOV version 1.14