diff -r 07239de796bb -r e756a8c72c3d cms/drupal/sites/all/modules/masonry/masonry.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cms/drupal/sites/all/modules/masonry/masonry.js Fri Sep 08 12:04:06 2017 +0200 @@ -0,0 +1,70 @@ +/** + * @file + * Masonry script. + */ + +(function($) { + +Drupal.behaviors.masonry = { + attach: function(context, settings) { + + // Iterate through all Masonry instances + $.each(Drupal.settings.masonry, function (container, settings) { + // Set container + var $container = $(container); + + // Set options + var $options = new Object(); + if (settings.item_selector) { + $options.itemSelector = settings.item_selector; + } + if (settings.column_width) { + if (settings.column_width_units == 'px') { + $options.columnWidth = parseInt(settings.column_width); + } + else if (settings.column_width_units == '%') { + $options.columnWidth = ($container.width() * (settings.column_width / 100)) - settings.gutter_width ; + } + else { + $options.columnWidth = settings.column_width; + } + } + if (settings.stamp) { + $options.stamp = settings.stamp; + } + $options.gutter = settings.gutter_width; + $options.isResizeBound = settings.resizable; + $options.isFitWidth = settings.fit_width; + if (settings.rtl) { + $options.isOriginLeft = false; + } + if (settings.animated) { + $options.transitionDuration = settings.animation_duration + 'ms'; + } + else { + $options.transitionDuration = 0; + } + + // Apply Masonry to container + if (settings.images_first) { + $container.imagesLoaded(function () { + if ($container.hasClass('masonry-processed')) { + $container.masonry('reloadItems').masonry('layout'); + } + else { + $container.once('masonry').masonry($options); + } + }); + } + else { + if ($container.hasClass('masonry-processed')) { + $container.masonry('reloadItems').masonry('layout'); + } + else { + $container.once('masonry').masonry($options); + } + } + }); + } +}; +})(jQuery);