Navigator

snippet.packages.flutter.lib.src.widgets.navigator.29.

  

// ignore_for_file: directives_ordering
// ignore_for_file: unnecessary_import
// ignore_for_file: unused_import
// ignore_for_file: unused_element
// ignore_for_file: unused_local_variable
import 'dart:async';
import 'dart:convert';
import 'dart:math' as math;
import 'dart:typed_data';
import 'dart:ui' as ui;
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/painting.dart';
import 'package:flutter/physics.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/semantics.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter/animation.dart';
import 'package:flutter/services.dart';

// From: packages/flutter/lib/src/widgets/navigator.dart:29
class MyPage extends Placeholder { const MyPage({Key? key}) : super(key: key); }
class MyHomePage extends Placeholder { const MyHomePage({Key? key}) : super(key: key); }
late NavigatorState navigator;
late BuildContext context;
class NoAnimationTransitionDelegate extends TransitionDelegate {
  @override
  Iterable resolve({
    required List newPageRouteHistory,
    required Map locationToExitingPageRoute,
    required Map> pageRouteToPagelessRoutes,
  }) {
    final List results = [];

    for (final RouteTransitionRecord pageRoute in newPageRouteHistory) {
      if (pageRoute.isWaitingForEnteringDecision) {
        pageRoute.markForAdd();
      }
      results.add(pageRoute);

    }
    for (final RouteTransitionRecord exitingPageRoute in locationToExitingPageRoute.values) {
      if (exitingPageRoute.isWaitingForExitingDecision) {
       exitingPageRoute.markForRemove();
       final List? pagelessRoutes = pageRouteToPagelessRoutes[exitingPageRoute];
       if (pagelessRoutes != null) {
         for (final RouteTransitionRecord pagelessRoute in pagelessRoutes) {
            pagelessRoute.markForRemove();
          }
       }
      }
      results.add(exitingPageRoute);

    }
    return results;
  }
}

void _didPushButton() {
  Navigator.pushNamed(context, '/settings');
}
void _showBerlinWeather() {
  Navigator.pushNamed(
    context,
    '/weather',
    arguments: {
      'city': 'Berlin',
      'country': 'Germany',
    },
  );
}
class WeatherRouteArguments {
  WeatherRouteArguments({ required this.city, required this.country });
  final String city;
  final String country;

  bool get isGermanCapital {
    return country == 'Germany' && city == 'Berlin';
  }
}

void _showWeather() {
  Navigator.pushNamed(
    context,
    '/weather',
    arguments: WeatherRouteArguments(city: 'Berlin', country: 'Germany'),
  );
}
void _showParisWeather() {
  Navigator.restorablePushNamed(
    context,
    '/weather',
    arguments: {
      'city': 'Paris',
      'country': 'France',
    },
  );
}
void _switchToBrightness() {
  Navigator.pushReplacementNamed(context, '/settings/brightness');
}
void _switchToAudioVolume() {
  Navigator.restorablePushReplacementNamed(context, '/settings/volume');
}
void _selectAccessibility() {
  Navigator.popAndPushNamed(context, '/settings/accessibility');
}
void _selectNetwork() {
  Navigator.restorablePopAndPushNamed(context, '/settings/network');
}
void _resetToCalendar() {
  Navigator.pushNamedAndRemoveUntil(context, '/calendar', ModalRoute.withName('/'));
}
void _resetToOverview() {
  Navigator.restorablePushNamedAndRemoveUntil(context, '/overview', ModalRoute.withName('/'));
}
void _openMyPage() {
  Navigator.push(
    context,
    MaterialPageRoute(
      builder: (BuildContext context) => const MyPage(),
    ),
  );
}
void _completeLogin() {
  Navigator.pushReplacement(
    context,
    MaterialPageRoute(
      builder: (BuildContext context) => const MyHomePage(),
    ),
  );
}
void _finishAccountCreation() {
  Navigator.pushAndRemoveUntil(
    context,
    MaterialPageRoute(builder: (BuildContext context) => const MyHomePage()),
    ModalRoute.withName('/'),
  );
}
void _close() {
  Navigator.pop(context);
}
void _logout() {
  Navigator.popUntil(context, ModalRoute.withName('/login'));
}
void _aaronBurrSir() {
  navigator.pushNamed('/nyc/1776');
}
void _openDetails() {
  navigator.restorablePushNamed('/nyc/1776');
}
void _startBike() {
  navigator.pushReplacementNamed('/jouett/1781');
}
void _startCar() {
  navigator.restorablePushReplacementNamed('/jouett/1781');
}
void _begin() {
  navigator.popAndPushNamed('/nyc/1776');
}
void _end() {
  navigator.restorablePopAndPushNamed('/nyc/1776');
}
void _handleOpenCalendar() {
  navigator.pushNamedAndRemoveUntil('/calendar', ModalRoute.withName('/'));
}
void _openCalendar() {
  navigator.restorablePushNamedAndRemoveUntil('/calendar', ModalRoute.withName('/'));
}
void _openPage() {
  navigator.push(
    MaterialPageRoute(
      builder: (BuildContext context) => const MyPage(),
    ),
  );
}
void _doOpenPage() {
  navigator.pushReplacement(
    MaterialPageRoute(
      builder: (BuildContext context) => const MyHomePage(),
    ),
  );
}
void _resetAndOpenPage() {
  navigator.pushAndRemoveUntil(
    MaterialPageRoute(builder: (BuildContext context) => const MyHomePage()),
    ModalRoute.withName('/'),
  );
}
void _handleClose() {
  navigator.pop();
}
void _handleAccept() {
  navigator.pop(true); // dialog returns true
}
void _doLogout() {
  navigator.popUntil(ModalRoute.withName('/login'));
}
  

SHARE: