mirror of
https://github.com/mathuo/dockview
synced 2025-08-24 19:16:29 +00:00
chore: remove circular dependencies
This commit is contained in:
parent
ea62570b9a
commit
8bbe482d74
@ -51,8 +51,8 @@ import { Box } from '../types';
|
||||
import {
|
||||
DockviewDidDropEvent,
|
||||
DockviewWillDropEvent,
|
||||
WillShowOverlayLocationEvent,
|
||||
} from '../dockview/dockviewGroupPanelModel';
|
||||
import { WillShowOverlayLocationEvent } from '../dockview/events';
|
||||
import {
|
||||
PaneviewComponentOptions,
|
||||
PaneviewDndOverlayEvent,
|
||||
|
@ -13,7 +13,7 @@ import {
|
||||
import { Scrollbar } from '../../../scrollbar';
|
||||
import { DockviewComponent } from '../../dockviewComponent';
|
||||
import { DockviewGroupPanel } from '../../dockviewGroupPanel';
|
||||
import { WillShowOverlayLocationEvent } from '../../dockviewGroupPanelModel';
|
||||
import { WillShowOverlayLocationEvent } from '../../events';
|
||||
import { DockviewPanel, IDockviewPanel } from '../../dockviewPanel';
|
||||
import { Tab } from '../tab/tab';
|
||||
import { TabDragEvent, TabDropIndexEvent } from './tabsContainer';
|
||||
|
@ -11,7 +11,7 @@ import { VoidContainer } from './voidContainer';
|
||||
import { findRelativeZIndexParent, toggleClass } from '../../../dom';
|
||||
import { IDockviewPanel } from '../../dockviewPanel';
|
||||
import { DockviewComponent } from '../../dockviewComponent';
|
||||
import { WillShowOverlayLocationEvent } from '../../dockviewGroupPanelModel';
|
||||
import { WillShowOverlayLocationEvent } from '../../events';
|
||||
import { getPanelData } from '../../../dnd/dataTransfer';
|
||||
import { Tabs } from './tabs';
|
||||
import {
|
||||
|
@ -45,8 +45,8 @@ import {
|
||||
GroupPanelViewState,
|
||||
DockviewDidDropEvent,
|
||||
DockviewWillDropEvent,
|
||||
WillShowOverlayLocationEvent,
|
||||
} from './dockviewGroupPanelModel';
|
||||
import { WillShowOverlayLocationEvent } from './events';
|
||||
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
||||
import { DockviewPanelModel } from './dockviewPanelModel';
|
||||
import { getPanelData } from '../dnd/dataTransfer';
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { DockviewApi } from '../api/component.api';
|
||||
import { getPanelData, PanelTransfer } from '../dnd/dataTransfer';
|
||||
import { Position, WillShowOverlayEvent } from '../dnd/droptarget';
|
||||
import { Position } from '../dnd/droptarget';
|
||||
import { DockviewComponent } from './dockviewComponent';
|
||||
import { isAncestor, toggleClass } from '../dom';
|
||||
import {
|
||||
@ -10,6 +10,7 @@ import {
|
||||
Event,
|
||||
IDockviewEvent,
|
||||
} from '../events';
|
||||
import { DockviewGroupDropLocation, WillShowOverlayLocationEvent, WillShowOverlayLocationEventOptions } from './events';
|
||||
import { IViewSize } from '../gridview/gridview';
|
||||
import { CompositeDisposable, IDisposable } from '../lifecycle';
|
||||
import {
|
||||
@ -140,11 +141,6 @@ export interface IHeader {
|
||||
|
||||
export type DockviewGroupPanelLocked = boolean | 'no-drop-target';
|
||||
|
||||
export type DockviewGroupDropLocation =
|
||||
| 'tab'
|
||||
| 'header_space'
|
||||
| 'content'
|
||||
| 'edge';
|
||||
|
||||
export interface IDockviewGroupPanelModel extends IPanel {
|
||||
readonly isActive: boolean;
|
||||
@ -199,56 +195,6 @@ export type DockviewGroupLocation =
|
||||
| { type: 'floating' }
|
||||
| { type: 'popout'; getWindow: () => Window; popoutUrl?: string };
|
||||
|
||||
export interface WillShowOverlayLocationEventOptions {
|
||||
readonly kind: DockviewGroupDropLocation;
|
||||
readonly panel: IDockviewPanel | undefined;
|
||||
readonly api: DockviewApi;
|
||||
readonly group: DockviewGroupPanel | undefined;
|
||||
getData: () => PanelTransfer | undefined;
|
||||
}
|
||||
|
||||
export class WillShowOverlayLocationEvent implements IDockviewEvent {
|
||||
get kind(): DockviewGroupDropLocation {
|
||||
return this.options.kind;
|
||||
}
|
||||
|
||||
get nativeEvent(): DragEvent {
|
||||
return this.event.nativeEvent;
|
||||
}
|
||||
|
||||
get position(): Position {
|
||||
return this.event.position;
|
||||
}
|
||||
|
||||
get defaultPrevented(): boolean {
|
||||
return this.event.defaultPrevented;
|
||||
}
|
||||
|
||||
get panel(): IDockviewPanel | undefined {
|
||||
return this.options.panel;
|
||||
}
|
||||
|
||||
get api(): DockviewApi {
|
||||
return this.options.api;
|
||||
}
|
||||
|
||||
get group(): DockviewGroupPanel | undefined {
|
||||
return this.options.group;
|
||||
}
|
||||
|
||||
preventDefault(): void {
|
||||
this.event.preventDefault();
|
||||
}
|
||||
|
||||
getData(): PanelTransfer | undefined {
|
||||
return this.options.getData();
|
||||
}
|
||||
|
||||
constructor(
|
||||
private readonly event: WillShowOverlayEvent,
|
||||
readonly options: WillShowOverlayLocationEventOptions
|
||||
) {}
|
||||
}
|
||||
|
||||
export class DockviewGroupPanelModel
|
||||
extends CompositeDisposable
|
||||
|
63
packages/dockview-core/src/dockview/events.ts
Normal file
63
packages/dockview-core/src/dockview/events.ts
Normal file
@ -0,0 +1,63 @@
|
||||
import { Position, WillShowOverlayEvent } from '../dnd/droptarget';
|
||||
import { PanelTransfer } from '../dnd/dataTransfer';
|
||||
import { DockviewApi } from '../api/component.api';
|
||||
import { IDockviewPanel } from './dockviewPanel';
|
||||
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
||||
import { IDockviewEvent } from '../events';
|
||||
|
||||
export type DockviewGroupDropLocation =
|
||||
| 'tab'
|
||||
| 'header_space'
|
||||
| 'content'
|
||||
| 'edge';
|
||||
|
||||
export interface WillShowOverlayLocationEventOptions {
|
||||
readonly kind: DockviewGroupDropLocation;
|
||||
readonly panel: IDockviewPanel | undefined;
|
||||
readonly api: DockviewApi;
|
||||
readonly group: DockviewGroupPanel | undefined;
|
||||
getData: () => PanelTransfer | undefined;
|
||||
}
|
||||
|
||||
export class WillShowOverlayLocationEvent implements IDockviewEvent {
|
||||
get kind(): DockviewGroupDropLocation {
|
||||
return this.options.kind;
|
||||
}
|
||||
|
||||
get nativeEvent(): DragEvent {
|
||||
return this.event.nativeEvent;
|
||||
}
|
||||
|
||||
get position(): Position {
|
||||
return this.event.position;
|
||||
}
|
||||
|
||||
get defaultPrevented(): boolean {
|
||||
return this.event.defaultPrevented;
|
||||
}
|
||||
|
||||
get panel(): IDockviewPanel | undefined {
|
||||
return this.options.panel;
|
||||
}
|
||||
|
||||
get api(): DockviewApi {
|
||||
return this.options.api;
|
||||
}
|
||||
|
||||
get group(): DockviewGroupPanel | undefined {
|
||||
return this.options.group;
|
||||
}
|
||||
|
||||
preventDefault(): void {
|
||||
this.event.preventDefault();
|
||||
}
|
||||
|
||||
getData(): PanelTransfer | undefined {
|
||||
return this.options.getData();
|
||||
}
|
||||
|
||||
constructor(
|
||||
private readonly event: WillShowOverlayEvent,
|
||||
readonly options: WillShowOverlayLocationEventOptions
|
||||
) {}
|
||||
}
|
@ -7,10 +7,8 @@ import { DockviewGroupPanel } from './dockviewGroupPanel';
|
||||
import { PanelTransfer } from '../dnd/dataTransfer';
|
||||
import { IDisposable } from '../lifecycle';
|
||||
import { DroptargetOverlayModel, Position } from '../dnd/droptarget';
|
||||
import {
|
||||
DockviewGroupDropLocation,
|
||||
GroupOptions,
|
||||
} from './dockviewGroupPanelModel';
|
||||
import { GroupOptions } from './dockviewGroupPanelModel';
|
||||
import { DockviewGroupDropLocation } from './events';
|
||||
import { IDockviewPanel } from './dockviewPanel';
|
||||
import { DockviewPanelRenderer } from '../overlay/overlayRenderContainer';
|
||||
import { IGroupHeaderProps } from './framework';
|
||||
|
Loading…
x
Reference in New Issue
Block a user