Browse Source

refactor(theme-shared): add status enum to confirmation model and use it instead of toaster status enum

pull/2853/head
TheDiaval 7 years ago
parent
commit
ea391d7d6c
  1. 9
      npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts
  2. 6
      npm/ng-packs/packages/theme-shared/src/lib/models/confirmation.ts
  3. 19
      npm/ng-packs/packages/theme-shared/src/lib/services/confirmation.service.ts

9
npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts

@ -2,7 +2,6 @@ import { Component } from '@angular/core';
import { ConfirmationService } from '../../services/confirmation.service'; import { ConfirmationService } from '../../services/confirmation.service';
import { Confirmation } from '../../models/confirmation'; import { Confirmation } from '../../models/confirmation';
import { LocalizationService } from '@abp/ng.core'; import { LocalizationService } from '@abp/ng.core';
import { Toaster } from '../../models/toaster';
@Component({ @Component({
selector: 'abp-confirmation', selector: 'abp-confirmation',
@ -10,9 +9,9 @@ import { Toaster } from '../../models/toaster';
styleUrls: ['./confirmation.component.scss'], styleUrls: ['./confirmation.component.scss'],
}) })
export class ConfirmationComponent { export class ConfirmationComponent {
confirm = Toaster.Status.confirm; confirm = Confirmation.Status.confirm;
reject = Toaster.Status.reject; reject = Confirmation.Status.reject;
dismiss = Toaster.Status.dismiss; dismiss = Confirmation.Status.dismiss;
visible = false; visible = false;
@ -43,7 +42,7 @@ export class ConfirmationComponent {
}); });
} }
close(status: Toaster.Status) { close(status: Confirmation.Status) {
this.confirmationService.clear(status); this.confirmationService.clear(status);
} }
} }

6
npm/ng-packs/packages/theme-shared/src/lib/models/confirmation.ts

@ -20,4 +20,10 @@ export namespace Confirmation {
} }
export type Severity = 'neutral' | 'success' | 'info' | 'warning' | 'error'; export type Severity = 'neutral' | 'success' | 'info' | 'warning' | 'error';
export enum Status {
confirm = 'confirm',
reject = 'reject',
dismiss = 'dismiss',
}
} }

19
npm/ng-packs/packages/theme-shared/src/lib/services/confirmation.service.ts

@ -2,19 +2,18 @@ import { Injectable } from '@angular/core';
import { Confirmation } from '../models/confirmation'; import { Confirmation } from '../models/confirmation';
import { fromEvent, Observable, Subject, ReplaySubject } from 'rxjs'; import { fromEvent, Observable, Subject, ReplaySubject } from 'rxjs';
import { takeUntil, debounceTime, filter } from 'rxjs/operators'; import { takeUntil, debounceTime, filter } from 'rxjs/operators';
import { Toaster } from '../models/toaster';
import { Config } from '@abp/ng.core'; import { Config } from '@abp/ng.core';
@Injectable({ providedIn: 'root' }) @Injectable({ providedIn: 'root' })
export class ConfirmationService { export class ConfirmationService {
status$: Subject<Toaster.Status>; status$: Subject<Confirmation.Status>;
confirmation$ = new ReplaySubject<Confirmation.DialogData>(1); confirmation$ = new ReplaySubject<Confirmation.DialogData>(1);
info( info(
message: Config.LocalizationParam, message: Config.LocalizationParam,
title: Config.LocalizationParam, title: Config.LocalizationParam,
options?: Partial<Confirmation.Options>, options?: Partial<Confirmation.Options>,
): Observable<Toaster.Status> { ): Observable<Confirmation.Status> {
return this.show(message, title, 'info', options); return this.show(message, title, 'info', options);
} }
@ -22,7 +21,7 @@ export class ConfirmationService {
message: Config.LocalizationParam, message: Config.LocalizationParam,
title: Config.LocalizationParam, title: Config.LocalizationParam,
options?: Partial<Confirmation.Options>, options?: Partial<Confirmation.Options>,
): Observable<Toaster.Status> { ): Observable<Confirmation.Status> {
return this.show(message, title, 'success', options); return this.show(message, title, 'success', options);
} }
@ -30,7 +29,7 @@ export class ConfirmationService {
message: Config.LocalizationParam, message: Config.LocalizationParam,
title: Config.LocalizationParam, title: Config.LocalizationParam,
options?: Partial<Confirmation.Options>, options?: Partial<Confirmation.Options>,
): Observable<Toaster.Status> { ): Observable<Confirmation.Status> {
return this.show(message, title, 'warning', options); return this.show(message, title, 'warning', options);
} }
@ -38,16 +37,16 @@ export class ConfirmationService {
message: Config.LocalizationParam, message: Config.LocalizationParam,
title: Config.LocalizationParam, title: Config.LocalizationParam,
options?: Partial<Confirmation.Options>, options?: Partial<Confirmation.Options>,
): Observable<Toaster.Status> { ): Observable<Confirmation.Status> {
return this.show(message, title, 'error', options); return this.show(message, title, 'error', options);
} }
show( show(
message: Config.LocalizationParam, message: Config.LocalizationParam,
title: Config.LocalizationParam, title: Config.LocalizationParam,
severity?: Toaster.Severity, severity?: Confirmation.Severity,
options?: Partial<Confirmation.Options>, options?: Partial<Confirmation.Options>,
): Observable<Toaster.Status> { ): Observable<Confirmation.Status> {
this.confirmation$.next({ this.confirmation$.next({
message, message,
title, title,
@ -59,9 +58,9 @@ export class ConfirmationService {
return this.status$; return this.status$;
} }
clear(status?: Toaster.Status) { clear(status?: Confirmation.Status) {
this.confirmation$.next(); this.confirmation$.next();
this.status$.next(status || Toaster.Status.dismiss); this.status$.next(status || Confirmation.Status.dismiss);
} }
listenToEscape() { listenToEscape() {

Loading…
Cancel
Save