Dynamic window dock layout for Dash
Project description
Dash Dock View
A flexible, professional-grade docking layout system for Dash applications. Build complex, resizable, and rearrangeable panel layouts with ease.
Installation
pip install dash-dock-view
Features
- 4 Layout Components: DashDockLayout, DashGridLayout, DashSplitLayout, DashPaneLayout
- Drag & Drop: Drag tabs between groups to reorganize
- Panel Positioning: Place panels at left, right, top, bottom, or center
- Floating Panels: Popout windows support
- Layout Persistence: Save and restore layouts via JSON
- Theming: Light, dark, and Apple Liquid Glass themes
- Full Dash Integration: Render any Dash component inside panels
Quick Start
from dash import Dash, html
from dash_dock_view import DashDockLayout
app = Dash(__name__)
app.layout = html.Div([
DashDockLayout(
id="my-dock",
panels=[
{"id": "panel-1", "title": "Editor", "position": "center"},
{"id": "panel-2", "title": "Console", "position": "bottom", "size": 200},
{"id": "panel-3", "title": "Explorer", "position": "left", "size": 250},
],
children=[
html.Div(id="panel-1", children="Main content here"),
html.Div(id="panel-2", children="Console output"),
html.Div(id="panel-3", children="File explorer"),
],
theme="dockview-theme-dark",
height="600px",
)
])
if __name__ == "__main__":
app.run(debug=True)
Layout Components
DashDockLayout
Full-featured docking system with tabs, floating panels, and drag-and-drop.
DashGridLayout
Grid-based resizable panel system for structured layouts.
DashSplitLayout
Simple split panel layout with horizontal or vertical orientation.
DashPaneLayout
Collapsible accordion-style panes for organized content.
Themes
dockview-theme-light- Classic light themedockview-theme-dark- Classic dark themedockview-theme-liquid-glass-light- Apple Liquid Glass (light)dockview-theme-liquid-glass-dark- Apple Liquid Glass (dark)
Panel Options
| Property | Type | Default | Description |
|---|---|---|---|
| id | string | required | Unique panel identifier |
| title | string | id value | Display title in tab |
| position | string | 'center' | 'left', 'right', 'top', 'bottom', 'center' |
| size | number | auto | Initial size in pixels |
| visible | boolean | True | Whether panel is visible |
| active | boolean | False | Whether panel is active on load |
| collapsed | boolean | False | Start collapsed (click to expand) |
Component Props
| Prop | Type | Default | Description |
|---|---|---|---|
| panels | array | [] | Panel configurations |
| children | node | None | Dash components for panels |
| theme | string | 'dockview-theme-light' | Theme class |
| height | string | '600px' | Container height |
| locked | boolean | False | Lock layout modifications |
| hideCloseButtons | boolean | False | Hide close buttons on tabs |
| showAddButton | boolean | True | Show add panel button |
| disableDnd | boolean | False | Disable drag-and-drop |
Documentation
Run the demo app for full documentation:
python app.py
Visit http://localhost:8050 to see interactive examples.
Contributing
See CONTRIBUTING.md
License
MIT License - see LICENSE
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dash_dock_view-1.0.0.tar.gz.
File metadata
- Download URL: dash_dock_view-1.0.0.tar.gz
- Upload date:
- Size: 233.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b1aaab9831ab48f619d3fcf91616da5a58a162374298a4775103793d68143e3
|
|
| MD5 |
1a5989058478587dc78024ebfc37a10d
|
|
| BLAKE2b-256 |
113fe603b3b24daf0c907f8ad36295815b2d4dbe186a31eb026c4a8e93146556
|
File details
Details for the file dash_dock_view-1.0.0-py3-none-any.whl.
File metadata
- Download URL: dash_dock_view-1.0.0-py3-none-any.whl
- Upload date:
- Size: 239.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8b4f7c7093702e79c338f4c1b0f0a6a0d9f71892a5dafe75b0c83ab2f02e6b1
|
|
| MD5 |
c4713109973437ff85165d0b5e594e94
|
|
| BLAKE2b-256 |
c5e61120f57cbadbbdae3c1ce7f9793636d7a392839d231afc65021f7063df8b
|