Commit 58466d1d
Changed files (2)
app
assets
javascripts
backbone
routers
app/assets/javascripts/backbone/routers/cakes_router.js.coffee
@@ -1,9 +1,4 @@
class Cake.Routers.CakesRouter extends Backbone.Router
- initialize: (options) ->
- @cakes = new Cake.Collections.CakesCollection()
- @cakes.fetch(reset: true).done ->
- Backbone.history.start()
-
routes:
"new" : "newCake"
"index" : "index"
@@ -11,21 +6,21 @@ class Cake.Routers.CakesRouter extends Backbone.Router
":id" : "show"
".*" : "index"
- newCake: ->
- @view = new Cake.Views.Cakes.NewView(collection: @cakes)
- $("#backbone-content").html(@view.render().el)
-
index: ->
- @view = new Cake.Views.Cakes.IndexView(collection: @cakes)
+ @view = new Cake.Views.Cakes.IndexView(collection: Cake.Application.request('CakeRepository'))
$("#backbone-content").html(@view.render().el)
show: (id) ->
- cake = @cakes.get(id)
+ cake = Cake.Application.request('CakeRepository').get(id)
@view = new Cake.Views.Cakes.ShowView(model: cake)
$("#backbone-content").html(@view.render().el)
+ newCake: ->
+ @view = new Cake.Views.Cakes.NewView(collection: Cake.Application.request('CakeRepository'))
+ $("#backbone-content").html(@view.render().el)
+
edit: (id) ->
- cake = @cakes.get(id)
+ cake = Cake.Application.request('CakeRepository').get(id)
@view = new Cake.Views.Cakes.EditView(model: cake)
$("#backbone-content").html(@view.render().el)
app/assets/javascripts/backbone/cake.js.coffee
@@ -13,5 +13,19 @@ window.Cake =
$(document).ajaxSend (event, xhr) ->
if data.access_token
xhr.setRequestHeader "Authorization", "Token token=#{data.access_token}"
- new Cake.Routers.CakesRouter()
- new Cake.Routers.PhotosRouter()
+
+ Cake.Application = new Marionette.Application()
+ Cake.Application.addInitializer (options) ->
+ new Cake.Routers.CakesRouter()
+ new Cake.Routers.PhotosRouter()
+
+ Cake.Application.on 'start', ->
+ if Backbone.history
+ Backbone.history.start()
+
+ @cakes = new Cake.Collections.CakesCollection()
+ @cakes.fetch(reset: true)
+ Cake.Application.reqres.setHandler 'CakeRepository', =>
+ @cakes
+
+ Cake.Application.start()