mirror of
https://github.com/Eugeny/tabby.git
synced 2025-07-20 02:18:01 +00:00
ref(tabby-terminal): create ConnectableTerminalTabComponent class
This commit is contained in:
26
tabby-terminal/src/api/connectableTerminalTab.component.ts
Normal file
26
tabby-terminal/src/api/connectableTerminalTab.component.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Injector, Component } from '@angular/core'
|
||||
|
||||
import { BaseTerminalProfile } from './interfaces'
|
||||
import { BaseTerminalTabComponent } from './baseTerminalTab.component'
|
||||
|
||||
/**
|
||||
* A class to base your custom connectable terminal tabs on
|
||||
*/
|
||||
@Component({ template: '' })
|
||||
export abstract class ConnectableTerminalTabComponent<P extends BaseTerminalProfile> extends BaseTerminalTabComponent<P> {
|
||||
|
||||
protected reconnectOffered = false
|
||||
|
||||
constructor (protected injector: Injector) {
|
||||
super(injector)
|
||||
}
|
||||
|
||||
abstract initializeSession (): Promise<void>
|
||||
|
||||
async reconnect (): Promise<void> {
|
||||
this.session?.destroy()
|
||||
await this.initializeSession()
|
||||
this.session?.releaseInitialDataBuffer()
|
||||
}
|
||||
|
||||
}
|
@@ -90,6 +90,7 @@ export default class TerminalModule { } // eslint-disable-line @typescript-eslin
|
||||
export { TerminalDecorator, TerminalContextMenuItemProvider, TerminalColorSchemeProvider }
|
||||
export { Frontend, XTermFrontend, XTermWebGLFrontend }
|
||||
export { BaseTerminalTabComponent } from './api/baseTerminalTab.component'
|
||||
export { ConnectableTerminalTabComponent } from './api/connectableTerminalTab.component'
|
||||
export * from './api/interfaces'
|
||||
export * from './middleware/streamProcessing'
|
||||
export * from './middleware/loginScriptProcessing'
|
||||
|
Reference in New Issue
Block a user