panelsection.js
246 lines
| 7.6 KiB
| application/javascript
|
JavascriptLexer
Brian E. Granger
|
r4609 | //---------------------------------------------------------------------------- | ||
// Copyright (C) 2008-2011 The IPython Development Team | ||||
// | ||||
// Distributed under the terms of the BSD License. The full license is in | ||||
// the file COPYING, distributed as part of this software. | ||||
//---------------------------------------------------------------------------- | ||||
Brian E. Granger
|
r4365 | |||
//============================================================================ | ||||
Brian E. Granger
|
r4609 | // PanelSection | ||
Brian E. Granger
|
r4365 | //============================================================================ | ||
var IPython = (function (IPython) { | ||||
var utils = IPython.utils; | ||||
// Base PanelSection class | ||||
Brian E. Granger
|
r4372 | var PanelSection = function (selector) { | ||
this.selector = selector; | ||||
if (this.selector !== undefined) { | ||||
this.element = $(selector); | ||||
this.header = this.element.find('h3.section_header'); | ||||
this.content = this.element.find('div.section_content'); | ||||
this.style(); | ||||
Brian E. Granger
|
r4365 | this.bind_events(); | ||
} | ||||
this.expanded = true; | ||||
}; | ||||
Brian E. Granger
|
r4372 | PanelSection.prototype.style = function () { | ||
this.header.addClass('ui-widget ui-state-default'); | ||||
this.content.addClass('ui-widget section_content'); | ||||
}; | ||||
Brian E. Granger
|
r4365 | PanelSection.prototype.bind_events = function () { | ||
var that = this; | ||||
this.header.click(function () { | ||||
that.toggle(); | ||||
}); | ||||
this.header.hover(function () { | ||||
that.header.toggleClass('ui-state-hover'); | ||||
}); | ||||
}; | ||||
PanelSection.prototype.expand = function () { | ||||
if (!this.expanded) { | ||||
this.content.slideDown('fast'); | ||||
this.expanded = true; | ||||
}; | ||||
}; | ||||
PanelSection.prototype.collapse = function () { | ||||
if (this.expanded) { | ||||
this.content.slideUp('fast'); | ||||
this.expanded = false; | ||||
}; | ||||
}; | ||||
PanelSection.prototype.toggle = function () { | ||||
if (this.expanded === true) { | ||||
this.collapse(); | ||||
} else { | ||||
this.expand(); | ||||
}; | ||||
}; | ||||
PanelSection.prototype.create_children = function () {}; | ||||
// NotebookSection | ||||
var NotebookSection = function () { | ||||
PanelSection.apply(this, arguments); | ||||
}; | ||||
NotebookSection.prototype = new PanelSection(); | ||||
Brian E. Granger
|
r4372 | NotebookSection.prototype.style = function () { | ||
PanelSection.prototype.style.apply(this); | ||||
this.content.addClass('ui-helper-clearfix'); | ||||
this.content.find('div.section_row').addClass('ui-helper-clearfix'); | ||||
this.content.find('#new_open').buttonset(); | ||||
Brian E. Granger
|
r4484 | this.content.find('#download_notebook').button(); | ||
this.content.find('#upload_notebook').button(); | ||||
this.content.find('#download_format').addClass('ui-widget ui-widget-content'); | ||||
this.content.find('#download_format option').addClass('ui-widget ui-widget-content'); | ||||
Brian E. Granger
|
r4372 | }; | ||
NotebookSection.prototype.bind_events = function () { | ||||
PanelSection.prototype.bind_events.apply(this); | ||||
Brian E. Granger
|
r4484 | var that = this; | ||
Brian E. Granger
|
r4372 | this.content.find('#new_notebook').click(function () { | ||
Brian E. Granger
|
r4488 | window.open('/new'); | ||
Brian E. Granger
|
r4372 | }); | ||
this.content.find('#open_notebook').click(function () { | ||||
Brian E. Granger
|
r4488 | window.open('/'); | ||
Brian E. Granger
|
r4372 | }); | ||
Brian E. Granger
|
r4484 | this.content.find('#download_notebook').click(function () { | ||
var format = that.content.find('#download_format').val(); | ||||
var notebook_id = IPython.save_widget.get_notebook_id(); | ||||
var url = '/notebooks/' + notebook_id + '?format=' + format; | ||||
window.open(url,'_newtab'); | ||||
}); | ||||
Brian E. Granger
|
r4372 | }; | ||
Brian E. Granger
|
r4365 | // CellSection | ||
var CellSection = function () { | ||||
PanelSection.apply(this, arguments); | ||||
}; | ||||
CellSection.prototype = new PanelSection(); | ||||
Brian E. Granger
|
r4372 | CellSection.prototype.style = function () { | ||
PanelSection.prototype.style.apply(this); | ||||
this.content.addClass('ui-helper-clearfix'); | ||||
this.content.find('div.section_row').addClass('ui-helper-clearfix'); | ||||
this.content.find('#delete_cell').button(); | ||||
this.content.find('#insert').buttonset(); | ||||
this.content.find('#move').buttonset(); | ||||
this.content.find('#cell_type').buttonset(); | ||||
Brian E. Granger
|
r4639 | this.content.find('#cell_output').buttonset(); | ||
Brian E. Granger
|
r4372 | this.content.find('#run_cells').buttonset(); | ||
}; | ||||
Brian E. Granger
|
r4365 | CellSection.prototype.bind_events = function () { | ||
PanelSection.prototype.bind_events.apply(this); | ||||
Brian E. Granger
|
r4639 | this.content.find('#toggle_output').click(function () { | ||
IPython.notebook.toggle_output(); | ||||
Brian E. Granger
|
r4365 | }); | ||
Brian E. Granger
|
r4543 | this.content.find('#clear_all_output').click(function () { | ||
IPython.notebook.clear_all_output(); | ||||
}); | ||||
Brian E. Granger
|
r4365 | this.content.find('#delete_cell').click(function () { | ||
IPython.notebook.delete_cell(); | ||||
}); | ||||
this.content.find('#insert_cell_above').click(function () { | ||||
Fernando Perez
|
r4659 | IPython.notebook.insert_code_cell_above(); | ||
Brian E. Granger
|
r4365 | }); | ||
this.content.find('#insert_cell_below').click(function () { | ||||
Fernando Perez
|
r4659 | IPython.notebook.insert_code_cell_below(); | ||
Brian E. Granger
|
r4365 | }); | ||
this.content.find('#move_cell_up').click(function () { | ||||
IPython.notebook.move_cell_up(); | ||||
}); | ||||
this.content.find('#move_cell_down').click(function () { | ||||
IPython.notebook.move_cell_down(); | ||||
}); | ||||
this.content.find('#to_code').click(function () { | ||||
Brian E. Granger
|
r4507 | IPython.notebook.to_code(); | ||
Brian E. Granger
|
r4365 | }); | ||
Brian Granger
|
r4508 | this.content.find('#to_markdown').click(function () { | ||
IPython.notebook.to_markdown(); | ||||
Brian E. Granger
|
r4365 | }); | ||
Brian E. Granger
|
r4367 | this.content.find('#run_selected_cell').click(function () { | ||
Brian E. Granger
|
r4378 | IPython.notebook.execute_selected_cell(); | ||
Brian E. Granger
|
r4367 | }); | ||
this.content.find('#run_all_cells').click(function () { | ||||
Brian E. Granger
|
r4378 | IPython.notebook.execute_all_cells(); | ||
Brian E. Granger
|
r4367 | }); | ||
Brian E. Granger
|
r4512 | this.content.find('#autoindent').change(function () { | ||
var state = $('#autoindent').prop('checked'); | ||||
IPython.notebook.set_autoindent(state); | ||||
}); | ||||
Brian E. Granger
|
r4365 | }; | ||
// KernelSection | ||||
var KernelSection = function () { | ||||
PanelSection.apply(this, arguments); | ||||
}; | ||||
KernelSection.prototype = new PanelSection(); | ||||
Brian E. Granger
|
r4372 | KernelSection.prototype.style = function () { | ||
PanelSection.prototype.style.apply(this); | ||||
this.content.addClass('ui-helper-clearfix'); | ||||
this.content.find('div.section_row').addClass('ui-helper-clearfix'); | ||||
this.content.find('#int_restart').buttonset(); | ||||
}; | ||||
Brian E. Granger
|
r4368 | KernelSection.prototype.bind_events = function () { | ||
PanelSection.prototype.bind_events.apply(this); | ||||
this.content.find('#restart_kernel').click(function () { | ||||
Brian E. Granger
|
r4545 | IPython.notebook.restart_kernel(); | ||
Brian E. Granger
|
r4368 | }); | ||
this.content.find('#int_kernel').click(function () { | ||||
IPython.notebook.kernel.interrupt(); | ||||
}); | ||||
}; | ||||
// HelpSection | ||||
var HelpSection = function () { | ||||
PanelSection.apply(this, arguments); | ||||
}; | ||||
HelpSection.prototype = new PanelSection(); | ||||
Brian E. Granger
|
r4372 | HelpSection.prototype.style = function () { | ||
PanelSection.prototype.style.apply(this); | ||||
PanelSection.prototype.style.apply(this); | ||||
this.content.addClass('ui-helper-clearfix'); | ||||
this.content.find('div.section_row').addClass('ui-helper-clearfix'); | ||||
this.content.find('#help_buttons0').buttonset(); | ||||
this.content.find('#help_buttons1').buttonset(); | ||||
Brian E. Granger
|
r4640 | this.content.find('#help_buttons2').buttonset(); | ||
Brian E. Granger
|
r4368 | }; | ||
Brian E. Granger
|
r4372 | HelpSection.prototype.bind_events = function () { | ||
PanelSection.prototype.bind_events.apply(this); | ||||
}; | ||||
Brian E. Granger
|
r4368 | |||
Brian E. Granger
|
r4372 | // Set module variables | ||
Brian E. Granger
|
r4368 | |||
Brian E. Granger
|
r4365 | IPython.PanelSection = PanelSection; | ||
IPython.NotebookSection = NotebookSection; | ||||
IPython.CellSection = CellSection; | ||||
IPython.KernelSection = KernelSection; | ||||
Brian E. Granger
|
r4368 | IPython.HelpSection = HelpSection; | ||
Brian E. Granger
|
r4365 | |||
return IPython; | ||||
}(IPython)); | ||||