mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-03 00:00:49 +08:00
实现了多画布下,节点的复制粘贴功能
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using Serein.Library.Api;
|
||||
using Serein.Workbench.Services;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace Serein.Workbench.ViewModels
|
||||
@@ -8,6 +9,7 @@ namespace Serein.Workbench.ViewModels
|
||||
public class MainMenuBarViewModel : ObservableObject
|
||||
{
|
||||
private readonly IFlowEnvironment environment;
|
||||
private readonly FlowNodeService flowNodeService;
|
||||
|
||||
/// <summary>
|
||||
/// 保存项目
|
||||
@@ -31,6 +33,10 @@ namespace Serein.Workbench.ViewModels
|
||||
/// </summary>
|
||||
public ICommand RemoteFlowCanvasCommand { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// 运行当前画布流程
|
||||
/// </summary>
|
||||
public ICommand StartFlowCommand { get; private set; }
|
||||
/// <summary>
|
||||
/// 运行当前画布流程
|
||||
/// </summary>
|
||||
@@ -55,10 +61,10 @@ namespace Serein.Workbench.ViewModels
|
||||
|
||||
|
||||
|
||||
public MainMenuBarViewModel(IFlowEnvironment environment)
|
||||
public MainMenuBarViewModel(IFlowEnvironment environment, FlowNodeService flowNodeService)
|
||||
{
|
||||
this.environment = environment;
|
||||
|
||||
this.flowNodeService = flowNodeService;
|
||||
SaveProjectCommand = new RelayCommand(SaveProject); // 保存项目
|
||||
LoadLocalProjectCommand = new RelayCommand(LoadLocalProject); // 加载本地项目
|
||||
LoadRemoteProjectCommand = new RelayCommand(LoadRemoteProject); // 加载远程项目
|
||||
@@ -66,26 +72,30 @@ namespace Serein.Workbench.ViewModels
|
||||
CreateFlowCanvasCommand = new RelayCommand(CreateFlowCanvas); // 增加画布
|
||||
RemoteFlowCanvasCommand = new RelayCommand(RemoteFlowCanvas); // 移除画布
|
||||
|
||||
StartCurrentCanvasFlowCommand = new RelayCommand(StartCurrentCanvasFlow); // 运行当前流程
|
||||
StartFlowCommand = new RelayCommand(StartFlow);
|
||||
StartCurrentCanvasFlowCommand = new RelayCommand(StartCurrentCanvasFlow); // 运行当前所查看画布的流程
|
||||
StopCurrentCanvasFlowCommand = new RelayCommand(StopCurrentCanvasFlow); // 停止当前流程
|
||||
|
||||
OpenEnvOutWindowCommand = new RelayCommand(OpenEnvOutWindow); // 打开运行输出窗口
|
||||
OpenDynamicCompilerCommand = new RelayCommand(OpenDynamicCompiler); // 打开动态编译仓库窗口
|
||||
}
|
||||
|
||||
private void SaveProject() {
|
||||
environment.SaveProject(); // 保存项目
|
||||
}
|
||||
private void SaveProject() => environment.SaveProject(); // 保存项目
|
||||
private void LoadLocalProject() {
|
||||
//environment.LoadProject(); // 加载项目
|
||||
}
|
||||
private void LoadRemoteProject() { }
|
||||
private void CreateFlowCanvas() { }
|
||||
private void RemoteFlowCanvas() { }
|
||||
private void StartCurrentCanvasFlow() { }
|
||||
private void LoadRemoteProject()
|
||||
{
|
||||
}
|
||||
private void CreateFlowCanvas() => flowNodeService.CreateFlowCanvas();
|
||||
|
||||
private void RemoteFlowCanvas() => flowNodeService.RemoveFlowCanvas();
|
||||
|
||||
private void StartFlow() => environment.StartFlowAsync([.. flowNodeService.FlowCanvass.Select(c => c.Guid)]);
|
||||
private void StartCurrentCanvasFlow() => environment.StartFlowAsync([flowNodeService.CurrentSelectCanvas.Guid]);
|
||||
private void StopCurrentCanvasFlow() { }
|
||||
private void OpenDynamicCompiler() { }
|
||||
private void OpenEnvOutWindow() { }
|
||||
private void OpenEnvOutWindow() => LogWindow.Instance?.Show();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user