Files
agent/shared/src/components/uhk-header/uhk-header.ts
Róbert Kiss 42683e32f9 feat(notification): Add undoable notification, close #318 (#338)
* feat(notification): Add undoable notification

* feat(notification): Add undoable notification

* feat(notification): Use uhk-header to the notification

* half ready solution

* - fix: "Keymap has been deleted" is displayed for macros.
- When a keymap/macro deletion gets undone, please set the route of the restored keymap/macro.
- When the user switches to another route, please make the undo notification disappear.

* fix(keymap): Store prev user configuration in the application reducer

Store the previous state in application reducer, because refactoring the
user-config reducer is not easy

* feat(keymap): Fix review request
2017-07-23 22:17:53 +02:00

30 lines
952 B
TypeScript

import { ChangeDetectionStrategy, Component } from '@angular/core';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs/Observable';
import { Notification } from '../../models/notification';
import { AppState, getUndoableNotification } from '../../store/index';
import { DismissUndoNotificationAction, UndoLastAction } from '../../store/actions/app.action';
@Component({
selector: 'uhk-header',
templateUrl: './uhk-header.html',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class UhkHeader {
undoableNotification$: Observable<Notification>;
constructor(private store: Store<AppState>) {
this.undoableNotification$ = this.store.select(getUndoableNotification);
}
onUndoLastNotification(data: any): void {
this.store.dispatch(new UndoLastAction(data));
}
onDismissLastNotification(): void {
this.store.dispatch(new DismissUndoNotificationAction());
}
}