tab trees

This commit is contained in:
Fabian Freund
2025-06-23 19:43:36 +02:00
parent 8445b768f0
commit 4f682744da
28 changed files with 2687 additions and 2256 deletions
+31
View File
@@ -300,6 +300,12 @@ RouteBase get $browserRoute => GoRouteData.$route(
),
],
),
GoRouteData.$route(
path: 'tab_tree/:rootTabId',
name: 'TabTreeRoute',
factory: _$TabTreeRoute._fromState,
),
],
);
@@ -500,6 +506,31 @@ mixin _$ContainerEditRoute on GoRouteData {
context.replace(location, extra: _self.$extra);
}
mixin _$TabTreeRoute on GoRouteData {
static TabTreeRoute _fromState(GoRouterState state) =>
TabTreeRoute(state.pathParameters['rootTabId']!);
TabTreeRoute get _self => this as TabTreeRoute;
@override
String get location => GoRouteData.$location(
'/tab_tree/${Uri.encodeComponent(_self.rootTabId)}',
);
@override
void go(BuildContext context) => context.go(location);
@override
Future<T?> push<T>(BuildContext context) => context.push<T>(location);
@override
void pushReplacement(BuildContext context) =>
context.pushReplacement(location);
@override
void replace(BuildContext context) => context.replace(location);
}
extension<T extends Enum> on Map<T, String> {
T? _$fromName(String? value) =>
entries.where((element) => element.value == value).firstOrNull?.key;