itemDetail property

RouteHref itemDetail
getter/setter pair

Implementation

static RouteHref itemDetail = RouteHref(
    path: '/{section}/{id}',
    titleBuilder: (event) {
      RouteSettings settings = event.settings;
      if (settings.arguments is DetailParams) {
        var arguments = settings.arguments as DetailParams;
        if (arguments.title != null) {
          return '${arguments.title!(event.context)}';
        } else {
          return arguments.screenTitle;
        }
      }
      return "Unknown Title";
    },
    animated: (event) => !isLargeFormatWeb(event.context!),
    onPush: (event) {
      RouteSettings settings = event.settings;
      if (settings.arguments is DetailParams) {
        var arguments = settings.arguments as DetailParams;
        if (arguments.itemType == 'Media') {
          Provider.of<MediaManager>(event.context!, listen: false)
              .queueMedia(arguments.item);
          EdgeInsets? offset;
          if (isLargeFormatLayout(event.context!)) {
            offset = const EdgeInsets.only(
                top: 56, left: 100, bottom: 0, right: 0);
          }
          MediaOverlay.of(event.context!)
              .show(arguments.item, offset: offset);
          return true;
        }
      }
      return false;
    },
    builder: (event) {
      RouteSettings settings = event.settings;
      if (settings.arguments is DetailParams) {
        var arguments = settings.arguments as DetailParams;
        if (arguments.itemType == 'Wisdom') {
          return Stack(
            children: [
              GestureDetector(
                onTap: () => Navigator.of(event.context!).pop(),
                child: Container(
                  color: Colors.black54,
                ),
              ),
              Dialog(
                child: Container(
                    constraints: const BoxConstraints(maxWidth: 580),
                    child: WisdomBody(item: arguments.item)),
              ),
            ],
          );
        } else if (arguments.itemType == 'CuratedList') {
          return CurationScreen(
            item: arguments.item,
          );
        }
        return DetailScreen(
          params: event.settings.arguments,
        );
      }
      return EntityLoaderScreen(
        entityID:
            settings.name!.substring(settings.name!.lastIndexOf('/') + 1),
      );
    }
//      dialogIf: (routeEvent) => isLargeFormatWeb(routeEvent.context)
    );