##// END OF EJS Templates
This feature was discussed in #6123, but it doesn't look like anything was ever incorporated into the IPython Notebook....
This feature was discussed in #6123, but it doesn't look like anything was ever incorporated into the IPython Notebook. Here's a brief overview of the changes: - Display of messages from other clients can be toggled on and off from within a notebook, either using the ``<M-m>e`` keyboard shortcut in the web UI, or through the option in the "Kernel" menu. - notebook.js controls whether messages are displayed through a callback that is invoked from kernel.js when no callbacks are available for a message. - The UI displays ``execute_input`` messages originating from an other clients in new cells at the end of the notebook. Output messages (``execute_result`` et al.) will only be displayed if a cell exists with a matching message ID. Pending design questions: - Should each ``execute_input`` message cause a new cell to be created? - Should new cells be placed at the end of the notebook, or elsewhere? If the latter, what criteria should be followed?

File last commit:

r17454:806bf0f9
r19164:17ac8ca3
Show More
default.js
51 lines | 1.5 KiB | application/javascript | JavascriptLexer
// Copyright (c) IPython Development Team.
// Distributed under the terms of the Modified BSD License.
define([
'jquery',
'notebook/js/celltoolbar',
'base/js/dialog',
], function($, celltoolbar, dialog) {
"use strict";
var CellToolbar = celltoolbar.CellToolbar;
var raw_edit = function (cell) {
dialog.edit_metadata({
md: cell.metadata,
callback: function (md) {
cell.metadata = md;
},
name: 'Cell',
notebook: this.notebook,
keyboard_manager: this.keyboard_manager
});
};
var add_raw_edit_button = function(div, cell) {
var button_container = $(div);
var button = $('<button/>')
.addClass("btn btn-default btn-xs")
.text("Edit Metadata")
.click( function () {
raw_edit(cell);
return false;
});
button_container.append(button);
};
var register = function (notebook) {
CellToolbar.register_callback('default.rawedit', add_raw_edit_button);
raw_edit = $.proxy(raw_edit, {
notebook: notebook,
keyboard_manager: notebook.keyboard_manager
});
var example_preset = [];
example_preset.push('default.rawedit');
CellToolbar.register_preset('Edit Metadata', example_preset, notebook);
console.log('Default extension for cell metadata editing loaded.');
};
return {'register': register};
});