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