updated web demo for new profiles

This commit is contained in:
Eugene Pankov 2021-07-17 00:52:16 +02:00
parent dbe7b8cf56
commit c2657568a6
No known key found for this signature in database
GPG Key ID: 5896FCBBDD1CF4F4
2 changed files with 31 additions and 18 deletions

View File

@ -21,7 +21,7 @@ export class DemoTerminalTabComponent extends BaseTerminalTabComponent {
ngOnInit (): void {
this.logger = this.log.create('terminalTab')
this.session = new Session(this.logger)
this.session = new Session(this.injector, this.logger)
super.ngOnInit()
}

View File

@ -1,14 +1,25 @@
/* eslint-disable @typescript-eslint/no-empty-function */
import { Injector, NgZone } from '@angular/core'
import * as path from 'path'
import { BaseSession } from 'tabby-terminal'
import { Logger } from '../../tabby-core/typings'
const currentScript: any = document.currentScript
export class Session extends BaseSession {
private dataPath = window['tabbyWebDemoDataPath'] ?? currentScript.src + '../../../data'
private vm: any
private zone: NgZone
static v86Loaded = false
constructor (
injector: Injector,
logger: Logger,
) {
super(logger)
this.zone = injector.get(NgZone)
}
async start (): Promise<void> {
this.open = true
this.emitMessage('Hey\r\n')
@ -25,23 +36,25 @@ export class Session extends BaseSession {
})
}
this.vm = new window['V86Starter']({
bios: {
url: `${this.dataPath}/bios.bin`,
},
vga_bios: {
url: `${this.dataPath}/vgabios.bin`,
},
wasm_path: `${this.dataPath}/v86.wasm`,
cdrom: {
url: `${this.dataPath}/linux.iso`,
},
initial_state: {
url: `${this.dataPath}/v86state.bin`,
},
autostart: true,
disable_keyboard: true,
disable_speaker: true,
this.zone.runOutsideAngular(() => {
this.vm = new window['V86Starter']({
bios: {
url: `${this.dataPath}/bios.bin`,
},
vga_bios: {
url: `${this.dataPath}/vgabios.bin`,
},
wasm_path: `${this.dataPath}/v86.wasm`,
cdrom: {
url: `${this.dataPath}/linux.iso`,
},
initial_state: {
url: `${this.dataPath}/v86state.bin`,
},
autostart: true,
disable_keyboard: true,
disable_speaker: true,
})
})
this.vm.add_listener('emulator-ready', () => {