Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for KuCalc : devops.
Download
50654 views
1
// Copyright (c) IPython Development Team.
2
// Distributed under the terms of the Modified BSD License.
3
4
define([
5
'jquery',
6
'notebook/js/celltoolbar',
7
'base/js/dialog',
8
'base/js/keyboard',
9
], function($, celltoolbar, dialog, keyboard) {
10
"use strict";
11
12
var CellToolbar = celltoolbar.CellToolbar;
13
var raw_cell_preset = [];
14
15
var select_type = CellToolbar.utils.select_ui_generator([
16
["None", "-"],
17
["LaTeX", "text/latex"],
18
["reST", "text/restructuredtext"],
19
["HTML", "text/html"],
20
["Markdown", "text/markdown"],
21
["Python", "text/x-python"],
22
["Custom", "dialog"],
23
24
],
25
// setter
26
function(cell, value) {
27
if (value === "-") {
28
delete cell.metadata.raw_mimetype;
29
} else if (value === 'dialog'){
30
var dialog = $('<div/>').append(
31
$("<p/>")
32
.text("Set the MIME type of the raw cell:")
33
).append(
34
$("<br/>")
35
).append(
36
$('<input/>').attr('type','text').attr('size','25')
37
.val(cell.metadata.raw_mimetype || "-")
38
);
39
dialog.modal({
40
title: "Raw Cell MIME Type",
41
body: dialog,
42
buttons : {
43
"Cancel": {},
44
"OK": {
45
class: "btn-primary",
46
click: function () {
47
console.log(cell);
48
cell.metadata.raw_mimetype = $(this).find('input').val();
49
console.log(cell.metadata);
50
}
51
}
52
},
53
open : function (event, ui) {
54
var that = $(this);
55
// Upon ENTER, click the OK button.
56
that.find('input[type="text"]').keydown(function (event, ui) {
57
if (event.which === keyboard.keycodes.enter) {
58
that.find('.btn-primary').first().click();
59
return false;
60
}
61
});
62
that.find('input[type="text"]').focus().select();
63
}
64
});
65
} else {
66
cell.metadata.raw_mimetype = value;
67
}
68
},
69
//getter
70
function(cell) {
71
return cell.metadata.raw_mimetype || "";
72
},
73
// name
74
"Raw NBConvert Format"
75
);
76
77
var register = function (notebook) {
78
CellToolbar.register_callback('raw_cell.select', select_type, ['raw']);
79
raw_cell_preset.push('raw_cell.select');
80
81
CellToolbar.register_preset('Raw Cell Format', raw_cell_preset, notebook);
82
console.log('Raw Cell Format toolbar preset loaded.');
83
};
84
return {'register': register};
85
86
});
87
88