Skip to content

Commit 40e2aa6

Browse files
committed
added select to string widget if options are available
1 parent 2dd7c6c commit 40e2aa6

File tree

4 files changed

+27
-7
lines changed

4 files changed

+27
-7
lines changed

webapp/src/app/app.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {EditorComponent} from './editor/editor.component';
77
import {PhaserComponent} from './phaser/phaser.component';
88
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
99
import {
10+
MdAutocompleteModule,
1011
MdButtonModule, MdCheckboxModule, MdDialogModule, MdIconModule, MdInputModule, MdListModule, MdMenuModule,
1112
MdProgressSpinnerModule, MdSelectModule,
1213
MdSidenavModule,
@@ -64,6 +65,7 @@ import {JsonEditorComponent} from './shared/json-editor/json-editor.component';
6465
MdToolbarModule,
6566
MdMenuModule,
6667
MdSidenavModule,
68+
MdAutocompleteModule,
6769
MdDialogModule,
6870
MdTabsModule,
6971
MdInputModule,

webapp/src/app/editor/editor.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<div fxLayout="column" class="outer-container">
22
<app-toolbar (onMenuClick)="sidenav.toggle()"></app-toolbar>
33
<md-sidenav-container fxFlex>
4-
<md-sidenav #sidenav mode="side" opened="true" class="mat-primary">
4+
<md-sidenav disableClose #sidenav mode="side" opened="true" class="mat-primary">
55
<app-sidenav></app-sidenav>
66
</md-sidenav>
77

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,19 @@
11
<div fxLayout="row" class="property-container" [mdTooltip]="entity.definition.attributes[key]?.description">
22
<label [for]="key" class="property-name">{{key}}:</label>
3-
<input class="default-input" [id]="key"
4-
[ngModel]="entity.details.settings[key]"
5-
(input)="setSetting(key, $event.target.value)">
3+
<div *ngIf="entity.definition.attributes[key]?.options; else defaultInput">
4+
<md-select [id]="key"
5+
[ngModel]="entity.details.settings[key]"
6+
(change)="setSetting(key, $event.value)">
7+
<md-option *ngFor="let option of keys" [value]="option">
8+
{{ option }}
9+
</md-option>
10+
</md-select>
11+
</div>
12+
13+
<ng-template #defaultInput>
14+
<input class="default-input"
15+
[id]="key"
16+
[ngModel]="entity.details.settings[key]"
17+
(input)="setSetting(key, $event.target.value)">
18+
</ng-template>
619
</div>

webapp/src/app/sidenav/entities/widgets/string-widget/string-widget.component.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,17 @@ import {AbstractWidget} from '../abstract-widget';
77
styleUrls: ['./string-widget.component.scss', '../../entities.component.scss']
88
})
99
export class StringWidgetComponent extends AbstractWidget implements OnInit {
10-
10+
11+
keys: string[] = [];
12+
1113
constructor() {
1214
super();
1315
}
14-
16+
1517
ngOnInit() {
18+
const attr = this.entity.definition.attributes[this.key];
19+
if (attr) {
20+
this.keys = Object.keys(attr.options);
21+
}
1622
}
17-
1823
}

0 commit comments

Comments
 (0)