@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
59 lines • 2.41 kB
TypeScript
import { Observable } from 'rxjs';
import { AlertGroupData, DismissAlertStrategy, DynamicComponentAlert } from './dynamic-component-alert.model';
import { AlertType } from '../alert';
export declare class DynamicComponentAlertAggregator {
anyAlertExists$: Observable<boolean>;
/**
* Array containing grouped alerts with data necessary to display alerts and whether alert group should be dismissible.
*/
alertGroups: Array<{
type: AlertType;
value: AlertGroupData;
}>;
/**
* Private Map of alerts data.
*/
private aggregatedAlertsData;
private anyAlertExistsSubject;
constructor(alerts?: DynamicComponentAlert[]);
/**
* Adds alert to aggregator.
*
* @param {DynamicComponentAlert[]} alerts List of alerts that should be added to aggregator.
*
*/
addAlerts(...alerts: DynamicComponentAlert[]): void;
/**
* Remove alerts in group by provided alert type or removes all alerts when no param is provided.
*
* @param {AlertType} type Type of alerts group that should be removed.
*
*/
clear(type?: AlertType): void;
/**
* Sets possibility of alert to be dismissed in specific way.
*
* @param {AlertType} alertType Type of alerts for which the dismissal strategy should be set.
* @param {dismissStrategy} dismissStrategy Type of dismissal strategy that will be set for the alert type.
*
*/
setAlertGroupDismissStrategy(alertType: AlertType, dismissStrategy: DismissAlertStrategy): void;
/**
* Removes alerts in group due to dismissal dismissStrategy and sets userDismissalChoice property.
* If group has dismissal strategy declared as TEMPORARY_OR_PERMANENT, its userDismissalChoice property can be set to
* REMIND_ALLOWED or REMIND_DISALLOWED depending on parameter.
*
* @param {AlertType} alertType Type of alerts group that should be dismissed.
* @param {boolean} permanent Determines whether the dismissal of alerts of a given type is permanent.
*
*/
dismissAlertGroup(alertType: AlertType, isPermanent?: boolean): void;
/**
* Alert aggregator as a widget property should not be serialized and stored in database.
*/
toJSON(): any;
private initAlertsGroups;
private setAlerts;
private onDataChanged;
}
//# sourceMappingURL=dynamic-component-alert-aggregator.d.ts.map