diff --git a/src/app/elements/connect/connect-dialog/connect-dialog.component.html b/src/app/elements/connect/connect-dialog/connect-dialog.component.html index c1994279..d7ec213c 100644 --- a/src/app/elements/connect/connect-dialog/connect-dialog.component.html +++ b/src/app/elements/connect/connect-dialog/connect-dialog.component.html @@ -11,6 +11,7 @@

{{"Connect" | translate}} - {{ asset.name | truncatechars:30 }}

*ngFor="let p of protocols" (click)="onProtocolChange(p)" [active]="protocol.name === p.name" + [title]="p.name" > {{ p.name | uppercase }} diff --git a/src/app/elements/connect/connect-dialog/connect-dialog.component.ts b/src/app/elements/connect/connect-dialog/connect-dialog.component.ts index 773333af..b5eb36ee 100644 --- a/src/app/elements/connect/connect-dialog/connect-dialog.component.ts +++ b/src/app/elements/connect/connect-dialog/connect-dialog.component.ts @@ -21,7 +21,7 @@ export class ElementConnectDialogComponent implements OnInit { public connectOptions: ConnectOption[] = []; public outputData: ConnectData = new ConnectData(); public manualAuthInfo: AuthInfo = new AuthInfo(); - public connectMethod: ConnectMethod = new ConnectMethod(); + public connectMethod: ConnectMethod = new ConnectMethod('Null', '', 'null', 'null'); public preConnectData: ConnectData = new ConnectData(); public onSubmit$: BehaviorSubject = new BehaviorSubject(true); public isAppletClientMethod = false; @@ -70,7 +70,10 @@ export class ElementConnectDialogComponent implements OnInit { this.accountSelected = this.accounts[0]; } if (!this.connectMethod) { - this.connectMethod = this._appSvc.getProtocolConnectMethods(this.protocol.name)[0]; + const connectMethods = this._appSvc.getProtocolConnectMethods(this.protocol.name); + if (connectMethods) { + this.connectMethod = connectMethods[0]; + } } } @@ -90,7 +93,7 @@ export class ElementConnectDialogComponent implements OnInit { if (this.accounts.length === 0) { return true; } - if (this.connectMethod.disabled === true) { + if (!this.connectMethod || this.connectMethod.disabled === true) { return true; } if ( diff --git a/src/app/elements/connect/connect-dialog/connect-method/connect-method.component.ts b/src/app/elements/connect/connect-dialog/connect-method/connect-method.component.ts index f56dbc53..d4d479da 100644 --- a/src/app/elements/connect/connect-dialog/connect-method/connect-method.component.ts +++ b/src/app/elements/connect/connect-dialog/connect-method/connect-method.component.ts @@ -31,7 +31,6 @@ export class ElementConnectMethodComponent implements OnInit { public connectMethodTypes = []; public isAppletClientMethod = false; - constructor(private _i18n: I18nService, private _appSvc: AppService, private _settingSvc: SettingService @@ -45,7 +44,9 @@ export class ElementConnectMethodComponent implements OnInit { } currentConnectMethodTypeIndex() { - const i = this.connectMethodTypes.map((item) => item.value).indexOf(this.connectMethod.type); + const i = this.connectMethodTypes + .map((item) => item.value) + .indexOf(this.connectMethod.type); if (i === -1) { return 0; } diff --git a/src/app/model.ts b/src/app/model.ts index f0033060..a44d4522 100644 --- a/src/app/model.ts +++ b/src/app/model.ts @@ -185,6 +185,14 @@ export class ConnectMethod { component: string; disabled: boolean; + + constructor(label: string, value: string, type: string, component: string, disabled: boolean = false) { + this.label = label; + this.value = value; + this.type = type; + this.component = component; + this.disabled = disabled; + } } export class DataStore {