mirror of
https://github.com/mathuo/dockview
synced 2025-05-06 19:48:25 +00:00
feat: expose additional events
This commit is contained in:
parent
3dbe00d2a1
commit
4ef8049413
@ -20,7 +20,7 @@ import {
|
|||||||
SerializedPaneview,
|
SerializedPaneview,
|
||||||
IPaneviewComponent,
|
IPaneviewComponent,
|
||||||
} from '../paneview/paneviewComponent';
|
} from '../paneview/paneviewComponent';
|
||||||
import { IPaneviewPanel } from '../paneview/paneviewPanel';
|
import { IPaneviewPanel, PaneviewPanel } from '../paneview/paneviewPanel';
|
||||||
import {
|
import {
|
||||||
AddSplitviewComponentOptions,
|
AddSplitviewComponentOptions,
|
||||||
ISplitviewComponent,
|
ISplitviewComponent,
|
||||||
@ -30,8 +30,9 @@ import {
|
|||||||
import { Orientation, Sizing } from '../splitview/core/splitview';
|
import { Orientation, Sizing } from '../splitview/core/splitview';
|
||||||
import { ISplitviewPanel } from '../splitview/splitviewPanel';
|
import { ISplitviewPanel } from '../splitview/splitviewPanel';
|
||||||
import { GroupviewPanel } from '../groupview/groupviewPanel';
|
import { GroupviewPanel } from '../groupview/groupviewPanel';
|
||||||
import { Event } from '../events';
|
import { Emitter, Event } from '../events';
|
||||||
import { IDisposable } from '../lifecycle';
|
import { IDisposable } from '../lifecycle';
|
||||||
|
import { PaneviewDropEvent } from '../react';
|
||||||
|
|
||||||
export interface CommonApi {
|
export interface CommonApi {
|
||||||
readonly height: number;
|
readonly height: number;
|
||||||
@ -147,6 +148,29 @@ export class PaneviewApi implements CommonApi {
|
|||||||
return this.component.onDidLayoutChange;
|
return this.component.onDidLayoutChange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get onDidAddView(): Event<PaneviewPanel> {
|
||||||
|
return this.component.onDidAddView;
|
||||||
|
}
|
||||||
|
|
||||||
|
get onDidRemoveView(): Event<PaneviewPanel> {
|
||||||
|
return this.component.onDidRemoveView;
|
||||||
|
}
|
||||||
|
|
||||||
|
get onDidDrop(): Event<PaneviewDropEvent> {
|
||||||
|
const emitter = new Emitter<PaneviewDropEvent>();
|
||||||
|
|
||||||
|
const disposable = this.component.onDidDrop((e) => {
|
||||||
|
emitter.fire({ ...e, api: this });
|
||||||
|
});
|
||||||
|
|
||||||
|
emitter.dispose = () => {
|
||||||
|
disposable.dispose();
|
||||||
|
emitter.dispose();
|
||||||
|
};
|
||||||
|
|
||||||
|
return emitter.event;
|
||||||
|
}
|
||||||
|
|
||||||
constructor(private readonly component: IPaneviewComponent) {}
|
constructor(private readonly component: IPaneviewComponent) {}
|
||||||
|
|
||||||
getPanels(): IPaneviewPanel[] {
|
getPanels(): IPaneviewPanel[] {
|
||||||
|
@ -20,6 +20,7 @@ export class Paneview extends CompositeDisposable implements IDisposable {
|
|||||||
private paneItems: PaneItem[] = [];
|
private paneItems: PaneItem[] = [];
|
||||||
private _orientation: Orientation;
|
private _orientation: Orientation;
|
||||||
private animationTimer: any | undefined;
|
private animationTimer: any | undefined;
|
||||||
|
private skipAnimation = false;
|
||||||
|
|
||||||
private readonly _onDidChange = new Emitter<void>();
|
private readonly _onDidChange = new Emitter<void>();
|
||||||
readonly onDidChange: Event<void> = this._onDidChange.event;
|
readonly onDidChange: Event<void> = this._onDidChange.event;
|
||||||
@ -147,8 +148,6 @@ export class Paneview extends CompositeDisposable implements IDisposable {
|
|||||||
return paneItem;
|
return paneItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
private skipAnimation = false;
|
|
||||||
|
|
||||||
public moveView(from: number, to: number) {
|
public moveView(from: number, to: number) {
|
||||||
if (from === to) {
|
if (from === to) {
|
||||||
return;
|
return;
|
||||||
|
@ -99,6 +99,8 @@ export interface IPaneviewComponent extends IDisposable {
|
|||||||
readonly height: number;
|
readonly height: number;
|
||||||
readonly minimumSize: number;
|
readonly minimumSize: number;
|
||||||
readonly maximumSize: number;
|
readonly maximumSize: number;
|
||||||
|
readonly onDidAddView: Event<PaneviewPanel>;
|
||||||
|
readonly onDidRemoveView: Event<PaneviewPanel>;
|
||||||
readonly onDidDrop: Event<PaneviewDropEvent2>;
|
readonly onDidDrop: Event<PaneviewDropEvent2>;
|
||||||
readonly onDidLayoutChange: Event<void>;
|
readonly onDidLayoutChange: Event<void>;
|
||||||
addPanel(options: AddPaneviewCompponentOptions): IDisposable;
|
addPanel(options: AddPaneviewCompponentOptions): IDisposable;
|
||||||
|
Loading…
Reference in New Issue
Block a user