dockview-core 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.
Files changed (36) hide show
  1. package/dist/cjs/dnd/abstractDragHandler.d.ts +2 -2
  2. package/dist/cjs/dnd/abstractDragHandler.d.ts.map +1 -1
  3. package/dist/cjs/dnd/abstractDragHandler.js +28 -24
  4. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
  5. package/dist/cjs/events.js +2 -2
  6. package/dist/cjs/events.js.map +1 -1
  7. package/dist/cjs/gridview/gridview.d.ts.map +1 -1
  8. package/dist/cjs/gridview/gridview.js +11 -17
  9. package/dist/cjs/gridview/gridview.js.map +1 -1
  10. package/dist/cjs/splitview/splitview.d.ts.map +1 -1
  11. package/dist/cjs/splitview/splitview.js +0 -2
  12. package/dist/cjs/splitview/splitview.js.map +1 -1
  13. package/dist/dockview-core.amd.js +27 -31
  14. package/dist/dockview-core.amd.min.js +2 -2
  15. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  16. package/dist/dockview-core.amd.noStyle.js +27 -31
  17. package/dist/dockview-core.cjs.js +27 -31
  18. package/dist/dockview-core.esm.js +27 -31
  19. package/dist/dockview-core.esm.min.js +2 -2
  20. package/dist/dockview-core.js +27 -31
  21. package/dist/dockview-core.min.js +2 -2
  22. package/dist/dockview-core.min.noStyle.js +2 -2
  23. package/dist/dockview-core.noStyle.js +27 -31
  24. package/dist/esm/dnd/abstractDragHandler.d.ts +2 -2
  25. package/dist/esm/dnd/abstractDragHandler.d.ts.map +1 -1
  26. package/dist/esm/dnd/abstractDragHandler.js +15 -11
  27. package/dist/esm/dnd/abstractDragHandler.js.map +1 -1
  28. package/dist/esm/events.js +2 -2
  29. package/dist/esm/events.js.map +1 -1
  30. package/dist/esm/gridview/gridview.d.ts.map +1 -1
  31. package/dist/esm/gridview/gridview.js +9 -15
  32. package/dist/esm/gridview/gridview.js.map +1 -1
  33. package/dist/esm/splitview/splitview.d.ts.map +1 -1
  34. package/dist/esm/splitview/splitview.js +0 -2
  35. package/dist/esm/splitview/splitview.js.map +1 -1
  36. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-core
3
- * @version 1.7.4
3
+ * @version 1.7.5
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -197,7 +197,7 @@ define(['exports'], (function (exports) { 'use strict';
197
197
  element.addEventListener(type, listener, options);
198
198
  return {
199
199
  dispose: () => {
200
- element.removeEventListener(type, listener);
200
+ element.removeEventListener(type, listener, options);
201
201
  },
202
202
  };
203
203
  }
@@ -205,7 +205,7 @@ define(['exports'], (function (exports) { 'use strict';
205
205
  element.addEventListener(type, listener, options);
206
206
  return {
207
207
  dispose: () => {
208
- element.removeEventListener(type, listener);
208
+ element.removeEventListener(type, listener, options);
209
209
  },
210
210
  };
211
211
  }
@@ -969,12 +969,10 @@ define(['exports'], (function (exports) { 'use strict';
969
969
  this.saveProportions();
970
970
  document.removeEventListener('mousemove', mousemove);
971
971
  document.removeEventListener('mouseup', end);
972
- document.removeEventListener('mouseend', end);
973
972
  this._onDidSashEnd.fire(undefined);
974
973
  };
975
974
  document.addEventListener('mousemove', mousemove);
976
975
  document.addEventListener('mouseup', end);
977
- document.addEventListener('mouseend', end);
978
976
  };
979
977
  sash.addEventListener('mousedown', onStart);
980
978
  const sashItem = {
@@ -2077,36 +2075,30 @@ define(['exports'], (function (exports) { 'use strict';
2077
2075
  if (!(node instanceof LeafNode)) {
2078
2076
  throw new Error('Invalid location');
2079
2077
  }
2080
- const view = node.view;
2081
- node.dispose(); // dispose of node
2082
- const child = parent.removeChild(index, sizing);
2083
- child.dispose();
2078
+ parent.removeChild(index, sizing);
2084
2079
  if (parent.children.length === 0) {
2085
- return view;
2080
+ return node.view;
2086
2081
  }
2087
2082
  if (parent.children.length > 1) {
2088
- return view;
2083
+ return node.view;
2089
2084
  }
2090
2085
  const sibling = parent.children[0];
2091
2086
  if (pathToParent.length === 0) {
2092
2087
  // parent is root
2093
2088
  if (sibling instanceof LeafNode) {
2094
- return view;
2089
+ return node.view;
2095
2090
  }
2096
2091
  // we must promote sibling to be the new root
2097
- const child = parent.removeChild(0, sizing);
2098
- child.dispose();
2092
+ parent.removeChild(0, sizing);
2099
2093
  this.root = sibling;
2100
- return view;
2094
+ return node.view;
2101
2095
  }
2102
2096
  const [grandParent, ..._] = [...pathToParent].reverse();
2103
2097
  const [parentIndex, ...__] = [...rest].reverse();
2104
2098
  const isSiblingVisible = parent.isChildVisible(0);
2105
- const childNode = parent.removeChild(0, sizing);
2106
- childNode.dispose();
2099
+ parent.removeChild(0, sizing);
2107
2100
  const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
2108
- const parentNode = grandParent.removeChild(parentIndex, sizing);
2109
- parentNode.dispose();
2101
+ grandParent.removeChild(parentIndex, sizing);
2110
2102
  if (sibling instanceof BranchNode) {
2111
2103
  sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
2112
2104
  for (let i = 0; i < sibling.children.length; i++) {
@@ -2124,7 +2116,7 @@ define(['exports'], (function (exports) { 'use strict';
2124
2116
  for (let i = 0; i < sizes.length; i++) {
2125
2117
  grandParent.resizeChild(i, sizes[i]);
2126
2118
  }
2127
- return view;
2119
+ return node.view;
2128
2120
  }
2129
2121
  layout(width, height) {
2130
2122
  const [size, orthogonalSize] = this.root.orientation === exports.Orientation.HORIZONTAL
@@ -2837,25 +2829,32 @@ define(['exports'], (function (exports) { 'use strict';
2837
2829
  constructor(el) {
2838
2830
  super();
2839
2831
  this.el = el;
2840
- this.disposable = new MutableDisposable();
2832
+ this.dataDisposable = new MutableDisposable();
2833
+ this.pointerEventsDisposable = new MutableDisposable();
2841
2834
  this._onDragStart = new Emitter();
2842
2835
  this.onDragStart = this._onDragStart.event;
2843
- this.iframes = [];
2844
- this.addDisposables(this._onDragStart);
2836
+ this.addDisposables(this._onDragStart, this.dataDisposable, this.pointerEventsDisposable);
2845
2837
  this.configure();
2846
2838
  }
2847
2839
  configure() {
2848
2840
  this.addDisposables(this._onDragStart, addDisposableListener(this.el, 'dragstart', (event) => {
2849
- this.iframes = [
2841
+ const iframes = [
2850
2842
  ...getElementsByTagName('iframe'),
2851
2843
  ...getElementsByTagName('webview'),
2852
2844
  ];
2853
- for (const iframe of this.iframes) {
2845
+ this.pointerEventsDisposable.value = {
2846
+ dispose: () => {
2847
+ for (const iframe of iframes) {
2848
+ iframe.style.pointerEvents = 'auto';
2849
+ }
2850
+ },
2851
+ };
2852
+ for (const iframe of iframes) {
2854
2853
  iframe.style.pointerEvents = 'none';
2855
2854
  }
2856
2855
  this.el.classList.add('dv-dragged');
2857
2856
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
2858
- this.disposable.value = this.getData(event.dataTransfer);
2857
+ this.dataDisposable.value = this.getData(event.dataTransfer);
2859
2858
  if (event.dataTransfer) {
2860
2859
  event.dataTransfer.effectAllowed = 'move';
2861
2860
  /**
@@ -2870,11 +2869,8 @@ define(['exports'], (function (exports) { 'use strict';
2870
2869
  event.dataTransfer.setData('text/plain', '__dockview_internal_drag_event__');
2871
2870
  }
2872
2871
  }), addDisposableListener(this.el, 'dragend', () => {
2873
- for (const iframe of this.iframes) {
2874
- iframe.style.pointerEvents = 'auto';
2875
- }
2876
- this.iframes = [];
2877
- this.disposable.dispose();
2872
+ this.pointerEventsDisposable.dispose();
2873
+ this.dataDisposable.dispose();
2878
2874
  }));
2879
2875
  }
2880
2876
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-core
3
- * @version 1.7.4
3
+ * @version 1.7.5
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -227,7 +227,7 @@ function addDisposableWindowListener(element, type, listener, options) {
227
227
  element.addEventListener(type, listener, options);
228
228
  return {
229
229
  dispose: () => {
230
- element.removeEventListener(type, listener);
230
+ element.removeEventListener(type, listener, options);
231
231
  },
232
232
  };
233
233
  }
@@ -235,7 +235,7 @@ function addDisposableListener(element, type, listener, options) {
235
235
  element.addEventListener(type, listener, options);
236
236
  return {
237
237
  dispose: () => {
238
- element.removeEventListener(type, listener);
238
+ element.removeEventListener(type, listener, options);
239
239
  },
240
240
  };
241
241
  }
@@ -999,12 +999,10 @@ class Splitview {
999
999
  this.saveProportions();
1000
1000
  document.removeEventListener('mousemove', mousemove);
1001
1001
  document.removeEventListener('mouseup', end);
1002
- document.removeEventListener('mouseend', end);
1003
1002
  this._onDidSashEnd.fire(undefined);
1004
1003
  };
1005
1004
  document.addEventListener('mousemove', mousemove);
1006
1005
  document.addEventListener('mouseup', end);
1007
- document.addEventListener('mouseend', end);
1008
1006
  };
1009
1007
  sash.addEventListener('mousedown', onStart);
1010
1008
  const sashItem = {
@@ -2107,36 +2105,30 @@ class Gridview {
2107
2105
  if (!(node instanceof LeafNode)) {
2108
2106
  throw new Error('Invalid location');
2109
2107
  }
2110
- const view = node.view;
2111
- node.dispose(); // dispose of node
2112
- const child = parent.removeChild(index, sizing);
2113
- child.dispose();
2108
+ parent.removeChild(index, sizing);
2114
2109
  if (parent.children.length === 0) {
2115
- return view;
2110
+ return node.view;
2116
2111
  }
2117
2112
  if (parent.children.length > 1) {
2118
- return view;
2113
+ return node.view;
2119
2114
  }
2120
2115
  const sibling = parent.children[0];
2121
2116
  if (pathToParent.length === 0) {
2122
2117
  // parent is root
2123
2118
  if (sibling instanceof LeafNode) {
2124
- return view;
2119
+ return node.view;
2125
2120
  }
2126
2121
  // we must promote sibling to be the new root
2127
- const child = parent.removeChild(0, sizing);
2128
- child.dispose();
2122
+ parent.removeChild(0, sizing);
2129
2123
  this.root = sibling;
2130
- return view;
2124
+ return node.view;
2131
2125
  }
2132
2126
  const [grandParent, ..._] = [...pathToParent].reverse();
2133
2127
  const [parentIndex, ...__] = [...rest].reverse();
2134
2128
  const isSiblingVisible = parent.isChildVisible(0);
2135
- const childNode = parent.removeChild(0, sizing);
2136
- childNode.dispose();
2129
+ parent.removeChild(0, sizing);
2137
2130
  const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
2138
- const parentNode = grandParent.removeChild(parentIndex, sizing);
2139
- parentNode.dispose();
2131
+ grandParent.removeChild(parentIndex, sizing);
2140
2132
  if (sibling instanceof BranchNode) {
2141
2133
  sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
2142
2134
  for (let i = 0; i < sibling.children.length; i++) {
@@ -2154,7 +2146,7 @@ class Gridview {
2154
2146
  for (let i = 0; i < sizes.length; i++) {
2155
2147
  grandParent.resizeChild(i, sizes[i]);
2156
2148
  }
2157
- return view;
2149
+ return node.view;
2158
2150
  }
2159
2151
  layout(width, height) {
2160
2152
  const [size, orthogonalSize] = this.root.orientation === exports.Orientation.HORIZONTAL
@@ -2867,25 +2859,32 @@ class DragHandler extends CompositeDisposable {
2867
2859
  constructor(el) {
2868
2860
  super();
2869
2861
  this.el = el;
2870
- this.disposable = new MutableDisposable();
2862
+ this.dataDisposable = new MutableDisposable();
2863
+ this.pointerEventsDisposable = new MutableDisposable();
2871
2864
  this._onDragStart = new Emitter();
2872
2865
  this.onDragStart = this._onDragStart.event;
2873
- this.iframes = [];
2874
- this.addDisposables(this._onDragStart);
2866
+ this.addDisposables(this._onDragStart, this.dataDisposable, this.pointerEventsDisposable);
2875
2867
  this.configure();
2876
2868
  }
2877
2869
  configure() {
2878
2870
  this.addDisposables(this._onDragStart, addDisposableListener(this.el, 'dragstart', (event) => {
2879
- this.iframes = [
2871
+ const iframes = [
2880
2872
  ...getElementsByTagName('iframe'),
2881
2873
  ...getElementsByTagName('webview'),
2882
2874
  ];
2883
- for (const iframe of this.iframes) {
2875
+ this.pointerEventsDisposable.value = {
2876
+ dispose: () => {
2877
+ for (const iframe of iframes) {
2878
+ iframe.style.pointerEvents = 'auto';
2879
+ }
2880
+ },
2881
+ };
2882
+ for (const iframe of iframes) {
2884
2883
  iframe.style.pointerEvents = 'none';
2885
2884
  }
2886
2885
  this.el.classList.add('dv-dragged');
2887
2886
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
2888
- this.disposable.value = this.getData(event.dataTransfer);
2887
+ this.dataDisposable.value = this.getData(event.dataTransfer);
2889
2888
  if (event.dataTransfer) {
2890
2889
  event.dataTransfer.effectAllowed = 'move';
2891
2890
  /**
@@ -2900,11 +2899,8 @@ class DragHandler extends CompositeDisposable {
2900
2899
  event.dataTransfer.setData('text/plain', '__dockview_internal_drag_event__');
2901
2900
  }
2902
2901
  }), addDisposableListener(this.el, 'dragend', () => {
2903
- for (const iframe of this.iframes) {
2904
- iframe.style.pointerEvents = 'auto';
2905
- }
2906
- this.iframes = [];
2907
- this.disposable.dispose();
2902
+ this.pointerEventsDisposable.dispose();
2903
+ this.dataDisposable.dispose();
2908
2904
  }));
2909
2905
  }
2910
2906
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-core
3
- * @version 1.7.4
3
+ * @version 1.7.5
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -225,7 +225,7 @@ function addDisposableWindowListener(element, type, listener, options) {
225
225
  element.addEventListener(type, listener, options);
226
226
  return {
227
227
  dispose: () => {
228
- element.removeEventListener(type, listener);
228
+ element.removeEventListener(type, listener, options);
229
229
  },
230
230
  };
231
231
  }
@@ -233,7 +233,7 @@ function addDisposableListener(element, type, listener, options) {
233
233
  element.addEventListener(type, listener, options);
234
234
  return {
235
235
  dispose: () => {
236
- element.removeEventListener(type, listener);
236
+ element.removeEventListener(type, listener, options);
237
237
  },
238
238
  };
239
239
  }
@@ -997,12 +997,10 @@ class Splitview {
997
997
  this.saveProportions();
998
998
  document.removeEventListener('mousemove', mousemove);
999
999
  document.removeEventListener('mouseup', end);
1000
- document.removeEventListener('mouseend', end);
1001
1000
  this._onDidSashEnd.fire(undefined);
1002
1001
  };
1003
1002
  document.addEventListener('mousemove', mousemove);
1004
1003
  document.addEventListener('mouseup', end);
1005
- document.addEventListener('mouseend', end);
1006
1004
  };
1007
1005
  sash.addEventListener('mousedown', onStart);
1008
1006
  const sashItem = {
@@ -2105,36 +2103,30 @@ class Gridview {
2105
2103
  if (!(node instanceof LeafNode)) {
2106
2104
  throw new Error('Invalid location');
2107
2105
  }
2108
- const view = node.view;
2109
- node.dispose(); // dispose of node
2110
- const child = parent.removeChild(index, sizing);
2111
- child.dispose();
2106
+ parent.removeChild(index, sizing);
2112
2107
  if (parent.children.length === 0) {
2113
- return view;
2108
+ return node.view;
2114
2109
  }
2115
2110
  if (parent.children.length > 1) {
2116
- return view;
2111
+ return node.view;
2117
2112
  }
2118
2113
  const sibling = parent.children[0];
2119
2114
  if (pathToParent.length === 0) {
2120
2115
  // parent is root
2121
2116
  if (sibling instanceof LeafNode) {
2122
- return view;
2117
+ return node.view;
2123
2118
  }
2124
2119
  // we must promote sibling to be the new root
2125
- const child = parent.removeChild(0, sizing);
2126
- child.dispose();
2120
+ parent.removeChild(0, sizing);
2127
2121
  this.root = sibling;
2128
- return view;
2122
+ return node.view;
2129
2123
  }
2130
2124
  const [grandParent, ..._] = [...pathToParent].reverse();
2131
2125
  const [parentIndex, ...__] = [...rest].reverse();
2132
2126
  const isSiblingVisible = parent.isChildVisible(0);
2133
- const childNode = parent.removeChild(0, sizing);
2134
- childNode.dispose();
2127
+ parent.removeChild(0, sizing);
2135
2128
  const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
2136
- const parentNode = grandParent.removeChild(parentIndex, sizing);
2137
- parentNode.dispose();
2129
+ grandParent.removeChild(parentIndex, sizing);
2138
2130
  if (sibling instanceof BranchNode) {
2139
2131
  sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
2140
2132
  for (let i = 0; i < sibling.children.length; i++) {
@@ -2152,7 +2144,7 @@ class Gridview {
2152
2144
  for (let i = 0; i < sizes.length; i++) {
2153
2145
  grandParent.resizeChild(i, sizes[i]);
2154
2146
  }
2155
- return view;
2147
+ return node.view;
2156
2148
  }
2157
2149
  layout(width, height) {
2158
2150
  const [size, orthogonalSize] = this.root.orientation === Orientation.HORIZONTAL
@@ -2865,25 +2857,32 @@ class DragHandler extends CompositeDisposable {
2865
2857
  constructor(el) {
2866
2858
  super();
2867
2859
  this.el = el;
2868
- this.disposable = new MutableDisposable();
2860
+ this.dataDisposable = new MutableDisposable();
2861
+ this.pointerEventsDisposable = new MutableDisposable();
2869
2862
  this._onDragStart = new Emitter();
2870
2863
  this.onDragStart = this._onDragStart.event;
2871
- this.iframes = [];
2872
- this.addDisposables(this._onDragStart);
2864
+ this.addDisposables(this._onDragStart, this.dataDisposable, this.pointerEventsDisposable);
2873
2865
  this.configure();
2874
2866
  }
2875
2867
  configure() {
2876
2868
  this.addDisposables(this._onDragStart, addDisposableListener(this.el, 'dragstart', (event) => {
2877
- this.iframes = [
2869
+ const iframes = [
2878
2870
  ...getElementsByTagName('iframe'),
2879
2871
  ...getElementsByTagName('webview'),
2880
2872
  ];
2881
- for (const iframe of this.iframes) {
2873
+ this.pointerEventsDisposable.value = {
2874
+ dispose: () => {
2875
+ for (const iframe of iframes) {
2876
+ iframe.style.pointerEvents = 'auto';
2877
+ }
2878
+ },
2879
+ };
2880
+ for (const iframe of iframes) {
2882
2881
  iframe.style.pointerEvents = 'none';
2883
2882
  }
2884
2883
  this.el.classList.add('dv-dragged');
2885
2884
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
2886
- this.disposable.value = this.getData(event.dataTransfer);
2885
+ this.dataDisposable.value = this.getData(event.dataTransfer);
2887
2886
  if (event.dataTransfer) {
2888
2887
  event.dataTransfer.effectAllowed = 'move';
2889
2888
  /**
@@ -2898,11 +2897,8 @@ class DragHandler extends CompositeDisposable {
2898
2897
  event.dataTransfer.setData('text/plain', '__dockview_internal_drag_event__');
2899
2898
  }
2900
2899
  }), addDisposableListener(this.el, 'dragend', () => {
2901
- for (const iframe of this.iframes) {
2902
- iframe.style.pointerEvents = 'auto';
2903
- }
2904
- this.iframes = [];
2905
- this.disposable.dispose();
2900
+ this.pointerEventsDisposable.dispose();
2901
+ this.dataDisposable.dispose();
2906
2902
  }));
2907
2903
  }
2908
2904
  }