in harness/app-assets/templates/assets/js/modules/collagePlus.js [82:155]
function init (selector, children, orientation) {
// Set defaults based off window size
var albumWidth;
var imageHeight;
var screenSpace = window.innerWidth;
var padding = getComputedStyle(document.getElementsByClassName("gallery")[0]).getPropertyValue("padding-left");
padding = Math.round(parseFloat(padding));
// Gallery padding depenedent on available screen space
var gp = screenSpace < 955 ? "11px 11px 0 11px" : "12px 12px 0 12px" ;
// Pass correct width for settings
switch (orientation) {
case "portrait":
albumWidth = 675;
$(".gallery").css('padding', gp);
break;
case "landscape":
albumWidth = 930;
break;
default:
albumWidth = $(selector)[0].clientWidth - (padding * 2);
}
if (window.innerWidth < 450) {
imageHeight = 150;
} else {
imageHeight = 300;
}
var settings = {
"targetHeight" : imageHeight,
"albumWidth" : albumWidth,
"padding" : padding,
"images" : $(children),
"fadeSpeed" : "fast",
"display" : "inline-block",
"effect" : "default",
"direction" : "vertical",
"allowPartialLastRow" : true
};
var row = 0,
elements = [],
rownum = 1;
settings.images.each(function(scope, index) {
var w = this.width,
h = this.height;
var nw = Math.ceil(w/h*settings.targetHeight),
nh = Math.ceil(settings.targetHeight);
elements.push([this, nw, nh]);
row += nw + settings.padding;
if (row > settings.albumWidth && elements.length !== 0) {
resizeRow(elements, (row - settings.padding), settings, rownum);
row = 0;
elements = [];
rownum += 1;
}
if (settings.images.length-1 == index && elements.length !== 0) {
resizeRow(elements, row, settings, rownum);
row = 0;
elements = [];
rownum += 1;
}
});
}