diff options
| author | mo khan <mo@mokhan.ca> | 2014-08-30 22:45:40 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2014-08-30 22:45:40 -0600 |
| commit | 77bf6ea0bbe4f285ea8bbd2de401d3e17be5d4c3 (patch) | |
| tree | 724469dd17cb3c41113f3f65b962d841af3feefd | |
| parent | dd7d513b0a875068911a9b7cf824439423fcceca (diff) | |
add tutorial show page.
4 files changed, 33 insertions, 0 deletions
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 @@ +<div class="row-fluid"> + <div class="span12"> + <h3><a href="#tutorials/<%= id %>"><%= heading %></a> <small><%= displayDate(created_at) %></small></h3> + <a href="#tutorials/<%= id %>"> + <img src="<%= image_url %>" /> + </a> + <p> + <% _.each(tags, function(tag) { %> + <a href="/tt/<%= tag.name %>"> + <span class="label"><%= tag.name %></span> + </a> + <% }); %> + </p> + <p><%= description %></p> + </div> +</div> 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 |
