Add drag-and-drop tab to create new container
This commit is contained in:
@@ -152,7 +152,7 @@ class ContainerEditRoute extends GoRouteData with $ContainerEditRoute {
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return ContainerEditScreen.edit(
|
||||
initialContainer: ContainerData.fromJson(
|
||||
initialContainer: ContainerDataWithCount.fromJson(
|
||||
jsonDecode(containerData) as Map<String, dynamic>,
|
||||
),
|
||||
);
|
||||
@@ -161,15 +161,20 @@ class ContainerEditRoute extends GoRouteData with $ContainerEditRoute {
|
||||
|
||||
class ContainerCreateRoute extends GoRouteData with $ContainerCreateRoute {
|
||||
final String containerData;
|
||||
final String tabIds;
|
||||
|
||||
ContainerCreateRoute({required this.containerData});
|
||||
ContainerCreateRoute({required this.containerData, this.tabIds = '[]'});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
final tabIdsList = jsonDecode(tabIds) as List;
|
||||
final tabIdsSet = tabIdsList.cast<String>().toSet();
|
||||
|
||||
return ContainerEditScreen.create(
|
||||
initialContainer: ContainerData.fromJson(
|
||||
jsonDecode(containerData) as Map<String, dynamic>,
|
||||
),
|
||||
tabIds: tabIdsSet.isNotEmpty ? tabIdsSet : null,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -758,6 +758,7 @@ mixin $ContainerCreateRoute on GoRouteData {
|
||||
static ContainerCreateRoute _fromState(GoRouterState state) =>
|
||||
ContainerCreateRoute(
|
||||
containerData: state.pathParameters['containerData']!,
|
||||
tabIds: state.uri.queryParameters['tab-ids'] ?? '[]',
|
||||
);
|
||||
|
||||
ContainerCreateRoute get _self => this as ContainerCreateRoute;
|
||||
@@ -765,6 +766,7 @@ mixin $ContainerCreateRoute on GoRouteData {
|
||||
@override
|
||||
String get location => GoRouteData.$location(
|
||||
'/browser/containers/create/${Uri.encodeComponent(_self.containerData)}',
|
||||
queryParams: {if (_self.tabIds != '[]') 'tab-ids': _self.tabIds},
|
||||
);
|
||||
|
||||
@override
|
||||
|
||||
Reference in New Issue
Block a user