From 8815da314ffde125963695198bc11229789ab440 Mon Sep 17 00:00:00 2001 From: Samuel Attard Date: Sat, 20 May 2017 21:25:26 +1000 Subject: [PATCH] Add Notification API docs --- docs/api/notification.md | 85 ++++++++++++++++++++++++++++++++++ docs/tutorial/notifications.md | 4 +- 2 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 docs/api/notification.md diff --git a/docs/api/notification.md b/docs/api/notification.md new file mode 100644 index 000000000000..18945a884fe1 --- /dev/null +++ b/docs/api/notification.md @@ -0,0 +1,85 @@ +# Notification + +> Create OS desktop notifications + +Process: [Main](../glossary.md#main-process) + +## Using in the renderer process + +If you want to use Notifications in a renderer process you should use the [HTML5 Notification API](../tutorial/notifications.md) + +## Class: Notification + +> Create OS desktop notifications + +Process: [Main](../glossary.md#main-process) + +`Notification` is an +[EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter). + +It creates a new `Notification` with native properties as set by the `options`. + +### `new Notification([options])` + +* `options` Object + * `title` String - A title for the notification, which will be shown at the top of the notification window when it is shown + * `body` String - The body text of the notification, which will be displayed below the title + * `silent` Boolean - (Optional) Whether or not to emit an OS notification noise when showing the notification + * `icon` [NativeImage](native-image.md) - (Optional) An icon to use in the notification + * `hasReply` Boolean - (Optional) Whether or not to add an inline reply option to the notification. _macOS_ + * `replyPlaceholder` String - (Optional) The placeholder to write in the inline reply input field. _macOS_ + + +### Instance Events + +Objects created with `new Notification` emit the following events: + +**Note:** Some events are only available on specific operating systems and are +labeled as such. + +#### Event: 'click' + +Returns: + +* `event` Event + +Emitted when the document changed its title, calling `event.preventDefault()` +will prevent the native window's title from changing. + +#### Event: 'close' + +Returns: + +* `event` Event + +Emitted when the notification is shown to the user, note this could be fired +multiple times as a notification can be shown multiple times through the +`show()` method. + +#### Event: 'click' + +Returns: + +* `event` Event + +Emitted when the notification is clicked by the user. + +#### Event: 'reply' _macOS_ + +Returns: + +* `event` Event +* `reply` String - The string the user entered into the inline reply field + +Emitted when the user clicks the "Reply" button on a notification with `hasReply: true`. + +### Instance Methods + +Objects created with `new Notification` have the following instance methods: + +#### `notification.show()` + +Immediately shows the notification to the user, please note this means unlike the +HTML5 Notification implementation, simply instantiating a `new Notification` does +not immediately show it to the user, you need to call this method before the OS +will display it. diff --git a/docs/tutorial/notifications.md b/docs/tutorial/notifications.md index 34c64ad9bb4e..2ded823f9178 100644 --- a/docs/tutorial/notifications.md +++ b/docs/tutorial/notifications.md @@ -5,7 +5,9 @@ to the user. Electron conveniently allows developers to send notifications with the [HTML5 Notification API](https://notifications.spec.whatwg.org/), using the currently running operating system's native notification APIs to display it. -**Note:** Since this is an HTML5 API it is only available in the renderer process. +**Note:** Since this is an HTML5 API it is only available in the renderer process. If +you want to show Notifications in the main process please check out the +[Notification](../api/notification.md) module. ```javascript let myNotification = new Notification('Title', {