Browse Source

Add Notification API docs

Samuel Attard 8 years ago
parent
commit
8815da314f
2 changed files with 88 additions and 1 deletions
  1. 85 0
      docs/api/notification.md
  2. 3 1
      docs/tutorial/notifications.md

+ 85 - 0
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.

+ 3 - 1
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', {