Commit f33d519e
Changed files (3)
app
assets
javascripts
backbone
controllers
templates
tutorials
views
tutorials
app/assets/javascripts/backbone/controllers/tutorials_controller.js.coffee
@@ -3,9 +3,12 @@ class CakeSide.Controllers.TutorialsController extends Marionette.Controller
initialize: (options) ->
@content_region = CakeSide.Application.content_region
@tutorials = CakeSide.Application.request('TutorialsRepository')
+ @comment_view = CakeSide.Application.request('CommentView')
index: ->
+ @comment_view.hide()
@content_region.show(new @views.IndexView(collection: @tutorials))
new: ->
+ @comment_view.hide()
@content_region.show(new @views.NewView(collection: @tutorials))
app/assets/javascripts/backbone/templates/tutorials/new.jst.ejs
@@ -10,7 +10,7 @@
<div class="control-group">
<label class="control-label" for="tutorial_url">Tutorial URL</label>
<div class="controls">
- <input class="input-xxlarge" id="tutorial_url" name="url" type="text" value="<%= url %>" placeholder="http://www.cakeside.com/">
+ <input class="input-xxlarge" id="tutorial_url" name="url" type="text" value="<%= tutorial.url %>" placeholder="http://www.cakeside.com/">
</div>
</div>
<div class="control-group">
@@ -23,18 +23,18 @@
</div>
</div>
<div class="form-actions">
- <button id='save-button' type="submit" class="btn btn-primary" disabled=disabled>Save</button>
+ <button id='save-button' type="submit" class="btn btn-primary" <% if (isInvalid()) { %> disabled=disabled <% } %>>Save</button>
<a href="#tutorials" class="btn">Cancel</a>
</div>
</fieldset>
</form>
<% if(canLoadPreview()) { %>
<div class="thumbnail">
- <img class="embed-thumb" src="<%= image_url %>" />
+ <img class="embed-thumb" src="<%= tutorial.image_url %>" />
<div class="caption">
- <h3 class="tutorial-heading"><%= heading %></h3>
+ <h3 class="tutorial-heading"><%= tutorial.heading %></h3>
<p id="tag-list"></p>
- <p class="tutorial-description"><%= description %></p>
+ <p class="tutorial-description"><%= tutorial.description %></p>
</div>
</div>
<% } %>
app/assets/javascripts/backbone/views/tutorials/new_view.js.coffee
@@ -11,6 +11,8 @@ class CakeSide.Views.Tutorials.NewView extends Marionette.ItemView
templateHelpers:
canLoadPreview: ->
@image_url
+ isInvalid: ->
+ !@isValid
initialize: ->
@model = new @collection.model()
@@ -29,10 +31,6 @@ class CakeSide.Views.Tutorials.NewView extends Marionette.ItemView
@model.set('author', data.provider_name)
@model.set('author_url', data.provider_url)
@render()
- if @model.isValid()
- @enableSaveButton()
- else
- @disableSaveButton()
resetTutorial: (url) ->
@model.set('url', url)
@@ -41,11 +39,10 @@ class CakeSide.Views.Tutorials.NewView extends Marionette.ItemView
@model.set('image_url', '')
@model.set('author', '')
@model.set('author_url', '')
- @disableSaveButton()
@render()
- enableSaveButton: ->
- @ui.save_button.removeAttr('disabled')
-
- disableSaveButton: ->
- @ui.save_button.attr('disabled', 'disabled')
+ serializeData: ->
+ {
+ tutorial: @model.toJSON(),
+ isValid: @model.isValid()
+ }