summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/lib/notify.js.coffee
blob: bd409faba95cb73e86a8e600545e2fab80c683b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
((w) ->
  notifyPermissions = ->
    if 'Notification' of window
      Notification.requestPermission()

  notifyMe = (message, body, icon, onclick) ->
    notification = undefined
    opts =
      body: body
      icon: icon
    # Let's check if the browser supports notifications
    if !('Notification' of window)
      # do nothing
    else if Notification.permission == 'granted'
      # If it's okay let's create a notification
      notification = new Notification(message, opts)

      if onclick
        notification.onclick = onclick
    else if Notification.permission != 'denied'
      Notification.requestPermission (permission) ->
        # If the user accepts, let's create a notification
        if permission == 'granted'
          notification = new Notification(message, opts)

          if onclick
            notification.onclick = onclick
        return
    return

  w.notify = notifyMe
  w.notifyPermissions = notifyPermissions
  return
) window