Subversion Repositories Applications.papyrus

Rev

Blame | Last modification | View Log | RSS feed

if(!dojo._hasResource["dijit._base.scroll"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
dojo._hasResource["dijit._base.scroll"] = true;
dojo.provide("dijit._base.scroll");

dijit.scrollIntoView = function(/* DomNode */node){
        //      summary
        //      Scroll the passed node into view, if it is not.

        // don't rely on that node.scrollIntoView works just because the function is there
        // it doesnt work in Konqueror or Opera even though the function is there and probably
        // not safari either
        // dont like browser sniffs implementations but sometimes you have to use it
        if(dojo.isIE){
                //only call scrollIntoView if there is a scrollbar for this menu,
                //otherwise, scrollIntoView will scroll the window scrollbar
                if(dojo.marginBox(node.parentNode).h <= node.parentNode.scrollHeight){ //PORT was getBorderBox
                        node.scrollIntoView(false);
                }
        }else if(dojo.isMozilla){
                node.scrollIntoView(false);
        }else{
                var parent = node.parentNode;
                var parentBottom = parent.scrollTop + dojo.marginBox(parent).h; //PORT was getBorderBox
                var nodeBottom = node.offsetTop + dojo.marginBox(node).h;
                if(parentBottom < nodeBottom){
                        parent.scrollTop += (nodeBottom - parentBottom);
                }else if(parent.scrollTop > node.offsetTop){
                        parent.scrollTop -= (parent.scrollTop - node.offsetTop);
                }
        }
};

}