feat: remove circular dependencies

This commit is contained in:
mathuo 2021-10-17 21:46:27 +01:00
parent edbeeffd60
commit 333c71ad09
No known key found for this signature in database
GPG Key ID: C6EEDEFD6CA07281
8 changed files with 39 additions and 42 deletions

View File

@ -1,6 +1,31 @@
import { PanelOptions } from '../dockview/options'; import { PanelOptions } from '../dockview/options';
import { tryParseJSON } from '../json'; import { tryParseJSON } from '../json';
import { PanelTransfer, PaneTransfer } from './droptarget';
class TransferObject {
constructor() {
//
}
}
export class PanelTransfer extends TransferObject {
constructor(
public readonly viewId: string,
public readonly groupId: string,
public readonly panelId: string
) {
super();
}
}
export class PaneTransfer extends TransferObject {
constructor(
public readonly viewId: string,
public readonly paneId: string
) {
super();
}
}
export const DATA_KEY = 'splitview/transfer'; export const DATA_KEY = 'splitview/transfer';

View File

@ -8,31 +8,6 @@ export interface DroptargetEvent {
event: DragEvent; event: DragEvent;
} }
class TransferObject {
constructor() {
//
}
}
export class PanelTransfer extends TransferObject {
constructor(
public readonly viewId: string,
public readonly groupId: string,
public readonly panelId: string
) {
super();
}
}
export class PaneTransfer extends TransferObject {
constructor(
public readonly viewId: string,
public readonly paneId: string
) {
super();
}
}
export enum Position { export enum Position {
Top = 'Top', Top = 'Top',
Left = 'Left', Left = 'Left',

View File

@ -0,0 +1,5 @@
export enum DockviewDropTargets {
Tab,
Panel,
TabContainer,
}

View File

@ -18,6 +18,7 @@ import { ITabsContainer, TabsContainer } from './titlebar/tabsContainer';
import { IWatermarkRenderer } from './types'; import { IWatermarkRenderer } from './types';
import { GroupviewPanel } from './groupviewPanel'; import { GroupviewPanel } from './groupviewPanel';
import { focusedElement } from '../focusedElement'; import { focusedElement } from '../focusedElement';
import { DockviewDropTargets } from './dnd';
export enum GroupChangeKind { export enum GroupChangeKind {
GROUP_ACTIVE = 'GROUP_ACTIVE', GROUP_ACTIVE = 'GROUP_ACTIVE',
@ -86,12 +87,6 @@ export interface GroupPanelViewState {
id: string; id: string;
} }
export enum DockviewDropTargets {
Tab,
Panel,
TabContainer,
}
export interface IGroupview extends IDisposable, IGridPanelView { export interface IGroupview extends IDisposable, IGridPanelView {
readonly isActive: boolean; readonly isActive: boolean;
readonly size: number; readonly size: number;

View File

@ -7,8 +7,9 @@ import { ITabRenderer } from './types';
import { focusedElement } from '../focusedElement'; import { focusedElement } from '../focusedElement';
import { IGroupPanel } from './groupPanel'; import { IGroupPanel } from './groupPanel';
import { GroupviewPanel } from './groupviewPanel'; import { GroupviewPanel } from './groupviewPanel';
import { DroptargetEvent, Droptarget, PanelTransfer } from '../dnd/droptarget'; import { DroptargetEvent, Droptarget } from '../dnd/droptarget';
import { DockviewDropTargets } from './groupview'; import { PanelTransfer } from '../dnd/dataTransfer';
import { DockviewDropTargets } from './dnd';
export enum MouseEventKind { export enum MouseEventKind {
CLICK = 'CLICK', CLICK = 'CLICK',

View File

@ -11,7 +11,7 @@ import { IDockviewComponent } from '../../dockview/dockviewComponent';
import { getPanelData } from '../../dnd/dataTransfer'; import { getPanelData } from '../../dnd/dataTransfer';
import { GroupviewPanel } from '../groupviewPanel'; import { GroupviewPanel } from '../groupviewPanel';
import { Droptarget } from '../../dnd/droptarget'; import { Droptarget } from '../../dnd/droptarget';
import { DockviewDropTargets } from '../groupview'; import { DockviewDropTargets } from '../dnd';
export interface TabDropIndexEvent { export interface TabDropIndexEvent {
event: DragEvent; event: DragEvent;

View File

@ -1,11 +1,7 @@
import { DragHandler } from '../dnd/abstractDragHandler'; import { DragHandler } from '../dnd/abstractDragHandler';
import { getPaneData, LocalSelectionTransfer } from '../dnd/dataTransfer'; import { getPaneData, LocalSelectionTransfer } from '../dnd/dataTransfer';
import { import { Droptarget, DroptargetEvent, Position } from '../dnd/droptarget';
Droptarget, import { PaneTransfer } from '../dnd/dataTransfer';
DroptargetEvent,
PaneTransfer,
Position,
} from '../dnd/droptarget';
import { Emitter, Event } from '../events'; import { Emitter, Event } from '../events';
import { IDisposable } from '../lifecycle'; import { IDisposable } from '../lifecycle';
import { Orientation } from '../splitview/core/splitview'; import { Orientation } from '../splitview/core/splitview';

View File

@ -141,8 +141,8 @@ export class Paneview extends CompositeDisposable implements IDisposable {
} }
public removePane(index: number) { public removePane(index: number) {
this.splitview.removeView(index);
const paneItem = this.paneItems.splice(index, 1)[0]; const paneItem = this.paneItems.splice(index, 1)[0];
this.splitview.removeView(index);
paneItem.disposable.dispose(); paneItem.disposable.dispose();
return paneItem; return paneItem;
} }