Commit Graph

1781 Commits

Author SHA1 Message Date
jhemmelg
5109be2d28 ContentManager function signatures updated 2014-11-03 10:18:04 -08:00
jhemmelg
496fa1901f Initial interface for javascript contentmanagers
contentmanager.js is going to be a js proxy for the current
filenbmanager.py.  This will allow a contentmanager for Google Drive to
be created.
2014-11-03 10:18:04 -08:00
Jeff Hemmelgarn
09e0ff93d8 Fix a few problems with cherry-picked commits
api/notebooks => api/contents
add type to JSON model
fix a few things in notebooklist.js
2014-11-03 10:18:04 -08:00
KesterTong
3994d4d56a Adds configuration options to use Google Drive content manager
Adds the key contentmanager_js_source to webapp_settings that allows for specifying the content manager JavaScript source file.  Also adds a NotebookManager subclass, ClientSideNotebookManager, which does minimal logic.  This class is used when the JavaScript content manager doesn't use the Python notebook manager, but rather implements that logic client side, as is the case for the Google Drive based content manager.

A sample command line that uses the Google Drive content manager, and the ClientSideNotebookManager, is

ipython notebook --NotebookApp.webapp_settings="{'contentmanager_js_source': 'base/js/drive_contentmanager'}" --NotebookApp.notebook_manager_class="IPython.html.services.notebooks.clientsidenbmanager.ClientSideNotebookManager"
2014-11-03 10:18:04 -08:00
KesterTong
952ac7d0d8 Moves load_notebook to ContentManager and adds new_notebook to Google Drive version 2014-11-03 10:17:12 -08:00
KesterTong
e3ef5d3b70 Moves list_notebooks to ContentManager 2014-11-03 10:17:12 -08:00
KesterTong
dfcf14f26c Uses events for ContentManager.save_notebook
Modifies ContentManager.save_notebook() to use events, so that the Notebook instance can listen for success or failure events.  Also moves some logic out of save_notebook()
2014-11-03 10:17:12 -08:00
KesterTong
04fc61285f Use events for rename_notebook
Triggers events on ContentManager.rename_notebook success and failure.  Also moves some logic out of this method.
2014-11-03 10:17:12 -08:00
KesterTong
75d7e69fc8 Use $.proxy instead of that 2014-11-03 10:17:12 -08:00
KesterTong
9881d17bb1 Remove unused event
This event never seems to get used.
2014-11-03 10:17:12 -08:00
KesterTong
61a911fc0c Fix constructor comments
Add content_manager as a dictionary key to the options param passed in to the NotebookList and Notebook constructors.
2014-11-03 10:17:12 -08:00
KesterTong
0aada3ac5d Remove deleted notebook from notebook list
Uses events to notify the NotebookList when the content manager deletes a notebook, and remove the deleted notebook in response to such an event.
2014-11-03 10:17:12 -08:00
KesterTong
077ba397c1 Removes unnecessary parameter from ContentManager.delete_notebook 2014-11-03 10:17:12 -08:00
Jeff Hemmelgarn
99323b1173 Move saving to contentmanager
Make notebook.save_notebook call contentmanager.save_notebook.
2014-11-03 10:17:12 -08:00
Jeff Hemmelgarn
5b5e194082 Move notebook.rename to contentmanager
Make notebook.rename call contentmanager.rename
2014-11-03 10:17:12 -08:00
Jeff Hemmelgarn
7043aa1b9e switch notebook.delete to use contentmanager
Make notebook.delete call contentmanager.delete_notebook
2014-11-03 10:17:12 -08:00
Jeff Hemmelgarn
728c6f005f Move deleting a notebook to contentmanager.js
Move code to handle deleting a notebook from notebooklist to
contentmanager.
2014-11-03 10:17:12 -08:00
KesterTong
993833d018 Replace other methods with ContentManager.new_notebook
Replaces Notebook.new_notebook and NotebookList.new_notebook with ContentManager.new_notebook
2014-11-03 10:17:11 -08:00
KesterTong
d17ca85f5b Adds dialog on new_notebook failure
This logic doesn't really belong in ContentManager.  It would be better to trigger an event, which is handled somewhere else.  But there's no obvious place to put this event, so creating the error dialog inside the new_notebook method is ok for now.
2014-11-03 10:17:11 -08:00
KesterTong
5717a3eb10 Make ContentManager stateless
Don't store notebook_path in ContentManager, because this sort of state (in addition to notebook_name) can change, and keeping track of this logic doesn't seem to be a part of the file management system.  Instead, this logic can be left to the Notebook instance (and possible other places that manage it).  This makes refactoring easier, and avoids having to replicate this logic in every implementation of ContentManager.
2014-11-03 10:17:11 -08:00
KesterTong
99f2647edd Use IPython style constructor 2014-11-03 10:17:11 -08:00
KesterTong
21a5b5a965 Style and bug fixes 2014-11-03 10:17:11 -08:00
jhemmelg
112a74c566 ContentManager function signatures updated 2014-11-03 10:17:11 -08:00
jhemmelg
d5a84bb8a4 Initial interface for javascript contentmanagers
contentmanager.js is going to be a js proxy for the current
filenbmanager.py.  This will allow a contentmanager for Google Drive to
be created.
2014-11-03 10:17:11 -08:00
Thomas Kluyver
a16a3d0270 Merge pull request #6045 from minrk/nbformat4
nbformat v4
2014-11-03 09:58:33 -08:00
Min RK
196b91e73b Merge pull request #6828 from takluyver/terminal-list
Add terminals tab to the dashboard
2014-11-02 10:46:31 -08:00
MinRK
53ef8e1e1e remove unused OuptutArea.rename_keys 2014-11-01 16:41:12 -07:00
MinRK
d979f4bedd better regex replacement for MarkdownCell.set_heading_level
(c/o Matthias)
2014-11-01 16:41:07 -07:00
MinRK
dd95b1ef5f remove heading cells in v4 2014-11-01 16:41:07 -07:00
MinRK
458dcd12e3 make markdown heading input match output size 2014-11-01 16:41:06 -07:00
MinRK
6ca260e611 output[mime/type] -> output.data[mime/type] in javascript 2014-11-01 16:41:05 -07:00
MinRK
a50042745f semicolons, you guys! 2014-11-01 16:41:05 -07:00
MinRK
09acc6c854 msgspec: stream.data -> stream.text 2014-11-01 16:41:04 -07:00
MinRK
14cfb2efc1 s/prompt_number/execution_count in nbformat 4 2014-11-01 16:41:03 -07:00
MinRK
07079095a8 update html/js to nbformat 4 2014-11-01 16:41:02 -07:00
Thomas Kluyver
d32322e332 Show terminals as terminals/name
Bigger click target
2014-10-31 17:28:51 -07:00
Thomas Kluyver
4025b57ed8 Only display terminals in dashboard if terminals are available 2014-10-31 15:56:53 -07:00
Min RK
1d7f8803e0 use ?download=1 to trigger download in /files/
sets `Content-Disposition: attachment...`

- master sets this unconditionally
- 2.x sets this iff file is a notebook
2014-10-31 15:45:30 -07:00
Thomas Kluyver
65e664b143 Add list of available terminals in the dashboard 2014-10-31 15:42:52 -07:00
Thomas Kluyver
db6cd028ea Merge pull request #6793 from takluyver/langinfo
Move language info from kernelspec to kernel_info_reply
2014-10-30 16:15:19 -07:00
Min RK
965102ba60 Merge pull request #6554 from Carreau/itsallaboutme
Add About IPython
2014-10-30 14:23:16 -07:00
Min RK
5ff9ded54a Merge pull request #6614 from takluyver/nb-terminal-ui
Terminal emulator in the notebook
2014-10-29 12:35:29 -07:00
Mateusz Paprocki
3d825cfbcc Allow to specify CodeMirror's syntax mode as MIME
This is required for e.g. Scala, where the mode is given as
text/x-scala, but the actual implementation is in clike mode.
This wouldn't be an issue, but IPython loads modes lazily, so
you need both mode name and MIME to resolve correct file and
configure CodeMirror.
2014-10-29 16:57:57 +01:00
Jonathan Frederic
ba77877c18 Rebase fixes 2014-10-28 17:55:36 -07:00
Jonathan Frederic
db10ae8f2d s/target_name/widget_class 2014-10-28 16:49:46 -07:00
Jonathan Frederic
3cb5ac6fbb Clarified API for the create_model function,
Also added a test!
2014-10-28 16:49:46 -07:00
Jonathan Frederic
a68df8a8b1 Address @minrk 's review comments. 2014-10-28 16:49:46 -07:00
Jonathan Frederic
fbca0bfa3f Rebase fixes. 2014-10-28 16:49:45 -07:00
Jonathan Frederic
5a655b24da Fixed typo. 2014-10-28 16:49:45 -07:00
Jonathan Frederic
2b5ebb9e8f Make Python push initial state.
Also added initial state push callback.
2014-10-28 16:49:45 -07:00