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