feat(notification): display app errors, close #319 (#333)

* refactor(log): Refactor logging service

Removed the InjectionToken and changed LogService as default logger.
Finally ElectronLogService implements LogService directly.

* refactor: Optimize imports

* fix(app-update): Add missing rxjs imports

* style: Remove extra line

* refactor(store): Move app.actions.ts to shared module

* feat(notification): Add notification panel

Add angular-notifier to the app and created the ShowNotificationAction
to manage notifications

* style(notification): Fix tslint suggestion

* fix(notification): Add missing rxjs imports
This commit is contained in:
Róbert Kiss
2017-07-05 13:41:31 +02:00
committed by László Monda
parent 6bc2bc8331
commit c9a1e9853c
21 changed files with 181 additions and 41 deletions

View File

@@ -2,6 +2,7 @@ import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NotifierModule } from 'angular-notifier';
import { EffectsModule } from '@ngrx/effects';
import { StoreModule } from '@ngrx/store';
@@ -69,16 +70,23 @@ import { CaptureService } from './shared/services/capture.service';
import { MapperService } from './shared/services/mapper.service';
import { SvgModuleProviderService } from './shared/services/svg-module-provider.service';
import { AutoUpdateSettingsEffects, KeymapEffects, MacroEffects, UserConfigEffects } from './shared/store/effects';
import {
ApplicationEffects,
AutoUpdateSettingsEffects,
KeymapEffects,
MacroEffects,
UserConfigEffects
} from './shared/store/effects';
import { KeymapEditGuard } from './shared/components/keymap/edit';
import { MacroNotFoundGuard } from './shared/components/macro/not-found';
import { DATA_STORAGE_REPOSITORY } from './shared/services/datastorage-repository.service';
import { LocalDataStorageRepositoryService } from './shared/services/local-datastorage-repository.service';
import { DefaultUserConfigurationService } from './shared/services/default-user-configuration.service';
import { reducer } from '../../shared/src/store/reducers/index';
import { ConsoleLogService, LOG_SERVICE } from '../../shared/src/services/logger.service';
import { reducer } from './shared/store/reducers/index';
import { LogService } from './shared/services/logger.service';
import { AutoUpdateSettings } from './shared/components/auto-update-settings/auto-update-settings';
import { angularNotifierConfig } from '../../shared/src/models/angular-notifier-config';
@NgModule({
declarations: [
@@ -148,10 +156,12 @@ import { AutoUpdateSettings } from './shared/components/auto-update-settings/aut
}),
StoreLogMonitorModule,
Select2Module,
NotifierModule.withConfig(angularNotifierConfig),
EffectsModule.runAfterBootstrap(KeymapEffects),
EffectsModule.runAfterBootstrap(MacroEffects),
EffectsModule.runAfterBootstrap(UserConfigEffects),
EffectsModule.runAfterBootstrap(AutoUpdateSettingsEffects)
EffectsModule.runAfterBootstrap(AutoUpdateSettingsEffects),
EffectsModule.runAfterBootstrap(ApplicationEffects)
],
providers: [
SvgModuleProviderService,
@@ -160,11 +170,12 @@ import { AutoUpdateSettings } from './shared/components/auto-update-settings/aut
KeymapEditGuard,
MacroNotFoundGuard,
CaptureService,
{provide: DATA_STORAGE_REPOSITORY, useClass: LocalDataStorageRepositoryService},
{ provide: DATA_STORAGE_REPOSITORY, useClass: LocalDataStorageRepositoryService },
DefaultUserConfigurationService,
{ provide: LOG_SERVICE, useClass: ConsoleLogService },
LogService,
DefaultUserConfigurationService
],
bootstrap: [MainAppComponent]
})
export class AppModule { }
export class AppModule {
}

View File

@@ -1,4 +1,3 @@
<notification></notification>
<side-menu></side-menu>
<div id="main-content" class="split split-horizontal main-content">
<router-outlet></router-outlet>
@@ -7,3 +6,4 @@
<a class="" href="https://github.com/UltimateHackingKeyboard/agent" title="Fork me on GitHub">Fork me on GitHub</a>
</div>
<ngrx-store-log-monitor toggleCommand="alt-t"></ngrx-store-log-monitor>
<notifier-container></notifier-container>