Notifications manager singleton
interface INotificationsManager {
init(): void;
addNotification(notification: Notification): void;
removeNotification(notification: Notification): void;
getNotifications(): Notification[];
}
interface INotificationsManagerSettings {
callback?: {
notificationAdded?(): any;
notificationRemoved?(): any;
notificationClosed?(): any;
};
$componentSelector: JQuery;
$closeComponentSelector?: JQuery;
deleteOnClose?: boolean;
}
new NotificationsManager(settings: INotificationsManagerSettings);
Single notification class
interface INotification {
getMessage(): string;
getType(): string;
remove(): string;
setType(type: INotificationType): void;
hide(hiddenClassName?: string): void;
show(): void;
getTemplate(): HTMLElement;
}
interface INotificationSettings {
notificationHTML: string|JQuery;
textSelector: string|JQuery;
iconSelector: string|JQuery;
onClose?(): any;
onAdd?(): any;
}
interface INotificationType {
name: string;
iconHTML?: string;
textClass?: string;
}
new Notification(message: string, settings: INotificationSettings);