--- /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);