web/data/cubicweb.image.js
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Mon, 17 Jun 2013 17:27:08 +0200
changeset 9048 8481fc6aa6dd
parent 6215 759cf097f5aa
permissions -rw-r--r--
[server/session] Implement anonymous_session Now we have a simple rule to compute if a session is anonymous we can implement the property for server session too. Having it on server side session will helps the rework of the API to access repository. The new schema drop the concept of DBAPISession and use server side session for the same purpose. Related to #2953943 Related to #2503918

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()});
});