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

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

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

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