dockview 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
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({
@@ -10551,8 +10545,9 @@
10551
10545
  return title;
10552
10546
  }
10553
10547
  const DockviewDefaultTab = (_a) => {
10554
- var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
10548
+ var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride, onPointerDown, onPointerUp, onPointerLeave } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride", "onPointerDown", "onPointerUp", "onPointerLeave"]);
10555
10549
  const title = useTitle(api);
10550
+ const isMiddleMouseButton = React.useRef(false);
10556
10551
  const onClose = React.useCallback((event) => {
10557
10552
  event.preventDefault();
10558
10553
  if (closeActionOverride) {
@@ -10562,12 +10557,27 @@
10562
10557
  api.close();
10563
10558
  }
10564
10559
  }, [api, closeActionOverride]);
10565
- const onPointerDown = React.useCallback((e) => {
10566
- e.preventDefault();
10560
+ const onBtnPointerDown = React.useCallback((event) => {
10561
+ event.preventDefault();
10567
10562
  }, []);
10568
- return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { className: "dv-default-tab" }),
10563
+ const _onPointerDown = React.useCallback((event) => {
10564
+ isMiddleMouseButton.current = event.button === 1;
10565
+ onPointerDown === null || onPointerDown === void 0 ? void 0 : onPointerDown(event);
10566
+ }, [onPointerDown]);
10567
+ const _onPointerUp = React.useCallback((event) => {
10568
+ if (isMiddleMouseButton && event.button === 1 && !hideClose) {
10569
+ isMiddleMouseButton.current = false;
10570
+ onClose(event);
10571
+ }
10572
+ onPointerUp === null || onPointerUp === void 0 ? void 0 : onPointerUp(event);
10573
+ }, [onPointerUp, onClose, hideClose]);
10574
+ const _onPointerLeave = React.useCallback((event) => {
10575
+ isMiddleMouseButton.current = false;
10576
+ onPointerLeave === null || onPointerLeave === void 0 ? void 0 : onPointerLeave(event);
10577
+ }, [onPointerLeave]);
10578
+ return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onPointerDown: _onPointerDown, onPointerUp: _onPointerUp, onPointerLeave: _onPointerLeave, className: "dv-default-tab" }),
10569
10579
  React.createElement("span", { className: "dv-default-tab-content" }, title),
10570
- !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onPointerDown, onClick: onClose },
10580
+ !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onBtnPointerDown, onClick: onClose },
10571
10581
  React.createElement(CloseButton, null)))));
10572
10582
  };
10573
10583