mirror of
https://github.com/mathuo/dockview
synced 2025-02-13 03:45:47 +00:00
feat: adjust watermark component props
This commit is contained in:
parent
015cef7fb0
commit
454542b729
@ -1,4 +1,8 @@
|
|||||||
import { GroupPanelPartInitParameters, IWatermarkRenderer } from '../../types';
|
import {
|
||||||
|
GroupPanelPartInitParameters,
|
||||||
|
IWatermarkRenderer,
|
||||||
|
WatermarkRendererInitParameters,
|
||||||
|
} from '../../types';
|
||||||
import { addDisposableListener } from '../../../events';
|
import { addDisposableListener } from '../../../events';
|
||||||
import { toggleClass } from '../../../dom';
|
import { toggleClass } from '../../../dom';
|
||||||
import { CompositeDisposable } from '../../../lifecycle';
|
import { CompositeDisposable } from '../../../lifecycle';
|
||||||
@ -69,15 +73,7 @@ export class Watermark
|
|||||||
// noop
|
// noop
|
||||||
}
|
}
|
||||||
|
|
||||||
init(params: GroupPanelPartInitParameters) {
|
init(_params: WatermarkRendererInitParameters) {
|
||||||
this.params = params;
|
|
||||||
|
|
||||||
this.addDisposables(
|
|
||||||
this.params.containerApi.onDidLayoutChange(() => {
|
|
||||||
this.render();
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
this.render();
|
this.render();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -632,9 +632,6 @@ export class DockviewComponent
|
|||||||
|
|
||||||
this.watermark.init({
|
this.watermark.init({
|
||||||
containerApi: new DockviewApi(this),
|
containerApi: new DockviewApi(this),
|
||||||
params: {},
|
|
||||||
title: '',
|
|
||||||
api: null as any,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const watermarkContainer = document.createElement('div');
|
const watermarkContainer = document.createElement('div');
|
||||||
|
@ -670,9 +670,7 @@ export class DockviewGroupPanelModel
|
|||||||
const watermark = this.accessor.createWatermarkComponent();
|
const watermark = this.accessor.createWatermarkComponent();
|
||||||
watermark.init({
|
watermark.init({
|
||||||
containerApi: new DockviewApi(this.accessor),
|
containerApi: new DockviewApi(this.accessor),
|
||||||
params: {},
|
group: this.groupPanel,
|
||||||
title: '',
|
|
||||||
api: null as any,
|
|
||||||
});
|
});
|
||||||
this.watermark = watermark;
|
this.watermark = watermark;
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ import {
|
|||||||
import { DockviewApi } from '../api/component.api';
|
import { DockviewApi } from '../api/component.api';
|
||||||
import { Event } from '../events';
|
import { Event } from '../events';
|
||||||
import { Optional } from '../types';
|
import { Optional } from '../types';
|
||||||
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
import { DockviewGroupPanel, IDockviewGroupPanel } from './dockviewGroupPanel';
|
||||||
|
|
||||||
export enum DockviewDropTargets {
|
export enum DockviewDropTargets {
|
||||||
Tab,
|
Tab,
|
||||||
@ -34,13 +34,18 @@ export interface GroupPanelContentPartInitParameters
|
|||||||
tab: ITabRenderer;
|
tab: ITabRenderer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface WatermarkRendererInitParameters {
|
||||||
|
containerApi: DockviewApi;
|
||||||
|
group?: IDockviewGroupPanel;
|
||||||
|
}
|
||||||
|
|
||||||
export interface IWatermarkRenderer
|
export interface IWatermarkRenderer
|
||||||
extends Optional<
|
extends Optional<
|
||||||
Omit<IPanel, 'id'>,
|
Omit<IPanel, 'id' | 'init'>,
|
||||||
'dispose' | 'update' | 'layout' | 'toJSON'
|
'dispose' | 'update' | 'layout' | 'toJSON'
|
||||||
> {
|
> {
|
||||||
readonly element: HTMLElement;
|
readonly element: HTMLElement;
|
||||||
init: (params: GroupPanelPartInitParameters) => void;
|
init: (params: WatermarkRendererInitParameters) => void;
|
||||||
updateParentGroup(group: DockviewGroupPanel, visible: boolean): void;
|
updateParentGroup(group: DockviewGroupPanel, visible: boolean): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,9 +6,14 @@ import {
|
|||||||
DockviewGroupPanel,
|
DockviewGroupPanel,
|
||||||
GroupPanelPartInitParameters,
|
GroupPanelPartInitParameters,
|
||||||
IWatermarkRenderer,
|
IWatermarkRenderer,
|
||||||
|
WatermarkRendererInitParameters,
|
||||||
|
DockviewApi,
|
||||||
|
IDockviewGroupPanel,
|
||||||
} from 'dockview-core';
|
} from 'dockview-core';
|
||||||
|
|
||||||
export interface IWatermarkPanelProps extends IGroupPanelBaseProps {
|
export interface IWatermarkPanelProps {
|
||||||
|
containerApi: DockviewApi;
|
||||||
|
group?: IDockviewGroupPanel;
|
||||||
close: () => void;
|
close: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,19 +35,18 @@ export class ReactWatermarkPart implements IWatermarkRenderer {
|
|||||||
this._element.className = 'dockview-react-part';
|
this._element.className = 'dockview-react-part';
|
||||||
}
|
}
|
||||||
|
|
||||||
init(parameters: GroupPanelPartInitParameters): void {
|
init(parameters: WatermarkRendererInitParameters): void {
|
||||||
this.parameters = parameters;
|
|
||||||
|
|
||||||
this.part = new ReactPart(
|
this.part = new ReactPart(
|
||||||
this.element,
|
this.element,
|
||||||
this.reactPortalStore,
|
this.reactPortalStore,
|
||||||
this.component,
|
this.component,
|
||||||
{
|
{
|
||||||
params: parameters.params,
|
group: parameters.group,
|
||||||
api: parameters.api,
|
|
||||||
containerApi: parameters.containerApi,
|
containerApi: parameters.containerApi,
|
||||||
close: () => {
|
close: () => {
|
||||||
parameters.containerApi.removeGroup(parameters.api.group);
|
if (parameters.group) {
|
||||||
|
parameters.containerApi.removeGroup(parameters.group);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user