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  }