summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/lib/behaviour.js.coffee
blob: 4f111dab95d809f98ac80318c909ae351fc2c095 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Stronglifters.Behaviour
  @events: {}

  @on: (event) ->
    @events[event] ?= []
    @events[event].push(this)

  @install: ->
    for event of @events
      @installBehavioursFor(event)
      document.addEventListener event, () =>
        @installBehavioursFor(event)

  @installBehavioursFor: (event) ->
    for behaviour in @events[event]
      new behaviour().execute()