make running snippet more convenient

This commit is contained in:
lollipopkit
2023-01-27 23:06:47 +08:00
parent b6ab4b7fde
commit 913ce312de
11 changed files with 148 additions and 63 deletions

View File

@@ -24,12 +24,11 @@ class DropdownBtnItem {
}
class ServerTabMenuItems {
static const List<DropdownBtnItem> firstItems = [sftp, snippet, pkg, docker];
static const List<DropdownBtnItem> firstItems = [sftp, pkg, docker];
static const List<DropdownBtnItem> secondItems = [edit];
static const sftp =
DropdownBtnItem(text: 'SFTP', icon: Icons.insert_drive_file);
static const snippet = DropdownBtnItem(text: 'Snippet', icon: Icons.label);
static const pkg =
DropdownBtnItem(text: 'Pkg', icon: Icons.system_security_update);
static const docker =

View File

@@ -301,12 +301,13 @@ class ServerProvider extends BusyProvider {
info.status.memory = mem;
}
Future<String?> runSnippet(ServerPrivateInfo spi, Snippet snippet) async {
return await _servers
.firstWhere((element) => element.info == spi)
.client!
.run(snippet.script)
.string;
Future<String?> runSnippet(String id, Snippet snippet) async {
final client =
_servers.firstWhere((element) => element.info.id == id).client;
if (client == null) {
return null;
}
return await client.run(snippet.script).string;
}
}