674da96a59
This connects Xterm.js to a Nomad exec websocket so people can interact on clients via live sessions. There are buttons on job, allocation, task group, and task detail pages that open a popup that lets them edit their shell command and start a session. More is to come, as recorded in issues.
25 lines
587 B
JavaScript
25 lines
587 B
JavaScript
import Component from '@ember/component';
|
|
import { FitAddon } from 'xterm-addon-fit';
|
|
import WindowResizable from '../mixins/window-resizable';
|
|
|
|
export default Component.extend(WindowResizable, {
|
|
classNames: ['terminal-container'],
|
|
|
|
didInsertElement() {
|
|
let fitAddon = new FitAddon();
|
|
this.fitAddon = fitAddon;
|
|
this.terminal.loadAddon(fitAddon);
|
|
|
|
this.terminal.open(this.element.querySelector('.terminal'));
|
|
|
|
fitAddon.fit();
|
|
},
|
|
|
|
windowResizeHandler(e) {
|
|
this.fitAddon.fit();
|
|
if (this.terminal.resized) {
|
|
this.terminal.resized(e);
|
|
}
|
|
},
|
|
});
|