diff options
| author | mo khan <mo@mokhan.ca> | 2017-03-11 19:33:25 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2017-03-11 19:33:25 -0700 |
| commit | 2522f4e3efb0092b64f30396efcf25f37ba866fa (patch) | |
| tree | ab535d918f1077bb37786db205db5d5357bfec7f /app/assets/javascripts/lib | |
| parent | 93e0de131db5370d47a05fd32517b2147c787647 (diff) | |
connect the backbone automodel.
Diffstat (limited to 'app/assets/javascripts/lib')
| -rw-r--r-- | app/assets/javascripts/lib/auto_model.js.coffee | 10 | ||||
| -rw-r--r-- | app/assets/javascripts/lib/autoview.js.coffee | 10 | ||||
| -rw-r--r-- | app/assets/javascripts/lib/behaviours/autoview_setup.js.coffee (renamed from app/assets/javascripts/lib/behaviours/autoview.js.coffee) | 2 |
3 files changed, 21 insertions, 1 deletions
diff --git a/app/assets/javascripts/lib/auto_model.js.coffee b/app/assets/javascripts/lib/auto_model.js.coffee new file mode 100644 index 0000000..af4eb23 --- /dev/null +++ b/app/assets/javascripts/lib/auto_model.js.coffee @@ -0,0 +1,10 @@ +class Stronglifters.AutoModel extends Backbone.Model + @factories: {} + @modelName: (name) -> + @factories[name] = this + + @createModel: (name, attributes) -> + if (factory = @factories[name]) + new factory(attributes || {}) + else + new Backbone.Model(attributes || {}) diff --git a/app/assets/javascripts/lib/autoview.js.coffee b/app/assets/javascripts/lib/autoview.js.coffee index 91c79f6..7a70863 100644 --- a/app/assets/javascripts/lib/autoview.js.coffee +++ b/app/assets/javascripts/lib/autoview.js.coffee @@ -21,7 +21,17 @@ class Stronglifters.Autoview extends Backbone.View @install: (element) -> $element = $(element) name = $element.data("autoview-name") + view = new @constructors[name] el: element $el: $element + model: @createModel($element.data('model'), $element.data('model-attributes')) view.render() + @views[name] ?= [] + @views[name].push(view) + + @createModel: (name, attributes) -> + Stronglifters.AutoModel.createModel(name, attributes) + + render: -> + console.log(@$el.html()) diff --git a/app/assets/javascripts/lib/behaviours/autoview.js.coffee b/app/assets/javascripts/lib/behaviours/autoview_setup.js.coffee index 3f031de..f2546f6 100644 --- a/app/assets/javascripts/lib/behaviours/autoview.js.coffee +++ b/app/assets/javascripts/lib/behaviours/autoview_setup.js.coffee @@ -1,4 +1,4 @@ -class Autoview extends Stronglifters.Behaviour +class Stronglifters.AutoviewSetup extends Stronglifters.Behaviour @on "turbolinks:load" execute: -> |
