Photino.Blazor.Docking 1.1.1

There is a newer version of this package available.
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                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Photino.Blazor.Docking" Version="1.1.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Photino.Blazor.Docking --version 1.1.1                
#r "nuget: Photino.Blazor.Docking, 1.1.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// 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

  1. Include Photino.Blazor.Docking as PackageReference to your project.
  2. 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.
  3. 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).
  4. 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.

  5. 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 the PanelContext 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.5 171 3/10/2024
1.1.4 102 3/9/2024
1.1.3 93 3/9/2024
1.1.2 110 3/6/2024
1.1.1 127 3/4/2024
1.0.0-alpha 124 1/21/2024