1
1
mirror of https://github.com/Eugeny/tabby.git synced 2024-12-22 10:01:40 +03:00

allow custom baud rates - fixes #2490

This commit is contained in:
Eugene Pankov 2021-05-16 20:00:31 +02:00
parent bb9c9d8313
commit 6f11beb8c4
No known key found for this signature in database
GPG Key ID: 5896FCBBDD1CF4F4
2 changed files with 11 additions and 5 deletions

View File

@ -25,10 +25,11 @@
.col-6 .col-6
.form-group .form-group
label Baud Rate label Baud Rate
select.form-control( input.form-control(
type='number',
[(ngModel)]='connection.baudrate', [(ngModel)]='connection.baudrate',
[ngbTypeahead]='baudratesAutocomplete',
) )
option([value]='x', *ngFor='let x of baudRates') {{x}}
.row .row
.col-6 .col-6

View File

@ -1,11 +1,11 @@
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import { Component } from '@angular/core' import { Component } from '@angular/core'
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'
import { map } from 'rxjs/operators' import { Observable } from 'rxjs'
import { debounceTime, distinctUntilChanged, map } from 'rxjs/operators'
import { ElectronService, HostAppService } from 'terminus-core' import { ElectronService, HostAppService } from 'terminus-core'
import { SerialConnection, LoginScript, SerialPortInfo, BAUD_RATES } from '../api' import { SerialConnection, LoginScript, SerialPortInfo, BAUD_RATES } from '../api'
import { SerialService } from '../services/serial.service' import { SerialService } from '../services/serial.service'
// import { PromptModalComponent } from './promptModal.component'
/** @hidden */ /** @hidden */
@Component({ @Component({
@ -14,7 +14,6 @@ import { SerialService } from '../services/serial.service'
export class EditConnectionModalComponent { export class EditConnectionModalComponent {
connection: SerialConnection connection: SerialConnection
foundPorts: SerialPortInfo[] foundPorts: SerialPortInfo[]
baudRates = BAUD_RATES
inputModes = [ inputModes = [
{ key: null, name: 'Normal', description: 'Input is sent as you type' }, { key: null, name: 'Normal', description: 'Input is sent as you type' },
{ key: 'readline', name: 'Line by line', description: 'Line editor, input is sent after you press Enter' }, { key: 'readline', name: 'Line by line', description: 'Line editor, input is sent after you press Enter' },
@ -52,6 +51,12 @@ export class EditConnectionModalComponent {
return this.foundPorts.map(x => x.name) return this.foundPorts.map(x => x.name)
})) }))
baudratesAutocomplete = text$ => text$.pipe(
debounceTime(200),
distinctUntilChanged(),
map(q => BAUD_RATES.filter(x => !q || x.toString().startsWith(q)))
)
portsFormatter = port => { portsFormatter = port => {
const p = this.foundPorts.find(x => x.name === port) const p = this.foundPorts.find(x => x.name === port)
if (p?.description) { if (p?.description) {