From 77bf6ea0bbe4f285ea8bbd2de401d3e17be5d4c3 Mon Sep 17 00:00:00 2001 From: mo khan Date: Sat, 30 Aug 2014 22:45:40 -0600 Subject: add tutorial show page. --- .../backbone/controllers/tutorials_controller.js.coffee | 9 +++++++++ .../backbone/routers/tutorials_router.js.coffee | 1 + .../backbone/templates/tutorials/show.jst.ejs | 16 ++++++++++++++++ .../backbone/views/tutorials/show_view.js.coffee | 7 +++++++ 4 files changed, 33 insertions(+) create mode 100644 app/assets/javascripts/backbone/templates/tutorials/show.jst.ejs create mode 100644 app/assets/javascripts/backbone/views/tutorials/show_view.js.coffee (limited to 'app/assets/javascripts/backbone') diff --git a/app/assets/javascripts/backbone/controllers/tutorials_controller.js.coffee b/app/assets/javascripts/backbone/controllers/tutorials_controller.js.coffee index 5114f4af..ae1a626f 100644 --- a/app/assets/javascripts/backbone/controllers/tutorials_controller.js.coffee +++ b/app/assets/javascripts/backbone/controllers/tutorials_controller.js.coffee @@ -15,6 +15,15 @@ class CakeSide.Controllers.TutorialsController extends Marionette.Controller @comment_view.hide() @content_region.show(new @views.NewView(collection: @tutorials)) + show: (id) -> + @selectTab() + tutorial = @tutorials.get(id) + @content_region.show(new @views.ShowView(model: tutorial)) + @comment_view.render + identifier: "t-#{tutorial.id}" + title: tutorial.get('name') + url: tutorial.public_url() + selectTab: -> $('.nav-list').children().removeClass('active') $('#tutorial-tab').addClass('active') diff --git a/app/assets/javascripts/backbone/routers/tutorials_router.js.coffee b/app/assets/javascripts/backbone/routers/tutorials_router.js.coffee index fa6feb45..9c942e88 100644 --- a/app/assets/javascripts/backbone/routers/tutorials_router.js.coffee +++ b/app/assets/javascripts/backbone/routers/tutorials_router.js.coffee @@ -2,3 +2,4 @@ class CakeSide.Routers.TutorialsRouter extends Marionette.AppRouter appRoutes: "tutorials": "index" "tutorials/new": "new" + "tutorials/:id": "show" diff --git a/app/assets/javascripts/backbone/templates/tutorials/show.jst.ejs b/app/assets/javascripts/backbone/templates/tutorials/show.jst.ejs new file mode 100644 index 00000000..a0ebe2b9 --- /dev/null +++ b/app/assets/javascripts/backbone/templates/tutorials/show.jst.ejs @@ -0,0 +1,16 @@ +
+
+

<%= heading %> <%= displayDate(created_at) %>

+ + + +

+ <% _.each(tags, function(tag) { %> + + <%= tag.name %> + + <% }); %> +

+

<%= description %>

+
+
diff --git a/app/assets/javascripts/backbone/views/tutorials/show_view.js.coffee b/app/assets/javascripts/backbone/views/tutorials/show_view.js.coffee new file mode 100644 index 00000000..9f6ef782 --- /dev/null +++ b/app/assets/javascripts/backbone/views/tutorials/show_view.js.coffee @@ -0,0 +1,7 @@ +CakeSide.Views.Tutorials ||= {} + +class CakeSide.Views.Tutorials.ShowView extends Marionette.ItemView + template: JST["backbone/templates/tutorials/show"] + templateHelpers: + displayDate: (date) -> + date -- cgit v1.2.3