dockview-core 1.15.3 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/component.api.d.ts +30 -6
- package/dist/cjs/api/component.api.js +42 -6
- package/dist/cjs/api/dockviewPanelApi.d.ts +1 -1
- package/dist/cjs/api/entryPoints.d.ts +9 -0
- package/dist/cjs/api/entryPoints.js +28 -0
- package/dist/cjs/dnd/abstractDragHandler.js +2 -65
- package/dist/cjs/dockview/components/titlebar/voidContainer.js +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +4 -2
- package/dist/cjs/dockview/dockviewComponent.js +59 -17
- package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts +1 -1
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +1 -1
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +1 -1
- package/dist/cjs/dockview/dockviewPanel.d.ts +1 -1
- package/dist/cjs/dockview/dockviewPanel.js +1 -1
- package/dist/cjs/dockview/options.d.ts +2 -2
- package/dist/cjs/dockview/options.js +1 -0
- package/dist/cjs/dockview/types.d.ts +1 -1
- package/dist/cjs/dom.d.ts +3 -0
- package/dist/cjs/dom.js +66 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +3 -2
- package/dist/cjs/gridview/baseComponentGridview.js +3 -0
- package/dist/cjs/gridview/gridviewComponent.d.ts +1 -1
- package/dist/cjs/gridview/gridviewComponent.js +3 -2
- package/dist/cjs/gridview/options.d.ts +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/{dnd → overlay}/overlay.d.ts +3 -0
- package/dist/cjs/{dnd → overlay}/overlay.js +41 -82
- package/dist/cjs/{overlayRenderContainer.d.ts → overlay/overlayRenderContainer.d.ts} +7 -5
- package/dist/cjs/{overlayRenderContainer.js → overlay/overlayRenderContainer.js} +41 -6
- package/dist/cjs/paneview/options.d.ts +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +1 -1
- package/dist/cjs/paneview/paneviewComponent.js +5 -2
- package/dist/cjs/splitview/options.d.ts +1 -1
- package/dist/cjs/splitview/splitview.js +64 -71
- package/dist/cjs/splitview/splitviewComponent.d.ts +1 -1
- package/dist/cjs/splitview/splitviewComponent.js +5 -2
- package/dist/dockview-core.amd.js +258 -98
- package/dist/dockview-core.amd.js.map +1 -1
- package/dist/dockview-core.amd.min.js +2 -2
- package/dist/dockview-core.amd.min.js.map +1 -1
- package/dist/dockview-core.amd.min.noStyle.js +2 -2
- package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-core.amd.noStyle.js +257 -97
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +258 -98
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +255 -99
- package/dist/dockview-core.esm.js.map +1 -1
- package/dist/dockview-core.esm.min.js +2 -2
- package/dist/dockview-core.esm.min.js.map +1 -1
- package/dist/dockview-core.js +258 -98
- package/dist/dockview-core.js.map +1 -1
- package/dist/dockview-core.min.js +2 -2
- package/dist/dockview-core.min.js.map +1 -1
- package/dist/dockview-core.min.noStyle.js +2 -2
- package/dist/dockview-core.min.noStyle.js.map +1 -1
- package/dist/dockview-core.noStyle.js +257 -97
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +30 -6
- package/dist/esm/api/component.api.js +42 -6
- package/dist/esm/api/dockviewPanelApi.d.ts +1 -1
- package/dist/esm/api/entryPoints.d.ts +9 -0
- package/dist/esm/api/entryPoints.js +21 -0
- package/dist/esm/dnd/abstractDragHandler.js +3 -11
- package/dist/esm/dockview/components/panel/content.js +1 -1
- package/dist/esm/dockview/components/titlebar/voidContainer.js +1 -1
- package/dist/esm/dockview/dockviewComponent.d.ts +4 -2
- package/dist/esm/dockview/dockviewComponent.js +47 -13
- package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +1 -1
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +1 -1
- package/dist/esm/dockview/dockviewGroupPanelModel.js +1 -1
- package/dist/esm/dockview/dockviewPanel.d.ts +1 -1
- package/dist/esm/dockview/dockviewPanel.js +1 -1
- package/dist/esm/dockview/options.d.ts +2 -2
- package/dist/esm/dockview/options.js +1 -0
- package/dist/esm/dockview/types.d.ts +1 -1
- package/dist/esm/dom.d.ts +3 -0
- package/dist/esm/dom.js +20 -0
- package/dist/esm/gridview/baseComponentGridview.d.ts +3 -2
- package/dist/esm/gridview/baseComponentGridview.js +3 -0
- package/dist/esm/gridview/gridviewComponent.d.ts +1 -1
- package/dist/esm/gridview/gridviewComponent.js +3 -2
- package/dist/esm/gridview/options.d.ts +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/{dnd → overlay}/overlay.d.ts +3 -0
- package/dist/esm/{dnd → overlay}/overlay.js +36 -32
- package/dist/esm/{overlayRenderContainer.d.ts → overlay/overlayRenderContainer.d.ts} +7 -5
- package/dist/esm/{overlayRenderContainer.js → overlay/overlayRenderContainer.js} +39 -6
- package/dist/esm/paneview/options.d.ts +1 -1
- package/dist/esm/paneview/paneviewComponent.d.ts +1 -1
- package/dist/esm/paneview/paneviewComponent.js +5 -2
- package/dist/esm/splitview/options.d.ts +1 -1
- package/dist/esm/splitview/splitview.js +37 -27
- package/dist/esm/splitview/splitviewComponent.d.ts +1 -1
- package/dist/esm/splitview/splitviewComponent.js +5 -2
- package/dist/styles/dockview.css +78 -82
- package/package.json +1 -1
package/dist/cjs/dom.js
CHANGED
|
@@ -25,8 +25,33 @@ var __values = (this && this.__values) || function(o) {
|
|
|
25
25
|
};
|
|
26
26
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
27
27
|
};
|
|
28
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
29
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
30
|
+
if (!m) return o;
|
|
31
|
+
var i = m.call(o), r, ar = [], e;
|
|
32
|
+
try {
|
|
33
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
34
|
+
}
|
|
35
|
+
catch (error) { e = { error: error }; }
|
|
36
|
+
finally {
|
|
37
|
+
try {
|
|
38
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
39
|
+
}
|
|
40
|
+
finally { if (e) throw e.error; }
|
|
41
|
+
}
|
|
42
|
+
return ar;
|
|
43
|
+
};
|
|
44
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
45
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
46
|
+
if (ar || !(i in from)) {
|
|
47
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
48
|
+
ar[i] = from[i];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
52
|
+
};
|
|
28
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.addTestId = exports.isInDocument = exports.getDomNodePagePosition = exports.addStyles = exports.quasiDefaultPrevented = exports.quasiPreventDefault = exports.trackFocus = exports.getElementsByTagName = exports.isAncestor = exports.toggleClass = exports.addClasses = exports.removeClasses = exports.watchElementResize = void 0;
|
|
54
|
+
exports.disableIframePointEvents = exports.addTestId = exports.isInDocument = exports.getDomNodePagePosition = exports.addStyles = exports.quasiDefaultPrevented = exports.quasiPreventDefault = exports.trackFocus = exports.getElementsByTagName = exports.isAncestor = exports.toggleClass = exports.addClasses = exports.removeClasses = exports.watchElementResize = void 0;
|
|
30
55
|
var events_1 = require("./events");
|
|
31
56
|
var lifecycle_1 = require("./lifecycle");
|
|
32
57
|
function watchElementResize(element, cb) {
|
|
@@ -278,3 +303,43 @@ function addTestId(element, id) {
|
|
|
278
303
|
element.setAttribute('data-testid', id);
|
|
279
304
|
}
|
|
280
305
|
exports.addTestId = addTestId;
|
|
306
|
+
function disableIframePointEvents() {
|
|
307
|
+
var e_5, _a;
|
|
308
|
+
var iframes = __spreadArray(__spreadArray([], __read(getElementsByTagName('iframe')), false), __read(getElementsByTagName('webview')), false);
|
|
309
|
+
var original = new WeakMap(); // don't hold onto HTMLElement references longer than required
|
|
310
|
+
try {
|
|
311
|
+
for (var iframes_1 = __values(iframes), iframes_1_1 = iframes_1.next(); !iframes_1_1.done; iframes_1_1 = iframes_1.next()) {
|
|
312
|
+
var iframe = iframes_1_1.value;
|
|
313
|
+
original.set(iframe, iframe.style.pointerEvents);
|
|
314
|
+
iframe.style.pointerEvents = 'none';
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
318
|
+
finally {
|
|
319
|
+
try {
|
|
320
|
+
if (iframes_1_1 && !iframes_1_1.done && (_a = iframes_1.return)) _a.call(iframes_1);
|
|
321
|
+
}
|
|
322
|
+
finally { if (e_5) throw e_5.error; }
|
|
323
|
+
}
|
|
324
|
+
return {
|
|
325
|
+
release: function () {
|
|
326
|
+
var e_6, _a;
|
|
327
|
+
var _b;
|
|
328
|
+
try {
|
|
329
|
+
for (var iframes_2 = __values(iframes), iframes_2_1 = iframes_2.next(); !iframes_2_1.done; iframes_2_1 = iframes_2.next()) {
|
|
330
|
+
var iframe = iframes_2_1.value;
|
|
331
|
+
iframe.style.pointerEvents = (_b = original.get(iframe)) !== null && _b !== void 0 ? _b : 'auto';
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
335
|
+
finally {
|
|
336
|
+
try {
|
|
337
|
+
if (iframes_2_1 && !iframes_2_1.done && (_a = iframes_2.return)) _a.call(iframes_2);
|
|
338
|
+
}
|
|
339
|
+
finally { if (e_6) throw e_6.error; }
|
|
340
|
+
}
|
|
341
|
+
iframes.splice(0, iframes.length); // don't hold onto HTMLElement references longer than required
|
|
342
|
+
},
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
exports.disableIframePointEvents = disableIframePointEvents;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Event, AsapEvent } from '../events';
|
|
2
2
|
import { Gridview, IGridView } from './gridview';
|
|
3
3
|
import { Position } from '../dnd/droptarget';
|
|
4
|
-
import { IValueDisposable } from '../lifecycle';
|
|
4
|
+
import { IDisposable, IValueDisposable } from '../lifecycle';
|
|
5
5
|
import { ISplitviewStyles, Orientation } from '../splitview/splitview';
|
|
6
6
|
import { IPanel } from '../panel/types';
|
|
7
7
|
import { MovementOptions2 } from '../dockview/options';
|
|
@@ -16,12 +16,13 @@ export interface BaseGridOptions {
|
|
|
16
16
|
readonly disableAutoResizing?: boolean;
|
|
17
17
|
readonly locked?: boolean;
|
|
18
18
|
readonly margin?: number;
|
|
19
|
+
readonly className?: string;
|
|
19
20
|
}
|
|
20
21
|
export interface IGridPanelView extends IGridView, IPanel {
|
|
21
22
|
setActive(isActive: boolean): void;
|
|
22
23
|
readonly isActive: boolean;
|
|
23
24
|
}
|
|
24
|
-
export interface IBaseGrid<T extends IGridPanelView> {
|
|
25
|
+
export interface IBaseGrid<T extends IGridPanelView> extends IDisposable {
|
|
25
26
|
readonly element: HTMLElement;
|
|
26
27
|
readonly id: string;
|
|
27
28
|
readonly width: number;
|
|
@@ -68,6 +68,9 @@ var BaseGrid = /** @class */ (function (_super) {
|
|
|
68
68
|
_this.onDidViewVisibilityChangeMicroTaskQueue = _this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
69
69
|
_this.element.style.height = '100%';
|
|
70
70
|
_this.element.style.width = '100%';
|
|
71
|
+
if (typeof options.className === 'string') {
|
|
72
|
+
_this.element.classList.add(options.className);
|
|
73
|
+
}
|
|
71
74
|
options.parentElement.appendChild(_this.element);
|
|
72
75
|
_this.gridview = new gridview_1.Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
73
76
|
_this.gridview.locked = !!options.locked;
|
|
@@ -62,7 +62,7 @@ export declare class GridviewComponent extends BaseGrid<GridviewPanel> implement
|
|
|
62
62
|
get options(): GridviewComponentOptions;
|
|
63
63
|
get deserializer(): IPanelDeserializer | undefined;
|
|
64
64
|
set deserializer(value: IPanelDeserializer | undefined);
|
|
65
|
-
constructor(options: GridviewComponentOptions);
|
|
65
|
+
constructor(parentElement: HTMLElement, options: GridviewComponentOptions);
|
|
66
66
|
updateOptions(options: Partial<GridviewComponentUpdateOptions>): void;
|
|
67
67
|
removePanel(panel: GridviewPanel): void;
|
|
68
68
|
/**
|
|
@@ -62,13 +62,14 @@ var componentFactory_1 = require("../panel/componentFactory");
|
|
|
62
62
|
var events_1 = require("../events");
|
|
63
63
|
var GridviewComponent = /** @class */ (function (_super) {
|
|
64
64
|
__extends(GridviewComponent, _super);
|
|
65
|
-
function GridviewComponent(options) {
|
|
65
|
+
function GridviewComponent(parentElement, options) {
|
|
66
66
|
var _this = _super.call(this, {
|
|
67
|
-
parentElement:
|
|
67
|
+
parentElement: parentElement,
|
|
68
68
|
proportionalLayout: options.proportionalLayout,
|
|
69
69
|
orientation: options.orientation,
|
|
70
70
|
styles: options.styles,
|
|
71
71
|
disableAutoResizing: options.disableAutoResizing,
|
|
72
|
+
className: options.className,
|
|
72
73
|
}) || this;
|
|
73
74
|
_this._onDidLayoutfromJSON = new events_1.Emitter();
|
|
74
75
|
_this.onDidLayoutFromJSON = _this._onDidLayoutfromJSON.event;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -35,7 +35,7 @@ export * from './gridview/gridviewPanel';
|
|
|
35
35
|
export * from './splitview/splitviewPanel';
|
|
36
36
|
export * from './paneview/paneviewPanel';
|
|
37
37
|
export * from './dockview/types';
|
|
38
|
-
export { DockviewPanelRenderer } from './overlayRenderContainer';
|
|
38
|
+
export { DockviewPanelRenderer } from './overlay/overlayRenderContainer';
|
|
39
39
|
export { Position, positionToDirection, directionToPosition, MeasuredValue, DroptargetOverlayModel, } from './dnd/droptarget';
|
|
40
40
|
export { FocusEvent, PanelDimensionChangeEvent, VisibilityEvent, ActiveEvent, PanelApi, } from './api/panelApi';
|
|
41
41
|
export { SizeEvent, GridviewPanelApi, GridConstraintChangeEvent, } from './api/gridviewPanelApi';
|
|
@@ -44,3 +44,4 @@ export { PanelSizeEvent, PanelConstraintChangeEvent, SplitviewPanelApi, } from '
|
|
|
44
44
|
export { ExpansionEvent, PaneviewPanelApi } from './api/paneviewPanelApi';
|
|
45
45
|
export { DockviewGroupPanelApi, DockviewGroupPanelFloatingChangeEvent, } from './api/dockviewGroupPanelApi';
|
|
46
46
|
export { CommonApi, SplitviewApi, PaneviewApi, GridviewApi, DockviewApi, } from './api/component.api';
|
|
47
|
+
export { createDockview, createGridview, createPaneview, createSplitview, } from './api/entryPoints';
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.DockviewApi = exports.GridviewApi = exports.PaneviewApi = exports.SplitviewApi = exports.directionToPosition = exports.positionToDirection = exports.DockviewDisposable = exports.DockviewCompositeDisposable = exports.DockviewMutableDisposable = exports.DockviewEvent = exports.DockviewEmitter = void 0;
|
|
17
|
+
exports.createSplitview = exports.createPaneview = exports.createGridview = exports.createDockview = exports.DockviewApi = exports.GridviewApi = exports.PaneviewApi = exports.SplitviewApi = exports.directionToPosition = exports.positionToDirection = exports.DockviewDisposable = exports.DockviewCompositeDisposable = exports.DockviewMutableDisposable = exports.DockviewEvent = exports.DockviewEmitter = void 0;
|
|
18
18
|
__exportStar(require("./dnd/dataTransfer"), exports);
|
|
19
19
|
/**
|
|
20
20
|
* Events, Emitters and Disposables are very common concepts that many codebases will contain, however we need
|
|
@@ -60,3 +60,8 @@ Object.defineProperty(exports, "SplitviewApi", { enumerable: true, get: function
|
|
|
60
60
|
Object.defineProperty(exports, "PaneviewApi", { enumerable: true, get: function () { return component_api_1.PaneviewApi; } });
|
|
61
61
|
Object.defineProperty(exports, "GridviewApi", { enumerable: true, get: function () { return component_api_1.GridviewApi; } });
|
|
62
62
|
Object.defineProperty(exports, "DockviewApi", { enumerable: true, get: function () { return component_api_1.DockviewApi; } });
|
|
63
|
+
var entryPoints_1 = require("./api/entryPoints");
|
|
64
|
+
Object.defineProperty(exports, "createDockview", { enumerable: true, get: function () { return entryPoints_1.createDockview; } });
|
|
65
|
+
Object.defineProperty(exports, "createGridview", { enumerable: true, get: function () { return entryPoints_1.createGridview; } });
|
|
66
|
+
Object.defineProperty(exports, "createPaneview", { enumerable: true, get: function () { return entryPoints_1.createPaneview; } });
|
|
67
|
+
Object.defineProperty(exports, "createSplitview", { enumerable: true, get: function () { return entryPoints_1.createSplitview; } });
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Event } from '../events';
|
|
2
2
|
import { CompositeDisposable } from '../lifecycle';
|
|
3
3
|
import { AnchoredBox } from '../types';
|
|
4
|
+
export declare const DEFAULT_OVERLAY_Z_INDEX = 999;
|
|
4
5
|
export declare class Overlay extends CompositeDisposable {
|
|
5
6
|
private readonly options;
|
|
6
7
|
private _element;
|
|
@@ -14,12 +15,14 @@ export declare class Overlay extends CompositeDisposable {
|
|
|
14
15
|
private horiziontalAlignment;
|
|
15
16
|
set minimumInViewportWidth(value: number | undefined);
|
|
16
17
|
set minimumInViewportHeight(value: number | undefined);
|
|
18
|
+
get element(): HTMLElement;
|
|
17
19
|
constructor(options: AnchoredBox & {
|
|
18
20
|
container: HTMLElement;
|
|
19
21
|
content: HTMLElement;
|
|
20
22
|
minimumInViewportWidth?: number;
|
|
21
23
|
minimumInViewportHeight?: number;
|
|
22
24
|
});
|
|
25
|
+
bringToFront(): void;
|
|
23
26
|
setBounds(bounds?: Partial<AnchoredBox>): void;
|
|
24
27
|
toJSON(): AnchoredBox;
|
|
25
28
|
setupDrag(dragTarget: HTMLElement, options?: {
|
|
@@ -50,34 +50,36 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
50
50
|
}
|
|
51
51
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
52
52
|
};
|
|
53
|
-
var __values = (this && this.__values) || function(o) {
|
|
54
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
55
|
-
if (m) return m.call(o);
|
|
56
|
-
if (o && typeof o.length === "number") return {
|
|
57
|
-
next: function () {
|
|
58
|
-
if (o && i >= o.length) o = void 0;
|
|
59
|
-
return { value: o && o[i++], done: !o };
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
63
|
-
};
|
|
64
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
-
exports.Overlay = void 0;
|
|
54
|
+
exports.Overlay = exports.DEFAULT_OVERLAY_Z_INDEX = void 0;
|
|
66
55
|
var dom_1 = require("../dom");
|
|
67
56
|
var events_1 = require("../events");
|
|
68
57
|
var lifecycle_1 = require("../lifecycle");
|
|
69
58
|
var math_1 = require("../math");
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
function
|
|
73
|
-
|
|
74
|
-
(0, dom_1.toggleClass)(previous, 'dv-bring-to-front', false);
|
|
75
|
-
}
|
|
76
|
-
(0, dom_1.toggleClass)(element, 'dv-bring-to-front', true);
|
|
77
|
-
previous = element;
|
|
59
|
+
exports.DEFAULT_OVERLAY_Z_INDEX = 999;
|
|
60
|
+
var AriaLevelTracker = /** @class */ (function () {
|
|
61
|
+
function AriaLevelTracker() {
|
|
62
|
+
this._orderedList = [];
|
|
78
63
|
}
|
|
79
|
-
|
|
80
|
-
})
|
|
64
|
+
AriaLevelTracker.prototype.push = function (element) {
|
|
65
|
+
this._orderedList = __spreadArray(__spreadArray([], __read(this._orderedList.filter(function (item) { return item !== element; })), false), [
|
|
66
|
+
element,
|
|
67
|
+
], false);
|
|
68
|
+
this.update();
|
|
69
|
+
};
|
|
70
|
+
AriaLevelTracker.prototype.destroy = function (element) {
|
|
71
|
+
this._orderedList = this._orderedList.filter(function (item) { return item !== element; });
|
|
72
|
+
this.update();
|
|
73
|
+
};
|
|
74
|
+
AriaLevelTracker.prototype.update = function () {
|
|
75
|
+
for (var i = 0; i < this._orderedList.length; i++) {
|
|
76
|
+
this._orderedList[i].setAttribute('aria-level', "".concat(i));
|
|
77
|
+
this._orderedList[i].style.zIndex = "".concat(exports.DEFAULT_OVERLAY_Z_INDEX + i * 2);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
return AriaLevelTracker;
|
|
81
|
+
}());
|
|
82
|
+
var arialLevelTracker = new AriaLevelTracker();
|
|
81
83
|
var Overlay = /** @class */ (function (_super) {
|
|
82
84
|
__extends(Overlay, _super);
|
|
83
85
|
function Overlay(options) {
|
|
@@ -102,6 +104,7 @@ var Overlay = /** @class */ (function (_super) {
|
|
|
102
104
|
_this.options.container.appendChild(_this._element);
|
|
103
105
|
// if input bad resize within acceptable boundaries
|
|
104
106
|
_this.setBounds(__assign(__assign(__assign(__assign({ height: _this.options.height, width: _this.options.width }, ('top' in _this.options && { top: _this.options.top })), ('bottom' in _this.options && { bottom: _this.options.bottom })), ('left' in _this.options && { left: _this.options.left })), ('right' in _this.options && { right: _this.options.right })));
|
|
107
|
+
arialLevelTracker.push(_this._element);
|
|
105
108
|
return _this;
|
|
106
109
|
}
|
|
107
110
|
Object.defineProperty(Overlay.prototype, "minimumInViewportWidth", {
|
|
@@ -118,6 +121,16 @@ var Overlay = /** @class */ (function (_super) {
|
|
|
118
121
|
enumerable: false,
|
|
119
122
|
configurable: true
|
|
120
123
|
});
|
|
124
|
+
Object.defineProperty(Overlay.prototype, "element", {
|
|
125
|
+
get: function () {
|
|
126
|
+
return this._element;
|
|
127
|
+
},
|
|
128
|
+
enumerable: false,
|
|
129
|
+
configurable: true
|
|
130
|
+
});
|
|
131
|
+
Overlay.prototype.bringToFront = function () {
|
|
132
|
+
arialLevelTracker.push(this._element);
|
|
133
|
+
};
|
|
121
134
|
Overlay.prototype.setBounds = function (bounds) {
|
|
122
135
|
if (bounds === void 0) { bounds = {}; }
|
|
123
136
|
if (typeof bounds.height === 'number') {
|
|
@@ -206,38 +219,11 @@ var Overlay = /** @class */ (function (_super) {
|
|
|
206
219
|
if (options === void 0) { options = { inDragMode: false }; }
|
|
207
220
|
var move = new lifecycle_1.MutableDisposable();
|
|
208
221
|
var track = function () {
|
|
209
|
-
var e_1, _a;
|
|
210
222
|
var offset = null;
|
|
211
|
-
var iframes =
|
|
212
|
-
try {
|
|
213
|
-
for (var iframes_1 = __values(iframes), iframes_1_1 = iframes_1.next(); !iframes_1_1.done; iframes_1_1 = iframes_1.next()) {
|
|
214
|
-
var iframe = iframes_1_1.value;
|
|
215
|
-
iframe.style.pointerEvents = 'none';
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
219
|
-
finally {
|
|
220
|
-
try {
|
|
221
|
-
if (iframes_1_1 && !iframes_1_1.done && (_a = iframes_1.return)) _a.call(iframes_1);
|
|
222
|
-
}
|
|
223
|
-
finally { if (e_1) throw e_1.error; }
|
|
224
|
-
}
|
|
223
|
+
var iframes = (0, dom_1.disableIframePointEvents)();
|
|
225
224
|
move.value = new lifecycle_1.CompositeDisposable({
|
|
226
225
|
dispose: function () {
|
|
227
|
-
|
|
228
|
-
try {
|
|
229
|
-
for (var iframes_2 = __values(iframes), iframes_2_1 = iframes_2.next(); !iframes_2_1.done; iframes_2_1 = iframes_2.next()) {
|
|
230
|
-
var iframe = iframes_2_1.value;
|
|
231
|
-
iframe.style.pointerEvents = 'auto';
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
235
|
-
finally {
|
|
236
|
-
try {
|
|
237
|
-
if (iframes_2_1 && !iframes_2_1.done && (_a = iframes_2.return)) _a.call(iframes_2);
|
|
238
|
-
}
|
|
239
|
-
finally { if (e_2) throw e_2.error; }
|
|
240
|
-
}
|
|
226
|
+
iframes.release();
|
|
241
227
|
},
|
|
242
228
|
}, (0, events_1.addDisposableWindowListener)(window, 'mousemove', function (e) {
|
|
243
229
|
var containerRect = _this.options.container.getBoundingClientRect();
|
|
@@ -306,9 +292,8 @@ var Overlay = /** @class */ (function (_super) {
|
|
|
306
292
|
track();
|
|
307
293
|
}
|
|
308
294
|
}), (0, events_1.addDisposableListener)(this.options.content, 'mousedown', function () {
|
|
309
|
-
|
|
295
|
+
arialLevelTracker.push(_this._element);
|
|
310
296
|
}, true));
|
|
311
|
-
bringElementToFront(this._element);
|
|
312
297
|
if (options.inDragMode) {
|
|
313
298
|
track();
|
|
314
299
|
}
|
|
@@ -320,23 +305,9 @@ var Overlay = /** @class */ (function (_super) {
|
|
|
320
305
|
this._element.appendChild(resizeHandleElement);
|
|
321
306
|
var move = new lifecycle_1.MutableDisposable();
|
|
322
307
|
this.addDisposables(move, (0, events_1.addDisposableListener)(resizeHandleElement, 'mousedown', function (e) {
|
|
323
|
-
var e_3, _a;
|
|
324
308
|
e.preventDefault();
|
|
325
309
|
var startPosition = null;
|
|
326
|
-
var iframes =
|
|
327
|
-
try {
|
|
328
|
-
for (var iframes_3 = __values(iframes), iframes_3_1 = iframes_3.next(); !iframes_3_1.done; iframes_3_1 = iframes_3.next()) {
|
|
329
|
-
var iframe = iframes_3_1.value;
|
|
330
|
-
iframe.style.pointerEvents = 'none';
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
334
|
-
finally {
|
|
335
|
-
try {
|
|
336
|
-
if (iframes_3_1 && !iframes_3_1.done && (_a = iframes_3.return)) _a.call(iframes_3);
|
|
337
|
-
}
|
|
338
|
-
finally { if (e_3) throw e_3.error; }
|
|
339
|
-
}
|
|
310
|
+
var iframes = (0, dom_1.disableIframePointEvents)();
|
|
340
311
|
move.value = new lifecycle_1.CompositeDisposable((0, events_1.addDisposableWindowListener)(window, 'mousemove', function (e) {
|
|
341
312
|
var containerRect = _this.options.container.getBoundingClientRect();
|
|
342
313
|
var overlayRect = _this._element.getBoundingClientRect();
|
|
@@ -459,20 +430,7 @@ var Overlay = /** @class */ (function (_super) {
|
|
|
459
430
|
_this.setBounds(bounds);
|
|
460
431
|
}), {
|
|
461
432
|
dispose: function () {
|
|
462
|
-
|
|
463
|
-
try {
|
|
464
|
-
for (var iframes_4 = __values(iframes), iframes_4_1 = iframes_4.next(); !iframes_4_1.done; iframes_4_1 = iframes_4.next()) {
|
|
465
|
-
var iframe = iframes_4_1.value;
|
|
466
|
-
iframe.style.pointerEvents = 'auto';
|
|
467
|
-
}
|
|
468
|
-
}
|
|
469
|
-
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
470
|
-
finally {
|
|
471
|
-
try {
|
|
472
|
-
if (iframes_4_1 && !iframes_4_1.done && (_a = iframes_4.return)) _a.call(iframes_4);
|
|
473
|
-
}
|
|
474
|
-
finally { if (e_4) throw e_4.error; }
|
|
475
|
-
}
|
|
433
|
+
iframes.release();
|
|
476
434
|
},
|
|
477
435
|
}, (0, events_1.addDisposableWindowListener)(window, 'mouseup', function () {
|
|
478
436
|
move.dispose();
|
|
@@ -493,6 +451,7 @@ var Overlay = /** @class */ (function (_super) {
|
|
|
493
451
|
return 0;
|
|
494
452
|
};
|
|
495
453
|
Overlay.prototype.dispose = function () {
|
|
454
|
+
arialLevelTracker.destroy(this._element);
|
|
496
455
|
this._element.remove();
|
|
497
456
|
_super.prototype.dispose.call(this);
|
|
498
457
|
};
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import { Droptarget } from '
|
|
2
|
-
import { CompositeDisposable } from '
|
|
3
|
-
import { IDockviewPanel } from '
|
|
1
|
+
import { Droptarget } from '../dnd/droptarget';
|
|
2
|
+
import { CompositeDisposable } from '../lifecycle';
|
|
3
|
+
import { IDockviewPanel } from '../dockview/dockviewPanel';
|
|
4
|
+
import { DockviewComponent } from '../dockview/dockviewComponent';
|
|
4
5
|
export type DockviewPanelRenderer = 'onlyWhenVisible' | 'always';
|
|
5
6
|
export interface IRenderable {
|
|
6
7
|
readonly element: HTMLElement;
|
|
7
8
|
readonly dropTarget: Droptarget;
|
|
8
9
|
}
|
|
9
10
|
export declare class OverlayRenderContainer extends CompositeDisposable {
|
|
10
|
-
|
|
11
|
+
readonly element: HTMLElement;
|
|
12
|
+
readonly accessor: DockviewComponent;
|
|
11
13
|
private readonly map;
|
|
12
14
|
private _disposed;
|
|
13
|
-
constructor(element: HTMLElement);
|
|
15
|
+
constructor(element: HTMLElement, accessor: DockviewComponent);
|
|
14
16
|
detatch(panel: IDockviewPanel): boolean;
|
|
15
17
|
attach(options: {
|
|
16
18
|
panel: IDockviewPanel;
|
|
@@ -27,9 +27,10 @@ var __values = (this && this.__values) || function(o) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.OverlayRenderContainer = void 0;
|
|
30
|
-
var dnd_1 = require("
|
|
31
|
-
var dom_1 = require("
|
|
32
|
-
var lifecycle_1 = require("
|
|
30
|
+
var dnd_1 = require("../dnd/dnd");
|
|
31
|
+
var dom_1 = require("../dom");
|
|
32
|
+
var lifecycle_1 = require("../lifecycle");
|
|
33
|
+
var overlay_1 = require("./overlay");
|
|
33
34
|
function createFocusableElement() {
|
|
34
35
|
var element = document.createElement('div');
|
|
35
36
|
element.tabIndex = -1;
|
|
@@ -37,9 +38,10 @@ function createFocusableElement() {
|
|
|
37
38
|
}
|
|
38
39
|
var OverlayRenderContainer = /** @class */ (function (_super) {
|
|
39
40
|
__extends(OverlayRenderContainer, _super);
|
|
40
|
-
function OverlayRenderContainer(element) {
|
|
41
|
+
function OverlayRenderContainer(element, accessor) {
|
|
41
42
|
var _this = _super.call(this) || this;
|
|
42
43
|
_this.element = element;
|
|
44
|
+
_this.accessor = accessor;
|
|
43
45
|
_this.map = {};
|
|
44
46
|
_this._disposed = false;
|
|
45
47
|
_this.addDisposables(lifecycle_1.Disposable.from(function () {
|
|
@@ -108,7 +110,37 @@ var OverlayRenderContainer = /** @class */ (function (_super) {
|
|
|
108
110
|
}
|
|
109
111
|
focusContainer.style.display = panel.api.isVisible ? '' : 'none';
|
|
110
112
|
};
|
|
111
|
-
var
|
|
113
|
+
var observerDisposable = new lifecycle_1.MutableDisposable();
|
|
114
|
+
var correctLayerPosition = function () {
|
|
115
|
+
if (panel.api.location.type === 'floating') {
|
|
116
|
+
queueMicrotask(function () {
|
|
117
|
+
var floatingGroup = _this.accessor.floatingGroups.find(function (group) { return group.group === panel.api.group; });
|
|
118
|
+
if (!floatingGroup) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
var element = floatingGroup.overlay.element;
|
|
122
|
+
var update = function () {
|
|
123
|
+
var level = Number(element.getAttribute('aria-level'));
|
|
124
|
+
focusContainer.style.zIndex = "".concat(overlay_1.DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1);
|
|
125
|
+
};
|
|
126
|
+
var observer = new MutationObserver(function () {
|
|
127
|
+
update();
|
|
128
|
+
});
|
|
129
|
+
observerDisposable.value = lifecycle_1.Disposable.from(function () {
|
|
130
|
+
return observer.disconnect();
|
|
131
|
+
});
|
|
132
|
+
observer.observe(element, {
|
|
133
|
+
attributeFilter: ['aria-level'],
|
|
134
|
+
attributes: true,
|
|
135
|
+
});
|
|
136
|
+
update();
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
var disposable = new lifecycle_1.CompositeDisposable(observerDisposable,
|
|
112
144
|
/**
|
|
113
145
|
* since container is positioned absoutely we must explicitly forward
|
|
114
146
|
* the dnd events for the expect behaviours to continue to occur in terms of dnd
|
|
@@ -132,7 +164,7 @@ var OverlayRenderContainer = /** @class */ (function (_super) {
|
|
|
132
164
|
onDragOver: function (e) {
|
|
133
165
|
referenceContainer.dropTarget.dnd.onDragOver(e);
|
|
134
166
|
},
|
|
135
|
-
}), panel.api.onDidVisibilityChange(function (
|
|
167
|
+
}), panel.api.onDidVisibilityChange(function () {
|
|
136
168
|
/**
|
|
137
169
|
* Control the visibility of the content, however even when not visible (display: none)
|
|
138
170
|
* the content is still maintained within the DOM hence DOM specific attributes
|
|
@@ -144,6 +176,8 @@ var OverlayRenderContainer = /** @class */ (function (_super) {
|
|
|
144
176
|
return;
|
|
145
177
|
}
|
|
146
178
|
resize();
|
|
179
|
+
}), panel.api.onDidLocationChange(function () {
|
|
180
|
+
correctLayerPosition();
|
|
147
181
|
}));
|
|
148
182
|
this.map[panel.api.id].destroy = lifecycle_1.Disposable.from(function () {
|
|
149
183
|
var _a;
|
|
@@ -152,6 +186,7 @@ var OverlayRenderContainer = /** @class */ (function (_super) {
|
|
|
152
186
|
}
|
|
153
187
|
(_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
|
|
154
188
|
});
|
|
189
|
+
correctLayerPosition();
|
|
155
190
|
queueMicrotask(function () {
|
|
156
191
|
if (_this.isDisposed) {
|
|
157
192
|
return;
|
|
@@ -112,7 +112,7 @@ export declare class PaneviewComponent extends Resizable implements IPaneviewCom
|
|
|
112
112
|
get height(): number;
|
|
113
113
|
get width(): number;
|
|
114
114
|
get options(): PaneviewComponentOptions;
|
|
115
|
-
constructor(options: PaneviewComponentOptions);
|
|
115
|
+
constructor(parentElement: HTMLElement, options: PaneviewComponentOptions);
|
|
116
116
|
setVisible(panel: PaneviewPanel, visible: boolean): void;
|
|
117
117
|
focus(): void;
|
|
118
118
|
updateOptions(options: Partial<PaneviewComponentOptions>): void;
|
|
@@ -83,8 +83,8 @@ var PaneFramework = /** @class */ (function (_super) {
|
|
|
83
83
|
exports.PaneFramework = PaneFramework;
|
|
84
84
|
var PaneviewComponent = /** @class */ (function (_super) {
|
|
85
85
|
__extends(PaneviewComponent, _super);
|
|
86
|
-
function PaneviewComponent(options) {
|
|
87
|
-
var _this = _super.call(this,
|
|
86
|
+
function PaneviewComponent(parentElement, options) {
|
|
87
|
+
var _this = _super.call(this, parentElement, options.disableAutoResizing) || this;
|
|
88
88
|
_this._id = nextLayoutId.next();
|
|
89
89
|
_this._disposable = new lifecycle_1.MutableDisposable();
|
|
90
90
|
_this._viewDisposables = new Map();
|
|
@@ -98,6 +98,9 @@ var PaneviewComponent = /** @class */ (function (_super) {
|
|
|
98
98
|
_this.onDidAddView = _this._onDidAddView.event;
|
|
99
99
|
_this._onDidRemoveView = new events_1.Emitter();
|
|
100
100
|
_this.onDidRemoveView = _this._onDidRemoveView.event;
|
|
101
|
+
if (typeof options.className === 'string') {
|
|
102
|
+
_this.element.classList.add(options.className);
|
|
103
|
+
}
|
|
101
104
|
_this.addDisposables(_this._onDidLayoutChange, _this._onDidLayoutfromJSON, _this._onDidDrop, _this._onDidAddView, _this._onDidRemoveView);
|
|
102
105
|
_this._options = options;
|
|
103
106
|
if (!options.components) {
|