tabby/tabby-terminal/src/components/streamProcessingSettings.component.ts
2021-12-27 20:08:22 +01:00

39 lines
1.5 KiB
TypeScript

/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import { Component, Input } from '@angular/core'
import { StreamProcessingOptions } from '../middleware/streamProcessing'
/** @hidden */
@Component({
selector: 'stream-processing-settings',
template: require('./streamProcessingSettings.component.pug'),
})
export class StreamProcessingSettingsComponent {
@Input() options: StreamProcessingOptions
inputModes = [
{ key: null, name: 'Normal', description: 'Input is sent as you type' },
{ key: 'local-echo', name: 'Local echo', description: 'Immediately echoes your input locally' },
{ key: 'readline', name: 'Line by line', description: 'Line editor, input is sent after you press Enter' },
{ key: 'readline-hex', name: 'Hexadecimal', description: 'Send bytes by typing in hex values' },
]
outputModes = [
{ key: null, name: 'Normal', description: 'Output is shown as it is received' },
{ key: 'hex', name: 'Hexadecimal', description: 'Output is shown as a hexdump' },
]
newlineModes = [
{ key: null, name: 'Keep' },
{ key: 'strip', name: 'Strip' },
{ key: 'cr', name: 'Force CR' },
{ key: 'lf', name: 'Force LF' },
{ key: 'crlf', name: 'Force CRLF' },
]
getInputModeName (key) {
return this.inputModes.find(x => x.key === key)?.name
}
getOutputModeName (key) {
return this.outputModes.find(x => x.key === key)?.name
}
}