diff options
| author | mo <mo.khan@gmail.com> | 2017-09-03 19:36:11 -0600 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2017-09-03 19:36:11 -0600 |
| commit | 11cd3aba0c073a5cf9c65a4aa6acd9082a521246 (patch) | |
| tree | bd4fae8bbd6e87c5dabbf6538cb04d9ae628c58a /app/assets/javascripts/initializers | |
| parent | 168716b78cf4d128d73885f875c4bb6d03caf06b (diff) | |
change autoview to lookup by path rather than key.
Diffstat (limited to 'app/assets/javascripts/initializers')
| -rw-r--r-- | app/assets/javascripts/initializers/auto_view_setup.js.coffee | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/app/assets/javascripts/initializers/auto_view_setup.js.coffee b/app/assets/javascripts/initializers/auto_view_setup.js.coffee index 3a462068..4198749d 100644 --- a/app/assets/javascripts/initializers/auto_view_setup.js.coffee +++ b/app/assets/javascripts/initializers/auto_view_setup.js.coffee @@ -1,8 +1,28 @@ #= require ./behaviour class CakeSide.AutoViewSetup extends CakeSide.Behaviour + @views = {} @on "ready" + constructor: (logger = console) -> + @logger = logger + execute: -> for element in $('[data-autoview]') - CakeSide.AutoView.install(element) + #CakeSide.AutoView.install(element) + @install($(element)) + + install: (element) -> + viewName = element.data('autoview') + constructor = CakeSide.Proxy.create(CakeSide.Views, viewName) + + if _.isUndefined(constructor) + @logger.error("Could not find autoview for #{viewName}") + return + + view = new constructor + el: element + $el: $(element) + view.render() + + CakeSide.AutoViewSetup.views[viewName.replace('.', '')] = view |
