pushNamed method

AFRouteState pushNamed(
  1. AFRouteParam param,
  2. List<AFRouteParam>? children,
  3. AFCreateDefaultChildParamDelegate? createDefaultChildParam
)

Adds a new screen/data below the current screen in the route.

Implementation

AFRouteState pushNamed(AFRouteParam param, List<AFRouteParam>? children, AFCreateDefaultChildParamDelegate? createDefaultChildParam) {
  var routeState = this;
  if(param is AFRouteParamRef) {
    assert(param.routeLocation == AFRouteLocation.globalPool, "You can only AFRouteParamUseExistingOrDefault for a global screen.");

    // first, revise it with the default.
    routeState = updateRouteParamWithExistingOrDefault(param);

    // then, revise the route parameter
  }

  AFibD.logRouteAF?.d("pushNamed: $param");
  return routeState._reviseScreen(screenHierarchy.pushNamed(param, children, createDefaultChildParam));
}