##// END OF EJS Templates
only rich display outputs have metadata...
only rich display outputs have metadata even affects v3, which had some bugs that didn't describe actual js behavior

File last commit:

r17454:806bf0f9
r18590:be819bae
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};
});