Sha256: 07a36b9ff05512837b63cc26d62f276a964d09a6a630b2ab713d0d671ce883b5

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 KB

Contents

// Sortable galleries

$(document).on('turbolinks:load forest:block-slot-after-insert', function() {
  var $galleries = $('.media-gallery-preview');

  $galleries.each(function() {
    var $gallery = $(this);
    var $wrapper = $gallery.closest('.gallery');
    var $hiddenGallerySelect = $wrapper.find('.gallery__input');

    $gallery.sortable({
      items: '.media-item--grid',
      containment: $gallery,
      tolerance: 'pointer',
      placeholder: 'sortable-placeholder col-xs-4 col-sm-3 col-md-2'
    });

    if ( $hiddenGallerySelect.length ) {
      $gallery.on('sortupdate.sortable', function() {
        calculatePositions( $wrapper );
      });
    }
  });

  function calculatePositions($wrapper) {
    var $gallery = $wrapper.find('.media-gallery-preview');
    var $galleryItems = $gallery.children();
    var $hiddenGallerySelect = $wrapper.find('.gallery__input');

    $galleryItems.each(function(index) {
      var itemId = $(this).find('[data-media-item-id]').attr('data-media-item-id');

      $hiddenGallerySelect.find('option[value="' + itemId + '"]').appendTo( $hiddenGallerySelect );
    });
  }

  $(document).one('turbolinks:before-cache.sortableGalleries', function() {
    $galleries.each(function() {
      var $gallery = $(this);

      $gallery.off('sortupdate.sortable');
      $gallery.sortable('destroy');
    });
  });
});

Version data entries

1 entries across 1 versions & 1 rubygems

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