layoutmanager.js
58 lines
| 1.9 KiB
| application/javascript
|
JavascriptLexer
Jonathan Frederic
|
r17192 | // Copyright (c) IPython Development Team. | ||
// Distributed under the terms of the Modified BSD License. | ||||
define([ | ||||
'base/js/namespace', | ||||
Jonathan Frederic
|
r17200 | 'jquery', | ||
Jonathan Frederic
|
r17192 | ], function(IPython, $) { | ||
Matthias BUSSONNIER
|
r12103 | "use strict"; | ||
Brian E. Granger
|
r4363 | |||
Jonathan Frederic
|
r17196 | var LayoutManager = function () { | ||
Brian E. Granger
|
r4363 | this.bind_events(); | ||
Jonathan Frederic
|
r17198 | this.pager = undefined; | ||
Brian E. Granger
|
r4363 | }; | ||
LayoutManager.prototype.bind_events = function () { | ||||
$(window).resize($.proxy(this.do_resize,this)); | ||||
}; | ||||
Matthias BUSSONNIER
|
r6723 | LayoutManager.prototype.app_height = function() { | ||
Brian E. Granger
|
r4363 | var win = $(window); | ||
var w = win.width(); | ||||
var h = win.height(); | ||||
Brian Granger
|
r5994 | var header_height; | ||
if ($('div#header').css('display') === 'none') { | ||||
header_height = 0; | ||||
} else { | ||||
header_height = $('div#header').outerHeight(true); | ||||
} | ||||
MinRK
|
r12966 | var menubar_height; | ||
if ($('div#menubar-container').css('display') === 'none') { | ||||
menubar_height = 0; | ||||
Brian Granger
|
r5994 | } else { | ||
MinRK
|
r12966 | menubar_height = $('div#menubar-container').outerHeight(true); | ||
Brian Granger
|
r5994 | } | ||
MinRK
|
r12966 | return h-header_height-menubar_height; // content height | ||
}; | ||||
Matthias BUSSONNIER
|
r6723 | |||
LayoutManager.prototype.do_resize = function () { | ||||
MinRK
|
r12966 | var app_height = this.app_height(); // content height | ||
Brian E. Granger
|
r4363 | |||
Bussonnier Matthias
|
r9265 | $('#ipython-main-app').height(app_height); // content+padding+border height | ||
Jonathan Frederic
|
r17196 | if (this.pager) { | ||
var pager_height = this.pager.percentage_height*app_height; | ||||
var pager_splitter_height = $('div#pager_splitter').outerHeight(true); | ||||
$('div#pager').outerHeight(pager_height); | ||||
if (this.pager.expanded) { | ||||
$('div#notebook').outerHeight(app_height-pager_height-pager_splitter_height); | ||||
} else { | ||||
$('div#notebook').outerHeight(app_height-pager_splitter_height); | ||||
} | ||||
Brian E. Granger
|
r4363 | } | ||
}; | ||||
Jonathan Frederic
|
r17192 | // Backwards compatability. | ||
Stefan van der Walt
|
r5479 | IPython.LayoutManager = LayoutManager; | ||
Brian E. Granger
|
r4363 | |||
Jonathan Frederic
|
r17201 | return {'LayoutManager': LayoutManager}; | ||
Jonathan Frederic
|
r17192 | }); | ||