mirror of
https://github.com/pelican-dev/panel.git
synced 2025-10-29 07:36:52 +01:00
Add xtermjs Canvas (#1756)
This commit is contained in:
parent
81178f81b4
commit
ec5fd3262a
@ -17,6 +17,7 @@
|
||||
"vite": "6.2.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@xterm/addon-canvas": "^0.7.0",
|
||||
"@xterm/addon-fit": "^0.10.0",
|
||||
"@xterm/addon-search": "^0.15.0",
|
||||
"@xterm/addon-web-links": "^0.11.0",
|
||||
|
||||
@ -3,9 +3,11 @@ import { FitAddon } from '@xterm/addon-fit';
|
||||
import { WebLinksAddon } from '@xterm/addon-web-links';
|
||||
import { SearchAddon } from '@xterm/addon-search';
|
||||
import { SearchBarAddon } from 'xterm-addon-search-bar';
|
||||
import { CanvasAddon } from '@xterm/addon-canvas';
|
||||
|
||||
window.Xterm = {
|
||||
Terminal,
|
||||
CanvasAddon,
|
||||
FitAddon,
|
||||
WebLinksAddon,
|
||||
SearchAddon,
|
||||
|
||||
@ -76,17 +76,19 @@
|
||||
theme: theme
|
||||
};
|
||||
|
||||
const { Terminal, FitAddon, WebLinksAddon, SearchAddon, SearchBarAddon } = window.Xterm;
|
||||
const { Terminal, FitAddon, WebLinksAddon, SearchAddon, SearchBarAddon, CanvasAddon } = window.Xterm;
|
||||
|
||||
const terminal = new Terminal(options);
|
||||
const fitAddon = new FitAddon();
|
||||
const webLinksAddon = new WebLinksAddon();
|
||||
const searchAddon = new SearchAddon();
|
||||
const searchAddonBar = new SearchBarAddon({ searchAddon });
|
||||
const canvasAddon = new CanvasAddon();
|
||||
terminal.loadAddon(fitAddon);
|
||||
terminal.loadAddon(webLinksAddon);
|
||||
terminal.loadAddon(searchAddon);
|
||||
terminal.loadAddon(searchAddonBar);
|
||||
terminal.loadAddon(canvasAddon);
|
||||
|
||||
terminal.open(document.getElementById('terminal'));
|
||||
|
||||
@ -102,7 +104,7 @@
|
||||
|
||||
terminal.attachCustomKeyEventHandler((event) => {
|
||||
if ((event.ctrlKey || event.metaKey) && event.key === 'c') {
|
||||
navigator.clipboard.writeText(terminal.getSelection())
|
||||
navigator.clipboard.writeText(terminal.getSelection());
|
||||
return false;
|
||||
} else if ((event.ctrlKey || event.metaKey) && event.key === 'f') {
|
||||
event.preventDefault();
|
||||
|
||||
@ -415,6 +415,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8"
|
||||
integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==
|
||||
|
||||
"@xterm/addon-canvas@^0.7.0":
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@xterm/addon-canvas/-/addon-canvas-0.7.0.tgz#d3a3835f3634e0106e108661315ae14da23e8dd7"
|
||||
integrity sha512-LF5LYcfvefJuJ7QotNRdRSPc9YASAVDeoT5uyXS/nZshZXjYplGXRECBGiznwvhNL2I8bq1Lf5MzRwstsYQ2Iw==
|
||||
|
||||
"@xterm/addon-fit@^0.10.0":
|
||||
version "0.10.0"
|
||||
resolved "https://registry.yarnpkg.com/@xterm/addon-fit/-/addon-fit-0.10.0.tgz#bebf87fadd74e3af30fdcdeef47030e2592c6f55"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user