Skip to content

Commit 9e7eefa

Browse files
committed
Fix vscode input field
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
1 parent 5f7e60b commit 9e7eefa

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

src/console/src/app/components/forms/view-create-form/view-create-form.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ <h4 mat-title>{{'CREATE_VIEW_TITLE' | translate}}</h4>
2424
</mat-form-field>
2525
<mat-form-field>
2626
<mat-label>{{'FIELD_VIEW_VSCODE_SETTINGS' | translate}}</mat-label>
27-
<input matInput placeholder="{{'FIELD_VIEW_VSCODE_PLACEHOLDER' | translate}}" [(ngModel)]="view.general.vscodeSettings" name="vscodeSettings">
27+
<input [disabled]="true" matInput placeholder="{{'FIELD_VIEW_VSCODE_PLACEHOLDER' | translate}}" [(ngModel)]="view.general.vscodeSettings" name="vscodeSettings">
2828
</mat-form-field>
2929
</p>
3030

src/console/src/app/components/forms/view-create-form/view-create-form.component.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';
2+
import { MatDialog } from '@angular/material/dialog';
23
import { BehaviorSubject, Subject, catchError, combineLatest, debounceTime, from, map, switchMap, takeUntil } from 'rxjs';
34
import { Extension, ViewCreate } from 'src/app/models/view';
45
import { RestClientService } from 'src/app/services/rest-client.service';
6+
import { ErrorDialogComponent } from '../../dialogs/error-dialog/error-dialog.component';
57

68
@Component({
79
selector: 'app-view-create-form',
@@ -84,6 +86,7 @@ export class ViewCreateFormComponent implements OnInit, OnDestroy {
8486

8587
constructor(
8688
private restClient: RestClientService,
89+
public dialog: MatDialog,
8790
) {
8891
}
8992

@@ -149,9 +152,18 @@ export class ViewCreateFormComponent implements OnInit, OnDestroy {
149152
}
150153

151154
public save() {
152-
// TODO fix model
153-
(this.view as any)['vscode-settings'] = JSON.parse(this.view.general.vscodeSettings || '{}');
154-
this.view.general.vscodeSettings = undefined;
155+
try {
156+
// TODO fix model
157+
(this.view as any)['vscode-settings'] = JSON.parse(this.view.general.vscodeSettings || '{}');
158+
this.view.general.vscodeSettings = undefined;
159+
} catch (error) {
160+
this.dialog.open(ErrorDialogComponent, {
161+
width: '300px',
162+
height: '150px',
163+
data: { err: 'VSCode Settings, invalid json file' },
164+
});
165+
return;
166+
}
155167

156168
if (this.repositoryInfo) {
157169
if (this.view.repo) {

0 commit comments

Comments
 (0)