web/data/cubicweb.image.js
author Julien Cristau <julien.cristau@logilab.fr>
Mon, 18 May 2015 20:00:06 +0200
changeset 10436 6493c8bf521d
parent 6215 759cf097f5aa
permissions -rw-r--r--
[test] don't leave NULL columns around when making an attribute required It doesn't matter on sqlite (it doesn't do ALTER COLUMN), but when running this test on postgresql it fails to add the 'NOT NULL' constraint otherwise.

jQuery.fn.autoResize = function() {
    // remove enforced with / height (by CSS and/or HTML attributes)
    this.css("width", "auto").css("height", "auto");
    this.removeAttr("width").removeAttr("height"); // Remove
    // compute image size / max allowed size to fit screen
    var imgHSize = this.width();
    var maxHSize = $(window).width() - ($(document).width() - imgHSize);
    var imgVSize = this.height();
    // we don't mind if content in [content]footer moved out of the screen
    var maxVSize = $(window).height() - ($(document).height() - imgVSize) + $('#footer').height() + $('#contentfooter').height();
    if (maxHSize > 0 && maxVSize > 0) {
        // if image don't fit screen, set width or height so that
        // browser keep img ratio, ensuring the other dimension will
        // also fit the screen
        if (imgHSize > maxHSize && ((imgVSize / imgHSize) * maxHSize) <= maxVSize) {
            this.css("width", maxHSize);
        } else if (imgVSize > maxVSize && ((imgHSize / imgVSize) * maxVSize) <= maxHSize) {
            this.css("height", maxVSize);
        }
        else {
            // image already fit in screen, don't scale it up
        }
    } else {
        // can't fit image in, don't do anything
    }
};


$(document).ready(function() {
        $("img.contentimage").load(function() {$(this).autoResize()});
});