A minimal JupyterLab extension opening a main area widget.
Project description
Widgets
Add a new Widget element to the main window.
In this example you will learn how to add a new tab to JupyterLab.
Visible elements such as tabs and notebooks are represented by widgets in the Lumino library that is the basis of the JupyterLab application.
It is the fundamental brick of any visual component in the JupyterLab interface.
ATP 定制服务端发起训练插件
A Basic Tab
The base widget class can be imported with:
// src/index.ts#L8-L8
import { Widget } from '@lumino/widgets';
It requires to add the library as package dependency:
jlpm add @lumino/widgets
A Widget can be added to the main area through the JupyterLab Shell.
Inside of the activate
function, you can obtain it through the shell
attribute
of the app
object:
// src/index.ts#L19-L19
const { commands, shell } = app;
Then the widget can be inserted by calling the add
method, like in the command defined
in this example:
// src/index.ts#L25-L28
execute: () => {
const widget = new ExampleWidget();
shell.add(widget, 'main');
}
The custom widget ExampleWidget
is inherited from the base class Widget
.
In this case, no specific behavior is defined for the widget. Only some properties are set:
addClass
: Add a CSS class to allow widget stylingid
: id of the widget's DOM node - it is mandatory to be set to be included in JupyterLabtitle.label
: The widget tab titletitle.closable
: Allow the widget tab to be closed
// src/index.ts#L36-L44
class ExampleWidget extends Widget {
constructor() {
super();
this.addClass('jp-example-view');
this.id = 'iflytek-atp-widget';
this.title.label = 'Widget Example View';
this.title.closable = true;
}
}
You can associate style properties to the custom CSS class in the file
style/base.css
:
.jp-example-view {
background-color: aliceblue;
}
Where to Go Next
This example uses a command to display the widget. Have a look a the commands example for more information about it.
The widget created in this example is simple. You will find more advanced widgets in the following examples:
- Widget showing a Datagrid
- Widget integrating React components
- Widget interacting with a Kernel
- Extending document widget (like the notebook panel) with a new Toolbar Button
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jupyterlab_atp_extension-1.0.3.tar.gz
.
File metadata
- Download URL: jupyterlab_atp_extension-1.0.3.tar.gz
- Upload date:
- Size: 381.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.24.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a0c44ca59a2fcd62412b9378219003ed887e3a7d23e71a03f2e823935397a86 |
|
MD5 | 21e9113115f403a6cc63fbbb7d385933 |
|
BLAKE2b-256 | 4301ac5e223d4850a3a87f08e87a6c941ce5f52fa8a1298ba7e42fad0c67953b |
File details
Details for the file jupyterlab_atp_extension-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: jupyterlab_atp_extension-1.0.3-py3-none-any.whl
- Upload date:
- Size: 45.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.24.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4ca2c582b552cd3080c23051bcba62baf8109dbf941b2da15936f2ab830d48e |
|
MD5 | 9737fd37b69a4b384e3a5a6dceb8ef64 |
|
BLAKE2b-256 | 7f157120e61eee63975c326d9bde365f761785701d99e99a8d0cc0f2a8e2d8f6 |