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
  */
@@ -221,7 +221,7 @@
221
221
  element.addEventListener(type, listener, options);
222
222
  return {
223
223
  dispose: () => {
224
- element.removeEventListener(type, listener);
224
+ element.removeEventListener(type, listener, options);
225
225
  },
226
226
  };
227
227
  }
@@ -229,7 +229,7 @@
229
229
  element.addEventListener(type, listener, options);
230
230
  return {
231
231
  dispose: () => {
232
- element.removeEventListener(type, listener);
232
+ element.removeEventListener(type, listener, options);
233
233
  },
234
234
  };
235
235
  }
@@ -993,12 +993,10 @@
993
993
  this.saveProportions();
994
994
  document.removeEventListener('mousemove', mousemove);
995
995
  document.removeEventListener('mouseup', end);
996
- document.removeEventListener('mouseend', end);
997
996
  this._onDidSashEnd.fire(undefined);
998
997
  };
999
998
  document.addEventListener('mousemove', mousemove);
1000
999
  document.addEventListener('mouseup', end);
1001
- document.addEventListener('mouseend', end);
1002
1000
  };
1003
1001
  sash.addEventListener('mousedown', onStart);
1004
1002
  const sashItem = {
@@ -2101,36 +2099,30 @@
2101
2099
  if (!(node instanceof LeafNode)) {
2102
2100
  throw new Error('Invalid location');
2103
2101
  }
2104
- const view = node.view;
2105
- node.dispose(); // dispose of node
2106
- const child = parent.removeChild(index, sizing);
2107
- child.dispose();
2102
+ parent.removeChild(index, sizing);
2108
2103
  if (parent.children.length === 0) {
2109
- return view;
2104
+ return node.view;
2110
2105
  }
2111
2106
  if (parent.children.length > 1) {
2112
- return view;
2107
+ return node.view;
2113
2108
  }
2114
2109
  const sibling = parent.children[0];
2115
2110
  if (pathToParent.length === 0) {
2116
2111
  // parent is root
2117
2112
  if (sibling instanceof LeafNode) {
2118
- return view;
2113
+ return node.view;
2119
2114
  }
2120
2115
  // we must promote sibling to be the new root
2121
- const child = parent.removeChild(0, sizing);
2122
- child.dispose();
2116
+ parent.removeChild(0, sizing);
2123
2117
  this.root = sibling;
2124
- return view;
2118
+ return node.view;
2125
2119
  }
2126
2120
  const [grandParent, ..._] = [...pathToParent].reverse();
2127
2121
  const [parentIndex, ...__] = [...rest].reverse();
2128
2122
  const isSiblingVisible = parent.isChildVisible(0);
2129
- const childNode = parent.removeChild(0, sizing);
2130
- childNode.dispose();
2123
+ parent.removeChild(0, sizing);
2131
2124
  const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
2132
- const parentNode = grandParent.removeChild(parentIndex, sizing);
2133
- parentNode.dispose();
2125
+ grandParent.removeChild(parentIndex, sizing);
2134
2126
  if (sibling instanceof BranchNode) {
2135
2127
  sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
2136
2128
  for (let i = 0; i < sibling.children.length; i++) {
@@ -2148,7 +2140,7 @@
2148
2140
  for (let i = 0; i < sizes.length; i++) {
2149
2141
  grandParent.resizeChild(i, sizes[i]);
2150
2142
  }
2151
- return view;
2143
+ return node.view;
2152
2144
  }
2153
2145
  layout(width, height) {
2154
2146
  const [size, orthogonalSize] = this.root.orientation === exports.Orientation.HORIZONTAL
@@ -2861,25 +2853,32 @@
2861
2853
  constructor(el) {
2862
2854
  super();
2863
2855
  this.el = el;
2864
- this.disposable = new MutableDisposable();
2856
+ this.dataDisposable = new MutableDisposable();
2857
+ this.pointerEventsDisposable = new MutableDisposable();
2865
2858
  this._onDragStart = new Emitter();
2866
2859
  this.onDragStart = this._onDragStart.event;
2867
- this.iframes = [];
2868
- this.addDisposables(this._onDragStart);
2860
+ this.addDisposables(this._onDragStart, this.dataDisposable, this.pointerEventsDisposable);
2869
2861
  this.configure();
2870
2862
  }
2871
2863
  configure() {
2872
2864
  this.addDisposables(this._onDragStart, addDisposableListener(this.el, 'dragstart', (event) => {
2873
- this.iframes = [
2865
+ const iframes = [
2874
2866
  ...getElementsByTagName('iframe'),
2875
2867
  ...getElementsByTagName('webview'),
2876
2868
  ];
2877
- for (const iframe of this.iframes) {
2869
+ this.pointerEventsDisposable.value = {
2870
+ dispose: () => {
2871
+ for (const iframe of iframes) {
2872
+ iframe.style.pointerEvents = 'auto';
2873
+ }
2874
+ },
2875
+ };
2876
+ for (const iframe of iframes) {
2878
2877
  iframe.style.pointerEvents = 'none';
2879
2878
  }
2880
2879
  this.el.classList.add('dv-dragged');
2881
2880
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
2882
- this.disposable.value = this.getData(event.dataTransfer);
2881
+ this.dataDisposable.value = this.getData(event.dataTransfer);
2883
2882
  if (event.dataTransfer) {
2884
2883
  event.dataTransfer.effectAllowed = 'move';
2885
2884
  /**
@@ -2894,11 +2893,8 @@
2894
2893
  event.dataTransfer.setData('text/plain', '__dockview_internal_drag_event__');
2895
2894
  }
2896
2895
  }), addDisposableListener(this.el, 'dragend', () => {
2897
- for (const iframe of this.iframes) {
2898
- iframe.style.pointerEvents = 'auto';
2899
- }
2900
- this.iframes = [];
2901
- this.disposable.dispose();
2896
+ this.pointerEventsDisposable.dispose();
2897
+ this.dataDisposable.dispose();
2902
2898
  }));
2903
2899
  }
2904
2900
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dockview",
3
- "version": "1.7.4",
3
+ "version": "1.7.5",
4
4
  "description": "Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",
@@ -56,7 +56,7 @@
56
56
  "author": "https://github.com/mathuo",
57
57
  "license": "MIT",
58
58
  "dependencies": {
59
- "dockview-core": "^1.7.4"
59
+ "dockview-core": "^1.7.5"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@rollup/plugin-node-resolve": "^15.0.1",
@@ -73,5 +73,5 @@
73
73
  "rollup": "^3.15.0",
74
74
  "rollup-plugin-postcss": "^4.0.2"
75
75
  },
76
- "gitHead": "7dde18c6369bb154425ca36e2e8cec3b8fdbfe35"
76
+ "gitHead": "54bc30c1aa7bd523a5fea025cf438ef221cc3a9b"
77
77
  }