Make it possible to create, edit, and publish a draft
This commit is contained in:
@@ -35,9 +35,9 @@ class CMS.Views.ModuleEdit extends Backbone.View
|
||||
|
||||
return _metadata
|
||||
|
||||
cloneTemplate: (template) ->
|
||||
cloneTemplate: (parent, template) ->
|
||||
$.post("/clone_item", {
|
||||
parent_location: @$el.parent().data('id')
|
||||
parent_location: parent
|
||||
template: template
|
||||
}, (data) =>
|
||||
@model.set(id: data.id)
|
||||
|
||||
@@ -5,7 +5,10 @@ class CMS.Views.UnitEdit extends Backbone.View
|
||||
'click .new-component-templates .new-component-template a': 'saveNewComponent'
|
||||
'click .new-component-templates .cancel-button': 'closeNewComponent'
|
||||
'click .new-component-button': 'showNewComponentForm'
|
||||
'click .unit-actions .save-button': 'save'
|
||||
'click #save-draft': 'saveDraft'
|
||||
'click #delete-draft': 'deleteDraft'
|
||||
'click #create-draft': 'createDraft'
|
||||
'click #publish-draft': 'publishDraft'
|
||||
|
||||
initialize: =>
|
||||
@$newComponentItem = @$('.new-component-item')
|
||||
@@ -15,7 +18,6 @@ class CMS.Views.UnitEdit extends Backbone.View
|
||||
|
||||
@$('.components').sortable(
|
||||
handle: '.drag-handle'
|
||||
update: (event, ui) => @saveOrder()
|
||||
)
|
||||
|
||||
@$('.component').each((idx, element) =>
|
||||
@@ -30,6 +32,7 @@ class CMS.Views.UnitEdit extends Backbone.View
|
||||
|
||||
@model.components = @components()
|
||||
|
||||
# New component creation
|
||||
showNewComponentForm: (event) =>
|
||||
event.preventDefault()
|
||||
@$newComponentItem.addClass('adding')
|
||||
@@ -61,13 +64,16 @@ class CMS.Views.UnitEdit extends Backbone.View
|
||||
|
||||
@$newComponentItem.before(editor.$el)
|
||||
|
||||
editor.cloneTemplate($(event.currentTarget).data('location'))
|
||||
editor.cloneTemplate(
|
||||
@$el.data('id'),
|
||||
$(event.currentTarget).data('location')
|
||||
)
|
||||
|
||||
@closeNewComponent(event)
|
||||
|
||||
components: => @$('.component').map((idx, el) -> $(el).data('id')).get()
|
||||
|
||||
saveOrder: =>
|
||||
saveDraft: =>
|
||||
@model.save(
|
||||
children: @components()
|
||||
)
|
||||
@@ -81,3 +87,24 @@ class CMS.Views.UnitEdit extends Backbone.View
|
||||
@saveOrder()
|
||||
)
|
||||
|
||||
deleteDraft: (event) ->
|
||||
$.post('/delete_item', {
|
||||
id: @$el.data('id')
|
||||
delete_children: true
|
||||
}, =>
|
||||
window.location.reload()
|
||||
)
|
||||
|
||||
createDraft: (event) ->
|
||||
$.post('/create_draft', {
|
||||
id: @$el.data('id')
|
||||
}, =>
|
||||
@$el.toggleClass('edit-state-public edit-state-draft')
|
||||
)
|
||||
|
||||
publishDraft: (event) ->
|
||||
$.post('/publish_draft', {
|
||||
id: @$el.data('id')
|
||||
}, =>
|
||||
@$el.toggleClass('edit-state-public edit-state-draft')
|
||||
)
|
||||
Reference in New Issue
Block a user