Photino.Blazor.Docking
1.1.1
See the version list below for details.
dotnet add package Photino.Blazor.Docking --version 1.1.1
NuGet\Install-Package Photino.Blazor.Docking -Version 1.1.1
<PackageReference Include="Photino.Blazor.Docking" Version="1.1.1" />
paket add Photino.Blazor.Docking --version 1.1.1
#r "nuget: Photino.Blazor.Docking, 1.1.1"
// Install Photino.Blazor.Docking as a Cake Addin #addin nuget:?package=Photino.Blazor.Docking&version=1.1.1 // Install Photino.Blazor.Docking as a Cake Tool #tool nuget:?package=Photino.Blazor.Docking&version=1.1.1
Photino.Blazor.Docking
About
Cross-platform docking system for Photino.Blazor applications with split, tabs and floating panels support.
Implements panel arrangement with a horizontal/vertical splitter, grouping into a tabbed panel and detaching panels into a separate floating windows.
Supports hiding/showing panels by its identificators and saving/loading docking layout in JSON format.
How to use
- Include Photino.Blazor.Docking as PackageReference to your project.
- Include css and js files from _content/Radzen.Blazor, _content/Photino.Blazor.CustomWindow and _content/Photino.Blazor.Docking to your index.html as shown in the example.
Or you can add their contents manually as your own files. - Configure and add DockingService to your Photino.Blazor application service collection with
AddPhotinoBlazorDocking()
extension.
You must declare services initialization function and dock panels configuration set (refer to the extension summary and example). - Use
DockPanelHost
component as docking host component. Next, there are two options for the panels initial placement:- Load docking layout from JSON via DockingService's
LoadLayout()
method before the DockPanelHost component is initialized. - Define DockPanelHost's
DefaultLayout
RenderFragment (refer to the example).You can paste here DockPanelSplit, DockPanelTabs or DockPanel component.
DockPanelSplit should contain two components of the types listed above.
DockPanelTabs can contain only DockPanel components.
DockPanel must be used strictly with the identificator or blazor component, specified in the configuration.
- Load docking layout from JSON via DockingService's
- In order to keep the current state of your component when attaching/detaching dock panel, it is necessary to implement a mechanism for store/restore state data. There are two ways that you can use together:
- Storing data in your own services and restoring it from there on component initializing.
- Using
IContextDockPanel
interface. Implement it for your component using thePanelContext
property for any object as state context (for example, a model instance, scroll positions, etc.).
Implementation example.
Next steps
- Inserting float dock panel between specific tabs on dragging.
- Dynamic page adding (documents host panel).
- Get away from Radzen dependencies (own splitter implementation).
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- Photino.Blazor (>= 2.7.0)
- Photino.Blazor.CustomWindow (>= 1.1.3)
- Radzen.Blazor (>= 4.25.9)
-
net8.0
- Photino.Blazor (>= 2.7.0)
- Photino.Blazor.CustomWindow (>= 1.1.3)
- Radzen.Blazor (>= 4.25.9)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.