mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-28 14:15:24 +00:00
feat: load plugin frontends at runtime and remove plugin ids from the shell
This commit is contained in:
1 parent
49f0286a14
commit
e88d5a52e3
721 files changed
+54265
-44416
No files matched your search
@@ -36,7 +36,8 @@ export type WidgetTypeId =
|
||||
| "search_links"
|
||||
| "link_tree"
|
||||
| "docker_activity"
|
||||
| "ssh_quick_connect";
|
||||
| "ssh_quick_connect"
|
||||
| (string & {});
|
||||
|
||||
export interface HomepageItemRow {
|
||||
id: number;
|
||||
@@ -177,8 +178,8 @@ export interface PingStatusConfig {
|
||||
showLatency: boolean;
|
||||
}
|
||||
|
||||
export type ActivityType =
|
||||
"terminal" | "file_manager" | "docker" | "tunnel" | "rdp" | "vnc" | "telnet";
|
||||
/** Core activity types; plugin tabs record their own. */
|
||||
export type ActivityType = "file_manager" | "tunnel" | (string & {});
|
||||
|
||||
export interface RecentActivityConfig {
|
||||
maxItems: number;
|
||||
@@ -225,15 +226,8 @@ export interface SshTerminalConfig {
|
||||
autoConnect: boolean;
|
||||
}
|
||||
|
||||
export type QuickConnectType =
|
||||
| "terminal"
|
||||
| "files"
|
||||
| "docker"
|
||||
| "tunnel"
|
||||
| "host-metrics"
|
||||
| "rdp"
|
||||
| "vnc"
|
||||
| "telnet";
|
||||
/** Tab types a quick connect widget opens: core tools or plugin actions. */
|
||||
export type QuickConnectType = "files" | "tunnel" | (string & {});
|
||||
|
||||
export interface QuickConnectConfig {
|
||||
hostIds: number[];
|
||||
|
||||
@@ -316,10 +316,8 @@ export type Tab = {
|
||||
initialFilePath?: string;
|
||||
/** Directory to open a Files tab into, distinct from initialFilePath (a specific file to open in an editor window). */
|
||||
initialPath?: string;
|
||||
/** Which fleet a fleet-inventory tab is currently showing (singleton tab, re-targeted on reopen). */
|
||||
fleetId?: number;
|
||||
/** Which web endpoint this tab shows. Only set when type is "web-endpoint". */
|
||||
endpointId?: string;
|
||||
/** Payload owned by the tab's plugin, e.g. which fleet or endpoint it shows. */
|
||||
data?: Record<string, unknown>;
|
||||
/** Which collab room a collab tab is showing. */
|
||||
collabRoomId?: string;
|
||||
serialConfig?: SerialConfig;
|
||||
@@ -343,15 +341,16 @@ export type Tab = {
|
||||
} | null>;
|
||||
};
|
||||
|
||||
/** Core cards are named here; plugin cards add their own ids. */
|
||||
export type DashboardCardId =
|
||||
| "stats_bar"
|
||||
| "counters_bar"
|
||||
| "quick_actions"
|
||||
| "host_status"
|
||||
| "recent_activity"
|
||||
| "network_graph"
|
||||
| "service_links"
|
||||
| "homepage_preview";
|
||||
| "homepage_preview"
|
||||
| (string & {});
|
||||
|
||||
export type DashboardCardConfig = {
|
||||
id: DashboardCardId;
|
||||
@@ -425,7 +424,10 @@ export type WorkspaceTabSnapshot = {
|
||||
customLabel?: string;
|
||||
initialFilePath?: string;
|
||||
initialPath?: string;
|
||||
/** Read from payloads saved before tabs carried `data`. */
|
||||
fleetId?: number;
|
||||
/** The tab's plugin payload. */
|
||||
data?: Record<string, unknown>;
|
||||
/** Only present when type === "serial". Fully self-contained, no host resolution needed. */
|
||||
serialConfig?: SerialConfig;
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user