| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import { Component } from '@angular/core'
- import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'
- import { ElectronService, HostAppService } from 'terminus-core'
- import { PasswordStorageService } from '../services/passwordStorage.service'
- import { SSHConnection, LoginScript } from '../api'
- @Component({
- template: require('./editConnectionModal.component.pug'),
- })
- export class EditConnectionModalComponent {
- connection: SSHConnection
- newScript: LoginScript
- hasSavedPassword: boolean
- constructor (
- private modalInstance: NgbActiveModal,
- private electron: ElectronService,
- private hostApp: HostAppService,
- private passwordStorage: PasswordStorageService,
- ) {
- this.newScript = { expect: '', send: '' }
- }
- async ngOnInit () {
- this.hasSavedPassword = !!(await this.passwordStorage.loadPassword(this.connection))
- }
- clearSavedPassword () {
- this.hasSavedPassword = false
- this.passwordStorage.deletePassword(this.connection)
- }
- selectPrivateKey () {
- let path = this.electron.dialog.showOpenDialog(
- this.hostApp.getWindow(),
- {
- title: 'Select private key',
- }
- )
- if (path) {
- this.connection.privateKey = path[0]
- }
- }
- save () {
- this.modalInstance.close(this.connection)
- }
- cancel () {
- this.modalInstance.dismiss()
- }
- moveScriptUp (script: LoginScript) {
- let index = this.connection.scripts.indexOf(script)
- if (index > 0) {
- this.connection.scripts.splice(index, 1)
- this.connection.scripts.splice(index - 1, 0, script)
- }
- }
- moveScriptDown (script: LoginScript) {
- let index = this.connection.scripts.indexOf(script)
- if (index >= 0 && index < this.connection.scripts.length - 1) {
- this.connection.scripts.splice(index, 1)
- this.connection.scripts.splice(index + 1, 0, script)
- }
- }
- deleteScript (script: LoginScript) {
- if (confirm(`Delete?`)) {
- this.connection.scripts = this.connection.scripts.filter(x => x !== script)
- }
- }
- addScript () {
- if (!this.connection.scripts) {
- this.connection.scripts = []
- }
- this.connection.scripts.push({...this.newScript})
- this.clearScript()
- }
- clearScript () {
- this.newScript.expect = ''
- this.newScript.send = ''
- }
- }
|