diff --git a/src/app.module.ts b/src/app.module.ts
index c28f2a6a..813841e0 100644
--- a/src/app.module.ts
+++ b/src/app.module.ts
@@ -15,7 +15,6 @@ import { KeymapAddComponent, KeymapComponent, KeymapHeaderComponent } from './co
import { LayersComponent } from './components/layers';
import {
MacroActionEditorComponent,
- MacroAddComponent,
MacroDelayTabComponent,
MacroEditComponent,
MacroHeaderComponent,
@@ -115,7 +114,6 @@ const storeConfig = {
MacroEditComponent,
MacroListComponent,
MacroHeaderComponent,
- MacroAddComponent,
MacroItemComponent,
MacroActionEditorComponent,
MacroDelayTabComponent,
diff --git a/src/components/macro/action-editor/tab/text/macro-text.component.html b/src/components/macro/action-editor/tab/text/macro-text.component.html
index ab8590ad..307abc7a 100644
--- a/src/components/macro/action-editor/tab/text/macro-text.component.html
+++ b/src/components/macro/action-editor/tab/text/macro-text.component.html
@@ -1,5 +1,5 @@
Type text
Input the text you want to type with this macro action.
-
+
\ No newline at end of file
diff --git a/src/components/macro/action-editor/tab/text/macro-text.component.ts b/src/components/macro/action-editor/tab/text/macro-text.component.ts
index 11d3a592..c68720ee 100644
--- a/src/components/macro/action-editor/tab/text/macro-text.component.ts
+++ b/src/components/macro/action-editor/tab/text/macro-text.component.ts
@@ -25,4 +25,8 @@ export class MacroTextTabComponent implements AfterViewInit {
this.renderer.invokeElementMethod(this.input.nativeElement, 'focus');
}
+ onTextChange() {
+ this.macroAction.text = this.input.nativeElement.value;
+ }
+
}
diff --git a/src/components/macro/add/macro-add.component.html b/src/components/macro/add/macro-add.component.html
deleted file mode 100644
index 2aec5781..00000000
--- a/src/components/macro/add/macro-add.component.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
- Add macro
-
-
-To be done...
\ No newline at end of file
diff --git a/src/components/macro/add/macro-add.component.scss b/src/components/macro/add/macro-add.component.scss
deleted file mode 100644
index e69de29b..00000000
diff --git a/src/components/macro/add/macro-add.component.ts b/src/components/macro/add/macro-add.component.ts
deleted file mode 100644
index 385de43c..00000000
--- a/src/components/macro/add/macro-add.component.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'macro-add',
- template: require('./macro-add.component.html'),
- styles: [require('./macro-add.component.scss')]
-})
-export class MacroAddComponent {
- constructor() { }
-}
diff --git a/src/components/macro/edit/macro-edit.component.html b/src/components/macro/edit/macro-edit.component.html
index 2046d149..245db33a 100644
--- a/src/components/macro/edit/macro-edit.component.html
+++ b/src/components/macro/edit/macro-edit.component.html
@@ -1,5 +1,8 @@
-
+
, private route: ActivatedRoute) {
this.subscription = route
@@ -29,6 +30,8 @@ export class MacroEditComponent implements OnDestroy {
.subscribe((macro: Macro) => {
this.macro = macro;
});
+
+ this.isNew = this.route.snapshot.params['empty'] === 'new';
}
ngOnDestroy() {
diff --git a/src/components/macro/header/macro-header.component.html b/src/components/macro/header/macro-header.component.html
index e95e1aa0..f23b86d8 100644
--- a/src/components/macro/header/macro-header.component.html
+++ b/src/components/macro/header/macro-header.component.html
@@ -4,6 +4,7 @@
) { }
+ constructor(private store: Store, private renderer: Renderer) { }
+
+ ngOnChanges() {
+ if (this.isNew) {
+ this.renderer.invokeElementMethod(this.macroName.nativeElement, 'focus', []);
+ }
+ }
removeMacro() {
this.store.dispatch(MacroActions.removeMacro(this.macro.id));
diff --git a/src/components/macro/index.ts b/src/components/macro/index.ts
index b43d09f4..5233bbaf 100644
--- a/src/components/macro/index.ts
+++ b/src/components/macro/index.ts
@@ -1,4 +1,3 @@
-export * from './add/macro-add.component';
export * from './edit/macro-edit.component';
export * from './list/macro-list.component';
export * from './header/macro-header.component';
diff --git a/src/components/macro/item/macro-item.component.ts b/src/components/macro/item/macro-item.component.ts
index 5f40b77b..321d2093 100644
--- a/src/components/macro/item/macro-item.component.ts
+++ b/src/components/macro/item/macro-item.component.ts
@@ -70,9 +70,7 @@ export class MacroItemComponent implements OnInit, OnChanges {
}
ngOnChanges(changes: SimpleChanges) {
- /* tslint:disable:no-string-literal */
if (changes['macroAction']) {
- /* tslint:enable:no-string-literal */
this.updateView();
}
}
@@ -88,6 +86,7 @@ export class MacroItemComponent implements OnInit, OnChanges {
if (!this.editable || this.editing) {
return;
}
+
this.editing = true;
this.edit.emit();
}
diff --git a/src/components/macro/list/macro-list.component.html b/src/components/macro/list/macro-list.component.html
index 987f7f6e..5cd5c746 100644
--- a/src/components/macro/list/macro-list.component.html
+++ b/src/components/macro/list/macro-list.component.html
@@ -5,7 +5,7 @@
[macroAction]="macroAction"
[editable]="true"
[deletable]="true"
- [moveable]="true"
+ [movable]="true"
(save)="saveAction($event, macroActionIndex)"
(edit)="editAction(macroActionIndex)"
(cancel)="cancelAction()"
@@ -13,15 +13,17 @@
[attr.data-index]="macroActionIndex"
>
-
-
+
Add new macro action
diff --git a/src/components/macro/list/macro-list.component.scss b/src/components/macro/list/macro-list.component.scss
index 1d98499e..b587f218 100644
--- a/src/components/macro/list/macro-list.component.scss
+++ b/src/components/macro/list/macro-list.component.scss
@@ -8,12 +8,6 @@
.list-container {
display: flex;
flex: 1;
-
- > div {
- display: flex;
- flex-direction: column;
- flex: 1;
- }
}
}
@@ -103,6 +97,7 @@ h1 {
.add-new__action-container {
overflow: hidden;
flex-shrink: 0;
+ border-top: 1px solid #ddd;
}
.add-new__action-item {
diff --git a/src/components/macro/list/macro-list.component.ts b/src/components/macro/list/macro-list.component.ts
index a0cefb5a..793de9e0 100644
--- a/src/components/macro/list/macro-list.component.ts
+++ b/src/components/macro/list/macro-list.component.ts
@@ -1,4 +1,17 @@
-import { Component, EventEmitter, Input, Output, QueryList, ViewChild, forwardRef } from '@angular/core';
+import {
+ Component,
+ EventEmitter,
+ Input,
+ Output,
+ QueryList,
+ ViewChildren,
+ animate,
+ forwardRef,
+ state,
+ style,
+ transition,
+ trigger
+} from '@angular/core';
import { DragulaService } from 'ng2-dragula/ng2-dragula';
@@ -7,6 +20,27 @@ import { MacroAction } from '../../../config-serializer/config-items/macro-actio
import { MacroItemComponent } from './../index';
@Component({
+ animations: [
+ trigger('toggler', [
+ state('inactive', style({
+ height: '0px'
+ })),
+ state('active', style({
+ height: '*'
+ })),
+ transition('inactive <=> active', animate('500ms ease-out'))
+ ]),
+ trigger('togglerNew', [
+ state('void', style({
+ height: '0px'
+ })),
+ state('active', style({
+ height: '*'
+ })),
+ transition(':enter', animate('500ms ease-out')),
+ transition(':leave', animate('500ms ease-out'))
+ ])
+ ],
selector: 'macro-list',
template: require('./macro-list.component.html'),
styles: [require('./macro-list.component.scss')],
@@ -14,17 +48,17 @@ import { MacroItemComponent } from './../index';
})
export class MacroListComponent {
@Input() macro: Macro;
- @ViewChild(forwardRef(() => MacroItemComponent)) macroItems: QueryList;
+ @ViewChildren(forwardRef(() => MacroItemComponent)) macroItems: QueryList;
@Output() add = new EventEmitter();
@Output() edit = new EventEmitter();
@Output() delete = new EventEmitter();
@Output() reorder = new EventEmitter();
- private showNew: boolean = false;
private newMacro: Macro = undefined;
private activeEdit: number = undefined;
private dragIndex: number;
+ private showNew: boolean = false;
constructor(private dragulaService: DragulaService) {
/* tslint:disable:no-unused-variable: Used by Dragula. */
diff --git a/src/components/macro/macro.routes.ts b/src/components/macro/macro.routes.ts
index 7a7b1e0a..6718445e 100644
--- a/src/components/macro/macro.routes.ts
+++ b/src/components/macro/macro.routes.ts
@@ -1,6 +1,5 @@
import { Routes } from '@angular/router';
-import { MacroAddComponent } from './add/macro-add.component';
import { MacroEditComponent } from './edit/macro-edit.component';
export const macroRoutes: Routes = [
@@ -9,11 +8,11 @@ export const macroRoutes: Routes = [
component: MacroEditComponent
},
{
- path: 'macro/add',
- component: MacroAddComponent
+ path: 'macro/:id',
+ component: MacroEditComponent
},
{
- path: 'macro/:id',
+ path: 'macro/:id/:empty',
component: MacroEditComponent
}
];
diff --git a/src/components/side-menu/side-menu.component.html b/src/components/side-menu/side-menu.component.html
index e93e4412..7699de83 100644
--- a/src/components/side-menu/side-menu.component.html
+++ b/src/components/side-menu/side-menu.component.html
@@ -19,7 +19,7 @@