app/assets/javascripts/binda/components/sortable.js in binda-0.1.1 vs app/assets/javascripts/binda/components/sortable.js in binda-0.1.2

- old
+ new

@@ -47,30 +47,11 @@ // If there is a sortable toggle button prepare the sortable items accordingly if ( $('.sortable--toggle').length > 0 ) { setupSortableToggle() } // Add event to any sortable toggle button // TODO: make this event available to element which aren't standard form repeaters - $(document).on('click', '.standard-form--repeater .sortable--toggle', function( event ) - { - event.preventDefault() - let id = '#' + $( this ).data('repeater-id') - - if ( $( id ).hasClass('sortable--disabled') ) - { - $( id ).sortable('enable') - $( id ).find('.form-item--repeater-fields').each(close) - $( id ).find('.form-item--collapsable').addClass('form-item--collapsed') - } - else - { - $( id ).sortable('disable') - } - - $( id ).toggleClass('sortable--disabled') - $( id ).toggleClass('sortable--enabled') - $( this ).children('.sortable--toggle-text').toggle() - }) + $(document).on('click', '.standard-form--repeater .sortable--toggle', toggleSortable) } function setupSortableToggle() { @@ -88,6 +69,27 @@ } function open() { this.style.maxHeight = this.scrollHeight + "px"; +} + +function toggleSortable(event) +{ + event.preventDefault() + let id = '#' + $( this ).data('repeater-id') + + if ( $( id ).hasClass('sortable--disabled') ) + { + $( id ).sortable('enable') + $( id ).find('.form-item--repeater-fields').each(close) + $( id ).find('.form-item--collapsable').addClass('form-item--collapsed') + } + else + { + $( id ).sortable('disable') + } + + $( id ).toggleClass('sortable--disabled') + $( id ).toggleClass('sortable--enabled') + $( this ).children('.sortable--toggle-text').toggle() } \ No newline at end of file