Cleanup unused functionality in keyboard wrap
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
<svg-keyboard *ngFor="let layer of layers; trackBy: trackKeyboard"
|
<svg-keyboard *ngFor="let layer of layers; let index = index; trackBy: trackKeyboard"
|
||||||
[@layerState]="layer.animation"
|
[@layerState]="layerAnimationState[index]"
|
||||||
[moduleConfig]="layer.modules"
|
[moduleConfig]="layer.modules"
|
||||||
(keyClick)="keyClick.emit($event)"
|
(keyClick)="keyClick.emit($event)"
|
||||||
(keyHover)="keyHover.emit($event)">
|
(keyHover)="keyHover.emit($event)">
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 334 B |
@@ -16,11 +16,17 @@ import {
|
|||||||
|
|
||||||
import { Layer } from '../../../config-serializer/config-items/Layer';
|
import { Layer } from '../../../config-serializer/config-items/Layer';
|
||||||
|
|
||||||
|
type AnimationKeyboard =
|
||||||
|
'leftIn' |
|
||||||
|
'leftOut' |
|
||||||
|
'rightIn' |
|
||||||
|
'rightOut';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'keyboard-slider',
|
selector: 'keyboard-slider',
|
||||||
template: require('./keyboard-slider.component.html'),
|
template: require('./keyboard-slider.component.html'),
|
||||||
styles: [require('./keyboard-slider.component.scss')],
|
styles: [require('./keyboard-slider.component.scss')],
|
||||||
changeDetection: ChangeDetectionStrategy.Default,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
// We use 101%, because there was still a trace of the keyboard in the screen when animation was done
|
// We use 101%, because there was still a trace of the keyboard in the screen when animation was done
|
||||||
animations: [
|
animations: [
|
||||||
trigger('layerState', [
|
trigger('layerState', [
|
||||||
@@ -75,7 +81,13 @@ export class KeyboardSliderComponent implements OnChanges {
|
|||||||
@Output() keyClick = new EventEmitter();
|
@Output() keyClick = new EventEmitter();
|
||||||
@Output() keyHover = new EventEmitter();
|
@Output() keyHover = new EventEmitter();
|
||||||
|
|
||||||
|
private layerAnimationState: AnimationKeyboard[];
|
||||||
|
|
||||||
ngOnChanges(changes: SimpleChanges) {
|
ngOnChanges(changes: SimpleChanges) {
|
||||||
|
if (changes['layers']) {
|
||||||
|
this.layerAnimationState = this.layers.map<AnimationKeyboard>(() => 'leftOut');
|
||||||
|
this.layerAnimationState[this.currentLayer] = 'leftIn';
|
||||||
|
}
|
||||||
const layerChange = changes['currentLayer'];
|
const layerChange = changes['currentLayer'];
|
||||||
if (layerChange) {
|
if (layerChange) {
|
||||||
const prevValue = layerChange.isFirstChange() ? layerChange.currentValue : layerChange.previousValue;
|
const prevValue = layerChange.isFirstChange() ? layerChange.currentValue : layerChange.previousValue;
|
||||||
@@ -89,11 +101,11 @@ export class KeyboardSliderComponent implements OnChanges {
|
|||||||
|
|
||||||
onLayerChange(oldIndex: number, index: number): void {
|
onLayerChange(oldIndex: number, index: number): void {
|
||||||
if (index > oldIndex) {
|
if (index > oldIndex) {
|
||||||
this.layers[oldIndex].animation = 'leftOut';
|
this.layerAnimationState[oldIndex] = 'leftOut';
|
||||||
this.layers[index].animation = 'leftIn';
|
this.layerAnimationState[index] = 'leftIn';
|
||||||
} else {
|
} else {
|
||||||
this.layers[oldIndex].animation = 'rightOut';
|
this.layerAnimationState[oldIndex] = 'rightOut';
|
||||||
this.layers[index].animation = 'rightIn';
|
this.layerAnimationState[index] = 'rightIn';
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
export type AnimationKeyboard =
|
|
||||||
'leftIn' |
|
|
||||||
'leftOut' |
|
|
||||||
'rightIn' |
|
|
||||||
'rightOut';
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * from './svg-keyboard-wrap.component';
|
export * from './svg-keyboard-wrap.component';
|
||||||
export * from './animation';
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template ngIf="layers">
|
<template ngIf="layers">
|
||||||
<layers [class.disabled]="popoverShown" (select)="selectLayer($event.oldIndex, $event.index)" [current]="currentLayer"></layers>
|
<layers [class.disabled]="popoverShown" (select)="selectLayer($event.index)" [current]="currentLayer"></layers>
|
||||||
<keyboard-slider [layers]="layers"
|
<keyboard-slider [layers]="layers"
|
||||||
[currentLayer]="currentLayer"
|
[currentLayer]="currentLayer"
|
||||||
(keyClick)="onKeyClick($event.moduleId, $event.keyId, $event.keyTarget)"
|
(keyClick)="onKeyClick($event.moduleId, $event.keyId, $event.keyTarget)"
|
||||||
|
|||||||
@@ -93,11 +93,6 @@ export class SvgKeyboardWrapComponent implements OnInit, OnChanges {
|
|||||||
this.layers = this.keymap.layers;
|
this.layers = this.keymap.layers;
|
||||||
this.currentLayer = 0;
|
this.currentLayer = 0;
|
||||||
this.popoverShown = false;
|
this.popoverShown = false;
|
||||||
|
|
||||||
if (this.layers.length > 0) {
|
|
||||||
this.layers.forEach(element => element.animation = 'leftOut');
|
|
||||||
this.layers[0].animation = 'leftIn';
|
|
||||||
}
|
|
||||||
} else if (changes['keymap']) {
|
} else if (changes['keymap']) {
|
||||||
this.popoverShown = false;
|
this.popoverShown = false;
|
||||||
}
|
}
|
||||||
@@ -262,20 +257,8 @@ export class SvgKeyboardWrapComponent implements OnInit, OnChanges {
|
|||||||
this.popoverShown = false;
|
this.popoverShown = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
selectLayer(oldIndex: number, index: number): void {
|
selectLayer(index: number): void {
|
||||||
if (index > oldIndex) {
|
|
||||||
this.layers[oldIndex].animation = 'leftOut';
|
|
||||||
this.layers[index].animation = 'leftIn';
|
|
||||||
} else {
|
|
||||||
this.layers[oldIndex].animation = 'rightOut';
|
|
||||||
this.layers[index].animation = 'rightIn';
|
|
||||||
}
|
|
||||||
|
|
||||||
this.currentLayer = index;
|
this.currentLayer = index;
|
||||||
}
|
}
|
||||||
|
|
||||||
trackKeyboard(index: number) {
|
|
||||||
return index;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import { AnimationKeyboard } from '../../components/svg/wrap';
|
|
||||||
import { Serializable } from '../Serializable';
|
import { Serializable } from '../Serializable';
|
||||||
import { UhkBuffer } from '../UhkBuffer';
|
import { UhkBuffer } from '../UhkBuffer';
|
||||||
import { Keymap } from './Keymap';
|
import { Keymap } from './Keymap';
|
||||||
@@ -8,7 +7,6 @@ import { Module } from './Module';
|
|||||||
export class Layer extends Serializable<Layer> {
|
export class Layer extends Serializable<Layer> {
|
||||||
|
|
||||||
modules: Module[];
|
modules: Module[];
|
||||||
animation: AnimationKeyboard;
|
|
||||||
|
|
||||||
constructor(layers?: Layer, getKeymap?: (abbrevation: string) => Keymap, getMacro?: (macroId: number) => Macro) {
|
constructor(layers?: Layer, getKeymap?: (abbrevation: string) => Keymap, getMacro?: (macroId: number) => Macro) {
|
||||||
super();
|
super();
|
||||||
@@ -16,7 +14,6 @@ export class Layer extends Serializable<Layer> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.modules = layers.modules.map(module => new Module(module, getKeymap, getMacro));
|
this.modules = layers.modules.map(module => new Module(module, getKeymap, getMacro));
|
||||||
this.animation = layers.animation;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fromJsonObject(jsonObject: any, getKeymap?: (abbrevation: string) => Keymap, getMacro?: (macroId: number) => Macro): Layer {
|
fromJsonObject(jsonObject: any, getKeymap?: (abbrevation: string) => Keymap, getMacro?: (macroId: number) => Macro): Layer {
|
||||||
|
|||||||
Reference in New Issue
Block a user