Skip to content

docs(DockManager): add dockmanager documentation #2742

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Feb 10, 2025

Conversation

xristianstefanov
Copy link
Contributor

@xristianstefanov xristianstefanov self-assigned this Feb 4, 2025
@xristianstefanov xristianstefanov requested review from a team as code owners February 4, 2025 09:09
Copy link
Contributor

@yanisslav yanisslav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be helpful to explain the undocking process, as it’s quite specific. Undocking a content pane creates a floating split pane containing the pane. This can confuse clients when docking it, as the OnDock event triggers with the new split pane's ID.

Probably we can mention this as a note somewhere in the events article.

===

Another detail to mention is that when a split/tab group pane is not configured with AllowEmpty=true and has no child panes, it is disposed.

Other than that, IMO, the documentation looks great.🚀


The <a href="https://www.telerik.com/blazor-ui/dock-manager" target="_blank">Blazor DockManager component</a> is a versatile tool that enables users to manage and organize multiple panes within a single container. It supports features like docking, undocking, resizing, and repositioning, offering a flexible and customizable layout.

>tip The DockManager is best suited for desktop-like interfaces and applications designed for larger screens, where users can take full advantage of its advanced layout management capabilities.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a highlighted tip implies that we are defensive about something. Better append this sentence to the introduction simply to manage customer expectations.

@xristianstefanov xristianstefanov merged commit 489e485 into master Feb 10, 2025
1 check passed
@github-actions github-actions bot deleted the dockmanager-docs branch February 10, 2025 13:33
Copy link
Contributor

@ikoevska ikoevska left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed.

* `<DockManagerContentPane>` for standalone panes.
* `<DockManagerSplitPane>` to create sections with multiple resizable panes.
* `<DockManagerTabGroupPane>` to enable tabbed panes.
4. Define `HeaderTemplate` tag inside each pane to set the headers text.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
4. Define `HeaderTemplate` tag inside each pane to set the headers text.
4. Define a `HeaderTemplate` tag inside each pane to set the headers text.

* `<DockManagerTabGroupPane>` to enable tabbed panes.
4. Define `HeaderTemplate` tag inside each pane to set the headers text.
5. Populate the `Content` tag section of each pane with the desired UI elements.
6. Optionally, `<DockManagerFloatingPanes>` to create panes that can float outside the main dock layout.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An action seems to be missing here. Do what with DocManagerFloatingPanes? Use, add, something else?


* It can be a direct child of another `<DockManagerSplitPane>`.
* It can contain `<DockManagerTabGroupPane>`, `<DockManagerContentPane>`, and other `<DockManagerSplitPane>` tags as children.
* Only this pane type can be declared as a direct child of the `<DockManagerFloatingPanes>` tag.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The page needs a ## See Also section.


This article describes:

* [The properties of the `DockManagerState` object](#information-in-the-dockmanager-state).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When the entire bullet point is a link, it should also include the punctuation. Otherwise, when rendered, it looks odd.


If you want to make changes to the current DockManager state:

1. First, get the current state with the `GetState` method.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're on the first step. Adding First to the first step creates redundancy.

2. Apply the desired modifications to the obtained `DockManagerState` object.
3. Set the modified state object via the `SetState` method.

> Do not use `GetState()` in the [`OnStateInit`](#onstateinit) or [`OnStateChanged`](#onstatechanged) events. Do not use `SetState()` in `OnStateInit`. Instead, get or set the `DockManagerState` property of the event argument.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are too many callouts one after the other. These would probably work better as sub-sections or in some other form.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants