Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 24fbbfaa authored by Scott Main's avatar Scott Main Committed by Android Git Automerger
Browse files

am 3f7d1df1: docs: revise resizing scripts to better organize the tasks into...

am 3f7d1df1: docs: revise resizing scripts to better organize the tasks into chunks that are only executed when necessary.

Merge commit '3f7d1df1' into eclair

* commit '3f7d1df1':
  docs: revise resizing scripts to better organize the
parents ec4194ef 3f7d1df1
Loading
Loading
Loading
Loading
+63 −25
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ var NAV_PREF_PANELS = "panels";
var nav_pref;
var toRoot;
var isMobile = false; // true if mobile, so we can adjust some layout
var isIE6 = false; // true if IE6

function addLoadEvent(newfun) {
  var current = window.onload;
@@ -24,16 +25,23 @@ function addLoadEvent(newfun) {
}

var agent = navigator['userAgent'];
// If a mobile phone, set flag and do mobile setup
if ((agent.indexOf("Mobile") != -1) || 
    (agent.indexOf("BlackBerry") != -1) || 
    (agent.indexOf("Mini") != -1)) {
  isMobile = true;
  addLoadEvent(mobileSetup);
}

// If not a mobile browser, set the onresize event for IE6, and others
} else if (agent.indexOf("MSIE 6.0") != -1) {
  isIE6 = true;
  addLoadEvent(function() {
    window.onresize = resizeAll;
  });
} else {
  addLoadEvent(function() {
    window.onresize = resizeHeight;
  });
}

function mobileSetup() {
  $("body").css({'overflow':'auto'});
@@ -60,8 +68,12 @@ function setToRoot(root) {

function restoreWidth(navWidth) {
  var windowWidth = $(window).width() + "px";
  content.css({marginLeft:parseInt(navWidth) + 6 + "px", //account for 6px-wide handle-bar
               width:parseInt(windowWidth) - parseInt(navWidth) - 6 + "px"});
  content.css({marginLeft:parseInt(navWidth) + 6 + "px"}); //account for 6px-wide handle-bar

  if (isIE6) {
    content.css({width:parseInt(windowWidth) - parseInt(navWidth) - 6 + "px"}); // necessary in order for scrollbars to be visible
  }

  sidenav.css({width:navWidth});
  resizePackagesNav.css({width:navWidth});
  classesNav.css({width:navWidth});
@@ -124,7 +136,7 @@ function init() {
  }

  if (!isMobile) {
    $("#resize-packages-nav").resizable({handles: "s", resize: function(e, ui) { resizeHeight(); } });
    $("#resize-packages-nav").resizable({handles: "s", resize: function(e, ui) { resizePackagesHeight(); } });
    $(".side-nav-resizable").resizable({handles: "e", resize: function(e, ui) { resizeWidth(); } });
    var cookieWidth = readCookie(cookiePath+'width');
    var cookieHeight = readCookie(cookiePath+'height');
@@ -174,23 +186,46 @@ function highlightNav(fullPageName) {
  }
}

function resizeHeight() {
/* Resize the height of the nav panels in the reference,
 * and save the new size to a cookie */
function resizePackagesHeight() {
  var windowHeight = ($(window).height() - HEADER_HEIGHT);
  var swapperHeight = windowHeight - 13;
  $("#swapper").css({height:swapperHeight + "px"});
  sidenav.css({height:windowHeight + "px"});
  content.css({height:windowHeight + "px"});
  var swapperHeight = windowHeight - 13; // move 13px for swapper link at the bottom
  resizePackagesNav.css({maxHeight:swapperHeight + "px"});
  classesNav.css({height:swapperHeight - parseInt(resizePackagesNav.css("height")) + "px"});

  $("#swapper").css({height:swapperHeight + "px"});
  $("#packages-nav").css({height:parseInt(resizePackagesNav.css("height")) - 6 + "px"}); //move 6px for handle
  devdocNav.css({height:sidenav.css("height")});
  $("#nav-tree").css({height:swapperHeight + "px"});

  var basePath = getBaseUri(location.pathname);
  var section = basePath.substring(1,basePath.indexOf("/",1));
  writeCookie("height", resizePackagesNav.css("height"), section, null);
}

/* Resize the height of the side-nav and doc-content divs,
 * which creates the frame effect */
function resizeHeight() {
  // Get the window height and always resize the doc-content and side-nav divs
  var windowHeight = ($(window).height() - HEADER_HEIGHT);
  content.css({height:windowHeight + "px"});
  sidenav.css({height:windowHeight + "px"});

  var href = location.href;
  // If in the reference docs, also resize the "swapper", "classes-nav", and "nav-tree"  divs
  if (href.indexOf("/reference/") != -1) {
    var swapperHeight = windowHeight - 13;
    $("#swapper").css({height:swapperHeight + "px"});
    $("#classes-nav").css({height:swapperHeight - parseInt(resizePackagesNav.css("height")) + "px"});
    $("#nav-tree").css({height:swapperHeight + "px"});

  // If in the dev guide docs, also resize the "devdoc-nav" div
  } else if (href.indexOf("/guide/") != -1) {
    $("#devdoc-nav").css({height:sidenav.css("height")});
  }
}

/* Resize the width of the "side-nav" and the left margin of the "doc-content" div,
 * which creates the resizable side bar */
function resizeWidth() {
  var windowWidth = $(window).width() + "px";
  if (sidenav.length) {
@@ -198,8 +233,12 @@ function resizeWidth() {
  } else {
    var sidenavWidth = 0;
  }
  content.css({marginLeft:parseInt(sidenavWidth) + 6 + "px", //account for 6px-wide handle-bar
               width:parseInt(windowWidth) - parseInt(sidenavWidth) - 6 + "px"});
  content.css({marginLeft:parseInt(sidenavWidth) + 6 + "px"}); //account for 6px-wide handle-bar

  if (isIE6) {
    content.css({width:parseInt(windowWidth) - parseInt(sidenavWidth) - 6 + "px"}); // necessary in order to for scrollbars to be visible
  }

  resizePackagesNav.css({width:sidenavWidth});
  classesNav.css({width:sidenavWidth});
  $("#packages-nav").css({width:sidenavWidth});
@@ -209,14 +248,13 @@ function resizeWidth() {
  writeCookie("width", sidenavWidth, section, null);
}

/* For IE6 only,
 * because it can't properly perform auto width for "doc-content" div,
 * avoiding this for all browsers provides better performance */
function resizeAll() {
  if (!isMobile) {
  resizeHeight();
    if ($(".side-nav-resizable").length) {
  resizeWidth();
}
  }
}

function getBaseUri(uri) {
  var intlUrl = (uri.substring(0,6) == "/intl/");