dockview-react 3.1.0 → 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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-react
3
- * @version 3.1.0
3
+ * @version 3.1.1
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -4746,8 +4746,8 @@
4746
4746
  this.accessor = accessor;
4747
4747
  this.group = group;
4748
4748
  this.content = undefined;
4749
- this._onChanged = new Emitter();
4750
- this.onChanged = this._onChanged.event;
4749
+ this._onPointDown = new Emitter();
4750
+ this.onPointerDown = this._onPointDown.event;
4751
4751
  this._onDropped = new Emitter();
4752
4752
  this.onDrop = this._onDropped.event;
4753
4753
  this._onDragStart = new Emitter();
@@ -4777,13 +4777,10 @@
4777
4777
  },
4778
4778
  });
4779
4779
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
4780
- this.addDisposables(this._onChanged, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4780
+ this.addDisposables(this._onPointDown, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4781
4781
  this._onDragStart.fire(event);
4782
4782
  }), dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
4783
- if (event.defaultPrevented) {
4784
- return;
4785
- }
4786
- this._onChanged.fire(event);
4783
+ this._onPointDown.fire(event);
4787
4784
  }), this.dropTarget.onDrop((event) => {
4788
4785
  this._onDropped.fire(event);
4789
4786
  }), this.dropTarget);
@@ -5084,7 +5081,7 @@
5084
5081
  tab.setContent(panel.view.tab);
5085
5082
  const disposable = new CompositeDisposable(tab.onDragStart((event) => {
5086
5083
  this._onTabDragStart.fire({ nativeEvent: event, panel });
5087
- }), tab.onChanged((event) => {
5084
+ }), tab.onPointerDown((event) => {
5088
5085
  if (event.defaultPrevented) {
5089
5086
  return;
5090
5087
  }
@@ -5111,9 +5108,6 @@
5111
5108
  this.group.model.openPanel(panel);
5112
5109
  }
5113
5110
  break;
5114
- case 1: // middle click
5115
- panel.api.close();
5116
- break;
5117
5111
  }
5118
5112
  }), tab.onDrop((event) => {
5119
5113
  this._onDrop.fire({
@@ -10528,8 +10522,9 @@
10528
10522
  return title;
10529
10523
  }
10530
10524
  const DockviewDefaultTab = (_a) => {
10531
- var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
10525
+ var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride, onPointerDown, onPointerUp, onPointerLeave } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride", "onPointerDown", "onPointerUp", "onPointerLeave"]);
10532
10526
  const title = useTitle(api);
10527
+ const isMiddleMouseButton = React.useRef(false);
10533
10528
  const onClose = React.useCallback((event) => {
10534
10529
  event.preventDefault();
10535
10530
  if (closeActionOverride) {
@@ -10539,12 +10534,27 @@
10539
10534
  api.close();
10540
10535
  }
10541
10536
  }, [api, closeActionOverride]);
10542
- const onPointerDown = React.useCallback((e) => {
10543
- e.preventDefault();
10537
+ const onBtnPointerDown = React.useCallback((event) => {
10538
+ event.preventDefault();
10544
10539
  }, []);
10545
- return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { className: "dv-default-tab" }),
10540
+ const _onPointerDown = React.useCallback((event) => {
10541
+ isMiddleMouseButton.current = event.button === 1;
10542
+ onPointerDown === null || onPointerDown === void 0 ? void 0 : onPointerDown(event);
10543
+ }, [onPointerDown]);
10544
+ const _onPointerUp = React.useCallback((event) => {
10545
+ if (isMiddleMouseButton && event.button === 1 && !hideClose) {
10546
+ isMiddleMouseButton.current = false;
10547
+ onClose(event);
10548
+ }
10549
+ onPointerUp === null || onPointerUp === void 0 ? void 0 : onPointerUp(event);
10550
+ }, [onPointerUp, onClose, hideClose]);
10551
+ const _onPointerLeave = React.useCallback((event) => {
10552
+ isMiddleMouseButton.current = false;
10553
+ onPointerLeave === null || onPointerLeave === void 0 ? void 0 : onPointerLeave(event);
10554
+ }, [onPointerLeave]);
10555
+ return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onPointerDown: _onPointerDown, onPointerUp: _onPointerUp, onPointerLeave: _onPointerLeave, className: "dv-default-tab" }),
10546
10556
  React.createElement("span", { className: "dv-default-tab-content" }, title),
10547
- !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onPointerDown, onClick: onClose },
10557
+ !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onBtnPointerDown, onClick: onClose },
10548
10558
  React.createElement(CloseButton, null)))));
10549
10559
  };
10550
10560