page.js
65 lines
| 1.9 KiB
| application/javascript
|
JavascriptLexer
Jonathan Frederic
|
r17188 | // Copyright (c) IPython Development Team. | ||
// Distributed under the terms of the Modified BSD License. | ||||
define([ | ||||
'base/js/namespace', | ||||
Jonathan Frederic
|
r17200 | 'jquery', | ||
Jonathan Frederic
|
r19179 | 'base/js/events', | ||
], function(IPython, $, events){ | ||||
Matthias BUSSONNIER
|
r12103 | "use strict"; | ||
Brian Granger
|
r6192 | |||
var Page = function () { | ||||
this.bind_events(); | ||||
}; | ||||
Page.prototype.bind_events = function () { | ||||
Min RK
|
r20107 | // resize site on: | ||
// - window resize | ||||
// - header change | ||||
// - page load | ||||
var _handle_resize = $.proxy(this._resize_site, this); | ||||
$(window).resize(_handle_resize); | ||||
// On document ready, resize codemirror. | ||||
$(document).ready(_handle_resize); | ||||
events.on('resize-header.Page', _handle_resize); | ||||
Brian Granger
|
r6192 | }; | ||
Page.prototype.show = function () { | ||||
Jonathan Frederic
|
r19176 | /** | ||
* The header and site divs start out hidden to prevent FLOUC. | ||||
* Main scripts should call this method after styling everything. | ||||
*/ | ||||
Brian Granger
|
r6193 | this.show_header(); | ||
this.show_site(); | ||||
}; | ||||
Page.prototype.show_header = function () { | ||||
Jonathan Frederic
|
r19176 | /** | ||
* The header and site divs start out hidden to prevent FLOUC. | ||||
* Main scripts should call this method after styling everything. | ||||
* TODO: selector are hardcoded, pass as constructor argument | ||||
*/ | ||||
Brian Granger
|
r6192 | $('div#header').css('display','block'); | ||
Brian Granger
|
r6193 | }; | ||
Page.prototype.show_site = function () { | ||||
Jonathan Frederic
|
r19176 | /** | ||
* The header and site divs start out hidden to prevent FLOUC. | ||||
* Main scripts should call this method after styling everything. | ||||
* TODO: selector are hardcoded, pass as constructor argument | ||||
*/ | ||||
Min RK
|
r20107 | $('div#site').css('display', 'block'); | ||
this._resize_site(); | ||||
Brian Granger
|
r6192 | }; | ||
Min RK
|
r20107 | Page.prototype._resize_site = function() { | ||
// Update the site's size. | ||||
Min RK
|
r20657 | $('div#site').height($(window).height() - $('#header').height()); | ||
Jonathan Frederic
|
r19179 | }; | ||
Jonathan Frederic
|
r17188 | // Register self in the global namespace for convenience. | ||
Brian Granger
|
r6192 | IPython.Page = Page; | ||
Jonathan Frederic
|
r17201 | return {'Page': Page}; | ||
Jonathan Frederic
|
r17188 | }); | ||