removePage method

  1. @internal
void removePage(
  1. AppPage page,
  2. dynamic result
)

Implementation

@internal
void removePage(AppPage page, dynamic result) {
  final route = page.route;

  if (route.isSubRoot) {
    final subTree = pages.getSubTrees().find(route);

    if (subTree != null) {
      final newRoutes = pages.removeSubTree(route);
      subTree.children.reversed.forEach((page) {
        observer?.notifyRemove(page.customPage.route);
      });
      observer?.notifyRemove(subTree.root.customPage.route);

      _pages = newRoutes;
    } else {
      _log("No subtree with root $route");
    }
  } else {
    _actualRemovePage(page, result);
  }
  notifyListeners();
}