@omnia/foundation
Version:
Provide omnia foundation typings and tooling work on client side for omnia extension
51 lines (50 loc) • 2.13 kB
TypeScript
import { Enums } from './Enums';
export declare module NotificationPanel {
interface INotificationPanelControl {
controlId: string;
controlDisplayName: string;
}
interface INotificationModuleAngularEntity {
objectType: NotificationPanelAngularEntityType;
objectName: string;
object: any;
}
interface INotificationPanelCategory {
id?: string;
title?: string;
icon?: string;
iconColor?: string;
viewControls?: Array<INotificationPanelViewControl>;
notificationType?: Enums.PanelNotificationTypes;
notificationQueryUrl?: string;
notificationProvider?: string;
notificationCount?: number;
shouldFadeOut?: boolean;
visible?: boolean;
emptyControl?: Array<string>;
}
interface INotificationPanelViewControl {
controlId?: string;
id?: string;
title?: string;
inEditMode?: boolean;
draftTitle?: string;
}
interface INotificationProvider {
providerId: string;
providerName: string;
getNotifications: (callback: (notifications: Array<any>) => void) => void;
}
enum NotificationPanelAngularEntityType {
controller = 0,
service = 1,
}
function registerNotificationPanelControl(controlId: string, controlDisplayName: string): void;
function getNotificationPanelControls(supportAngular1?: boolean): INotificationPanelControl[];
function publishNewDataNotification(containerId: string, notificationCount: number): void;
function onControlVisibleInNotificationPanel(containerId: string, handler: () => void): void;
function isControlInNotificationPanel(containerId: string): boolean;
function registerNotificationProvider(providerId: string, providerName: string, getNotificationsMethod: (callback: (notifications: Array<any>) => void) => void): void;
function getNoficiationProvider(providerId: string): INotificationProvider;
function getNotificationProviders(): Array<INotificationProvider>;
}