diff --git a/packages/dockview/src/__tests__/api/component.api.spec.ts b/packages/dockview/src/__tests__/api/component.api.spec.ts index 006e67da2..d52697fbb 100644 --- a/packages/dockview/src/__tests__/api/component.api.spec.ts +++ b/packages/dockview/src/__tests__/api/component.api.spec.ts @@ -134,7 +134,7 @@ describe('component.api', () => { 'onDidActivePanelChange', 'onDidAddPanel', 'onDidRemovePanel', - 'onDidLayoutfromJSON', + 'onDidLayoutFromJSON', ]; for (const _ of list) { diff --git a/packages/dockview/src/__tests__/api/groupPanelApi.spec.ts b/packages/dockview/src/__tests__/api/groupPanelApi.spec.ts index a59995cff..f39a19936 100644 --- a/packages/dockview/src/__tests__/api/groupPanelApi.spec.ts +++ b/packages/dockview/src/__tests__/api/groupPanelApi.spec.ts @@ -1,4 +1,4 @@ -import { IDockviewComponent } from '../../dockview/dockviewComponent'; +import { DockviewComponent } from '../../dockview/dockviewComponent'; import { DockviewPanelApiImpl, TitleEvent } from '../../api/groupPanelApi'; import { IDockviewPanel } from '../../groupview/groupPanel'; import { GroupPanel } from '../../groupview/groupviewPanel'; @@ -10,9 +10,9 @@ describe('groupPanelApi', () => { title: 'test_title', }; - const accessor: Partial = {}; + const accessor: Partial = {}; const groupViewPanel = new GroupPanel( - accessor, + accessor, '', {} ); @@ -44,9 +44,9 @@ describe('groupPanelApi', () => { id: 'test_id', }; - const accessor: Partial = {}; + const accessor: Partial = {}; const groupViewPanel = new GroupPanel( - accessor, + accessor, '', {} ); @@ -66,7 +66,7 @@ describe('groupPanelApi', () => { expect(cut.group).toBe(groupViewPanel); const groupViewPanel2 = new GroupPanel( - accessor, + accessor, '', {} ); diff --git a/packages/dockview/src/__tests__/dockview/dockviewComponent.spec.ts b/packages/dockview/src/__tests__/dockview/dockviewComponent.spec.ts index 35a1bcaee..e2bf9fd5d 100644 --- a/packages/dockview/src/__tests__/dockview/dockviewComponent.spec.ts +++ b/packages/dockview/src/__tests__/dockview/dockviewComponent.spec.ts @@ -1,7 +1,4 @@ -import { - DockviewComponent, - IDockviewComponent, -} from '../../dockview/dockviewComponent'; +import { DockviewComponent } from '../../dockview/dockviewComponent'; import { GroupPanelPartInitParameters, IContentRenderer, @@ -153,7 +150,7 @@ class TestGroupPanel implements IDockviewPanel { constructor( public readonly id: string, public readonly title: string, - accessor: IDockviewComponent + accessor: DockviewComponent ) { this.api = new DockviewPanelApiImpl(this, this._group); this._group = new GroupPanel(accessor, id, {}); diff --git a/packages/dockview/src/__tests__/groupview/groupview.spec.ts b/packages/dockview/src/__tests__/groupview/groupview.spec.ts index 6f102f8bb..b67c30766 100644 --- a/packages/dockview/src/__tests__/groupview/groupview.spec.ts +++ b/packages/dockview/src/__tests__/groupview/groupview.spec.ts @@ -1,7 +1,4 @@ -import { - IDockviewComponent, - DockviewComponent, -} from '../../dockview/dockviewComponent'; +import { DockviewComponent } from '../../dockview/dockviewComponent'; import { GroupviewPanelState, IDockviewPanel, @@ -210,7 +207,7 @@ class TestPanel implements IDockviewPanel { describe('groupview', () => { let groupview: GroupPanel; - let dockview: IDockviewComponent; + let dockview: DockviewComponent; let options: GroupOptions; let removePanelMock: jest.Mock; @@ -528,7 +525,7 @@ describe('groupview', () => { }); test("that openPanel with skipSetActive doesn't set panel to active", () => { - const dockviewComponent: IDockviewComponent = new DockviewComponent( + const dockviewComponent = new DockviewComponent( document.createElement('div'), { components: { diff --git a/packages/dockview/src/api/component.api.ts b/packages/dockview/src/api/component.api.ts index 66044ce8c..3ae9cedf1 100644 --- a/packages/dockview/src/api/component.api.ts +++ b/packages/dockview/src/api/component.api.ts @@ -369,7 +369,7 @@ export class DockviewApi implements CommonApi { } get onDidLayoutFromJSON(): Event { - return this.component.onDidLayoutfromJSON; + return this.component.onDidLayoutFromJSON; } get onDidLayoutChange(): Event { diff --git a/packages/dockview/src/dockview/dockviewComponent.ts b/packages/dockview/src/dockview/dockviewComponent.ts index 91f5dc6d5..bd8b743b1 100644 --- a/packages/dockview/src/dockview/dockviewComponent.ts +++ b/packages/dockview/src/dockview/dockviewComponent.ts @@ -63,7 +63,7 @@ export interface SerializedDockview { } export type DockviewComponentUpdateOptions = Pick< -DockviewComponentOptions, + DockviewComponentOptions, | 'orientation' | 'components' | 'frameworkComponents' @@ -98,13 +98,11 @@ export interface IDockviewComponent extends IBaseGrid { addPanel(options: AddPanelOptions): IDockviewPanel; removePanel(panel: IDockviewPanel): void; getGroupPanel: (id: string) => IDockviewPanel | undefined; - fireMouseEvent(event: LayoutMouseEvent): void; createWatermarkComponent(): IWatermarkRenderer; // lifecycle addEmptyGroup(options?: AddGroupOptions): void; closeAllGroups(): void; // events - onTabInteractionEvent: Event; onTabContextMenu: Event; moveToNext(options?: MovementOptions): void; moveToPrevious(options?: MovementOptions): void; @@ -115,7 +113,7 @@ export interface IDockviewComponent extends IBaseGrid { // readonly onDidRemovePanel: Event; readonly onDidAddPanel: Event; - readonly onDidLayoutfromJSON: Event; + readonly onDidLayoutFromJSON: Event; readonly onDidActivePanelChange: Event; } @@ -127,11 +125,6 @@ export class DockviewComponent private _api: DockviewApi; private _options: DockviewComponentOptions; - // events - private readonly _onTabInteractionEvent = new Emitter(); - readonly onTabInteractionEvent: Event = - this._onTabInteractionEvent.event; - private readonly _onTabContextMenu = new Emitter(); readonly onTabContextMenu: Event = this._onTabContextMenu.event; @@ -147,7 +140,7 @@ export class DockviewComponent readonly onDidAddPanel: Event = this._onDidAddPanel.event; private readonly _onDidLayoutfromJSON = new Emitter(); - readonly onDidLayoutfromJSON: Event = this._onDidLayoutfromJSON.event; + readonly onDidLayoutFromJSON: Event = this._onDidLayoutfromJSON.event; private readonly _onDidActivePanelChange = new Emitter< IDockviewPanel | undefined @@ -204,7 +197,6 @@ export class DockviewComponent }); this.addDisposables( - this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop, Event.any( @@ -278,9 +270,7 @@ export class DockviewComponent if (options.includePanel && options.group) { if ( options.group.activePanel !== - options.group.panels[ - options.group.panels.length - 1 - ] + options.group.panels[options.group.panels.length - 1] ) { options.group.model.moveToNext({ suppressRoll: true }); return; @@ -288,7 +278,7 @@ export class DockviewComponent } const location = getGridLocation(options.group.element); - const next = this.gridview.next(location)?.view + const next = this.gridview.next(location)?.view; this.doSetGroupActive(next); } @@ -301,10 +291,7 @@ export class DockviewComponent } if (options.includePanel && options.group) { - if ( - options.group.activePanel !== - options.group.panels[0] - ) { + if (options.group.activePanel !== options.group.panels[0]) { options.group.model.moveToPrevious({ suppressRoll: true }); return; } @@ -362,14 +349,14 @@ export class DockviewComponent } this.gridview.deserialize( - grid, - new DefaultDeserializer(this, { - createPanel: (id, group) => { - const panelData = panels[id]; - return this.deserializer!.fromJSON(panelData, group); - }, - }) - ); + grid, + new DefaultDeserializer(this, { + createPanel: (id, group) => { + const panelData = panels[id]; + return this.deserializer!.fromJSON(panelData, group); + }, + }) + ); if (typeof activeGroup === 'string') { const panel = this.getPanel(activeGroup); @@ -411,27 +398,27 @@ export class DockviewComponent let referenceGroup: GroupPanel | undefined; if (options.position?.referencePanel) { - const referencePanel = this.getGroupPanel( - options.position.referencePanel - ); + const referencePanel = this.getGroupPanel( + options.position.referencePanel + ); - if (!referencePanel) { - throw new Error( - `referencePanel ${options.position.referencePanel} does not exist` - ); - } + if (!referencePanel) { + throw new Error( + `referencePanel ${options.position.referencePanel} does not exist` + ); + } referenceGroup = this.findGroup(referencePanel); } else { referenceGroup = this.activeGroup; } - let panel: IDockviewPanel + let panel: IDockviewPanel; if (referenceGroup) { const target = toTarget(options.position?.direction || 'within'); if (target === Position.Center) { - panel = this.createPanel(options, referenceGroup) + panel = this.createPanel(options, referenceGroup); referenceGroup.model.openPanel(panel); } else { const location = getGridLocation(referenceGroup.element); @@ -441,13 +428,13 @@ export class DockviewComponent target ); const group = this.createGroupAtLocation(relativeLocation); - panel = this.createPanel(options, group) + panel = this.createPanel(options, group); group.model.openPanel(panel); } } else { - const group = this.createGroupAtLocation(); - panel = this.createPanel(options, group); - group.model.openPanel(panel); + const group = this.createGroupAtLocation(); + panel = this.createPanel(options, group); + group.model.openPanel(panel); } return panel; @@ -624,25 +611,25 @@ export class DockviewComponent target ); - const group = this.createGroupAtLocation( dropLocation); + const group = this.createGroupAtLocation(dropLocation); group.model.openPanel(groupItem); } } } override doSetGroupActive( - group: GroupPanel | undefined, - skipFocus?: boolean - ): void { - const isGroupAlreadyFocused = this._activeGroup === group; - super.doSetGroupActive(group, skipFocus); + group: GroupPanel | undefined, + skipFocus?: boolean + ): void { + const isGroupAlreadyFocused = this._activeGroup === group; + super.doSetGroupActive(group, skipFocus); - if (!isGroupAlreadyFocused && this._activeGroup?.activePanel) { - this._onDidActivePanelChange.fire( - this._activeGroup?.activePanel - ); - } - } + if (!isGroupAlreadyFocused && this._activeGroup?.activePanel) { + this._onDidActivePanelChange.fire( + this._activeGroup?.activePanel + ); + } + } createGroup(options?: GroupOptions): GroupPanel { if (!options) { @@ -713,13 +700,21 @@ export class DockviewComponent return view; } - private createPanel(options: AddPanelOptions, group: GroupPanel): IDockviewPanel { + private createPanel( + options: AddPanelOptions, + group: GroupPanel + ): IDockviewPanel { const view = new DefaultGroupPanelView({ content: this.createContentComponent(options.id, options.component), tab: this.createTabComponent(options.id, options.tabComponent), }); - const panel = new DockviewGroupPanel(options.id, this, this._api, group); + const panel = new DockviewGroupPanel( + options.id, + this, + this._api, + group + ); panel.init({ view, title: options.title || options.id, @@ -757,12 +752,10 @@ export class DockviewComponent ); } - private createGroupAtLocation( - location: number[] = [0] - ): GroupPanel { + private createGroupAtLocation(location: number[] = [0]): GroupPanel { const group = this.createGroup(); this.doAddGroup(group, location); - return group + return group; } private findGroup(panel: IDockviewPanel): GroupPanel | undefined { diff --git a/packages/dockview/src/gridview/basePanelView.ts b/packages/dockview/src/gridview/basePanelView.ts index 61445fa21..d2a6e4565 100644 --- a/packages/dockview/src/gridview/basePanelView.ts +++ b/packages/dockview/src/gridview/basePanelView.ts @@ -20,7 +20,6 @@ export interface BasePanelViewExported { readonly width: number; readonly height: number; readonly params: Record | undefined; - focus(): void; toJSON(): object; update(event: PanelUpdateEvent): void; } diff --git a/packages/dockview/src/groupview/groupview.ts b/packages/dockview/src/groupview/groupview.ts index 6e3b1c05d..0c4263139 100644 --- a/packages/dockview/src/groupview/groupview.ts +++ b/packages/dockview/src/groupview/groupview.ts @@ -1,7 +1,7 @@ import { DockviewApi } from '../api/component.api'; import { getPanelData, PanelTransfer } from '../dnd/dataTransfer'; import { Droptarget, Position } from '../dnd/droptarget'; -import { IDockviewComponent } from '../dockview/dockviewComponent'; +import { DockviewComponent } from '../dockview/dockviewComponent'; import { isAncestor, toggleClass } from '../dom'; import { addDisposableListener, Emitter, Event } from '../events'; import { IGridPanelView } from '../gridview/baseComponentGridview'; @@ -217,7 +217,7 @@ export class Groupview extends CompositeDisposable implements IGroupview { constructor( private readonly container: HTMLElement, - private accessor: IDockviewComponent, + private accessor: DockviewComponent, public id: string, private readonly options: GroupOptions, private readonly parent: GroupPanel diff --git a/packages/dockview/src/groupview/groupviewPanel.ts b/packages/dockview/src/groupview/groupviewPanel.ts index d7db9444f..0866e9fd5 100644 --- a/packages/dockview/src/groupview/groupviewPanel.ts +++ b/packages/dockview/src/groupview/groupviewPanel.ts @@ -1,5 +1,5 @@ import { IFrameworkPart } from '../panel/types'; -import { IDockviewComponent } from '../dockview/dockviewComponent'; +import { DockviewComponent } from '../dockview/dockviewComponent'; import { GridviewPanelApi, GridviewPanelApiImpl, @@ -70,7 +70,7 @@ export class GroupPanel extends GridviewPanel implements IGroupviewPanel { } constructor( - accessor: IDockviewComponent, + accessor: DockviewComponent, id: string, options: GroupOptions ) { diff --git a/packages/dockview/src/groupview/titlebar/tabsContainer.ts b/packages/dockview/src/groupview/titlebar/tabsContainer.ts index 20416b08d..19428d36d 100644 --- a/packages/dockview/src/groupview/titlebar/tabsContainer.ts +++ b/packages/dockview/src/groupview/titlebar/tabsContainer.ts @@ -7,7 +7,7 @@ import { addDisposableListener, Emitter, Event } from '../../events'; import { ITab, MouseEventKind, Tab } from '../tab'; import { last } from '../../array'; import { IDockviewPanel } from '../groupPanel'; -import { IDockviewComponent } from '../../dockview/dockviewComponent'; +import { DockviewComponent } from '../../dockview/dockviewComponent'; import { getPanelData } from '../../dnd/dataTransfer'; import { GroupPanel } from '../groupviewPanel'; import { Droptarget } from '../../dnd/droptarget'; @@ -138,7 +138,7 @@ export class TabsContainer } constructor( - private accessor: IDockviewComponent, + private accessor: DockviewComponent, private group: GroupPanel, options: { tabHeight?: number } ) {