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  }