refactor: Macro
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
<macro-header [macro]="macro"></macro-header>
|
<macro-header [macro]="macro"></macro-header>
|
||||||
<div class="row list-container">
|
<div class="row list-container">
|
||||||
<div class="col-xs-10 col-xs-offset-1 list-group">
|
<div class="col-xs-10 col-xs-offset-1 list-group">
|
||||||
<div class="macro-actions-container" [dragula]="'macroActions'" [dragulaModel]="macro.macroActions.elements">
|
<div class="macro-actions-container" [dragula]="'macroActions'" [dragulaModel]="macro.macroActions">
|
||||||
<macro-item *ngFor="let macroAction of macro.macroActions.elements; let macroActionIndex = index"
|
<macro-item *ngFor="let macroAction of macro.macroActions; let macroActionIndex = index"
|
||||||
[macroAction]="macroAction"
|
[macroAction]="macroAction"
|
||||||
[editable]="true"
|
[editable]="true"
|
||||||
[deletable]="true"
|
[deletable]="true"
|
||||||
|
|||||||
@@ -58,8 +58,8 @@ export class MacroComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addAction() {
|
addAction() {
|
||||||
this.hideOtherActionEditors(this.macro.macroActions.elements.length);
|
this.hideOtherActionEditors(this.macro.macroActions.length);
|
||||||
this.macro.macroActions.elements.push(undefined);
|
this.macro.macroActions.push(undefined);
|
||||||
}
|
}
|
||||||
|
|
||||||
discardChanges() {
|
discardChanges() {
|
||||||
@@ -83,12 +83,12 @@ export class MacroComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
onSaveAction(macroAction: MacroAction, index: number) {
|
onSaveAction(macroAction: MacroAction, index: number) {
|
||||||
this.hasChanges = true;
|
this.hasChanges = true;
|
||||||
this.macro.macroActions.elements[index] = macroAction;
|
this.macro.macroActions[index] = macroAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
onDeleteAction(index: number) {
|
onDeleteAction(index: number) {
|
||||||
// @ todo show confirm action dialog
|
// @ todo show confirm action dialog
|
||||||
this.macro.macroActions.elements.splice(index, 1);
|
this.macro.macroActions.splice(index, 1);
|
||||||
this.hasChanges = true;
|
this.hasChanges = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<div class="macro-action-container" [class.inactive]="selectedMacroIndex === -1">
|
<div class="macro-action-container" [class.inactive]="selectedMacroIndex === -1">
|
||||||
<template [ngIf]="selectedMacroIndex >= 0">
|
<template [ngIf]="selectedMacroIndex >= 0">
|
||||||
<div class="list-group">
|
<div class="list-group">
|
||||||
<macro-item *ngFor="let macroAction of macros[selectedMacroIndex].macroActions.elements"
|
<macro-item *ngFor="let macroAction of macros[selectedMacroIndex].macroActions"
|
||||||
[macroAction]="macroAction">
|
[macroAction]="macroAction">
|
||||||
</macro-item>
|
</macro-item>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { assertUInt8 } from '../assert';
|
import { assertUInt8 } from '../assert';
|
||||||
import { Serializable } from '../Serializable';
|
import { Serializable } from '../Serializable';
|
||||||
import { UhkBuffer } from '../UhkBuffer';
|
import { UhkBuffer } from '../UhkBuffer';
|
||||||
import { MacroActions } from './macro-action';
|
import { Helper as MacroActionHelper, MacroAction } from './macro-action';
|
||||||
|
|
||||||
export class Macro extends Serializable<Macro> {
|
export class Macro extends Serializable<Macro> {
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@ export class Macro extends Serializable<Macro> {
|
|||||||
|
|
||||||
name: string;
|
name: string;
|
||||||
|
|
||||||
macroActions: MacroActions;
|
macroActions: MacroAction[];
|
||||||
|
|
||||||
constructor(other?: Macro) {
|
constructor(other?: Macro) {
|
||||||
super();
|
super();
|
||||||
@@ -25,7 +25,7 @@ export class Macro extends Serializable<Macro> {
|
|||||||
this.isLooped = other.isLooped;
|
this.isLooped = other.isLooped;
|
||||||
this.isPrivate = other.isPrivate;
|
this.isPrivate = other.isPrivate;
|
||||||
this.name = other.name;
|
this.name = other.name;
|
||||||
this.macroActions = new MacroActions(other.macroActions);
|
this.macroActions = other.macroActions.map(macroAction => MacroActionHelper.createMacroAction(macroAction));
|
||||||
}
|
}
|
||||||
|
|
||||||
_fromJsObject(jsObject: any): Macro {
|
_fromJsObject(jsObject: any): Macro {
|
||||||
@@ -33,7 +33,7 @@ export class Macro extends Serializable<Macro> {
|
|||||||
this.isLooped = jsObject.isLooped;
|
this.isLooped = jsObject.isLooped;
|
||||||
this.isPrivate = jsObject.isPrivate;
|
this.isPrivate = jsObject.isPrivate;
|
||||||
this.name = jsObject.name;
|
this.name = jsObject.name;
|
||||||
this.macroActions = new MacroActions().fromJsObject(jsObject.macroActions);
|
this.macroActions = jsObject.macroActions.map((macroAction: any) => MacroActionHelper.createMacroAction(macroAction));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,7 +42,11 @@ export class Macro extends Serializable<Macro> {
|
|||||||
this.isLooped = buffer.readBoolean();
|
this.isLooped = buffer.readBoolean();
|
||||||
this.isPrivate = buffer.readBoolean();
|
this.isPrivate = buffer.readBoolean();
|
||||||
this.name = buffer.readString();
|
this.name = buffer.readString();
|
||||||
this.macroActions = new MacroActions().fromBinary(buffer);
|
let macroActionsLength: number = buffer.readCompactLength();
|
||||||
|
this.macroActions = [];
|
||||||
|
for (let i = 0; i < macroActionsLength; ++i) {
|
||||||
|
this.macroActions.push(MacroActionHelper.createMacroAction(buffer));
|
||||||
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,7 +56,7 @@ export class Macro extends Serializable<Macro> {
|
|||||||
isLooped: this.isLooped,
|
isLooped: this.isLooped,
|
||||||
isPrivate: this.isPrivate,
|
isPrivate: this.isPrivate,
|
||||||
name: this.name,
|
name: this.name,
|
||||||
macroActions: this.macroActions.toJsObject()
|
macroActions: this.macroActions.map(macroAction => macroAction.toJsObject())
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,7 +65,7 @@ export class Macro extends Serializable<Macro> {
|
|||||||
buffer.writeBoolean(this.isLooped);
|
buffer.writeBoolean(this.isLooped);
|
||||||
buffer.writeBoolean(this.isPrivate);
|
buffer.writeBoolean(this.isPrivate);
|
||||||
buffer.writeString(this.name);
|
buffer.writeString(this.name);
|
||||||
this.macroActions.toBinary(buffer);
|
buffer.writeArray(this.macroActions);
|
||||||
}
|
}
|
||||||
|
|
||||||
toString(): string {
|
toString(): string {
|
||||||
|
|||||||
Reference in New Issue
Block a user