github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/components/exec-terminal.js (about) 1 import Component from '@ember/component'; 2 import { FitAddon } from 'xterm-addon-fit'; 3 import WindowResizable from '../mixins/window-resizable'; 4 import { classNames } from '@ember-decorators/component'; 5 import classic from 'ember-classic-decorator'; 6 7 @classic 8 @classNames('terminal-container') 9 export default class ExecTerminal extends Component.extend(WindowResizable) { 10 didInsertElement() { 11 super.didInsertElement(...arguments); 12 let fitAddon = new FitAddon(); 13 this.fitAddon = fitAddon; 14 this.terminal.loadAddon(fitAddon); 15 16 this.terminal.open(this.element.querySelector('.terminal')); 17 18 fitAddon.fit(); 19 } 20 21 windowResizeHandler(e) { 22 this.fitAddon.fit(); 23 if (this.terminal.resized) { 24 this.terminal.resized(e); 25 } 26 } 27 }