dockview 1.7.4 → 1.7.5

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 1.7.4
3
+ * @version 1.7.5
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -247,7 +247,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
247
247
  element.addEventListener(type, listener, options);
248
248
  return {
249
249
  dispose: () => {
250
- element.removeEventListener(type, listener);
250
+ element.removeEventListener(type, listener, options);
251
251
  },
252
252
  };
253
253
  }
@@ -255,7 +255,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
255
255
  element.addEventListener(type, listener, options);
256
256
  return {
257
257
  dispose: () => {
258
- element.removeEventListener(type, listener);
258
+ element.removeEventListener(type, listener, options);
259
259
  },
260
260
  };
261
261
  }
@@ -1019,12 +1019,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1019
1019
  this.saveProportions();
1020
1020
  document.removeEventListener('mousemove', mousemove);
1021
1021
  document.removeEventListener('mouseup', end);
1022
- document.removeEventListener('mouseend', end);
1023
1022
  this._onDidSashEnd.fire(undefined);
1024
1023
  };
1025
1024
  document.addEventListener('mousemove', mousemove);
1026
1025
  document.addEventListener('mouseup', end);
1027
- document.addEventListener('mouseend', end);
1028
1026
  };
1029
1027
  sash.addEventListener('mousedown', onStart);
1030
1028
  const sashItem = {
@@ -2127,36 +2125,30 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2127
2125
  if (!(node instanceof LeafNode)) {
2128
2126
  throw new Error('Invalid location');
2129
2127
  }
2130
- const view = node.view;
2131
- node.dispose(); // dispose of node
2132
- const child = parent.removeChild(index, sizing);
2133
- child.dispose();
2128
+ parent.removeChild(index, sizing);
2134
2129
  if (parent.children.length === 0) {
2135
- return view;
2130
+ return node.view;
2136
2131
  }
2137
2132
  if (parent.children.length > 1) {
2138
- return view;
2133
+ return node.view;
2139
2134
  }
2140
2135
  const sibling = parent.children[0];
2141
2136
  if (pathToParent.length === 0) {
2142
2137
  // parent is root
2143
2138
  if (sibling instanceof LeafNode) {
2144
- return view;
2139
+ return node.view;
2145
2140
  }
2146
2141
  // we must promote sibling to be the new root
2147
- const child = parent.removeChild(0, sizing);
2148
- child.dispose();
2142
+ parent.removeChild(0, sizing);
2149
2143
  this.root = sibling;
2150
- return view;
2144
+ return node.view;
2151
2145
  }
2152
2146
  const [grandParent, ..._] = [...pathToParent].reverse();
2153
2147
  const [parentIndex, ...__] = [...rest].reverse();
2154
2148
  const isSiblingVisible = parent.isChildVisible(0);
2155
- const childNode = parent.removeChild(0, sizing);
2156
- childNode.dispose();
2149
+ parent.removeChild(0, sizing);
2157
2150
  const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
2158
- const parentNode = grandParent.removeChild(parentIndex, sizing);
2159
- parentNode.dispose();
2151
+ grandParent.removeChild(parentIndex, sizing);
2160
2152
  if (sibling instanceof BranchNode) {
2161
2153
  sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
2162
2154
  for (let i = 0; i < sibling.children.length; i++) {
@@ -2174,7 +2166,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2174
2166
  for (let i = 0; i < sizes.length; i++) {
2175
2167
  grandParent.resizeChild(i, sizes[i]);
2176
2168
  }
2177
- return view;
2169
+ return node.view;
2178
2170
  }
2179
2171
  layout(width, height) {
2180
2172
  const [size, orthogonalSize] = this.root.orientation === exports.Orientation.HORIZONTAL
@@ -2887,25 +2879,32 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2887
2879
  constructor(el) {
2888
2880
  super();
2889
2881
  this.el = el;
2890
- this.disposable = new MutableDisposable();
2882
+ this.dataDisposable = new MutableDisposable();
2883
+ this.pointerEventsDisposable = new MutableDisposable();
2891
2884
  this._onDragStart = new Emitter();
2892
2885
  this.onDragStart = this._onDragStart.event;
2893
- this.iframes = [];
2894
- this.addDisposables(this._onDragStart);
2886
+ this.addDisposables(this._onDragStart, this.dataDisposable, this.pointerEventsDisposable);
2895
2887
  this.configure();
2896
2888
  }
2897
2889
  configure() {
2898
2890
  this.addDisposables(this._onDragStart, addDisposableListener(this.el, 'dragstart', (event) => {
2899
- this.iframes = [
2891
+ const iframes = [
2900
2892
  ...getElementsByTagName('iframe'),
2901
2893
  ...getElementsByTagName('webview'),
2902
2894
  ];
2903
- for (const iframe of this.iframes) {
2895
+ this.pointerEventsDisposable.value = {
2896
+ dispose: () => {
2897
+ for (const iframe of iframes) {
2898
+ iframe.style.pointerEvents = 'auto';
2899
+ }
2900
+ },
2901
+ };
2902
+ for (const iframe of iframes) {
2904
2903
  iframe.style.pointerEvents = 'none';
2905
2904
  }
2906
2905
  this.el.classList.add('dv-dragged');
2907
2906
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
2908
- this.disposable.value = this.getData(event.dataTransfer);
2907
+ this.dataDisposable.value = this.getData(event.dataTransfer);
2909
2908
  if (event.dataTransfer) {
2910
2909
  event.dataTransfer.effectAllowed = 'move';
2911
2910
  /**
@@ -2920,11 +2919,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2920
2919
  event.dataTransfer.setData('text/plain', '__dockview_internal_drag_event__');
2921
2920
  }
2922
2921
  }), addDisposableListener(this.el, 'dragend', () => {
2923
- for (const iframe of this.iframes) {
2924
- iframe.style.pointerEvents = 'auto';
2925
- }
2926
- this.iframes = [];
2927
- this.disposable.dispose();
2922
+ this.pointerEventsDisposable.dispose();
2923
+ this.dataDisposable.dispose();
2928
2924
  }));
2929
2925
  }
2930
2926
  }