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')