summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/initializers/auto_view_setup.js.coffee
blob: a3a48586d4a000f6a84de30b17ba2fa07bd6a3a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#= require ./behaviour

class csx.AutoViewSetup extends csx.Behaviour
  @on "ready"
  @on "ajaxComplete"

  execute: ->
    for element in $('[data-autoview]')
      $element = $(element)
      @install($element)

  install: (element) ->
    return if element.data('autoview-setup-complete')

    viewName = element.data('autoview')
    if viewName.indexOf("-") > 0
      csx.AutoView.install(element)
    else
      constructor = csx.Proxy.create(csx.Views, viewName)
      csx.AutoView.create(viewName, element, constructor)
    element.data('autoview-setup-complete', true)