From 4d71775804666d39e6404ca8b55d63f8586c2267 Mon Sep 17 00:00:00 2001 From: mathuo <6710312+mathuo@users.noreply.github.com> Date: Fri, 16 Aug 2024 18:54:33 +0100 Subject: [PATCH] chore: fix test --- .../components/watermark/watermark.spec.ts | 11 +++---- .../components/watermark/watermark.ts | 29 ++++--------------- 2 files changed, 10 insertions(+), 30 deletions(-) diff --git a/packages/dockview-core/src/__tests__/dockview/components/watermark/watermark.spec.ts b/packages/dockview-core/src/__tests__/dockview/components/watermark/watermark.spec.ts index 7ce6551e6..c681f9b6b 100644 --- a/packages/dockview-core/src/__tests__/dockview/components/watermark/watermark.spec.ts +++ b/packages/dockview-core/src/__tests__/dockview/components/watermark/watermark.spec.ts @@ -1,19 +1,16 @@ import { DockviewApi } from '../../../../api/component.api'; import { Watermark } from '../../../../dockview/components/watermark/watermark'; +import { fromPartial } from '@total-typescript/shoehorn'; describe('watermark', () => { test('that the group is closed when the close button is clicked', () => { const cut = new Watermark(); - - const mockApi = jest.fn, any[]>(() => { - return { - removeGroup: jest.fn(), - }; + const api = fromPartial({ + removeGroup: jest.fn(), }); - const api = new mockApi(); const group = jest.fn() as any; - cut.init({ containerApi: api }); + cut.init({ containerApi: api, group }); const closeEl = cut.element.querySelector('.close-action')!; diff --git a/packages/dockview-core/src/dockview/components/watermark/watermark.ts b/packages/dockview-core/src/dockview/components/watermark/watermark.ts index ca43401c7..0742f8741 100644 --- a/packages/dockview-core/src/dockview/components/watermark/watermark.ts +++ b/packages/dockview-core/src/dockview/components/watermark/watermark.ts @@ -5,8 +5,7 @@ import { import { addDisposableListener } from '../../../events'; import { toggleClass } from '../../../dom'; import { CompositeDisposable } from '../../../lifecycle'; -import { DockviewGroupPanel } from '../../dockviewGroupPanel'; -import { PanelUpdateEvent } from '../../../panel/types'; +import { IDockviewGroupPanel } from '../../dockviewGroupPanel'; import { createCloseButton } from '../../../svg'; import { DockviewApi } from '../../../api/component.api'; @@ -15,7 +14,7 @@ export class Watermark implements IWatermarkRenderer { private _element: HTMLElement; - private _group: DockviewGroupPanel | undefined; + private _group: IDockviewGroupPanel | undefined; private _api: DockviewApi | undefined; get element(): HTMLElement { @@ -52,8 +51,9 @@ export class Watermark title.appendChild(actionsContainer); this.addDisposables( - addDisposableListener(closeAnchor, 'click', (ev) => { - ev.preventDefault(); + addDisposableListener(closeAnchor, 'click', (event: MouseEvent) => { + event.preventDefault(); + if (this._group) { this._api?.removeGroup(this._group); } @@ -61,29 +61,12 @@ export class Watermark ); } - update(_event: PanelUpdateEvent): void { - // noop - } - - focus(): void { - // noop - } - - layout(_width: number, _height: number): void { - // noop - } - init(_params: WatermarkRendererInitParameters): void { this._api = _params.containerApi; + this._group = _params.group; this.render(); } - - - dispose(): void { - super.dispose(); - } - private render(): void { const isOneGroup = !!(this._api && this._api.size <= 1); toggleClass(this.element, 'has-actions', isOneGroup);