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.
package/dist/dockview.js CHANGED
@@ -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
  */
@@ -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({
@@ -10581,8 +10575,9 @@
10581
10575
  return title;
10582
10576
  }
10583
10577
  const DockviewDefaultTab = (_a) => {
10584
- var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
10578
+ var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride, onPointerDown, onPointerUp, onPointerLeave } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride", "onPointerDown", "onPointerUp", "onPointerLeave"]);
10585
10579
  const title = useTitle(api);
10580
+ const isMiddleMouseButton = React.useRef(false);
10586
10581
  const onClose = React.useCallback((event) => {
10587
10582
  event.preventDefault();
10588
10583
  if (closeActionOverride) {
@@ -10592,12 +10587,27 @@
10592
10587
  api.close();
10593
10588
  }
10594
10589
  }, [api, closeActionOverride]);
10595
- const onPointerDown = React.useCallback((e) => {
10596
- e.preventDefault();
10590
+ const onBtnPointerDown = React.useCallback((event) => {
10591
+ event.preventDefault();
10597
10592
  }, []);
10598
- return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { className: "dv-default-tab" }),
10593
+ const _onPointerDown = React.useCallback((event) => {
10594
+ isMiddleMouseButton.current = event.button === 1;
10595
+ onPointerDown === null || onPointerDown === void 0 ? void 0 : onPointerDown(event);
10596
+ }, [onPointerDown]);
10597
+ const _onPointerUp = React.useCallback((event) => {
10598
+ if (isMiddleMouseButton && event.button === 1 && !hideClose) {
10599
+ isMiddleMouseButton.current = false;
10600
+ onClose(event);
10601
+ }
10602
+ onPointerUp === null || onPointerUp === void 0 ? void 0 : onPointerUp(event);
10603
+ }, [onPointerUp, onClose, hideClose]);
10604
+ const _onPointerLeave = React.useCallback((event) => {
10605
+ isMiddleMouseButton.current = false;
10606
+ onPointerLeave === null || onPointerLeave === void 0 ? void 0 : onPointerLeave(event);
10607
+ }, [onPointerLeave]);
10608
+ return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onPointerDown: _onPointerDown, onPointerUp: _onPointerUp, onPointerLeave: _onPointerLeave, className: "dv-default-tab" }),
10599
10609
  React.createElement("span", { className: "dv-default-tab-content" }, title),
10600
- !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onPointerDown, onClick: onClose },
10610
+ !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onPointerDown: onBtnPointerDown, onClick: onClose },
10601
10611
  React.createElement(CloseButton, null)))));
10602
10612
  };
10603
10613