##// END OF EJS Templates
Pager is working again.
Pager is working again.

File last commit:

r4361:9262f15d
r4361:9262f15d
Show More
cell.js
63 lines | 1.7 KiB | application/javascript | JavascriptLexer
//============================================================================
// Cell
//============================================================================
var IPython = (function (IPython) {
var utils = IPython.utils;
var Cell = function (notebook) {
this.notebook = notebook;
this.selected = false;
this.element;
this.create_element();
if (this.element !== undefined) {
this.element.data("cell", this);
this.bind_events();
}
this.cell_id = utils.uuid();
};
Cell.prototype.select = function () {
this.element.addClass('ui-widget-content ui-corner-all');
this.selected = true;
// TODO: we need t test across browsers to see if both of these are needed.
// In the meantime, there should not be any harm in having them both.
this.element.find('textarea').trigger('focusin');
this.element.find('textarea').trigger('focus');
};
Cell.prototype.unselect = function () {
this.element.removeClass('ui-widget-content ui-corner-all');
this.selected = false;
};
Cell.prototype.bind_events = function () {
var that = this;
var nb = that.notebook
that.element.click(function (event) {
if (that.selected === false) {
nb.select(nb.find_cell_index(that));
};
});
that.element.focusin(function (event) {
if (that.selected === false) {
nb.select(nb.find_cell_index(that));
};
});
};
// Subclasses must implement create_element.
Cell.prototype.create_element = function () {};
IPython.Cell = Cell;
return IPython;
}(IPython));