summaryrefslogtreecommitdiff
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2017-09-03 19:36:11 -0600
committermo <mo.khan@gmail.com>2017-09-03 19:36:11 -0600
commit11cd3aba0c073a5cf9c65a4aa6acd9082a521246 (patch)
treebd4fae8bbd6e87c5dabbf6538cb04d9ae628c58a /app/assets/javascripts
parent168716b78cf4d128d73885f875c4bb6d03caf06b (diff)
change autoview to lookup by path rather than key.
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/cakeside.js.coffee1
-rw-r--r--app/assets/javascripts/initializers/auto_view_setup.js.coffee22
-rw-r--r--app/assets/javascripts/views/my/passwords/change_password.js.coffee7
3 files changed, 29 insertions, 1 deletions
diff --git a/app/assets/javascripts/cakeside.js.coffee b/app/assets/javascripts/cakeside.js.coffee
index bd4afe78..20125a2e 100644
--- a/app/assets/javascripts/cakeside.js.coffee
+++ b/app/assets/javascripts/cakeside.js.coffee
@@ -1,5 +1,6 @@
#= require_self
#= require_tree ./initializers
+#= require_tree ./lib
#= require_tree ./templates
#= require_tree ./models
#= require ./views
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
diff --git a/app/assets/javascripts/views/my/passwords/change_password.js.coffee b/app/assets/javascripts/views/my/passwords/change_password.js.coffee
new file mode 100644
index 00000000..668975f4
--- /dev/null
+++ b/app/assets/javascripts/views/my/passwords/change_password.js.coffee
@@ -0,0 +1,7 @@
+#= require views/auto_view
+
+class CakeSide.Views.My.ChangePassword extends CakeSide.AutoView
+ @viewName 'change-password'
+
+ render: () ->
+ console.log('change password')