Created
December 30, 2013 09:51
-
-
Save juhasch/8179981 to your computer and use it in GitHub Desktop.
Copy/Paste a IPython notebook cell using clipboardData in Chrome.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"metadata": { | |
"name": "" | |
}, | |
"nbformat": 3, | |
"nbformat_minor": 0, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Example showing how to copy a cell using 'clipboardData' in Chrome" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%%javascript\n", | |
"/* override clipboard 'paste' and insert new cell from json data in clipboard\n", | |
" * works only with chrome\n", | |
" */\n", | |
"window.addEventListener('paste', function(event){\n", | |
" event.preventDefault();\n", | |
" var data = event.clipboardData.getData('application/json');\n", | |
" var new_cell_data = JSON.parse(data);\n", | |
" var new_cell = IPython.notebook.insert_cell_below(new_cell_data.cell_type);\n", | |
" new_cell.fromJSON(new_cell_data);\n", | |
"});\n" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"javascript": [ | |
"/* override clipboard 'paste' and insert new cell from json data in clipboard\n", | |
" * works only with chrome\n", | |
" */\n", | |
"window.addEventListener('paste', function(event){\n", | |
" event.preventDefault();\n", | |
" var data = event.clipboardData.getData('application/json');\n", | |
" var new_cell_data = JSON.parse(data);\n", | |
" var new_cell = IPython.notebook.insert_cell_below(new_cell_data.cell_type);\n", | |
" new_cell.fromJSON(new_cell_data);\n", | |
"});" | |
], | |
"metadata": {}, | |
"output_type": "display_data", | |
"text": [ | |
"<IPython.core.display.Javascript at 0x4f0ed68>" | |
] | |
} | |
], | |
"prompt_number": 29 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%%javascript\n", | |
"/* override clipboard 'copy' and copy current cell as json to clipboard\n", | |
" * works only with chrome\n", | |
" */\n", | |
"window.addEventListener('copy', function(event){\n", | |
" event.preventDefault();\n", | |
" var cell = IPython.notebook.get_selected_cell(); \n", | |
" var j = cell.toJSON();\n", | |
" var json = JSON.stringify(j);\n", | |
" var data = event.clipboardData.setData('application/json',json);\n", | |
"});" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"javascript": [ | |
"/* override clipboard 'copy' and copy current cell as json to clipboard\n", | |
" * works only with chrome\n", | |
" */\n", | |
"window.addEventListener('copy', function(event){\n", | |
" event.preventDefault();\n", | |
" var cell = IPython.notebook.get_selected_cell(); \n", | |
" var j = cell.toJSON();\n", | |
" var json = JSON.stringify(j);\n", | |
" var data = event.clipboardData.setData('application/json',json);\n", | |
"});" | |
], | |
"metadata": {}, | |
"output_type": "display_data", | |
"text": [ | |
"<IPython.core.display.Javascript at 0x4f174a8>" | |
] | |
} | |
], | |
"prompt_number": 28 | |
} | |
], | |
"metadata": {} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment