framework7
Version:
Full featured mobile HTML framework for building iOS & Android apps
116 lines (105 loc) • 5.58 kB
TypeScript
import { Dom7Instance } from 'dom7';
import Framework7, { CSSSelector, Framework7EventsClass, Framework7Plugin } from '../app/app-class';
export namespace Notification {
interface Notification extends Framework7EventsClass<Events> {
/** Link to global app instance */
app : Framework7
/** Notification HTML element */
el : HTMLElement
/** Dom7 instance with notification HTML element */
$el : Dom7Instance
/** Notification parameters */
params : Parameters
/** Open notification */
open() : Notification
/** Close notification */
close() : Notification
}
interface Parameters {
/** Notification element. Can be useful if you already have Notification element in your HTML and want to create new instance using this element. */
el?: HTMLElement
/** Notification icon HTML layout, e.g. <i class="f7-icons">home</i> or image <img src="path/to/icon.png">. */
icon?: string
/** Notification title. */
title?: string
/** Additional text on the right side of title. */
titleRightText?: string
/** Notification subtitle. */
subtitle?: string
/** Notification inner text. */
text?: string
/** Adds notification close button. (default false) */
closeButton?: boolean
/** Timeout delay (in ms) to close notification automatically. */
closeTimeout?: number
/** If enabled, notification will be closed on notification click. (default false) */
closeOnClick?: boolean
/** If enabled, notification can be closed by swipe gesture. (default true) */
swipeToClose?: boolean
/** Additional css class to add. */
cssClass?: string
/** Custom function to render Notification. Must return notification html. */
render?: () => string
/** Object with events handlers.. */
on?: {
[]? : Events[event]
}
}
interface Events {
/** Event will be triggered when user clicks on Notification element. As an argument event handler receives notification instance */
click: (notification : Notification) => void
/** Event will be triggered when Notification starts its opening animation. As an argument event handler receives notification instance */
open: (notification : Notification) => void
/** Event will be triggered after Notification completes its opening animation. As an argument event handler receives notification instance */
opened: (notification : Notification) => void
/** Event will be triggered when Notification starts its closing animation. As an argument event handler receives notification instance */
close: (notification : Notification) => void
/** Event will be triggered after Notification completes its closing animation. As an argument event handler receives notification instance */
closed: (notification : Notification) => void
/** Event will be triggered right before Notification instance will be destroyed. As an argument event handler receives notification instance */
beforeDestroy: (notification : Notification) => void
}
interface DomEvents {
/** Event will be triggered when Notification starts its opening animation */
'notification:open' : () => void
/** Event will be triggered after Notification completes its opening animation */
'notification:opened' : () => void
/** Event will be triggered when Notification starts its closing animation */
'notification:close' : () => void
/** Event will be triggered after Notification completes its closing animation */
'notification:closed' : () => void
}
interface AppMethods {
notification: {
/** create Notification instance */
create(parameters : Parameters) : Notification
/** destroy Notification instance */
destroy(el : HTMLElement | CSSSelector | Notification) : void
/** get Notification instance by HTML element */
get(el : HTMLElement | CSSSelector) : Notification
/** open Notification */
open(el : HTMLElement | CSSSelector) : Notification
/** closes Notification */
close(el : HTMLElement | CSSSelector) : Notification
}
}
interface AppParams {
notification?: Parameters | undefined
}
interface AppEvents {
/** Event will be triggered when user clicks on Notification element. As an argument event handler receives notification instance */
notificationClick: (notification : Notification) => void
/** Event will be triggered when Notification starts its opening animation. As an argument event handler receives notification instance */
notificationOpen: (notification : Notification) => void
/** Event will be triggered after Notification completes its opening animation. As an argument event handler receives notification instance */
notificationOpened: (notification : Notification) => void
/** Event will be triggered when Notification starts its closing animation. As an argument event handler receives notification instance */
notificationClose: (notification : Notification) => void
/** Event will be triggered after Notification completes its closing animation. As an argument event handler receives notification instance */
notificationClosed: (notification : Notification) => void
/** Event will be triggered right before Notification instance will be destroyed. As an argument event handler receives notification instance */
notificationBeforeDestroy: (notification : Notification) => void
}
}
declare const NotificationComponent: Framework7Plugin;
export default NotificationComponent;