build<T> static method

ControlRoute build<T>({
  1. dynamic identifier,
  2. required InitWidgetBuilder builder,
  3. Object? arguments,
  4. String? mask,
  5. RouteArgFactory? path,
  6. RouteArgFactory? query,
})

Builds Route via builder with given identifier and settings. Type or identifier is required - check RouteStore.routeIdentifier for more info about Store keys. mask - specific url mask, that can be used for dynamic routing - check RouteStore.routePathMask for more info. E.g. /project/{pid}/user{uid} settings - Additional Route settings.

Typically used within Control.initControl or ControlRoot.

  routes: [
    ControlRoute.build<SettingsPage>(builder: (_) => SettingsPage()),
    ControlRoute.build(identifier: 'settings', builder: (_) => SettingsPage()),
  ]

Using Type as route identifier is recommended.

Implementation

static ControlRoute build<T>({
  dynamic identifier,
  required InitWidgetBuilder builder,
  Object? arguments,
  String? mask,
  RouteArgFactory? path,
  RouteArgFactory? query,
}) {
  assert(T != dynamic || identifier != null);

  return ControlRoute._()
    ..identifier = RouteStore.routeIdentifier<T>(identifier)
    .._builder = builder
    .._arguments = arguments
    .._mask = mask
    .._pathBuilder = path
    .._queryBuilder = query;
}