Fix change detection bug

This commit is contained in:
Farkas József
2016-12-15 20:09:22 +01:00
parent 9807c5b793
commit d086eb3eea
2 changed files with 2 additions and 1 deletions

View File

@@ -93,8 +93,8 @@ export class SvgKeyboardWrapComponent implements OnInit, OnChanges {
const keymapChanges = changes['keymap']; const keymapChanges = changes['keymap'];
if (keymapChanges) { if (keymapChanges) {
this.popoverShown = false; this.popoverShown = false;
this.layers = this.keymap.layers;
if (keymapChanges.previousValue.abbreviation !== keymapChanges.currentValue.abbreviation) { if (keymapChanges.previousValue.abbreviation !== keymapChanges.currentValue.abbreviation) {
this.layers = this.keymap.layers;
this.currentLayer = 0; this.currentLayer = 0;
this.keybindAnimationEnabled = keymapChanges.isFirstChange(); this.keybindAnimationEnabled = keymapChanges.isFirstChange();
} else { } else {

View File

@@ -119,6 +119,7 @@ export default function (state = initialState, action: Action): KeymapState {
const layer: Layer = changedKeymap.layers[layerIndex]; const layer: Layer = changedKeymap.layers[layerIndex];
const changedLayer: Layer = new Layer(); const changedLayer: Layer = new Layer();
Object.assign(changedLayer, layer); Object.assign(changedLayer, layer);
changedKeymap.layers = changedKeymap.layers.slice();
changedKeymap.layers[layerIndex] = changedLayer; changedKeymap.layers[layerIndex] = changedLayer;
const moduleIndex: number = action.payload.module; const moduleIndex: number = action.payload.module;