UNPKG

@miracledevs/paradigm-web-angular

Version:

An angular wrapper with base functionality and helper services.

90 lines (89 loc) 3.22 kB
/*! * Paradigm Framework - Angular Wrapper * Copyright (c) 2017 Miracle Devs, Inc * Licensed under MIT (https://github.com/MiracleDevs/Paradigm.Web.Angular/blob/master/LICENSE) */ import { OnDestroy, OnInit, Injector, Type } from '@angular/core'; import { MessageBusService, RegistrationToken, MessageHandler } from '../services/message-bus.service'; import { AlertService } from '../services/alert.service'; export declare class ComponentBase implements OnInit, OnDestroy { protected injector: Injector; /** * Reference to a message bus service. */ private messageBus; /** * Array of message bus registration tokens that needs to be * unregistered before destroying the component. */ private messageTokens; /** * Reference to an alert service. */ private alerts; /** * Creates a new instance of @see ComponentBase * @param injector reference to an injector service. */ constructor(injector: Injector); /** * Called when the component is initialized. */ ngOnInit(): void; /** * Called when the component is destroyed. */ ngOnDestroy(): void; /** * Gets a reference to the message bus. */ protected getMessageBus(): MessageBusService; /** * Registers a message handler for a given message type. * @param type the message type. * @param handler the message handler to process when some part of the application sends a message of type @see type */ protected registerMessage<T>(type: Type<T>, handler: MessageHandler<T>): void; /** * Unregisters all the tokens registered within this component. */ protected unregisterTokens(): void; /** * Unregisters a particular token. * If no unregister take place, the component will unregister all the tokens * on @see ngOnDestroy * @param type the type of message to unregister */ protected unregisterToken<T>(type: Type<T>): void; /** * Sends a message using the message bus. * @param message The message instance to send using the message bus. * @param token if specified, the component can target one specific registration token and handler; * if not, all the handlers registered for this message type, will receive the message. */ protected sendMessage<T>(message: T, token?: RegistrationToken<T>): Promise<void>; /** * Gets the alert service. */ protected getAlerts(): AlertService; /** * Adds a message in the alert service. * @param message message to add. */ protected addMessage(message: string): void; /** * Adds a warning in the alert service. * @param warning warning to add. */ protected addWarning(warning: string): void; /** * Adds an error in the alert service. * @param error error to add. */ protected addError(error: string): void; /** * Handles an application error, reporting the error to the alert service. * @param error the error that needs to be handled. */ protected handleError(error: any): void; }