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.
package/dist/dockview.js CHANGED
@@ -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
  */
@@ -251,7 +251,7 @@
251
251
  element.addEventListener(type, listener, options);
252
252
  return {
253
253
  dispose: () => {
254
- element.removeEventListener(type, listener);
254
+ element.removeEventListener(type, listener, options);
255
255
  },
256
256
  };
257
257
  }
@@ -259,7 +259,7 @@
259
259
  element.addEventListener(type, listener, options);
260
260
  return {
261
261
  dispose: () => {
262
- element.removeEventListener(type, listener);
262
+ element.removeEventListener(type, listener, options);
263
263
  },
264
264
  };
265
265
  }
@@ -1023,12 +1023,10 @@
1023
1023
  this.saveProportions();
1024
1024
  document.removeEventListener('mousemove', mousemove);
1025
1025
  document.removeEventListener('mouseup', end);
1026
- document.removeEventListener('mouseend', end);
1027
1026
  this._onDidSashEnd.fire(undefined);
1028
1027
  };
1029
1028
  document.addEventListener('mousemove', mousemove);
1030
1029
  document.addEventListener('mouseup', end);
1031
- document.addEventListener('mouseend', end);
1032
1030
  };
1033
1031
  sash.addEventListener('mousedown', onStart);
1034
1032
  const sashItem = {
@@ -2131,36 +2129,30 @@
2131
2129
  if (!(node instanceof LeafNode)) {
2132
2130
  throw new Error('Invalid location');
2133
2131
  }
2134
- const view = node.view;
2135
- node.dispose(); // dispose of node
2136
- const child = parent.removeChild(index, sizing);
2137
- child.dispose();
2132
+ parent.removeChild(index, sizing);
2138
2133
  if (parent.children.length === 0) {
2139
- return view;
2134
+ return node.view;
2140
2135
  }
2141
2136
  if (parent.children.length > 1) {
2142
- return view;
2137
+ return node.view;
2143
2138
  }
2144
2139
  const sibling = parent.children[0];
2145
2140
  if (pathToParent.length === 0) {
2146
2141
  // parent is root
2147
2142
  if (sibling instanceof LeafNode) {
2148
- return view;
2143
+ return node.view;
2149
2144
  }
2150
2145
  // we must promote sibling to be the new root
2151
- const child = parent.removeChild(0, sizing);
2152
- child.dispose();
2146
+ parent.removeChild(0, sizing);
2153
2147
  this.root = sibling;
2154
- return view;
2148
+ return node.view;
2155
2149
  }
2156
2150
  const [grandParent, ..._] = [...pathToParent].reverse();
2157
2151
  const [parentIndex, ...__] = [...rest].reverse();
2158
2152
  const isSiblingVisible = parent.isChildVisible(0);
2159
- const childNode = parent.removeChild(0, sizing);
2160
- childNode.dispose();
2153
+ parent.removeChild(0, sizing);
2161
2154
  const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
2162
- const parentNode = grandParent.removeChild(parentIndex, sizing);
2163
- parentNode.dispose();
2155
+ grandParent.removeChild(parentIndex, sizing);
2164
2156
  if (sibling instanceof BranchNode) {
2165
2157
  sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
2166
2158
  for (let i = 0; i < sibling.children.length; i++) {
@@ -2178,7 +2170,7 @@
2178
2170
  for (let i = 0; i < sizes.length; i++) {
2179
2171
  grandParent.resizeChild(i, sizes[i]);
2180
2172
  }
2181
- return view;
2173
+ return node.view;
2182
2174
  }
2183
2175
  layout(width, height) {
2184
2176
  const [size, orthogonalSize] = this.root.orientation === exports.Orientation.HORIZONTAL
@@ -2891,25 +2883,32 @@
2891
2883
  constructor(el) {
2892
2884
  super();
2893
2885
  this.el = el;
2894
- this.disposable = new MutableDisposable();
2886
+ this.dataDisposable = new MutableDisposable();
2887
+ this.pointerEventsDisposable = new MutableDisposable();
2895
2888
  this._onDragStart = new Emitter();
2896
2889
  this.onDragStart = this._onDragStart.event;
2897
- this.iframes = [];
2898
- this.addDisposables(this._onDragStart);
2890
+ this.addDisposables(this._onDragStart, this.dataDisposable, this.pointerEventsDisposable);
2899
2891
  this.configure();
2900
2892
  }
2901
2893
  configure() {
2902
2894
  this.addDisposables(this._onDragStart, addDisposableListener(this.el, 'dragstart', (event) => {
2903
- this.iframes = [
2895
+ const iframes = [
2904
2896
  ...getElementsByTagName('iframe'),
2905
2897
  ...getElementsByTagName('webview'),
2906
2898
  ];
2907
- for (const iframe of this.iframes) {
2899
+ this.pointerEventsDisposable.value = {
2900
+ dispose: () => {
2901
+ for (const iframe of iframes) {
2902
+ iframe.style.pointerEvents = 'auto';
2903
+ }
2904
+ },
2905
+ };
2906
+ for (const iframe of iframes) {
2908
2907
  iframe.style.pointerEvents = 'none';
2909
2908
  }
2910
2909
  this.el.classList.add('dv-dragged');
2911
2910
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
2912
- this.disposable.value = this.getData(event.dataTransfer);
2911
+ this.dataDisposable.value = this.getData(event.dataTransfer);
2913
2912
  if (event.dataTransfer) {
2914
2913
  event.dataTransfer.effectAllowed = 'move';
2915
2914
  /**
@@ -2924,11 +2923,8 @@
2924
2923
  event.dataTransfer.setData('text/plain', '__dockview_internal_drag_event__');
2925
2924
  }
2926
2925
  }), addDisposableListener(this.el, 'dragend', () => {
2927
- for (const iframe of this.iframes) {
2928
- iframe.style.pointerEvents = 'auto';
2929
- }
2930
- this.iframes = [];
2931
- this.disposable.dispose();
2926
+ this.pointerEventsDisposable.dispose();
2927
+ this.dataDisposable.dispose();
2932
2928
  }));
2933
2929
  }
2934
2930
  }