github.com/hernad/nomad@v1.6.112/ui/app/components/exec-terminal.js (about) 1 /** 2 * Copyright (c) HashiCorp, Inc. 3 * SPDX-License-Identifier: MPL-2.0 4 */ 5 6 import Component from '@ember/component'; 7 import { FitAddon } from 'xterm-addon-fit'; 8 import WindowResizable from '../mixins/window-resizable'; 9 import { classNames } from '@ember-decorators/component'; 10 import classic from 'ember-classic-decorator'; 11 12 @classic 13 @classNames('terminal-container') 14 export default class ExecTerminal extends Component.extend(WindowResizable) { 15 didInsertElement() { 16 super.didInsertElement(...arguments); 17 let fitAddon = new FitAddon(); 18 this.fitAddon = fitAddon; 19 this.terminal.loadAddon(fitAddon); 20 21 this.terminal.open(this.element.querySelector('.terminal')); 22 23 fitAddon.fit(); 24 } 25 26 windowResizeHandler(e) { 27 this.fitAddon.fit(); 28 if (this.terminal.resized) { 29 this.terminal.resized(e); 30 } 31 } 32 }