Skip to content

Commit

Permalink
Add documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Frederic Collonval committed May 23, 2019
1 parent 71d21ce commit dc589e0
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
48 changes: 48 additions & 0 deletions docs/source/developer/ui_helpers.rst
@@ -0,0 +1,48 @@
User Interface Helpers
----------------------

JupyterLab comes with helpers to show or request simple information to user.
Those speed up development and ensure a common look & feel.

Dialogs
~~~~~~~

File Dialogs
''''''''''''

Two helper functions to ask a user to open a file or a directory are
available in the ``filebrowser`` package under the namespace ``FileDialog``.

Here is an example to request a file.

.. code:: typescript
const dialog = FileDialog.getExistingDirectory({
manager, // IDocumentManager
filter: model => model.type == 'notebook' // optional (model: Contents.IModel) => boolean
});
const result = await dialog;
if(result.button.accept){
let files = result.value;
}
And for a folder.

.. code:: typescript
const dialog = FileDialog.getExistingDirectory({
manager // IDocumentManager
});
const result = await dialog;
if(result.button.accept){
let folders = result.value;
}
.. note:: The document manager can be obtained in a plugin by requesting
``IFileBrowserFactory`` service. The manager will be accessed through
``factory.defaultBrowser.model.manager``.
1 change: 1 addition & 0 deletions docs/source/index.rst
Expand Up @@ -57,6 +57,7 @@ JupyterLab is the next-generation web-based user interface for Project Jupyter.
developer/virtualdom
developer/adding_content
developer/examples
developer/ui_helpers
developer/terminology
developer/xkcd_extension_tutorial

Expand Down

0 comments on commit dc589e0

Please sign in to comment.