new: snippet fmt
This commit is contained in:
@@ -206,7 +206,8 @@ class BackupPage extends StatelessWidget {
|
||||
|
||||
try {
|
||||
context.showLoadingDialog();
|
||||
final backup = await Computer.shared.start(Backup.fromJsonString, text.trim());
|
||||
final backup =
|
||||
await Computer.shared.start(Backup.fromJsonString, text.trim());
|
||||
if (backupFormatVersion != backup.version) {
|
||||
context.showSnackBar(l10n.backupVersionNotMatch);
|
||||
return;
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'package:toolbox/core/extension/context/locale.dart';
|
||||
import 'package:toolbox/core/extension/context/snackbar.dart';
|
||||
import 'package:toolbox/core/extension/stringx.dart';
|
||||
import 'package:toolbox/core/route.dart';
|
||||
import 'package:toolbox/data/model/app/menu/container.dart';
|
||||
import 'package:toolbox/data/model/container/image.dart';
|
||||
import 'package:toolbox/data/model/container/type.dart';
|
||||
import 'package:toolbox/data/res/store.dart';
|
||||
@@ -15,7 +16,6 @@ import 'package:toolbox/view/widget/input_field.dart';
|
||||
import '../../data/model/container/ps.dart';
|
||||
import '../../data/model/server/server_private_info.dart';
|
||||
import '../../data/provider/container.dart';
|
||||
import '../../data/model/app/menu.dart';
|
||||
import '../../data/res/ui.dart';
|
||||
import '../widget/appbar.dart';
|
||||
import '../widget/popup_menu.dart';
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
import 'package:after_layout/after_layout.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_markdown/flutter_markdown.dart';
|
||||
import 'package:toolbox/core/extension/context/common.dart';
|
||||
import 'package:toolbox/core/extension/context/dialog.dart';
|
||||
import 'package:toolbox/core/extension/context/locale.dart';
|
||||
import 'package:toolbox/core/extension/context/snackbar.dart';
|
||||
import 'package:toolbox/core/extension/widget.dart';
|
||||
import 'package:toolbox/data/res/provider.dart';
|
||||
import 'package:toolbox/view/widget/cardx.dart';
|
||||
import 'package:toolbox/view/widget/input_field.dart';
|
||||
|
||||
import '../../../data/model/server/snippet.dart';
|
||||
@@ -147,10 +150,21 @@ class _SnippetEditPageState extends State<SnippetEditPage>
|
||||
label: l10n.snippet,
|
||||
icon: Icons.code,
|
||||
),
|
||||
_buildTip(),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildTip() {
|
||||
return CardX(
|
||||
child: MarkdownBody(data: '''
|
||||
📌 ${l10n.supportFmtArgs}
|
||||
|
||||
${Snippet.fmtArgs.keys.map((e) => '`$e`').join(', ')}
|
||||
''').padding(const EdgeInsets.all(13)),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void afterFirstLayout(BuildContext context) {
|
||||
if (widget.snippet != null) {
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:toolbox/core/extension/context/dialog.dart';
|
||||
import 'package:toolbox/core/extension/context/locale.dart';
|
||||
import 'package:toolbox/core/extension/order.dart';
|
||||
import 'package:toolbox/data/res/provider.dart';
|
||||
import 'package:toolbox/data/res/store.dart';
|
||||
|
||||
import '../../../data/model/server/server.dart';
|
||||
import '../../../data/model/server/snippet.dart';
|
||||
import '../../../data/res/ui.dart';
|
||||
import '../../widget/tag.dart';
|
||||
@@ -115,28 +112,24 @@ class _SnippetListPageState extends State<SnippetListPage> {
|
||||
AppRoute.snippetEdit(snippet: snippet).go(context),
|
||||
icon: const Icon(Icons.edit),
|
||||
),
|
||||
IconButton(
|
||||
onPressed: () => _runSnippet(snippet),
|
||||
icon: const Icon(Icons.play_arrow),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> _runSnippet(Snippet snippet) async {
|
||||
final servers = await context.showPickDialog<Server>(
|
||||
items: Pros.server.servers.toList(),
|
||||
name: (e) => e.spi.name,
|
||||
);
|
||||
if (servers == null) {
|
||||
return;
|
||||
}
|
||||
final ids = servers.map((e) => e.spi.id).toList();
|
||||
final results = await Pros.server.runSnippetsMulti(ids, snippet);
|
||||
if (results.isNotEmpty) {
|
||||
AppRoute.snippetResult(results: results).go(context);
|
||||
}
|
||||
}
|
||||
// Future<void> _runSnippet(Snippet snippet) async {
|
||||
// final servers = await context.showPickDialog<Server>(
|
||||
// items: Pros.server.servers.toList(),
|
||||
// name: (e) => e.spi.name,
|
||||
// );
|
||||
// if (servers == null) {
|
||||
// return;
|
||||
// }
|
||||
// final ids = servers.map((e) => e.spi.id).toList();
|
||||
// final results = await Pros.server.runSnippetsMulti(ids, snippet);
|
||||
// if (results.isNotEmpty) {
|
||||
// AppRoute.snippetResult(results: results).go(context);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user