LCOV - code coverage report
Current view: top level - src/routing - story_router_delegate.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 0 25 0.0 %
Date: 2021-10-03 15:54:23 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:flutter/material.dart';
       2             : import 'package:widgetbook/src/navigation/navigation.dart';
       3             : import 'package:widgetbook/src/providers/canvas_provider.dart';
       4             : import 'package:widgetbook/src/providers/canvas_state.dart';
       5             : import 'package:widgetbook/src/providers/organizer_provider.dart';
       6             : import 'package:widgetbook/src/routing/story_route_path.dart';
       7             : import 'package:widgetbook/src/styled_widgets/styled_scaffold.dart';
       8             : import 'package:widgetbook/src/widgets/wrapper.dart';
       9             : 
      10             : import '../../widgetbook.dart';
      11             : 
      12             : class StoryRouterDelegate extends RouterDelegate<StoryRoutePath>
      13             :     with ChangeNotifier, PopNavigatorRouterDelegateMixin<StoryRoutePath> {
      14             :   @override
      15             :   final GlobalKey<NavigatorState> navigatorKey;
      16             : 
      17             :   final AppInfo appInfo;
      18             :   final CanvasState canvasState;
      19             : 
      20           0 :   StoryRouterDelegate({
      21             :     required this.appInfo,
      22             :     required this.canvasState,
      23           0 :   }) : navigatorKey = GlobalKey<NavigatorState>();
      24             : 
      25           0 :   @override
      26             :   Widget build(BuildContext context) {
      27           0 :     return Navigator(
      28           0 :       pages: [
      29           0 :         MaterialPage(
      30           0 :           key: ValueKey(currentConfiguration.path),
      31           0 :           child: StyledScaffold(
      32           0 :             body: Padding(
      33             :               padding: const EdgeInsets.all(16.0),
      34           0 :               child: Builder(builder: (context) {
      35           0 :                 var state = OrganizerProvider.of(context)!.state;
      36           0 :                 return Row(
      37           0 :                   children: [
      38           0 :                     NavigationPanel(
      39           0 :                       appInfo: appInfo,
      40           0 :                       categories: state.filteredCategories,
      41             :                     ),
      42             :                     const SizedBox(
      43             :                       width: 16,
      44             :                     ),
      45             :                     const Expanded(
      46             :                       child: Editor(),
      47             :                     ),
      48             :                   ],
      49             :                 );
      50             :               }),
      51             :             ),
      52             :           ),
      53             :         )
      54             :       ],
      55           0 :       onPopPage: (route, result) {
      56           0 :         if (!route.didPop(result)) {
      57             :           return false;
      58             :         }
      59             : 
      60           0 :         CanvasProvider.of(context)!.deselectStory();
      61             : 
      62           0 :         notifyListeners();
      63             : 
      64             :         return true;
      65             :       },
      66             :     );
      67             :   }
      68             : 
      69           0 :   @override
      70           0 :   StoryRoutePath get currentConfiguration => StoryRoutePath(
      71           0 :         path: canvasState.selectedStory == null
      72             :             ? '/'
      73           0 :             : '/stories/${canvasState.selectedStory!.path}',
      74             :       );
      75             : 
      76             :   @override
      77           0 :   Future<void> setNewRoutePath(StoryRoutePath configuration) async {}
      78             : }

Generated by: LCOV version 1.15