|
define([ |
|
"base/js/namespace", |
|
"jquery" |
|
], function (IPython, $) { |
|
"use strict"; |
|
|
|
var padZero = function(val){ |
|
return ("0" + val).slice(-2); |
|
}; |
|
|
|
var datestring = function(){ |
|
var d = new Date(); |
|
return ( |
|
d.getFullYear() + "-" + padZero(d.getMonth() + 1) + "-" + padZero(d.getDate()) + |
|
" " + padZero(d.getHours()) + ":" + padZero(d.getMinutes()) + ":" + padZero(d.getSeconds()) |
|
); |
|
}; |
|
|
|
var datestamp = function(){ |
|
var cell = IPython.notebook.get_selected_cell(); |
|
var do_render = !((cell.cell_type === "raw") || (cell.cell_type === "code")); |
|
if(do_render) cell.unrender(); |
|
cell.code_mirror.focus(); |
|
cell.code_mirror.doc.replaceSelection(datestring() + " ", "end"); |
|
if(do_render) cell.edit_mode(); |
|
}; |
|
|
|
var load_ipython_extension = function () { |
|
IPython.toolbar.add_buttons_group([ |
|
IPython.keyboard_manager.actions.register ({ |
|
help : 'insert datestamp', |
|
icon : 'fa-calendar', |
|
handler: datestamp |
|
}, 'insert-datestamp', 'datestamp') |
|
]); |
|
}; |
|
|
|
var extension = { |
|
load_ipython_extension : load_ipython_extension, |
|
}; |
|
return extension; |
|
}); |
|
|