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
  */
@@ -4776,8 +4776,8 @@
4776
4776
  this.accessor = accessor;
4777
4777
  this.group = group;
4778
4778
  this.content = undefined;
4779
- this._onChanged = new Emitter();
4780
- this.onChanged = this._onChanged.event;
4779
+ this._onPointDown = new Emitter();
4780
+ this.onPointerDown = this._onPointDown.event;
4781
4781
  this._onDropped = new Emitter();
4782
4782
  this.onDrop = this._onDropped.event;
4783
4783
  this._onDragStart = new Emitter();
@@ -4807,13 +4807,10 @@
4807
4807
  },
4808
4808
  });
4809
4809
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
4810
- this.addDisposables(this._onChanged, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4810
+ this.addDisposables(this._onPointDown, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4811
4811
  this._onDragStart.fire(event);
4812
4812
  }), dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
4813
- if (event.defaultPrevented) {
4814
- return;
4815
- }
4816
- this._onChanged.fire(event);
4813
+ this._onPointDown.fire(event);
4817
4814
  }), this.dropTarget.onDrop((event) => {
4818
4815
  this._onDropped.fire(event);
4819
4816
  }), this.dropTarget);
@@ -5114,7 +5111,7 @@
5114
5111
  tab.setContent(panel.view.tab);
5115
5112
  const disposable = new CompositeDisposable(tab.onDragStart((event) => {
5116
5113
  this._onTabDragStart.fire({ nativeEvent: event, panel });
5117
- }), tab.onChanged((event) => {
5114
+ }), tab.onPointerDown((event) => {
5118
5115
  if (event.defaultPrevented) {
5119
5116
  return;
5120
5117
  }
@@ -5141,9 +5138,6 @@
5141
5138
  this.group.model.openPanel(panel);
5142
5139
  }
5143
5140
  break;
5144
- case 1: // middle click
5145
- panel.api.close();
5146
- break;
5147
5141
  }
5148
5142
  }), tab.onDrop((event) => {
5149
5143
  this._onDrop.fire({
@@ -10558,8 +10552,9 @@
10558
10552
  return title;
10559
10553
  }
10560
10554
  const DockviewDefaultTab = (_a) => {
10561
- var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
10555
+ var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride, onPointerDown, onPointerUp, onPointerLeave } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride", "onPointerDown", "onPointerUp", "onPointerLeave"]);
10562
10556
  const title = useTitle(api);
10557
+ const isMiddleMouseButton = React.useRef(false);
10563
10558
  const onClose = React.useCallback((event) => {
10564
10559
  event.preventDefault();
10565
10560
  if (closeActionOverride) {
@@ -10569,12 +10564,27 @@
10569
10564
  api.close();
10570
10565
  }
10571
10566
  }, [api, closeActionOverride]);
10572
- const onPointerDown = React.useCallback((e) => {
10573
- e.preventDefault();
10567
+ const onBtnPointerDown = React.useCallback((event) => {
10568
+ event.preventDefault();
10574
10569
  }, []);
10575
- return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { className: "dv-default-tab" }),
10570
+ const _onPointerDown = React.useCallback((event) => {
10571
+ isMiddleMouseButton.current = event.button === 1;
10572
+ onPointerDown === null || onPointerDown === void 0 ? void 0 : onPointerDown(event);
10573
+ }, [onPointerDown]);
10574
+ const _onPointerUp = React.useCallback((event) => {
10575
+ if (isMiddleMouseButton && event.button === 1 && !hideClose) {
10576
+ isMiddleMouseButton.current = false;
10577
+ onClose(event);
10578
+ }
10579
+ onPointerUp === null || onPointerUp === void 0 ? void 0 : onPointerUp(event);
10580
+ }, [onPointerUp, onClose, hideClose]);
10581
+ const _onPointerLeave = React.useCallback((event) => {
10582
+ isMiddleMouseButton.current = false;
10583
+ onPointerLeave === null || onPointerLeave === void 0 ? void 0 : onPointerLeave(event);
10584
+ }, [onPointerLeave]);
10585
+ return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onPointerDown: _onPointerDown, onPointerUp: _onPointerUp, onPointerLeave: _onPointerLeave, className: "dv-default-tab" }),
10576
10586
  React.createElement("span", { className: "dv-default-tab-content" }, title),
10577
- !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onPointerDown, onClick: onClose },
10587
+ !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onBtnPointerDown, onClick: onClose },
10578
10588
  React.createElement(CloseButton, null)))));
10579
10589
  };
10580
10590