UNPKG

corporate-frontend-mithril

Version:

Corporate frontend MithrilJS modules

51 lines (44 loc) 1.29 kB
/** * Images helper class */ /** * get image ratio: width / height * @param {Object} data - loaded image data object */ let getRatio = function(data) { return data.width / data.height; }; exports.getRatio = getRatio; /** * fixed width, auto height * @param {Object} data - image data object * @param {Object} container - dom element * @param {Boolean} isOriginal - is original image data or not */ let getImageCenterParams = function(data, container, isOriginal=false) { let originParams = data.originParams; if(isOriginal){ originParams = { width: data.width, height: data.height, ratio: getRatio(data), }; } let result = { originParams: originParams, ratio: originParams.ratio || getRatio(data), width: originParams.width || data.width, height: originParams.height || data.height, positionX: 0, positionY: 0, }; let containerWidth = container.offsetWidth; if(result.width > containerWidth){ result.width = containerWidth; result.height = result.width / result.ratio; } else { result.positionX = (containerWidth - data.width) / 2; } return result; }; exports.getImageCenterParams = getImageCenterParams;