2019-08-31 20:51:14 -07:00
|
|
|
import Component from '@ember/component';
|
|
|
|
// @ts-ignore: Ignore import of compiled template
|
|
|
|
import template from '../templates/components/notifications';
|
|
|
|
import { layout, attribute } from '@ember-decorators/component';
|
|
|
|
import { NotificationType } from '@datahub/utils/constants/notifications';
|
|
|
|
import NotificationsService from '@datahub/utils/services/notifications';
|
2020-08-26 15:44:50 -07:00
|
|
|
import { inject as service } from '@ember/service';
|
2019-08-31 20:51:14 -07:00
|
|
|
/**
|
|
|
|
* Defines the class for the parent notifications component which host the rendering of other notification components within itself e.g. toasts, dialogs
|
|
|
|
* @export
|
|
|
|
* @extends {Component}
|
|
|
|
*/
|
|
|
|
@layout(template)
|
|
|
|
export default class Notifications extends Component {
|
|
|
|
/**
|
|
|
|
* Attribute identifier for this component's element
|
|
|
|
*/
|
|
|
|
@attribute('notifications-element')
|
|
|
|
readonly notificationsElement = '';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* References the NotificationType enum allowing read from the template to determine which sub component is rendered based on the type
|
|
|
|
*/
|
|
|
|
notificationType = NotificationType;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Injected reference to the applications notifications service
|
|
|
|
*/
|
2020-08-26 15:44:50 -07:00
|
|
|
@service('notifications')
|
|
|
|
service!: NotificationsService;
|
2019-08-31 20:51:14 -07:00
|
|
|
}
|