Mark NotificationManager public and add docs

This commit is contained in:
Kevin Sawicki
2015-04-22 09:38:15 -07:00
parent 0b24307096
commit 1cd5bb0f8d

View File

@@ -1,8 +1,8 @@
{Emitter, Disposable} = require 'event-kit'
Notification = require '../src/notification'
# Experimental: Allows messaging the user. This will likely change, dont use
# quite yet!
# Public: A notification manager used to create {Notification}s to be shown
# to the user.
module.exports =
class NotificationManager
constructor: ->
@@ -13,6 +13,12 @@ class NotificationManager
Section: Events
###
# Public: Invoke the given callback after a notification has been added.
#
# * `callback` {Function} to be called after the notification is added.
# * `notification` The {Notification} that was added.
#
# Returns a {Disposable} on which `.dispose()` can be called to unsubscribe.
onDidAddNotification: (callback) ->
@emitter.on 'did-add-notification', callback
@@ -20,18 +26,43 @@ class NotificationManager
Section: Adding Notifications
###
# Public: Add a success notification.
#
# * `message` A {String} message
# * `options` An options {Object} with optional keys such as:
# * `detail` A {String} with additional details about the notification
addSuccess: (message, options) ->
@addNotification(new Notification('success', message, options))
# Public: Add an informational notification.
#
# * `message` A {String} message
# * `options` An options {Object} with optional keys such as:
# * `detail` A {String} with additional details about the notification
addInfo: (message, options) ->
@addNotification(new Notification('info', message, options))
# Public: Add a warning notification.
#
# * `message` A {String} message
# * `options` An options {Object} with optional keys such as:
# * `detail` A {String} with additional details about the notification
addWarning: (message, options) ->
@addNotification(new Notification('warning', message, options))
# Public: Add an error notification.
#
# * `message` A {String} message
# * `options` An options {Object} with optional keys such as:
# * `detail` A {String} with additional details about the notification
addError: (message, options) ->
@addNotification(new Notification('error', message, options))
# Public: Add a fatal error notification.
#
# * `message` A {String} message
# * `options` An options {Object} with optional keys such as:
# * `detail` A {String} with additional details about the notification
addFatalError: (message, options) ->
@addNotification(new Notification('fatal', message, options))