default.js
51 lines
| 1.5 KiB
| application/javascript
|
JavascriptLexer
Jonathan Frederic
|
r17217 | // 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) { | ||||
Matthias BUSSONNIER
|
r9078 | "use strict"; | ||
Jonathan Frederic
|
r17217 | var CellToolbar = celltoolbar.CellToolbar; | ||
Matthias BUSSONNIER
|
r9078 | |||
MinRK
|
r17284 | 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 | ||||
Matthias BUSSONNIER
|
r9078 | }); | ||
MinRK
|
r12872 | }; | ||
Matthias BUSSONNIER
|
r9078 | |||
var add_raw_edit_button = function(div, cell) { | ||||
Jonathan Frederic
|
r17217 | var button_container = $(div); | ||
MinRK
|
r10935 | var button = $('<button/>') | ||
Jonathan Frederic
|
r16913 | .addClass("btn btn-default btn-xs") | ||
MinRK
|
r13669 | .text("Edit Metadata") | ||
MinRK
|
r10935 | .click( function () { | ||
raw_edit(cell); | ||||
return false; | ||||
}); | ||||
Matthias BUSSONNIER
|
r9078 | button_container.append(button); | ||
MinRK
|
r12872 | }; | ||
Matthias BUSSONNIER
|
r9078 | |||
Matthias BUSSONNIER
|
r17454 | var register = function (notebook) { | ||
Jonathan Frederic
|
r17217 | CellToolbar.register_callback('default.rawedit', add_raw_edit_button); | ||
MinRK
|
r17284 | raw_edit = $.proxy(raw_edit, { | ||
notebook: notebook, | ||||
keyboard_manager: notebook.keyboard_manager | ||||
}); | ||||
Jonathan Frederic
|
r17217 | var example_preset = []; | ||
example_preset.push('default.rawedit'); | ||||
Matthias BUSSONNIER
|
r9078 | |||
Matthias BUSSONNIER
|
r17454 | CellToolbar.register_preset('Edit Metadata', example_preset, notebook); | ||
Jonathan Frederic
|
r17217 | console.log('Default extension for cell metadata editing loaded.'); | ||
}; | ||||
return {'register': register}; | ||||
}); | ||||