dockview-react 3.0.2 → 3.1.1
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/dockview-react.amd.js +47 -48
- package/dist/dockview-react.amd.js.map +1 -1
- package/dist/dockview-react.amd.min.js +2 -2
- package/dist/dockview-react.amd.min.js.map +1 -1
- package/dist/dockview-react.amd.min.noStyle.js +2 -2
- package/dist/dockview-react.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-react.amd.noStyle.js +46 -47
- package/dist/dockview-react.amd.noStyle.js.map +1 -1
- package/dist/dockview-react.cjs.js +47 -48
- package/dist/dockview-react.cjs.js.map +1 -1
- package/dist/dockview-react.esm.js +47 -48
- package/dist/dockview-react.esm.js.map +1 -1
- package/dist/dockview-react.esm.min.js +2 -2
- package/dist/dockview-react.esm.min.js.map +1 -1
- package/dist/dockview-react.js +47 -48
- package/dist/dockview-react.js.map +1 -1
- package/dist/dockview-react.min.js +2 -2
- package/dist/dockview-react.min.js.map +1 -1
- package/dist/dockview-react.min.noStyle.js +2 -2
- package/dist/dockview-react.min.noStyle.js.map +1 -1
- package/dist/dockview-react.noStyle.js +46 -47
- package/dist/dockview-react.noStyle.js.map +1 -1
- package/dist/styles/dockview.css +2 -2
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-react
|
|
3
|
-
* @version 3.
|
|
3
|
+
* @version 3.1.1
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -4742,8 +4742,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4742
4742
|
this.accessor = accessor;
|
|
4743
4743
|
this.group = group;
|
|
4744
4744
|
this.content = undefined;
|
|
4745
|
-
this.
|
|
4746
|
-
this.
|
|
4745
|
+
this._onPointDown = new Emitter();
|
|
4746
|
+
this.onPointerDown = this._onPointDown.event;
|
|
4747
4747
|
this._onDropped = new Emitter();
|
|
4748
4748
|
this.onDrop = this._onDropped.event;
|
|
4749
4749
|
this._onDragStart = new Emitter();
|
|
@@ -4773,13 +4773,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4773
4773
|
},
|
|
4774
4774
|
});
|
|
4775
4775
|
this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
|
|
4776
|
-
this.addDisposables(this.
|
|
4776
|
+
this.addDisposables(this._onPointDown, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
|
|
4777
4777
|
this._onDragStart.fire(event);
|
|
4778
4778
|
}), dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
|
|
4779
|
-
|
|
4780
|
-
return;
|
|
4781
|
-
}
|
|
4782
|
-
this._onChanged.fire(event);
|
|
4779
|
+
this._onPointDown.fire(event);
|
|
4783
4780
|
}), this.dropTarget.onDrop((event) => {
|
|
4784
4781
|
this._onDropped.fire(event);
|
|
4785
4782
|
}), this.dropTarget);
|
|
@@ -5057,6 +5054,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5057
5054
|
delete(id) {
|
|
5058
5055
|
const index = this.tabs.findIndex((tab) => tab.value.panel.id === id);
|
|
5059
5056
|
const tabToRemove = this.tabs.splice(index, 1)[0];
|
|
5057
|
+
if (!tabToRemove) {
|
|
5058
|
+
throw new Error(`dockview: Tab not found`);
|
|
5059
|
+
}
|
|
5060
5060
|
const { value, disposable } = tabToRemove;
|
|
5061
5061
|
disposable.dispose();
|
|
5062
5062
|
value.dispose();
|
|
@@ -5077,7 +5077,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5077
5077
|
tab.setContent(panel.view.tab);
|
|
5078
5078
|
const disposable = new CompositeDisposable(tab.onDragStart((event) => {
|
|
5079
5079
|
this._onTabDragStart.fire({ nativeEvent: event, panel });
|
|
5080
|
-
}), tab.
|
|
5080
|
+
}), tab.onPointerDown((event) => {
|
|
5081
|
+
if (event.defaultPrevented) {
|
|
5082
|
+
return;
|
|
5083
|
+
}
|
|
5081
5084
|
const isFloatingGroupsEnabled = !this.accessor.options.disableFloatingGroups;
|
|
5082
5085
|
const isFloatingWithOnePanel = this.group.api.location.type === 'floating' &&
|
|
5083
5086
|
this.size === 1;
|
|
@@ -5095,12 +5098,12 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5095
5098
|
});
|
|
5096
5099
|
return;
|
|
5097
5100
|
}
|
|
5098
|
-
|
|
5099
|
-
|
|
5100
|
-
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
|
|
5101
|
+
switch (event.button) {
|
|
5102
|
+
case 0: // left click or touch
|
|
5103
|
+
if (this.group.activePanel !== panel) {
|
|
5104
|
+
this.group.model.openPanel(panel);
|
|
5105
|
+
}
|
|
5106
|
+
break;
|
|
5104
5107
|
}
|
|
5105
5108
|
}), tab.onDrop((event) => {
|
|
5106
5109
|
this._onDrop.fire({
|
|
@@ -6050,12 +6053,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6050
6053
|
constructor(id, accessor) {
|
|
6051
6054
|
super(id, '__dockviewgroup__');
|
|
6052
6055
|
this.accessor = accessor;
|
|
6053
|
-
this._mutableDisposable = new MutableDisposable();
|
|
6054
6056
|
this._onDidLocationChange = new Emitter();
|
|
6055
6057
|
this.onDidLocationChange = this._onDidLocationChange.event;
|
|
6056
6058
|
this._onDidActivePanelChange = new Emitter();
|
|
6057
6059
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
6058
|
-
this.addDisposables(this._onDidLocationChange, this._onDidActivePanelChange
|
|
6060
|
+
this.addDisposables(this._onDidLocationChange, this._onDidActivePanelChange);
|
|
6059
6061
|
}
|
|
6060
6062
|
close() {
|
|
6061
6063
|
if (!this._group) {
|
|
@@ -6113,20 +6115,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6113
6115
|
}
|
|
6114
6116
|
}
|
|
6115
6117
|
initialize(group) {
|
|
6116
|
-
/**
|
|
6117
|
-
* TODO: Annoying initialization order caveat, find a better way to initialize and avoid needing null checks
|
|
6118
|
-
*
|
|
6119
|
-
* Due to the order on initialization we know that the model isn't defined until later in the same stack-frame of setup.
|
|
6120
|
-
* By queuing a microtask we can ensure the setup is completed within the same stack-frame, but after everything else has
|
|
6121
|
-
* finished ensuring the `model` is defined.
|
|
6122
|
-
*/
|
|
6123
6118
|
this._group = group;
|
|
6124
|
-
queueMicrotask(() => {
|
|
6125
|
-
this._mutableDisposable.value =
|
|
6126
|
-
this._group.model.onDidActivePanelChange((event) => {
|
|
6127
|
-
this._onDidActivePanelChange.fire(event);
|
|
6128
|
-
});
|
|
6129
|
-
});
|
|
6130
6119
|
}
|
|
6131
6120
|
}
|
|
6132
6121
|
|
|
@@ -6196,6 +6185,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6196
6185
|
}, new DockviewGroupPanelApiImpl(id, accessor));
|
|
6197
6186
|
this.api.initialize(this); // cannot use 'this' after after 'super' call
|
|
6198
6187
|
this._model = new DockviewGroupPanelModel(this.element, accessor, id, options, this);
|
|
6188
|
+
this.addDisposables(this.model.onDidActivePanelChange((event) => {
|
|
6189
|
+
this.api._onDidActivePanelChange.fire(event);
|
|
6190
|
+
}));
|
|
6199
6191
|
}
|
|
6200
6192
|
focus() {
|
|
6201
6193
|
if (!this.api.isActive) {
|
|
@@ -6543,9 +6535,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6543
6535
|
this.action.appendChild(createCloseButton());
|
|
6544
6536
|
this._element.appendChild(this._content);
|
|
6545
6537
|
this._element.appendChild(this.action);
|
|
6546
|
-
this.addDisposables(addDisposableListener(this.action, 'pointerdown', (ev) => {
|
|
6547
|
-
ev.preventDefault();
|
|
6548
|
-
}));
|
|
6549
6538
|
this.render();
|
|
6550
6539
|
}
|
|
6551
6540
|
init(params) {
|
|
@@ -7827,6 +7816,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7827
7816
|
addDisposableWindowListener(_window.window, 'resize', () => {
|
|
7828
7817
|
group.layout(_window.window.innerWidth, _window.window.innerHeight);
|
|
7829
7818
|
}), overlayRenderContainer, exports.DockviewDisposable.from(() => {
|
|
7819
|
+
if (this.isDisposed) {
|
|
7820
|
+
return; // cleanup may run after instance is disposed
|
|
7821
|
+
}
|
|
7830
7822
|
if (isGroupAddedToDom &&
|
|
7831
7823
|
this.getPanel(referenceGroup.id)) {
|
|
7832
7824
|
this.movingLock(() => moveGroupWithoutDestroying({
|
|
@@ -10526,8 +10518,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
10526
10518
|
return title;
|
|
10527
10519
|
}
|
|
10528
10520
|
const DockviewDefaultTab = (_a) => {
|
|
10529
|
-
var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
|
|
10521
|
+
var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride, onPointerDown, onPointerUp, onPointerLeave } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride", "onPointerDown", "onPointerUp", "onPointerLeave"]);
|
|
10530
10522
|
const title = useTitle(api);
|
|
10523
|
+
const isMiddleMouseButton = React.useRef(false);
|
|
10531
10524
|
const onClose = React.useCallback((event) => {
|
|
10532
10525
|
event.preventDefault();
|
|
10533
10526
|
if (closeActionOverride) {
|
|
@@ -10537,21 +10530,27 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
10537
10530
|
api.close();
|
|
10538
10531
|
}
|
|
10539
10532
|
}, [api, closeActionOverride]);
|
|
10540
|
-
const
|
|
10541
|
-
|
|
10533
|
+
const onBtnPointerDown = React.useCallback((event) => {
|
|
10534
|
+
event.preventDefault();
|
|
10542
10535
|
}, []);
|
|
10543
|
-
const
|
|
10544
|
-
|
|
10545
|
-
|
|
10546
|
-
|
|
10547
|
-
|
|
10548
|
-
if (
|
|
10549
|
-
|
|
10550
|
-
|
|
10551
|
-
|
|
10552
|
-
|
|
10536
|
+
const _onPointerDown = React.useCallback((event) => {
|
|
10537
|
+
isMiddleMouseButton.current = event.button === 1;
|
|
10538
|
+
onPointerDown === null || onPointerDown === void 0 ? void 0 : onPointerDown(event);
|
|
10539
|
+
}, [onPointerDown]);
|
|
10540
|
+
const _onPointerUp = React.useCallback((event) => {
|
|
10541
|
+
if (isMiddleMouseButton && event.button === 1 && !hideClose) {
|
|
10542
|
+
isMiddleMouseButton.current = false;
|
|
10543
|
+
onClose(event);
|
|
10544
|
+
}
|
|
10545
|
+
onPointerUp === null || onPointerUp === void 0 ? void 0 : onPointerUp(event);
|
|
10546
|
+
}, [onPointerUp, onClose, hideClose]);
|
|
10547
|
+
const _onPointerLeave = React.useCallback((event) => {
|
|
10548
|
+
isMiddleMouseButton.current = false;
|
|
10549
|
+
onPointerLeave === null || onPointerLeave === void 0 ? void 0 : onPointerLeave(event);
|
|
10550
|
+
}, [onPointerLeave]);
|
|
10551
|
+
return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onPointerDown: _onPointerDown, onPointerUp: _onPointerUp, onPointerLeave: _onPointerLeave, className: "dv-default-tab" }),
|
|
10553
10552
|
React.createElement("span", { className: "dv-default-tab-content" }, title),
|
|
10554
|
-
!hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown:
|
|
10553
|
+
!hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onBtnPointerDown, onClick: onClose },
|
|
10555
10554
|
React.createElement(CloseButton, null)))));
|
|
10556
10555
|
};
|
|
10557
10556
|
|