app/assets/javascripts/spina/admin/pages.js.coffee in spina-0.6.13 vs app/assets/javascripts/spina/admin/pages.js.coffee in spina-0.6.14
- old
+ new
@@ -7,10 +7,15 @@
position_array = []
$(e.target).find('li.image').each (index) ->
position_array.push $(this).data('photo-id')
$(e.target).parents('td').find('.photo-positions').val(position_array.join(","))
+ $('.structure-form-menu ul').sortable().bind 'sortupdate', (e) ->
+ $(e.target).find('li').each (index) ->
+ id = $(this).data('structure-item-id')
+ $(".structure_form_pane_#{id}_position").val(index)
+
$(document).on 'ready page:load', ready
# Change templates makes page parts appear and disappear
$(document).on 'change', '.page-template select', ->
page_parts = $(this).find('option:selected').data('page-parts').split(" ")
@@ -29,9 +34,35 @@
event.preventDefault()
$(document).on 'click', 'form .remove_fields', (event) ->
$(this).prev('input[type=hidden]').val('1')
$(this).closest('fieldset').slideUp()
+ event.preventDefault()
+
+# Dynamically add and remove structures
+$(document).on 'click', 'form .add_structure', (event) ->
+ $structureForm = $(this).parents('.structure-form')
+
+ time = new Date().getTime()
+ regexp = new RegExp($(this).data('id'), 'g')
+ $fields = $($(this).data('fields').replace(regexp, time))
+ $(this).before($fields)
+
+ $link = $("<li><a href='#structure_form_pane_#{time}'><i data-icon='7'></i> </a></li>")
+
+ $structureForm.find('.structure-form-menu ul').append($link)
+ $fields.attr('id', "structure_form_pane_#{time}")
+
+ $link.find('a').click()
+
+ event.preventDefault()
+
+$(document).on 'click', 'form .remove-structure-item-fields', (event) ->
+ $(this).prev('input[type=hidden]').val('1')
+ $pane = $(this).closest('.structure-form-pane')
+ console.log $pane.attr('id')
+ $("a[href='##{$pane.attr('id')}']").parents('li').hide()
+ $pane.hide()
event.preventDefault()
# Sort pages
$(document).on 'click', '.sort-switch', (event) ->
$($(this).attr('href') + ' .dd-item-inner').toggleClass('dd-handle')