UNPKG

@ua/react-native-airship

Version:
104 lines (92 loc) 2.94 kB
import { InboxMessage } from './types'; /** * Airship Message Center */ export class AirshipMessageCenter { constructor(private readonly module: any) {} /** * Gets the unread count. * @returns A promise with the result. */ public getUnreadCount(): Promise<number> { return this.module.messageCenterGetUnreadCount(); } /** * Gets the inbox messages. * @returns A promise with the result. */ public getMessages(): Promise<InboxMessage[]> { return this.module.messageCenterGetMessages(); } /** * Marks a message as read. * @param messageId The message Id. * @returns A promise. Will reject if the message is not * found or if takeOff is not called. */ public markMessageRead(messageId: string): Promise<void> { return this.module.messageCenterMarkMessageRead(messageId); } /** * Deletes a message. * @param messageId The message Id. * @returns A promise. Will reject if the message is not * found or if takeOff is not called. */ public deleteMessage(messageId: string): Promise<void> { return this.module.messageCenterDeleteMessage(messageId); } /** * Dismisses the OOTB message center if displayed. * @returns A promise. */ public dismiss(): Promise<void> { return this.module.messageCenterDismiss(); } /** * Requests to display the Message Center. * * Will either emit an event to display the * Message Center if auto launch message center * is disabled, or display the OOTB message center. * @param messageId Optional message Id. * @returns A promise. */ public display(messageId?: string): Promise<void> { return this.module.messageCenterDisplay(messageId); } /** * Overlays the Message Center regardless if auto launch Message Center is enabled or not. * * @param messageId Optional message Id. * @returns A promise. */ public showMessageCenter(messageId?: string): Promise<void> { return this.module.messageCenterShowMessageCenter(messageId); } /** * Overlays the message view regardless if auto launch Message Center is enabled or not. * * @param messageId The message Id. * @returns A promise. */ public showMessageView(messageId: string): Promise<void> { return this.module.messageCenterShowMessageView(messageId); } /** * Refreshes the messages. * @returns A promise. Will reject if the list fails to refresh or if * takeOff is not called yet. */ public refreshMessages(): Promise<void> { return this.module.messageCenterRefresh(); } /** * Enables or disables showing the OOTB UI when requested to display by either * `display` or by a notification with a Message Center action. * @param autoLaunch true to show OOTB UI, false to emit events. */ public setAutoLaunchDefaultMessageCenter(autoLaunch: boolean) { this.module.messageCenterSetAutoLaunchDefaultMessageCenter(autoLaunch); } }