Sha256: abc1df81387ee353c26ed6880b322bc4d46d4e787d6953b8cf1886d15f502804

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

$(document).on('turbolinks:load forest:block-slot-after-insert', function() {
  var $blockSlotWrapper = $('.block_slots');
  var $blockSlots = $('.block_slots > .nested-fields');

  updateBlockSlotPosition();

  $blockSlots.sortable({
    items: $blockSlots,
    handle: '.sortable-handle:not(button), .sortable-handle:not(a)',
    placeholder: 'ui-state-highlight',
    forcePlaceholderSize: true,
    tolerance: 'pointer',
    containment: 'parent',
    start: function(e, ui) {
      ui.placeholder.height( ui.item.outerHeight(true) );
    }
  });

  $blockSlots.offOn('sortupdate.blockSlotSort', function(e, ui) {
    updateBlockSlotPosition();
  });

  function updateBlockSlotPosition() {
    var $blockLayouts = $('.block-layout');

    $blockLayouts.each(function() {
      var $layout = $(this);

      $layout.find('.block_slots > .nested-fields').each(function(index) {
        var $blockSlot = $(this);
        var $positionInput = $blockSlot.find('.block-position');

        $positionInput.val(index);
      });
    });
  }
});

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
forest_cms-0.98.1 app/assets/javascripts/forest/admin/partials/sortable_page_block_position_setter.js