@@ -1,5 +1,5 @@
|
|||||||
<template [ngIf]="keymap$ | async">
|
<template [ngIf]="keymap$ | async">
|
||||||
<keymap-header [keymap]="keymap$ | async"></keymap-header>
|
<keymap-header [keymap]="keymap$ | async" [deletable]="deletable$ | async"></keymap-header>
|
||||||
<svg-keyboard-wrap [keymap]="keymap$ | async"></svg-keyboard-wrap>
|
<svg-keyboard-wrap [keymap]="keymap$ | async"></svg-keyboard-wrap>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import { ConnectableObservable } from 'rxjs/observable/ConnectableObservable';
|
|||||||
|
|
||||||
import { Keymap } from '../../../config-serializer/config-items/Keymap';
|
import { Keymap } from '../../../config-serializer/config-items/Keymap';
|
||||||
import { AppState } from '../../../store';
|
import { AppState } from '../../../store';
|
||||||
import { getKeymap } from '../../../store/reducers/keymap';
|
import { getKeymap, getKeymapEntities } from '../../../store/reducers/keymap';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'keymap-edit',
|
selector: 'keymap-edit',
|
||||||
@@ -24,6 +24,7 @@ import { getKeymap } from '../../../store/reducers/keymap';
|
|||||||
})
|
})
|
||||||
export class KeymapEditComponent {
|
export class KeymapEditComponent {
|
||||||
private keymap$: Observable<Keymap>;
|
private keymap$: Observable<Keymap>;
|
||||||
|
private deletable$: Observable<boolean>;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private store: Store<AppState>,
|
private store: Store<AppState>,
|
||||||
@@ -37,5 +38,8 @@ export class KeymapEditComponent {
|
|||||||
|
|
||||||
this.keymap$ = keymapConnectable;
|
this.keymap$ = keymapConnectable;
|
||||||
keymapConnectable.connect();
|
keymapConnectable.connect();
|
||||||
|
|
||||||
|
this.deletable$ = store.let(getKeymapEntities())
|
||||||
|
.map((keymaps: Keymap[]) => keymaps.length > 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
(click)="setDefault()"
|
(click)="setDefault()"
|
||||||
></i>
|
></i>
|
||||||
<i class="glyphicon glyphicon-trash keymap__remove pull-right" title=""
|
<i class="glyphicon glyphicon-trash keymap__remove pull-right" title=""
|
||||||
|
*ngIf="deletable"
|
||||||
data-toggle="tooltip"
|
data-toggle="tooltip"
|
||||||
data-placement="left"
|
data-placement="left"
|
||||||
data-original-title="Remove keymap"
|
data-original-title="Remove keymap"
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ import { KeymapActions } from '../../../store/actions';
|
|||||||
})
|
})
|
||||||
export class KeymapHeaderComponent implements OnChanges {
|
export class KeymapHeaderComponent implements OnChanges {
|
||||||
@Input() keymap: Keymap;
|
@Input() keymap: Keymap;
|
||||||
|
@Input() deletable: boolean;
|
||||||
|
|
||||||
@ViewChild('name') keymapName: ElementRef;
|
@ViewChild('name') keymapName: ElementRef;
|
||||||
@ViewChild('abbr') keymapAbbr: ElementRef;
|
@ViewChild('abbr') keymapAbbr: ElementRef;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user