dockview-core 4.13.1 → 5.0.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/README.md +56 -8
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts +5 -0
- package/dist/cjs/api/dockviewGroupPanelApi.js +13 -1
- package/dist/cjs/api/dockviewPanelApi.js +1 -1
- package/dist/cjs/constants.js +6 -1
- package/dist/cjs/dnd/abstractDragHandler.js +3 -1
- package/dist/cjs/dnd/droptarget.js +2 -2
- package/dist/cjs/dockview/components/popupService.js +2 -0
- package/dist/cjs/dockview/components/titlebar/tabs.d.ts +5 -0
- package/dist/cjs/dockview/components/titlebar/tabs.js +31 -4
- package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +5 -0
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +21 -0
- package/dist/cjs/dockview/deserializer.js +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +2 -1
- package/dist/cjs/dockview/dockviewComponent.js +73 -47
- package/dist/cjs/dockview/dockviewGroupPanel.js +16 -13
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +11 -1
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +62 -5
- package/dist/cjs/dockview/framework.d.ts +2 -0
- package/dist/cjs/dockview/options.d.ts +3 -0
- package/dist/cjs/dockview/options.js +1 -0
- package/dist/cjs/dom.js +9 -1
- package/dist/cjs/framwork.d.ts +1 -1
- package/dist/cjs/lifecycle.d.ts +2 -1
- package/dist/cjs/lifecycle.js +6 -3
- package/dist/cjs/overlay/overlay.js +2 -1
- package/dist/cjs/scrollbar.d.ts +5 -2
- package/dist/cjs/scrollbar.js +88 -26
- package/dist/dockview-core.js +265 -66
- 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 +264 -65
- package/dist/esm/api/dockviewGroupPanelApi.d.ts +5 -0
- package/dist/esm/api/dockviewGroupPanelApi.js +14 -2
- package/dist/esm/api/dockviewPanelApi.js +1 -1
- package/dist/esm/constants.js +6 -1
- package/dist/esm/dnd/abstractDragHandler.js +3 -1
- package/dist/esm/dnd/droptarget.js +2 -2
- package/dist/esm/dockview/components/popupService.js +2 -0
- package/dist/esm/dockview/components/titlebar/tabs.d.ts +5 -0
- package/dist/esm/dockview/components/titlebar/tabs.js +28 -5
- package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +5 -0
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +18 -1
- package/dist/esm/dockview/deserializer.js +1 -1
- package/dist/esm/dockview/dockviewComponent.d.ts +2 -1
- package/dist/esm/dockview/dockviewComponent.js +15 -3
- package/dist/esm/dockview/dockviewGroupPanel.js +17 -14
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +11 -1
- package/dist/esm/dockview/dockviewGroupPanelModel.js +61 -8
- package/dist/esm/dockview/framework.d.ts +2 -0
- package/dist/esm/dockview/options.d.ts +3 -0
- package/dist/esm/dockview/options.js +1 -0
- package/dist/esm/dom.js +9 -1
- package/dist/esm/framwork.d.ts +1 -1
- package/dist/esm/lifecycle.d.ts +2 -1
- package/dist/esm/lifecycle.js +6 -3
- package/dist/esm/overlay/overlay.js +2 -1
- package/dist/esm/scrollbar.d.ts +5 -2
- package/dist/esm/scrollbar.js +85 -27
- package/dist/{dockview-core.cjs.js → package/main.cjs.js} +265 -66
- package/dist/package/main.cjs.min.js +7 -0
- package/dist/package/main.esm.min.mjs +7 -0
- package/dist/{dockview-core.esm.js → package/main.esm.mjs} +265 -66
- package/dist/styles/dockview.css +63 -7
- package/package.json +63 -53
- package/dist/dockview-core.amd.js +0 -11373
- package/dist/dockview-core.amd.js.map +0 -1
- package/dist/dockview-core.amd.min.js +0 -8
- package/dist/dockview-core.amd.min.js.map +0 -1
- package/dist/dockview-core.amd.min.noStyle.js +0 -8
- package/dist/dockview-core.amd.min.noStyle.js.map +0 -1
- package/dist/dockview-core.amd.noStyle.js +0 -11343
- package/dist/dockview-core.amd.noStyle.js.map +0 -1
- package/dist/dockview-core.cjs.js.map +0 -1
- package/dist/dockview-core.esm.js.map +0 -1
- package/dist/dockview-core.esm.min.js +0 -8
- package/dist/dockview-core.esm.min.js.map +0 -1
- package/dist/dockview-core.js.map +0 -1
- package/dist/dockview-core.noStyle.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<h1>dockview</h1>
|
|
2
|
+
<h1>dockview-core</h1>
|
|
3
3
|
|
|
4
|
-
<p>
|
|
4
|
+
<p>Framework-agnostic core layout engine — zero dependencies, vanilla TypeScript. Supports tabs, groups, grids and splitviews</p>
|
|
5
5
|
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
[](https://www.npmjs.com/package/dockview)
|
|
11
|
-
[](https://www.npmjs.com/package/dockview)
|
|
10
|
+
[](https://www.npmjs.com/package/dockview-core)
|
|
11
|
+
[](https://www.npmjs.com/package/dockview-core)
|
|
12
12
|
[](https://github.com/mathuo/dockview/actions?query=workflow%3ACI)
|
|
13
13
|
[](https://sonarcloud.io/summary/overall?id=mathuo_dockview)
|
|
14
14
|
[](https://sonarcloud.io/summary/overall?id=mathuo_dockview)
|
|
15
|
-
[](https://bundlephobia.com/result?p=dockview)
|
|
15
|
+
[](https://bundlephobia.com/result?p=dockview-core)
|
|
16
16
|
|
|
17
17
|
##
|
|
18
18
|
|
|
19
|
-

|
|
19
|
+

|
|
20
20
|
|
|
21
21
|
Please see the website: https://dockview.dev
|
|
22
22
|
|
|
@@ -33,6 +33,54 @@ Please see the website: https://dockview.dev
|
|
|
33
33
|
- High test coverage
|
|
34
34
|
- Documentation website with live examples
|
|
35
35
|
- Transparent builds and Code Analysis
|
|
36
|
-
- Security at mind -
|
|
36
|
+
- Security at mind - verified publishing and builds through GitHub Actions
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
## Quick Start
|
|
39
|
+
|
|
40
|
+
Install from [npm](https://www.npmjs.com/package/dockview-core):
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
npm install dockview-core
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Import the stylesheet:
|
|
47
|
+
|
|
48
|
+
```css
|
|
49
|
+
@import 'dockview-core/dist/styles/dockview.css';
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Create a dockview instance:
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
import { DockviewComponent } from 'dockview-core';
|
|
56
|
+
|
|
57
|
+
const element = document.getElementById('app');
|
|
58
|
+
|
|
59
|
+
const dockview = new DockviewComponent(element, {
|
|
60
|
+
createComponent: (options) => {
|
|
61
|
+
switch (options.name) {
|
|
62
|
+
case 'my-component':
|
|
63
|
+
return {
|
|
64
|
+
init: (params) => {
|
|
65
|
+
params.containerElement.textContent = 'Hello World';
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
dockview.addPanel({
|
|
73
|
+
id: 'panel_1',
|
|
74
|
+
component: 'my-component',
|
|
75
|
+
});
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Apply a theme to a parent element:
|
|
79
|
+
|
|
80
|
+
```html
|
|
81
|
+
<div id="app" class="dockview-theme-dark" style="height: 400px;"></div>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
See the [documentation](https://dockview.dev) for full examples.
|
|
85
|
+
|
|
86
|
+
Want to verify our builds? Go [here](https://www.npmjs.com/package/dockview-core#Provenance).
|
|
@@ -2,6 +2,7 @@ import { Position } from '../dnd/droptarget';
|
|
|
2
2
|
import { DockviewComponent } from '../dockview/dockviewComponent';
|
|
3
3
|
import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
|
|
4
4
|
import { DockviewGroupChangeEvent, DockviewGroupLocation } from '../dockview/dockviewGroupPanelModel';
|
|
5
|
+
import { DockviewHeaderPosition } from '../dockview/options';
|
|
5
6
|
import { Emitter, Event } from '../events';
|
|
6
7
|
import { GridviewPanelApi, GridviewPanelApiImpl, SizeEvent } from './gridviewPanelApi';
|
|
7
8
|
export interface DockviewGroupMoveParams {
|
|
@@ -25,6 +26,8 @@ export interface DockviewGroupPanelApi extends GridviewPanelApi {
|
|
|
25
26
|
*/
|
|
26
27
|
getWindow(): Window;
|
|
27
28
|
moveTo(options: DockviewGroupMoveParams): void;
|
|
29
|
+
setHeaderPosition(position: DockviewHeaderPosition): void;
|
|
30
|
+
getHeaderPosition(): DockviewHeaderPosition;
|
|
28
31
|
maximize(): void;
|
|
29
32
|
isMaximized(): boolean;
|
|
30
33
|
exitMaximized(): void;
|
|
@@ -46,6 +49,8 @@ export declare class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
46
49
|
setSize(event: SizeEvent): void;
|
|
47
50
|
close(): void;
|
|
48
51
|
getWindow(): Window;
|
|
52
|
+
setHeaderPosition(position: DockviewHeaderPosition): void;
|
|
53
|
+
getHeaderPosition(): DockviewHeaderPosition;
|
|
49
54
|
moveTo(options: DockviewGroupMoveParams): void;
|
|
50
55
|
maximize(): void;
|
|
51
56
|
isMaximized(): boolean;
|
|
@@ -76,6 +76,18 @@ var DockviewGroupPanelApiImpl = /** @class */ (function (_super) {
|
|
|
76
76
|
? this.location.getWindow()
|
|
77
77
|
: window;
|
|
78
78
|
};
|
|
79
|
+
DockviewGroupPanelApiImpl.prototype.setHeaderPosition = function (position) {
|
|
80
|
+
if (!this._group) {
|
|
81
|
+
throw new Error(NOT_INITIALIZED_MESSAGE);
|
|
82
|
+
}
|
|
83
|
+
this._group.model.headerPosition = position;
|
|
84
|
+
};
|
|
85
|
+
DockviewGroupPanelApiImpl.prototype.getHeaderPosition = function () {
|
|
86
|
+
if (!this._group) {
|
|
87
|
+
throw new Error(NOT_INITIALIZED_MESSAGE);
|
|
88
|
+
}
|
|
89
|
+
return this._group.model.headerPosition;
|
|
90
|
+
};
|
|
79
91
|
DockviewGroupPanelApiImpl.prototype.moveTo = function (options) {
|
|
80
92
|
var _a, _b, _c, _d;
|
|
81
93
|
if (!this._group) {
|
|
@@ -90,7 +102,7 @@ var DockviewGroupPanelApiImpl = /** @class */ (function (_super) {
|
|
|
90
102
|
to: {
|
|
91
103
|
group: group,
|
|
92
104
|
position: options.group
|
|
93
|
-
? (_d = options.position) !== null && _d !== void 0 ? _d : 'center'
|
|
105
|
+
? ((_d = options.position) !== null && _d !== void 0 ? _d : 'center')
|
|
94
106
|
: 'center',
|
|
95
107
|
index: options.index,
|
|
96
108
|
},
|
|
@@ -106,7 +106,7 @@ var DockviewPanelApiImpl = /** @class */ (function (_super) {
|
|
|
106
106
|
to: {
|
|
107
107
|
group: (_a = options.group) !== null && _a !== void 0 ? _a : this._group,
|
|
108
108
|
position: options.group
|
|
109
|
-
? (_b = options.position) !== null && _b !== void 0 ? _b : 'center'
|
|
109
|
+
? ((_b = options.position) !== null && _b !== void 0 ? _b : 'center')
|
|
110
110
|
: 'center',
|
|
111
111
|
index: options.index,
|
|
112
112
|
},
|
package/dist/cjs/constants.js
CHANGED
|
@@ -2,5 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DESERIALIZATION_POPOUT_DELAY_MS = exports.DEFAULT_FLOATING_GROUP_POSITION = exports.DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE = void 0;
|
|
4
4
|
exports.DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE = 100;
|
|
5
|
-
exports.DEFAULT_FLOATING_GROUP_POSITION = {
|
|
5
|
+
exports.DEFAULT_FLOATING_GROUP_POSITION = {
|
|
6
|
+
left: 100,
|
|
7
|
+
top: 100,
|
|
8
|
+
width: 300,
|
|
9
|
+
height: 300,
|
|
10
|
+
};
|
|
6
11
|
exports.DESERIALIZATION_POPOUT_DELAY_MS = 100;
|
|
@@ -42,7 +42,9 @@ var DragHandler = /** @class */ (function (_super) {
|
|
|
42
42
|
DragHandler.prototype.configure = function () {
|
|
43
43
|
var _this = this;
|
|
44
44
|
this.addDisposables(this._onDragStart, (0, events_1.addDisposableListener)(this.el, 'dragstart', function (event) {
|
|
45
|
-
if (event.defaultPrevented ||
|
|
45
|
+
if (event.defaultPrevented ||
|
|
46
|
+
_this.isCancelled(event) ||
|
|
47
|
+
_this.disabled) {
|
|
46
48
|
event.preventDefault();
|
|
47
49
|
return;
|
|
48
50
|
}
|
|
@@ -58,10 +58,10 @@ function checkBoundsChanged(element, bounds) {
|
|
|
58
58
|
var widthPx = "".concat(Math.round(width), "px");
|
|
59
59
|
var heightPx = "".concat(Math.round(height), "px");
|
|
60
60
|
// Check if position or size changed (back to traditional method)
|
|
61
|
-
return element.style.top !== topPx ||
|
|
61
|
+
return (element.style.top !== topPx ||
|
|
62
62
|
element.style.left !== leftPx ||
|
|
63
63
|
element.style.width !== widthPx ||
|
|
64
|
-
element.style.height !== heightPx;
|
|
64
|
+
element.style.height !== heightPx);
|
|
65
65
|
}
|
|
66
66
|
var WillShowOverlayEvent = /** @class */ (function (_super) {
|
|
67
67
|
__extends(WillShowOverlayEvent, _super);
|
|
@@ -64,6 +64,8 @@ var PopupService = /** @class */ (function (_super) {
|
|
|
64
64
|
return; // clicked within popover
|
|
65
65
|
}
|
|
66
66
|
_this.close();
|
|
67
|
+
}), (0, events_1.addDisposableListener)(window, 'resize', function () {
|
|
68
|
+
_this.close();
|
|
67
69
|
}));
|
|
68
70
|
requestAnimationFrame(function () {
|
|
69
71
|
(0, dom_1.shiftAbsoluteElementIntoView)(wrapper, _this.root);
|
|
@@ -4,6 +4,7 @@ import { DockviewComponent } from '../../dockviewComponent';
|
|
|
4
4
|
import { DockviewGroupPanel } from '../../dockviewGroupPanel';
|
|
5
5
|
import { DockviewWillShowOverlayLocationEvent } from '../../events';
|
|
6
6
|
import { IDockviewPanel } from '../../dockviewPanel';
|
|
7
|
+
import { DockviewHeaderDirection } from '../../options';
|
|
7
8
|
import { Tab } from '../tab/tab';
|
|
8
9
|
import { TabDragEvent, TabDropIndexEvent } from './tabsContainer';
|
|
9
10
|
export declare class Tabs extends CompositeDisposable {
|
|
@@ -12,9 +13,11 @@ export declare class Tabs extends CompositeDisposable {
|
|
|
12
13
|
private readonly _element;
|
|
13
14
|
private readonly _tabsList;
|
|
14
15
|
private readonly _observerDisposable;
|
|
16
|
+
private readonly _scrollbar;
|
|
15
17
|
private _tabs;
|
|
16
18
|
private selectedIndex;
|
|
17
19
|
private _showTabsOverflowControl;
|
|
20
|
+
private _direction;
|
|
18
21
|
private readonly _onTabDragStart;
|
|
19
22
|
readonly onTabDragStart: Event<TabDragEvent>;
|
|
20
23
|
private readonly _onDrop;
|
|
@@ -32,6 +35,8 @@ export declare class Tabs extends CompositeDisposable {
|
|
|
32
35
|
get panels(): string[];
|
|
33
36
|
get size(): number;
|
|
34
37
|
get tabs(): Tab[];
|
|
38
|
+
get direction(): DockviewHeaderDirection;
|
|
39
|
+
set direction(value: DockviewHeaderDirection);
|
|
35
40
|
constructor(group: DockviewGroupPanel, accessor: DockviewComponent, options: {
|
|
36
41
|
showTabsOverflowControl: boolean;
|
|
37
42
|
});
|
|
@@ -66,9 +66,11 @@ var Tabs = /** @class */ (function (_super) {
|
|
|
66
66
|
_this.group = group;
|
|
67
67
|
_this.accessor = accessor;
|
|
68
68
|
_this._observerDisposable = new lifecycle_1.MutableDisposable();
|
|
69
|
+
_this._scrollbar = null;
|
|
69
70
|
_this._tabs = [];
|
|
70
71
|
_this.selectedIndex = -1;
|
|
71
72
|
_this._showTabsOverflowControl = false;
|
|
73
|
+
_this._direction = 'horizontal';
|
|
72
74
|
_this._onTabDragStart = new events_1.Emitter();
|
|
73
75
|
_this.onTabDragStart = _this._onTabDragStart.event;
|
|
74
76
|
_this._onDrop = new events_1.Emitter();
|
|
@@ -78,15 +80,16 @@ var Tabs = /** @class */ (function (_super) {
|
|
|
78
80
|
_this._onOverflowTabsChange = new events_1.Emitter();
|
|
79
81
|
_this.onOverflowTabsChange = _this._onOverflowTabsChange.event;
|
|
80
82
|
_this._tabsList = document.createElement('div');
|
|
81
|
-
_this._tabsList.className = 'dv-tabs-container
|
|
83
|
+
_this._tabsList.className = 'dv-tabs-container';
|
|
82
84
|
_this.showTabsOverflowControl = options.showTabsOverflowControl;
|
|
83
85
|
if (accessor.options.scrollbars === 'native') {
|
|
84
86
|
_this._element = _this._tabsList;
|
|
85
87
|
}
|
|
86
88
|
else {
|
|
87
|
-
|
|
88
|
-
_this.
|
|
89
|
-
_this.
|
|
89
|
+
_this._scrollbar = new scrollbar_1.Scrollbar(_this._tabsList);
|
|
90
|
+
_this._scrollbar.orientation = _this.direction;
|
|
91
|
+
_this._element = _this._scrollbar.element;
|
|
92
|
+
_this.addDisposables(_this._scrollbar);
|
|
90
93
|
}
|
|
91
94
|
_this.addDisposables(_this._onOverflowTabsChange, _this._observerDisposable, _this._onWillShowOverlay, _this._onDrop, _this._onTabDragStart, (0, events_1.addDisposableListener)(_this.element, 'pointerdown', function (event) {
|
|
92
95
|
if (event.defaultPrevented) {
|
|
@@ -167,6 +170,30 @@ var Tabs = /** @class */ (function (_super) {
|
|
|
167
170
|
enumerable: false,
|
|
168
171
|
configurable: true
|
|
169
172
|
});
|
|
173
|
+
Object.defineProperty(Tabs.prototype, "direction", {
|
|
174
|
+
get: function () {
|
|
175
|
+
return this._direction;
|
|
176
|
+
},
|
|
177
|
+
set: function (value) {
|
|
178
|
+
if (this._direction === value) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
this._direction = value;
|
|
182
|
+
if (this._scrollbar) {
|
|
183
|
+
this._scrollbar.orientation = value;
|
|
184
|
+
}
|
|
185
|
+
(0, dom_1.removeClasses)(this._tabsList, 'dv-horizontal', 'dv-vertical');
|
|
186
|
+
if (value === 'vertical') {
|
|
187
|
+
(0, dom_1.addClasses)(this._tabsList, 'dv-tabs-container-vertical', 'dv-vertical');
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
(0, dom_1.removeClasses)(this._tabsList, 'dv-tabs-container-vertical');
|
|
191
|
+
(0, dom_1.addClasses)(this._tabsList, 'dv-horizontal');
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
enumerable: false,
|
|
195
|
+
configurable: true
|
|
196
|
+
});
|
|
170
197
|
Tabs.prototype.indexOf = function (id) {
|
|
171
198
|
return this._tabs.findIndex(function (tab) { return tab.value.panel.id === id; });
|
|
172
199
|
};
|
|
@@ -5,6 +5,7 @@ import { DockviewGroupPanel } from '../../dockviewGroupPanel';
|
|
|
5
5
|
import { IDockviewPanel } from '../../dockviewPanel';
|
|
6
6
|
import { DockviewComponent } from '../../dockviewComponent';
|
|
7
7
|
import { DockviewWillShowOverlayLocationEvent } from '../../events';
|
|
8
|
+
import { DockviewHeaderDirection } from '../../options';
|
|
8
9
|
export interface TabDropIndexEvent {
|
|
9
10
|
readonly event: DragEvent;
|
|
10
11
|
readonly index: number;
|
|
@@ -26,6 +27,7 @@ export interface ITabsContainer extends IDisposable {
|
|
|
26
27
|
readonly onGroupDragStart: Event<GroupDragEvent>;
|
|
27
28
|
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
28
29
|
hidden: boolean;
|
|
30
|
+
direction: DockviewHeaderDirection;
|
|
29
31
|
delete(id: string): void;
|
|
30
32
|
indexOf(id: string): number;
|
|
31
33
|
setActive(isGroupActive: boolean): void;
|
|
@@ -53,6 +55,7 @@ export declare class TabsContainer extends CompositeDisposable implements ITabsC
|
|
|
53
55
|
private leftActions;
|
|
54
56
|
private preActions;
|
|
55
57
|
private _hidden;
|
|
58
|
+
private _direction;
|
|
56
59
|
private dropdownPart;
|
|
57
60
|
private _overflowTabs;
|
|
58
61
|
private readonly _dropdownDisposable;
|
|
@@ -67,6 +70,8 @@ export declare class TabsContainer extends CompositeDisposable implements ITabsC
|
|
|
67
70
|
get size(): number;
|
|
68
71
|
get hidden(): boolean;
|
|
69
72
|
set hidden(value: boolean);
|
|
73
|
+
get direction(): DockviewHeaderDirection;
|
|
74
|
+
set direction(value: DockviewHeaderDirection);
|
|
70
75
|
get element(): HTMLElement;
|
|
71
76
|
constructor(accessor: DockviewComponent, group: DockviewGroupPanel);
|
|
72
77
|
show(): void;
|
|
@@ -42,6 +42,7 @@ var TabsContainer = /** @class */ (function (_super) {
|
|
|
42
42
|
_this.accessor = accessor;
|
|
43
43
|
_this.group = group;
|
|
44
44
|
_this._hidden = false;
|
|
45
|
+
_this._direction = 'horizontal';
|
|
45
46
|
_this.dropdownPart = null;
|
|
46
47
|
_this._overflowTabs = [];
|
|
47
48
|
_this._dropdownDisposable = new lifecycle_1.MutableDisposable();
|
|
@@ -144,6 +145,26 @@ var TabsContainer = /** @class */ (function (_super) {
|
|
|
144
145
|
enumerable: false,
|
|
145
146
|
configurable: true
|
|
146
147
|
});
|
|
148
|
+
Object.defineProperty(TabsContainer.prototype, "direction", {
|
|
149
|
+
get: function () {
|
|
150
|
+
return this._direction;
|
|
151
|
+
},
|
|
152
|
+
set: function (value) {
|
|
153
|
+
this._direction = value;
|
|
154
|
+
if (value === 'vertical') {
|
|
155
|
+
(0, dom_1.addClasses)(this._element, 'dv-groupview-header-vertical');
|
|
156
|
+
(0, dom_1.addClasses)(this.rightActionsContainer, 'dv-right-actions-container-vertical');
|
|
157
|
+
this.tabs.direction = value;
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
(0, dom_1.removeClasses)(this._element, 'dv-groupview-header-vertical');
|
|
161
|
+
(0, dom_1.removeClasses)(this.rightActionsContainer, 'dv-right-actions-container-vertical');
|
|
162
|
+
this.tabs.direction = value;
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
enumerable: false,
|
|
166
|
+
configurable: true
|
|
167
|
+
});
|
|
147
168
|
Object.defineProperty(TabsContainer.prototype, "element", {
|
|
148
169
|
get: function () {
|
|
149
170
|
return this._element;
|
|
@@ -16,7 +16,7 @@ var DefaultDockviewDeserialzier = /** @class */ (function () {
|
|
|
16
16
|
var viewData = panelData.view;
|
|
17
17
|
var contentComponent = viewData
|
|
18
18
|
? viewData.content.id
|
|
19
|
-
: (_a = panelData.contentComponent) !== null && _a !== void 0 ? _a : 'unknown';
|
|
19
|
+
: ((_a = panelData.contentComponent) !== null && _a !== void 0 ? _a : 'unknown');
|
|
20
20
|
var tabComponent = viewData
|
|
21
21
|
? (_b = viewData.tab) === null || _b === void 0 ? void 0 : _b.id
|
|
22
22
|
: panelData.tabComponent;
|
|
@@ -3,7 +3,7 @@ import { Position } from '../dnd/droptarget';
|
|
|
3
3
|
import { DockviewPanel, IDockviewPanel } from './dockviewPanel';
|
|
4
4
|
import { Event, Emitter } from '../events';
|
|
5
5
|
import { IWatermarkRenderer, GroupviewPanelState } from './types';
|
|
6
|
-
import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, DockviewDndOverlayEvent, DockviewOptions, MovementOptions } from './options';
|
|
6
|
+
import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, DockviewDndOverlayEvent, DockviewOptions, MovementOptions, DockviewHeaderPosition } from './options';
|
|
7
7
|
import { BaseGrid, IBaseGrid } from '../gridview/baseComponentGridview';
|
|
8
8
|
import { DockviewApi } from '../api/component.api';
|
|
9
9
|
import { Orientation } from '../splitview/splitview';
|
|
@@ -238,6 +238,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
|
|
|
238
238
|
get options(): DockviewComponentOptions;
|
|
239
239
|
get activePanel(): IDockviewPanel | undefined;
|
|
240
240
|
get renderer(): DockviewPanelRenderer;
|
|
241
|
+
get defaultHeaderPosition(): DockviewHeaderPosition;
|
|
241
242
|
get api(): DockviewApi;
|
|
242
243
|
get floatingGroups(): DockviewFloatingGroupPanel[];
|
|
243
244
|
/**
|