diff --git a/terminus-ssh/src/components/sshSettingsTab.component.pug b/terminus-ssh/src/components/sshSettingsTab.component.pug index a6c68927..1aaccd9f 100644 --- a/terminus-ssh/src/components/sshSettingsTab.component.pug +++ b/terminus-ssh/src/components/sshSettingsTab.component.pug @@ -20,6 +20,8 @@ h3 Connections .mr-auto div {{connection.name}} .text-muted {{connection.host}} + button.btn.btn-outline-info.ml-1((click)='$event.stopPropagation(); copyConnection(connection)') + i.fas.fa-copy button.btn.btn-outline-danger.ml-1((click)='$event.stopPropagation(); deleteConnection(connection)') i.fas.fa-trash diff --git a/terminus-ssh/src/components/sshSettingsTab.component.ts b/terminus-ssh/src/components/sshSettingsTab.component.ts index cb9fbe9b..7c609026 100644 --- a/terminus-ssh/src/components/sshSettingsTab.component.ts +++ b/terminus-ssh/src/components/sshSettingsTab.component.ts @@ -46,6 +46,18 @@ export class SSHSettingsTabComponent { }) } + copyConnection (connection) { + connection.name += ' Copy' + const modal = this.ngbModal.open(EditConnectionModalComponent) + modal.componentInstance.connection = connection + modal.result.then(result => { + this.connections.push(result) + this.config.store.ssh.connections = this.connections + this.config.save() + this.refresh() + }) + } + editConnection (connection: SSHConnection) { const modal = this.ngbModal.open(EditConnectionModalComponent, { size: 'lg' }) modal.componentInstance.connection = Object.assign({}, connection)