From c750ce8ed2eb56ff046b5a0c72bf0aa9a5a34279 Mon Sep 17 00:00:00 2001 From: lijiahang Date: Tue, 16 Jan 2024 18:52:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AE=BE=E7=BD=AE=E5=BF=AB=E6=8D=B7?= =?UTF-8?q?=E9=94=AE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/TerminalPreferenceModel.java | 43 ++++++++ .../strategy/TerminalPreferenceStrategy.java | 22 +++++ .../src/store/modules/terminal/index.ts | 4 +- .../components/layout/terminal-content.vue | 9 +- .../block-setting-item.vue | 0 .../terminal-action-bar-block.vue | 0 .../terminal-display-block.vue | 2 +- .../terminal-display-setting.vue | 0 .../terminal-example.vue | 0 .../terminal-general-setting.vue | 0 .../terminal-interact-block.vue | 0 .../terminal-plugins-block.vue | 0 .../terminal-right-menu-block.vue | 0 .../terminal-session-block.vue | 0 .../setting/terminal-shortcut-block.vue | 99 +++++++++++++++++++ .../setting/terminal-shortcut-setting.vue | 25 +++++ .../terminal-theme-block.vue | 0 .../terminal-theme-setting.vue | 0 .../components/xterm/terminal-view.vue | 2 +- .../terminal/handler/terminal-tab-manager.ts | 8 +- 20 files changed, 203 insertions(+), 11 deletions(-) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/block-setting-item.vue (100%) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-action-bar-block.vue (100%) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-display-block.vue (98%) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-display-setting.vue (100%) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-example.vue (100%) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-general-setting.vue (100%) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-interact-block.vue (100%) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-plugins-block.vue (100%) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-right-menu-block.vue (100%) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-session-block.vue (100%) create mode 100644 orion-ops-ui/src/views/host/terminal/components/setting/terminal-shortcut-block.vue create mode 100644 orion-ops-ui/src/views/host/terminal/components/setting/terminal-shortcut-setting.vue rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-theme-block.vue (100%) rename orion-ops-ui/src/views/host/terminal/components/{view-setting => setting}/terminal-theme-setting.vue (100%) diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TerminalPreferenceModel.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TerminalPreferenceModel.java index ab98f0b7..5b911ca7 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TerminalPreferenceModel.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TerminalPreferenceModel.java @@ -47,6 +47,9 @@ public class TerminalPreferenceModel implements PreferenceModel { @Schema(description = "会话设置") private JSONObject sessionSetting; + @Schema(description = "快捷键设置") + private JSONObject shortcutSetting; + @Data @Builder @NoArgsConstructor @@ -145,4 +148,44 @@ public class TerminalPreferenceModel implements PreferenceModel { } + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class ShortcutSettingModel implements IJsonObject { + + @Schema(description = "是否启用") + private Boolean enabled; + + @Schema(description = "快捷键定义") + private List keys; + + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class ShortcutKeysModel implements IJsonObject { + + @Schema(description = "快捷键操作") + private String item; + + @Schema(description = "ctrl 按键") + private Boolean ctrlKey; + + @Schema(description = "shift 按键") + private Boolean shiftKey; + + @Schema(description = "alt 按键") + private Boolean altKey; + + @Schema(description = "实际按键") + private String code; + + @Schema(description = "是否启用") + private Boolean enabled; + + } + } diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java index ca11bcca..6dbaa239 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java @@ -58,6 +58,27 @@ public class TerminalPreferenceStrategy implements IPreferenceStrategy + +