Commit 58e49cf1
Changed files (3)
app
assets
javascripts
backbone
app/assets/javascripts/backbone/controllers/cakes_controller.js.coffee
@@ -0,0 +1,26 @@
+class CakeSide.Controllers.CakesController
+ index: ->
+ CakeSide.Application.request('CommentView').hide()
+ @view = new CakeSide.Views.Cakes.IndexView(collection: CakeSide.Application.request('CakesRepository'))
+ CakeSide.Application.content_region.show(@view)
+
+ show: (id) ->
+ cake = CakeSide.Application.request('CakesRepository').get(id)
+ @view = new CakeSide.Views.Cakes.ShowView(model: cake)
+ CakeSide.Application.content_region.show(@view)
+ CakeSide.Application.request('CommentView').render
+ identifier: "c-#{cake.id}"
+ title: cake.get('name')
+ url: cake.public_url()
+
+ newCake: ->
+ CakeSide.Application.request('CommentView').hide()
+ @view = new CakeSide.Views.Cakes.NewView(collection: CakeSide.Application.request('CakesRepository'))
+ CakeSide.Application.content_region.show(@view)
+
+ edit: (id) ->
+ CakeSide.Application.request('CommentView').hide()
+ cake = CakeSide.Application.request('CakesRepository').get(id)
+ @view = new CakeSide.Views.Cakes.EditView(model: cake)
+ CakeSide.Application.content_region.show(@view)
+
app/assets/javascripts/backbone/routers/cakes_router.js.coffee
@@ -1,31 +1,8 @@
-class CakeSide.Routers.CakesRouter extends Backbone.Router
- routes:
+class CakeSide.Routers.CakesRouter extends Marionette.AppRouter
+ controller: new CakeSide.Controllers.CakesController()
+ appRoutes:
"cakes/new": "newCake"
"cakes/:id/edit": "edit"
"cakes/:id": "show"
"cakes": "index"
- index: ->
- CakeSide.Application.request('CommentView').hide()
- @view = new CakeSide.Views.Cakes.IndexView(collection: CakeSide.Application.request('CakesRepository'))
- CakeSide.Application.content_region.show(@view)
-
- show: (id) ->
- cake = CakeSide.Application.request('CakesRepository').get(id)
- @view = new CakeSide.Views.Cakes.ShowView(model: cake)
- CakeSide.Application.content_region.show(@view)
- CakeSide.Application.request('CommentView').render
- identifier: "c-#{cake.id}"
- title: cake.get('name')
- url: cake.public_url()
-
- newCake: ->
- CakeSide.Application.request('CommentView').hide()
- @view = new CakeSide.Views.Cakes.NewView(collection: CakeSide.Application.request('CakesRepository'))
- CakeSide.Application.content_region.show(@view)
-
- edit: (id) ->
- CakeSide.Application.request('CommentView').hide()
- cake = CakeSide.Application.request('CakesRepository').get(id)
- @view = new CakeSide.Views.Cakes.EditView(model: cake)
- CakeSide.Application.content_region.show(@view)
app/assets/javascripts/backbone/cakeside.js.coffee
@@ -2,6 +2,7 @@
#= require_tree ./templates
#= require_tree ./models
#= require_tree ./views
+#= require_tree ./controllers
#= require_tree ./routers
window.CakeSide =
@@ -9,6 +10,7 @@ window.CakeSide =
Collections: {}
Routers: {}
Views: {}
+ Controllers: {}
initialize: (data) ->
$(document).ajaxSend (event, xhr) ->
if data.access_token