diff --git a/packages/dockview-core/src/hostedContainer.ts b/packages/dockview-core/src/hostedContainer.ts deleted file mode 100644 index 774b12d34..000000000 --- a/packages/dockview-core/src/hostedContainer.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { trackFocus } from './dom'; -import { Emitter, Event } from './events'; -import { IDisposable } from './lifecycle'; - -export interface HostedContainerOptions { - id: string; - parent?: HTMLElement; -} - -export class HostedContainer implements IDisposable { - private readonly _element: HTMLElement; - - private readonly _onDidFocus = new Emitter(); - readonly onDidFocus: Event = this._onDidFocus.event; - - private readonly _onDidBlur = new Emitter(); - readonly onDidBlur: Event = this._onDidBlur.event; - - get element() { - return this._element; - } - - constructor(private readonly options: HostedContainerOptions) { - if (!options.parent) { - options.parent = document.getElementById('app') as HTMLElement; - options.parent.style.position = 'relative'; - } - - this._element = document.createElement('div'); - this._element.style.visibility = 'hidden'; - this._element.style.overflow = 'hidden'; - // this._element.style.pointerEvents = 'none'; - this._element.id = `webview-${options.id}`; - this._element.tabIndex = -1; - - const { onDidFocus, onDidBlur } = trackFocus(this._element); - - onDidFocus(() => this._onDidFocus.fire()); - onDidBlur(() => this._onDidBlur.fire()); - - /** - * When dragging somebody - */ - - window.addEventListener('dragstart', () => { - this.element.style.pointerEvents = 'none'; - }); - window.addEventListener('dragend', () => { - this.element.style.pointerEvents = ''; - }); - window.addEventListener('mousemove', (ev) => { - if (ev.buttons === 0) { - this.element.style.pointerEvents = ''; - } - }); - - options.parent.appendChild(this._element); - } - - hide() { - this._element.style.visibility = 'hidden'; - } - - show() { - this._element.style.visibility = 'visible'; - } - - layout( - element: HTMLElement, - dimension?: { width: number; height: number } - ) { - if (!this.element || !this.element.parentElement) { - return; - } - const frameRect = element.getBoundingClientRect(); - const containerRect = - this.element.parentElement.getBoundingClientRect(); - this.element.style.position = 'absolute'; - this.element.style.top = `${frameRect.top - containerRect.top}px`; - this.element.style.left = `${frameRect.left - containerRect.left}px`; - this.element.style.width = `${ - dimension ? dimension.width : frameRect.width - }px`; - this.element.style.height = `${ - dimension ? dimension.height : frameRect.height - }px`; - } - - dispose() { - this._element.remove(); - } -} diff --git a/packages/dockview-core/src/index.ts b/packages/dockview-core/src/index.ts index fb7052653..35aec243e 100644 --- a/packages/dockview-core/src/index.ts +++ b/packages/dockview-core/src/index.ts @@ -1,5 +1,3 @@ -export * from './hostedContainer'; - export * from './dnd/dataTransfer'; export { watchElementResize } from './dom'; diff --git a/packages/dockview-core/src/splitview/splitview.ts b/packages/dockview-core/src/splitview/splitview.ts index 88db24df3..447529cfe 100644 --- a/packages/dockview-core/src/splitview/splitview.ts +++ b/packages/dockview-core/src/splitview/splitview.ts @@ -9,10 +9,9 @@ import { toggleClass, getElementsByTagName, } from '../dom'; -import { clamp } from '../math'; import { Event, Emitter } from '../events'; import { pushToStart, pushToEnd, firstIndex } from '../array'; -import { range } from '../math'; +import { range, clamp } from '../math'; import { ViewItem } from './viewItem'; export enum Orientation { diff --git a/packages/dockview/src/dockview/reactWatermarkPart.ts b/packages/dockview/src/dockview/reactWatermarkPart.ts index 940bf6bec..587650568 100644 --- a/packages/dockview/src/dockview/reactWatermarkPart.ts +++ b/packages/dockview/src/dockview/reactWatermarkPart.ts @@ -1,6 +1,5 @@ import * as React from 'react'; import { ReactPart, ReactPortalStore } from '../react'; -import { IGroupPanelBaseProps } from './dockview'; import { PanelUpdateEvent, DockviewGroupPanel,