Conversation
|
Thanks for your PR, @zhaijunlei955. Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
Reviewer's GuideUpdates the embedded dockview-core library from v4.13.1 to v5.1.0, bringing in upstream behavior changes for disposables, visibility checks, scrollbars, tab/header orientation, overlay rendering, serialization, and themes, along with matching CSS updates for new scrollbar and layout capabilities. Sequence diagram for changing header position via APIsequenceDiagram
actor User
participant Api as DockviewGroupPanelApiImpl
participant Model as DockviewGroupPanelModel
participant TabsContainer
participant Tabs
participant Scrollbar
User->>Api: setHeaderPosition(position)
Api->>Model: set headerPosition(position)
activate Model
Model->>Model: store _headerPosition
Model->>Model: update container CSS classes
Model->>Model: compute direction = horizontal|vertical
Model->>TabsContainer: set direction(direction)
activate TabsContainer
TabsContainer->>TabsContainer: update CSS classes
TabsContainer->>Tabs: set direction(direction)
deactivate TabsContainer
activate Tabs
Tabs->>Tabs: update CSS classes
alt scrollbar exists
Tabs->>Scrollbar: set orientation(direction)
activate Scrollbar
Scrollbar->>Scrollbar: reset _scrollOffset
Scrollbar->>Scrollbar: update CSS classes
deactivate Scrollbar
end
deactivate Tabs
Model->>Model: relayout active panel
Model->>Model: updateHeaderActions()
deactivate Model
Api-->>User: header position updated
Class diagram for updated scrollbar and tab orientationclassDiagram
class CompositeDisposable {
- boolean _isDisposed
- Set~any~ _disposables
+ CompositeDisposable(args)
+ addDisposables(args)
+ removeDisposable(disposable)
+ dispose()
}
class Scrollbar {
- HTMLElement scrollableElement
- HTMLElement _element
- HTMLElement _scrollbar
- number _scrollOffset
- string _orientation
+ Scrollbar(scrollableElement)
+ HTMLElement get element()
+ string get orientation()
+ void set orientation(value)
+ void calculateScrollbarStyles()
}
class Tabs {
- any group
- any accessor
- MutableDisposable _observerDisposable
- Scrollbar _scrollbar
- any[] _tabs
- number selectedIndex
- boolean _showTabsOverflowControl
- string _direction
- HTMLElement _tabsList
- HTMLElement _element
+ Tabs(group, accessor, options)
+ HTMLElement get element()
+ any[] get tabs()
+ string get direction()
+ void set direction(value)
}
class TabsContainer {
- any accessor
- any group
- boolean _hidden
- string _direction
- Tabs tabs
- HTMLElement _element
- HTMLElement rightActionsContainer
+ TabsContainer(group, accessor)
+ HTMLElement get element()
+ boolean get hidden()
+ void set hidden(value)
+ string get direction()
+ void set direction(value)
+ void setRightActionsElement(element)
+ void setLeftActionsElement(element)
+ void setPrefixActionsElement(element)
}
CompositeDisposable <|-- Scrollbar
CompositeDisposable <|-- Tabs
CompositeDisposable <|-- TabsContainer
TabsContainer *-- Tabs
Tabs *-- Scrollbar
Class diagram for updated header position and actions APIsclassDiagram
class DockviewComponent {
- any options
- any _api
- any[] groups
+ string get defaultRenderer()
+ string get defaultHeaderPosition()
+ any get api()
+ void updateOptions(options)
+ any deserialize(json, options)
}
class DockviewGroupPanelModel {
- HTMLElement container
- any accessor
- string id
- any options
- any groupPanel
- boolean _isGroupActive
- boolean _locked
- any _location
- any[] mostRecentlyUsed
- any _overwriteRenderContainer
- TabsContainer tabsContainer
- any header
- any contentContainer
- string _headerPosition
- MutableDisposable _rightHeaderActionsDisposable
- MutableDisposable _leftHeaderActionsDisposable
- MutableDisposable _prefixHeaderActionsDisposable
- any _rightHeaderActions
- any _leftHeaderActions
- any _prefixHeaderActions
- any _activePanel
- number _width
- number _height
+ DockviewGroupPanelModel(container, accessor, id, options, groupPanel)
+ string get headerPosition()
+ void set headerPosition(value)
+ any serialize()
+ void updateHeaderActions()
+ void rerender(panel)
+ void setActive(isActive, skipFocus)
}
class DockviewGroupPanelApiImpl {
- any _group
+ any get window()
+ void setHeaderPosition(position)
+ string getHeaderPosition()
+ void moveTo(options)
}
class TabsContainer {
- string _direction
+ string get direction()
+ void set direction(value)
+ Tabs tabs
}
class Tabs {
- string _direction
+ string get direction()
+ void set direction(value)
}
class Scrollbar {
- string _orientation
+ string get orientation()
+ void set orientation(value)
}
DockviewComponent o-- DockviewGroupPanelModel : creates
DockviewComponent --> DockviewGroupPanelApiImpl : exposes via api
DockviewGroupPanelModel o-- TabsContainer
DockviewGroupPanelModel --> DockviewGroupPanelApiImpl : used by api
TabsContainer *-- Tabs
Tabs *-- Scrollbar
DockviewGroupPanelApiImpl ..> DockviewGroupPanelModel : controls headerPosition
DockviewGroupPanelModel ..> TabsContainer : sets direction
DockviewGroupPanelModel ..> Tabs : sets direction
Tabs ..> Scrollbar : sets orientation
File-Level Changes
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've found 1 issue, and left some high level feedback:
- There is a stray
console.log('333');at the top ofdockview-core.esm.jsthat should be removed to avoid unexpected console noise in production. - Since
dockview-core.esm.jsis a vendored library file, consider ensuring it matches the upstream 5.1.0 build artifact exactly (no local edits beyond the version bump) to make future upgrades and diffing against upstream easier.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- There is a stray `console.log('333');` at the top of `dockview-core.esm.js` that should be removed to avoid unexpected console noise in production.
- Since `dockview-core.esm.js` is a vendored library file, consider ensuring it matches the upstream 5.1.0 build artifact exactly (no local edits beyond the version bump) to make future upgrades and diffing against upstream easier.
## Individual Comments
### Comment 1
<location path="src/components/BootstrapBlazor.DockView/wwwroot/js/dockview-core.esm.js" line_range="7" />
<code_context>
* @link https://github.com/mathuo/dockview
* @license MIT
*/
+console.log('333');
class TransferObject {
}
</code_context>
<issue_to_address>
**issue:** Remove leftover console.log to avoid noisy production logs.
This appears to be a debug statement; unless it’s intentionally required, please remove it or wrap it behind a debug flag to avoid spamming consumer consoles.
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
src/components/BootstrapBlazor.DockView/wwwroot/js/dockview-core.esm.js
Outdated
Show resolved
Hide resolved
ArgoZhang
previously approved these changes
Mar 13, 2026
ArgoZhang
approved these changes
Mar 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Link issues
fixes #951
Summary By Copilot
Regression?
Risk
Verification
Packaging changes reviewed?
☑️ Self Check before Merge
Summary by Sourcery
Update embedded dockview-core and stylesheet to the 5.1.0 release, adding support for configurable header positions and vertical tab layouts, enhancing scrolling and overlay behavior, and refreshing theme styles.
New Features:
Bug Fixes:
Enhancements:
Chores: