new: force delete docker container

This commit is contained in:
lollipopkit
2023-11-22 00:17:19 -06:00
parent b696cdff08
commit d1d11e7b70
6 changed files with 76 additions and 31 deletions

View File

@@ -358,18 +358,38 @@ class _DockerManagePageState extends State<DockerManagePage> {
onSelected: (item) async {
switch (item) {
case DockerMenuType.rm:
var force = false;
context.showRoundDialog(
title: Text(l10n.attention),
child: Text(l10n.askContinue(
'${l10n.delete} Container(${dItem.name})',
)),
child: Column(
children: [
Text(l10n.askContinue(
'${l10n.delete} Container(${dItem.name})',
)),
StatefulBuilder(builder: (_, setState) {
return Checkbox(
value: force,
onChanged: (val) => setState(() => force = val ?? false),
);
}),
],
),
actions: [
TextButton(
onPressed: () async {
context.pop();
context.showLoadingDialog();
await Pros.docker.delete(dItem.containerId);
final result = await Pros.docker.delete(
dItem.containerId,
force,
);
context.pop();
if (result != null) {
context.showRoundDialog(
title: Text(l10n.error),
child: Text(result.message ?? l10n.unknownError),
);
}
},
child: Text(l10n.ok),
)
@@ -378,18 +398,36 @@ class _DockerManagePageState extends State<DockerManagePage> {
break;
case DockerMenuType.start:
context.showLoadingDialog();
await Pros.docker.start(dItem.containerId);
final result = await Pros.docker.start(dItem.containerId);
context.pop();
if (result != null) {
context.showRoundDialog(
title: Text(l10n.error),
child: Text(result.message ?? l10n.unknownError),
);
}
break;
case DockerMenuType.stop:
context.showLoadingDialog();
await Pros.docker.stop(dItem.containerId);
final result = await Pros.docker.stop(dItem.containerId);
context.pop();
if (result != null) {
context.showRoundDialog(
title: Text(l10n.error),
child: Text(result.message ?? l10n.unknownError),
);
}
break;
case DockerMenuType.restart:
context.showLoadingDialog();
await Pros.docker.restart(dItem.containerId);
final result = await Pros.docker.restart(dItem.containerId);
context.pop();
if (result != null) {
context.showRoundDialog(
title: Text(l10n.error),
child: Text(result.message ?? l10n.unknownError),
);
}
break;
case DockerMenuType.logs:
AppRoute.ssh(

View File

@@ -34,6 +34,7 @@ class _SSHTabPageState extends State<SSHTabPage>
controller: _tabController,
tabs: _tabIds.keys.map(_buildTabItem).toList(),
isScrollable: true,
dividerColor: Colors.transparent,
),
body: _buildBody(),
);