resolve Eugeny/tabby#7723 reconnect command palette

This commit is contained in:
Clem
2023-04-10 19:48:27 +02:00
parent 3e559832ec
commit 178e4a6527
6 changed files with 47 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
import { Injectable, Optional, Inject } from '@angular/core'
import { BaseTabComponent, TabContextMenuItemProvider, NotificationsService, MenuItemOptions, TranslateService, SplitTabComponent } from 'tabby-core'
import { BaseTerminalTabComponent } from './api/baseTerminalTab.component'
import { tabIsReconnectable } from './api/interfaces'
import { TerminalContextMenuItemProvider } from './api/contextMenuProvider'
import { MultifocusService } from './services/multifocus.service'
@@ -85,6 +86,35 @@ export class MiscContextMenu extends TabContextMenuItemProvider {
}
}
/** @hidden */
@Injectable()
export class ReconnectContextMenu extends TabContextMenuItemProvider {
weight = 1
constructor (
private translate: TranslateService,
private notifications: NotificationsService,
) { super() }
async getItems (tab: BaseTabComponent): Promise<MenuItemOptions[]> {
if (tabIsReconnectable(tab)) {
return [
{
label: this.translate.instant('Reconnect'),
click: (): void => {
setTimeout(() => {
tab.reconnect()
this.notifications.notice(this.translate.instant('Reconnect'))
})
},
},
]
}
return []
}
}
/** @hidden */
@Injectable()
export class LegacyContextMenu extends TabContextMenuItemProvider {
@@ -109,4 +139,5 @@ export class LegacyContextMenu extends TabContextMenuItemProvider {
}
return []
}
}