dockview-core 1.7.3 → 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 (166) hide show
  1. package/dist/cjs/api/dockviewPanelApi.js +1 -1
  2. package/dist/cjs/api/dockviewPanelApi.js.map +1 -1
  3. package/dist/cjs/api/panelApi.d.ts.map +1 -1
  4. package/dist/cjs/api/panelApi.js +3 -5
  5. package/dist/cjs/api/panelApi.js.map +1 -1
  6. package/dist/cjs/dnd/abstractDragHandler.d.ts +2 -2
  7. package/dist/cjs/dnd/abstractDragHandler.d.ts.map +1 -1
  8. package/dist/cjs/dnd/abstractDragHandler.js +28 -23
  9. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
  10. package/dist/cjs/dnd/droptarget.d.ts.map +1 -1
  11. package/dist/cjs/dnd/droptarget.js +1 -0
  12. package/dist/cjs/dnd/droptarget.js.map +1 -1
  13. package/dist/cjs/dnd/groupDragHandler.d.ts +0 -1
  14. package/dist/cjs/dnd/groupDragHandler.d.ts.map +1 -1
  15. package/dist/cjs/dnd/groupDragHandler.js +0 -3
  16. package/dist/cjs/dnd/groupDragHandler.js.map +1 -1
  17. package/dist/cjs/dockview/components/panel/content.d.ts.map +1 -1
  18. package/dist/cjs/dockview/components/panel/content.js +2 -2
  19. package/dist/cjs/dockview/components/panel/content.js.map +1 -1
  20. package/dist/cjs/dockview/components/tab/tab.d.ts +2 -2
  21. package/dist/cjs/dockview/components/tab/tab.d.ts.map +1 -1
  22. package/dist/cjs/dockview/components/tab/tab.js +2 -7
  23. package/dist/cjs/dockview/components/tab/tab.js.map +1 -1
  24. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts.map +1 -1
  25. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +27 -3
  26. package/dist/cjs/dockview/components/titlebar/tabsContainer.js.map +1 -1
  27. package/dist/cjs/dockview/dockviewComponent.d.ts +1 -1
  28. package/dist/cjs/dockview/dockviewComponent.d.ts.map +1 -1
  29. package/dist/cjs/dockview/dockviewComponent.js +23 -21
  30. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  31. package/dist/cjs/dockview/dockviewGroupPanelModel.js +2 -2
  32. package/dist/cjs/dockview/dockviewGroupPanelModel.js.map +1 -1
  33. package/dist/cjs/dockview/dockviewPanel.d.ts +5 -4
  34. package/dist/cjs/dockview/dockviewPanel.d.ts.map +1 -1
  35. package/dist/cjs/dockview/dockviewPanel.js +33 -5
  36. package/dist/cjs/dockview/dockviewPanel.js.map +1 -1
  37. package/dist/cjs/dockview/dockviewPanelModel.d.ts +4 -3
  38. package/dist/cjs/dockview/dockviewPanelModel.d.ts.map +1 -1
  39. package/dist/cjs/dockview/dockviewPanelModel.js.map +1 -1
  40. package/dist/cjs/dockview/types.d.ts +1 -5
  41. package/dist/cjs/dockview/types.d.ts.map +1 -1
  42. package/dist/cjs/dockview/types.js.map +1 -1
  43. package/dist/cjs/dom.js +1 -5
  44. package/dist/cjs/dom.js.map +1 -1
  45. package/dist/cjs/events.d.ts +17 -0
  46. package/dist/cjs/events.d.ts.map +1 -1
  47. package/dist/cjs/events.js +96 -9
  48. package/dist/cjs/events.js.map +1 -1
  49. package/dist/cjs/gridview/baseComponentGridview.d.ts.map +1 -1
  50. package/dist/cjs/gridview/baseComponentGridview.js +2 -3
  51. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  52. package/dist/cjs/gridview/basePanelView.d.ts.map +1 -1
  53. package/dist/cjs/gridview/basePanelView.js +41 -8
  54. package/dist/cjs/gridview/basePanelView.js.map +1 -1
  55. package/dist/cjs/gridview/branchNode.d.ts +1 -1
  56. package/dist/cjs/gridview/branchNode.d.ts.map +1 -1
  57. package/dist/cjs/gridview/branchNode.js +3 -3
  58. package/dist/cjs/gridview/branchNode.js.map +1 -1
  59. package/dist/cjs/gridview/gridview.d.ts.map +1 -1
  60. package/dist/cjs/gridview/gridview.js +4 -2
  61. package/dist/cjs/gridview/gridview.js.map +1 -1
  62. package/dist/cjs/gridview/gridviewPanel.js +2 -2
  63. package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
  64. package/dist/cjs/lifecycle.d.ts +1 -1
  65. package/dist/cjs/lifecycle.d.ts.map +1 -1
  66. package/dist/cjs/lifecycle.js +3 -3
  67. package/dist/cjs/lifecycle.js.map +1 -1
  68. package/dist/cjs/splitview/splitview.d.ts +3 -2
  69. package/dist/cjs/splitview/splitview.d.ts.map +1 -1
  70. package/dist/cjs/splitview/splitview.js +103 -86
  71. package/dist/cjs/splitview/splitview.js.map +1 -1
  72. package/dist/cjs/splitview/splitviewComponent.d.ts +2 -2
  73. package/dist/cjs/splitview/splitviewComponent.d.ts.map +1 -1
  74. package/dist/cjs/splitview/splitviewComponent.js +36 -20
  75. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  76. package/dist/cjs/splitview/splitviewPanel.d.ts.map +1 -1
  77. package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
  78. package/dist/dockview-core.amd.js +281 -194
  79. package/dist/dockview-core.amd.min.js +2 -2
  80. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  81. package/dist/dockview-core.amd.noStyle.js +281 -194
  82. package/dist/dockview-core.cjs.js +281 -194
  83. package/dist/dockview-core.esm.js +281 -194
  84. package/dist/dockview-core.esm.min.js +2 -2
  85. package/dist/dockview-core.js +281 -194
  86. package/dist/dockview-core.min.js +2 -2
  87. package/dist/dockview-core.min.noStyle.js +2 -2
  88. package/dist/dockview-core.noStyle.js +281 -194
  89. package/dist/esm/api/dockviewPanelApi.js +1 -1
  90. package/dist/esm/api/dockviewPanelApi.js.map +1 -1
  91. package/dist/esm/api/panelApi.d.ts.map +1 -1
  92. package/dist/esm/api/panelApi.js +3 -5
  93. package/dist/esm/api/panelApi.js.map +1 -1
  94. package/dist/esm/dnd/abstractDragHandler.d.ts +2 -2
  95. package/dist/esm/dnd/abstractDragHandler.d.ts.map +1 -1
  96. package/dist/esm/dnd/abstractDragHandler.js +15 -10
  97. package/dist/esm/dnd/abstractDragHandler.js.map +1 -1
  98. package/dist/esm/dnd/droptarget.d.ts.map +1 -1
  99. package/dist/esm/dnd/droptarget.js +1 -0
  100. package/dist/esm/dnd/droptarget.js.map +1 -1
  101. package/dist/esm/dnd/groupDragHandler.d.ts +0 -1
  102. package/dist/esm/dnd/groupDragHandler.d.ts.map +1 -1
  103. package/dist/esm/dnd/groupDragHandler.js +0 -3
  104. package/dist/esm/dnd/groupDragHandler.js.map +1 -1
  105. package/dist/esm/dockview/components/panel/content.d.ts.map +1 -1
  106. package/dist/esm/dockview/components/panel/content.js +2 -2
  107. package/dist/esm/dockview/components/panel/content.js.map +1 -1
  108. package/dist/esm/dockview/components/tab/tab.d.ts +2 -2
  109. package/dist/esm/dockview/components/tab/tab.d.ts.map +1 -1
  110. package/dist/esm/dockview/components/tab/tab.js +2 -7
  111. package/dist/esm/dockview/components/tab/tab.js.map +1 -1
  112. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts.map +1 -1
  113. package/dist/esm/dockview/components/titlebar/tabsContainer.js +5 -3
  114. package/dist/esm/dockview/components/titlebar/tabsContainer.js.map +1 -1
  115. package/dist/esm/dockview/dockviewComponent.d.ts +1 -1
  116. package/dist/esm/dockview/dockviewComponent.d.ts.map +1 -1
  117. package/dist/esm/dockview/dockviewComponent.js +23 -21
  118. package/dist/esm/dockview/dockviewComponent.js.map +1 -1
  119. package/dist/esm/dockview/dockviewGroupPanelModel.js +2 -2
  120. package/dist/esm/dockview/dockviewGroupPanelModel.js.map +1 -1
  121. package/dist/esm/dockview/dockviewPanel.d.ts +5 -4
  122. package/dist/esm/dockview/dockviewPanel.d.ts.map +1 -1
  123. package/dist/esm/dockview/dockviewPanel.js +11 -5
  124. package/dist/esm/dockview/dockviewPanel.js.map +1 -1
  125. package/dist/esm/dockview/dockviewPanelModel.d.ts +4 -3
  126. package/dist/esm/dockview/dockviewPanelModel.d.ts.map +1 -1
  127. package/dist/esm/dockview/dockviewPanelModel.js.map +1 -1
  128. package/dist/esm/dockview/types.d.ts +1 -5
  129. package/dist/esm/dockview/types.d.ts.map +1 -1
  130. package/dist/esm/dockview/types.js.map +1 -1
  131. package/dist/esm/dom.js +1 -5
  132. package/dist/esm/dom.js.map +1 -1
  133. package/dist/esm/events.d.ts +17 -0
  134. package/dist/esm/events.d.ts.map +1 -1
  135. package/dist/esm/events.js +77 -9
  136. package/dist/esm/events.js.map +1 -1
  137. package/dist/esm/gridview/baseComponentGridview.d.ts.map +1 -1
  138. package/dist/esm/gridview/baseComponentGridview.js +2 -3
  139. package/dist/esm/gridview/baseComponentGridview.js.map +1 -1
  140. package/dist/esm/gridview/basePanelView.d.ts.map +1 -1
  141. package/dist/esm/gridview/basePanelView.js +16 -5
  142. package/dist/esm/gridview/basePanelView.js.map +1 -1
  143. package/dist/esm/gridview/branchNode.d.ts +1 -1
  144. package/dist/esm/gridview/branchNode.d.ts.map +1 -1
  145. package/dist/esm/gridview/branchNode.js +3 -3
  146. package/dist/esm/gridview/branchNode.js.map +1 -1
  147. package/dist/esm/gridview/gridview.d.ts.map +1 -1
  148. package/dist/esm/gridview/gridview.js +4 -2
  149. package/dist/esm/gridview/gridview.js.map +1 -1
  150. package/dist/esm/gridview/gridviewPanel.js +2 -2
  151. package/dist/esm/gridview/gridviewPanel.js.map +1 -1
  152. package/dist/esm/lifecycle.d.ts +1 -1
  153. package/dist/esm/lifecycle.d.ts.map +1 -1
  154. package/dist/esm/lifecycle.js +3 -3
  155. package/dist/esm/lifecycle.js.map +1 -1
  156. package/dist/esm/splitview/splitview.d.ts +3 -2
  157. package/dist/esm/splitview/splitview.d.ts.map +1 -1
  158. package/dist/esm/splitview/splitview.js +90 -86
  159. package/dist/esm/splitview/splitview.js.map +1 -1
  160. package/dist/esm/splitview/splitviewComponent.d.ts +2 -2
  161. package/dist/esm/splitview/splitviewComponent.d.ts.map +1 -1
  162. package/dist/esm/splitview/splitviewComponent.js +22 -16
  163. package/dist/esm/splitview/splitviewComponent.js.map +1 -1
  164. package/dist/esm/splitview/splitviewPanel.d.ts.map +1 -1
  165. package/dist/esm/splitview/splitviewPanel.js.map +1 -1
  166. package/package.json +2 -2
@@ -51,7 +51,7 @@ export class Splitview {
51
51
  this._orthogonalSize = value;
52
52
  }
53
53
  get length() {
54
- return this.views.length;
54
+ return this.viewItems.length;
55
55
  }
56
56
  get proportions() {
57
57
  return this._proportions ? [...this._proportions] : undefined;
@@ -70,12 +70,12 @@ export class Splitview {
70
70
  : 'vertical');
71
71
  }
72
72
  get minimumSize() {
73
- return this.views.reduce((r, item) => r + item.minimumSize, 0);
73
+ return this.viewItems.reduce((r, item) => r + item.minimumSize, 0);
74
74
  }
75
75
  get maximumSize() {
76
76
  return this.length === 0
77
77
  ? Number.POSITIVE_INFINITY
78
- : this.views.reduce((r, item) => r + item.maximumSize, 0);
78
+ : this.viewItems.reduce((r, item) => r + item.maximumSize, 0);
79
79
  }
80
80
  get startSnappingEnabled() {
81
81
  return this._startSnappingEnabled;
@@ -99,7 +99,7 @@ export class Splitview {
99
99
  }
100
100
  constructor(container, options) {
101
101
  this.container = container;
102
- this.views = [];
102
+ this.viewItems = [];
103
103
  this.sashes = [];
104
104
  this._size = 0;
105
105
  this._orthogonalSize = 0;
@@ -113,12 +113,12 @@ export class Splitview {
113
113
  this.onDidAddView = this._onDidAddView.event;
114
114
  this._onDidRemoveView = new Emitter();
115
115
  this.onDidRemoveView = this._onDidRemoveView.event;
116
- this.resize = (index, delta, sizes = this.views.map((x) => x.size), lowPriorityIndexes, highPriorityIndexes, overloadMinDelta = Number.NEGATIVE_INFINITY, overloadMaxDelta = Number.POSITIVE_INFINITY, snapBefore, snapAfter) => {
117
- if (index < 0 || index > this.views.length) {
116
+ this.resize = (index, delta, sizes = this.viewItems.map((x) => x.size), lowPriorityIndexes, highPriorityIndexes, overloadMinDelta = Number.NEGATIVE_INFINITY, overloadMaxDelta = Number.POSITIVE_INFINITY, snapBefore, snapAfter) => {
117
+ if (index < 0 || index > this.viewItems.length) {
118
118
  return 0;
119
119
  }
120
120
  const upIndexes = range(index, -1);
121
- const downIndexes = range(index + 1, this.views.length);
121
+ const downIndexes = range(index + 1, this.viewItems.length);
122
122
  //
123
123
  if (highPriorityIndexes) {
124
124
  for (const i of highPriorityIndexes) {
@@ -133,34 +133,34 @@ export class Splitview {
133
133
  }
134
134
  }
135
135
  //
136
- const upItems = upIndexes.map((i) => this.views[i]);
136
+ const upItems = upIndexes.map((i) => this.viewItems[i]);
137
137
  const upSizes = upIndexes.map((i) => sizes[i]);
138
138
  //
139
- const downItems = downIndexes.map((i) => this.views[i]);
139
+ const downItems = downIndexes.map((i) => this.viewItems[i]);
140
140
  const downSizes = downIndexes.map((i) => sizes[i]);
141
141
  //
142
- const minDeltaUp = upIndexes.reduce((_, i) => _ + this.views[i].minimumSize - sizes[i], 0);
143
- const maxDeltaUp = upIndexes.reduce((_, i) => _ + this.views[i].maximumSize - sizes[i], 0);
142
+ const minDeltaUp = upIndexes.reduce((_, i) => _ + this.viewItems[i].minimumSize - sizes[i], 0);
143
+ const maxDeltaUp = upIndexes.reduce((_, i) => _ + this.viewItems[i].maximumSize - sizes[i], 0);
144
144
  //
145
145
  const maxDeltaDown = downIndexes.length === 0
146
146
  ? Number.POSITIVE_INFINITY
147
- : downIndexes.reduce((_, i) => _ + sizes[i] - this.views[i].minimumSize, 0);
147
+ : downIndexes.reduce((_, i) => _ + sizes[i] - this.viewItems[i].minimumSize, 0);
148
148
  const minDeltaDown = downIndexes.length === 0
149
149
  ? Number.NEGATIVE_INFINITY
150
- : downIndexes.reduce((_, i) => _ + sizes[i] - this.views[i].maximumSize, 0);
150
+ : downIndexes.reduce((_, i) => _ + sizes[i] - this.viewItems[i].maximumSize, 0);
151
151
  //
152
152
  const minDelta = Math.max(minDeltaUp, minDeltaDown);
153
153
  const maxDelta = Math.min(maxDeltaDown, maxDeltaUp);
154
154
  //
155
155
  let snapped = false;
156
156
  if (snapBefore) {
157
- const snapView = this.views[snapBefore.index];
157
+ const snapView = this.viewItems[snapBefore.index];
158
158
  const visible = delta >= snapBefore.limitDelta;
159
159
  snapped = visible !== snapView.visible;
160
160
  snapView.setVisible(visible, snapBefore.size);
161
161
  }
162
162
  if (!snapped && snapAfter) {
163
- const snapView = this.views[snapAfter.index];
163
+ const snapView = this.viewItems[snapAfter.index];
164
164
  const visible = delta < snapAfter.limitDelta;
165
165
  snapped = visible !== snapView.visible;
166
166
  snapView.setVisible(visible, snapAfter.size);
@@ -222,7 +222,7 @@ export class Splitview {
222
222
  );
223
223
  });
224
224
  // Initialize content size and proportions for first layout
225
- this.contentSize = this.views.reduce((r, i) => r + i.size, 0);
225
+ this.contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
226
226
  this.saveProportions();
227
227
  }
228
228
  }
@@ -239,18 +239,18 @@ export class Splitview {
239
239
  }
240
240
  }
241
241
  isViewVisible(index) {
242
- if (index < 0 || index >= this.views.length) {
242
+ if (index < 0 || index >= this.viewItems.length) {
243
243
  throw new Error('Index out of bounds');
244
244
  }
245
- const viewItem = this.views[index];
245
+ const viewItem = this.viewItems[index];
246
246
  return viewItem.visible;
247
247
  }
248
248
  setViewVisible(index, visible) {
249
- if (index < 0 || index >= this.views.length) {
249
+ if (index < 0 || index >= this.viewItems.length) {
250
250
  throw new Error('Index out of bounds');
251
251
  }
252
252
  toggleClass(this.container, 'visible', visible);
253
- const viewItem = this.views[index];
253
+ const viewItem = this.viewItems[index];
254
254
  toggleClass(this.container, 'visible', visible);
255
255
  viewItem.setVisible(visible, viewItem.size);
256
256
  this.distributeEmptySpace(index);
@@ -258,33 +258,33 @@ export class Splitview {
258
258
  this.saveProportions();
259
259
  }
260
260
  getViewSize(index) {
261
- if (index < 0 || index >= this.views.length) {
261
+ if (index < 0 || index >= this.viewItems.length) {
262
262
  return -1;
263
263
  }
264
- return this.views[index].size;
264
+ return this.viewItems[index].size;
265
265
  }
266
266
  resizeView(index, size) {
267
- if (index < 0 || index >= this.views.length) {
267
+ if (index < 0 || index >= this.viewItems.length) {
268
268
  return;
269
269
  }
270
- const indexes = range(this.views.length).filter((i) => i !== index);
270
+ const indexes = range(this.viewItems.length).filter((i) => i !== index);
271
271
  const lowPriorityIndexes = [
272
- ...indexes.filter((i) => this.views[i].priority === LayoutPriority.Low),
272
+ ...indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.Low),
273
273
  index,
274
274
  ];
275
- const highPriorityIndexes = indexes.filter((i) => this.views[i].priority === LayoutPriority.High);
276
- const item = this.views[index];
275
+ const highPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.High);
276
+ const item = this.viewItems[index];
277
277
  size = Math.round(size);
278
278
  size = clamp(size, item.minimumSize, Math.min(item.maximumSize, this._size));
279
279
  item.size = size;
280
280
  this.relayout(lowPriorityIndexes, highPriorityIndexes);
281
281
  }
282
282
  getViews() {
283
- return this.views.map((x) => x.view);
283
+ return this.viewItems.map((x) => x.view);
284
284
  }
285
285
  onDidChange(item, size) {
286
- const index = this.views.indexOf(item);
287
- if (index < 0 || index >= this.views.length) {
286
+ const index = this.viewItems.indexOf(item);
287
+ if (index < 0 || index >= this.viewItems.length) {
288
288
  return;
289
289
  }
290
290
  size = typeof size === 'number' ? size : item.size;
@@ -292,7 +292,7 @@ export class Splitview {
292
292
  item.size = size;
293
293
  this.relayout([index]);
294
294
  }
295
- addView(view, size = { type: 'distribute' }, index = this.views.length, skipLayout) {
295
+ addView(view, size = { type: 'distribute' }, index = this.viewItems.length, skipLayout) {
296
296
  const container = document.createElement('div');
297
297
  container.className = 'view';
298
298
  container.appendChild(view.element);
@@ -310,24 +310,25 @@ export class Splitview {
310
310
  viewSize = view.minimumSize;
311
311
  }
312
312
  const disposable = view.onDidChange((newSize) => this.onDidChange(viewItem, newSize.size));
313
- const dispose = () => {
314
- disposable === null || disposable === void 0 ? void 0 : disposable.dispose();
315
- this.viewContainer.removeChild(container);
316
- };
317
- const viewItem = new ViewItem(container, view, viewSize, { dispose });
318
- if (index === this.views.length) {
313
+ const viewItem = new ViewItem(container, view, viewSize, {
314
+ dispose: () => {
315
+ disposable.dispose();
316
+ this.viewContainer.removeChild(container);
317
+ },
318
+ });
319
+ if (index === this.viewItems.length) {
319
320
  this.viewContainer.appendChild(container);
320
321
  }
321
322
  else {
322
323
  this.viewContainer.insertBefore(container, this.viewContainer.children.item(index));
323
324
  }
324
- this.views.splice(index, 0, viewItem);
325
- if (this.views.length > 1) {
325
+ this.viewItems.splice(index, 0, viewItem);
326
+ if (this.viewItems.length > 1) {
326
327
  //add sash
327
328
  const sash = document.createElement('div');
328
329
  sash.className = 'sash';
329
330
  const onStart = (event) => {
330
- for (const item of this.views) {
331
+ for (const item of this.viewItems) {
331
332
  item.enabled = false;
332
333
  }
333
334
  const iframes = [
@@ -342,27 +343,29 @@ export class Splitview {
342
343
  : event.clientY;
343
344
  const sashIndex = firstIndex(this.sashes, (s) => s.container === sash);
344
345
  //
345
- const sizes = this.views.map((x) => x.size);
346
+ const sizes = this.viewItems.map((x) => x.size);
346
347
  //
347
348
  let snapBefore;
348
349
  let snapAfter;
349
350
  const upIndexes = range(sashIndex, -1);
350
- const downIndexes = range(sashIndex + 1, this.views.length);
351
- const minDeltaUp = upIndexes.reduce((r, i) => r + (this.views[i].minimumSize - sizes[i]), 0);
352
- const maxDeltaUp = upIndexes.reduce((r, i) => r + (this.views[i].viewMaximumSize - sizes[i]), 0);
351
+ const downIndexes = range(sashIndex + 1, this.viewItems.length);
352
+ const minDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].minimumSize - sizes[i]), 0);
353
+ const maxDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].viewMaximumSize - sizes[i]), 0);
353
354
  const maxDeltaDown = downIndexes.length === 0
354
355
  ? Number.POSITIVE_INFINITY
355
- : downIndexes.reduce((r, i) => r + (sizes[i] - this.views[i].minimumSize), 0);
356
+ : downIndexes.reduce((r, i) => r +
357
+ (sizes[i] - this.viewItems[i].minimumSize), 0);
356
358
  const minDeltaDown = downIndexes.length === 0
357
359
  ? Number.NEGATIVE_INFINITY
358
360
  : downIndexes.reduce((r, i) => r +
359
- (sizes[i] - this.views[i].viewMaximumSize), 0);
361
+ (sizes[i] -
362
+ this.viewItems[i].viewMaximumSize), 0);
360
363
  const minDelta = Math.max(minDeltaUp, minDeltaDown);
361
364
  const maxDelta = Math.min(maxDeltaDown, maxDeltaUp);
362
365
  const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);
363
366
  const snapAfterIndex = this.findFirstSnapIndex(downIndexes);
364
367
  if (typeof snapBeforeIndex === 'number') {
365
- const snappedViewItem = this.views[snapBeforeIndex];
368
+ const snappedViewItem = this.viewItems[snapBeforeIndex];
366
369
  const halfSize = Math.floor(snappedViewItem.viewMinimumSize / 2);
367
370
  snapBefore = {
368
371
  index: snapBeforeIndex,
@@ -373,7 +376,7 @@ export class Splitview {
373
376
  };
374
377
  }
375
378
  if (typeof snapAfterIndex === 'number') {
376
- const snappedViewItem = this.views[snapAfterIndex];
379
+ const snappedViewItem = this.viewItems[snapAfterIndex];
377
380
  const halfSize = Math.floor(snappedViewItem.viewMinimumSize / 2);
378
381
  snapAfter = {
379
382
  index: snapAfterIndex,
@@ -394,7 +397,7 @@ export class Splitview {
394
397
  this.layoutViews();
395
398
  };
396
399
  const end = () => {
397
- for (const item of this.views) {
400
+ for (const item of this.viewItems) {
398
401
  item.enabled = true;
399
402
  }
400
403
  for (const iframe of iframes) {
@@ -403,12 +406,10 @@ export class Splitview {
403
406
  this.saveProportions();
404
407
  document.removeEventListener('mousemove', mousemove);
405
408
  document.removeEventListener('mouseup', end);
406
- document.removeEventListener('mouseend', end);
407
409
  this._onDidSashEnd.fire(undefined);
408
410
  };
409
411
  document.addEventListener('mousemove', mousemove);
410
412
  document.addEventListener('mouseup', end);
411
- document.addEventListener('mouseend', end);
412
413
  };
413
414
  sash.addEventListener('mousedown', onStart);
414
415
  const sashItem = {
@@ -434,7 +435,7 @@ export class Splitview {
434
435
  distributeViewSizes() {
435
436
  const flexibleViewItems = [];
436
437
  let flexibleSize = 0;
437
- for (const item of this.views) {
438
+ for (const item of this.viewItems) {
438
439
  if (item.maximumSize - item.minimumSize > 0) {
439
440
  flexibleViewItems.push(item);
440
441
  flexibleSize += item.size;
@@ -444,17 +445,17 @@ export class Splitview {
444
445
  for (const item of flexibleViewItems) {
445
446
  item.size = clamp(size, item.minimumSize, item.maximumSize);
446
447
  }
447
- const indexes = range(this.views.length);
448
- const lowPriorityIndexes = indexes.filter((i) => this.views[i].priority === LayoutPriority.Low);
449
- const highPriorityIndexes = indexes.filter((i) => this.views[i].priority === LayoutPriority.High);
448
+ const indexes = range(this.viewItems.length);
449
+ const lowPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.Low);
450
+ const highPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.High);
450
451
  this.relayout(lowPriorityIndexes, highPriorityIndexes);
451
452
  }
452
453
  removeView(index, sizing, skipLayout = false) {
453
454
  // Remove view
454
- const viewItem = this.views.splice(index, 1)[0];
455
+ const viewItem = this.viewItems.splice(index, 1)[0];
455
456
  viewItem.dispose();
456
457
  // Remove sash
457
- if (this.views.length >= 1) {
458
+ if (this.viewItems.length >= 1) {
458
459
  const sashIndex = Math.max(index - 1, 0);
459
460
  const sashItem = this.sashes.splice(sashIndex, 1)[0];
460
461
  sashItem.disposable();
@@ -469,10 +470,10 @@ export class Splitview {
469
470
  return viewItem.view;
470
471
  }
471
472
  getViewCachedVisibleSize(index) {
472
- if (index < 0 || index >= this.views.length) {
473
+ if (index < 0 || index >= this.viewItems.length) {
473
474
  throw new Error('Index out of bounds');
474
475
  }
475
- const viewItem = this.views[index];
476
+ const viewItem = this.viewItems[index];
476
477
  return viewItem.cachedVisibleSize;
477
478
  }
478
479
  moveView(from, to) {
@@ -488,14 +489,14 @@ export class Splitview {
488
489
  this.size = size;
489
490
  this.orthogonalSize = orthogonalSize;
490
491
  if (!this.proportions) {
491
- const indexes = range(this.views.length);
492
- const lowPriorityIndexes = indexes.filter((i) => this.views[i].priority === LayoutPriority.Low);
493
- const highPriorityIndexes = indexes.filter((i) => this.views[i].priority === LayoutPriority.High);
494
- this.resize(this.views.length - 1, size - previousSize, undefined, lowPriorityIndexes, highPriorityIndexes);
492
+ const indexes = range(this.viewItems.length);
493
+ const lowPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.Low);
494
+ const highPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.High);
495
+ this.resize(this.viewItems.length - 1, size - previousSize, undefined, lowPriorityIndexes, highPriorityIndexes);
495
496
  }
496
497
  else {
497
- for (let i = 0; i < this.views.length; i++) {
498
- const item = this.views[i];
498
+ for (let i = 0; i < this.viewItems.length; i++) {
499
+ const item = this.viewItems[i];
499
500
  item.size = clamp(Math.round(this.proportions[i] * size), item.minimumSize, item.maximumSize);
500
501
  }
501
502
  }
@@ -503,18 +504,18 @@ export class Splitview {
503
504
  this.layoutViews();
504
505
  }
505
506
  relayout(lowPriorityIndexes, highPriorityIndexes) {
506
- const contentSize = this.views.reduce((r, i) => r + i.size, 0);
507
- this.resize(this.views.length - 1, this._size - contentSize, undefined, lowPriorityIndexes, highPriorityIndexes);
507
+ const contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
508
+ this.resize(this.viewItems.length - 1, this._size - contentSize, undefined, lowPriorityIndexes, highPriorityIndexes);
508
509
  this.distributeEmptySpace();
509
510
  this.layoutViews();
510
511
  this.saveProportions();
511
512
  }
512
513
  distributeEmptySpace(lowPriorityIndex) {
513
- const contentSize = this.views.reduce((r, i) => r + i.size, 0);
514
+ const contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
514
515
  let emptyDelta = this.size - contentSize;
515
- const indexes = range(this.views.length - 1, -1);
516
- const lowPriorityIndexes = indexes.filter((i) => this.views[i].priority === LayoutPriority.Low);
517
- const highPriorityIndexes = indexes.filter((i) => this.views[i].priority === LayoutPriority.High);
516
+ const indexes = range(this.viewItems.length - 1, -1);
517
+ const lowPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.Low);
518
+ const highPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.High);
518
519
  for (const index of highPriorityIndexes) {
519
520
  pushToStart(indexes, index);
520
521
  }
@@ -525,7 +526,7 @@ export class Splitview {
525
526
  pushToEnd(indexes, lowPriorityIndex);
526
527
  }
527
528
  for (let i = 0; emptyDelta !== 0 && i < indexes.length; i++) {
528
- const item = this.views[indexes[i]];
529
+ const item = this.viewItems[indexes[i]];
529
530
  const size = clamp(item.size + emptyDelta, item.minimumSize, item.maximumSize);
530
531
  const viewDelta = size - item.size;
531
532
  emptyDelta -= viewDelta;
@@ -534,16 +535,16 @@ export class Splitview {
534
535
  }
535
536
  saveProportions() {
536
537
  if (this.proportionalLayout && this.contentSize > 0) {
537
- this._proportions = this.views.map((i) => i.size / this.contentSize);
538
+ this._proportions = this.viewItems.map((i) => i.size / this.contentSize);
538
539
  }
539
540
  }
540
541
  layoutViews() {
541
- this.contentSize = this.views.reduce((r, i) => r + i.size, 0);
542
+ this.contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
542
543
  let sum = 0;
543
544
  const x = [];
544
545
  this.updateSashEnablement();
545
- for (let i = 0; i < this.views.length - 1; i++) {
546
- sum += this.views[i].size;
546
+ for (let i = 0; i < this.viewItems.length - 1; i++) {
547
+ sum += this.viewItems[i].size;
547
548
  x.push(sum);
548
549
  const offset = Math.min(Math.max(0, sum - 2), this.size - 4);
549
550
  if (this._orientation === Orientation.HORIZONTAL) {
@@ -555,7 +556,7 @@ export class Splitview {
555
556
  this.sashes[i].container.style.top = `${offset}px`;
556
557
  }
557
558
  }
558
- this.views.forEach((view, i) => {
559
+ this.viewItems.forEach((view, i) => {
559
560
  if (this._orientation === Orientation.HORIZONTAL) {
560
561
  view.container.style.width = `${view.size}px`;
561
562
  view.container.style.left = i == 0 ? '0px' : `${x[i - 1]}px`;
@@ -574,7 +575,7 @@ export class Splitview {
574
575
  findFirstSnapIndex(indexes) {
575
576
  // visible views first
576
577
  for (const index of indexes) {
577
- const viewItem = this.views[index];
578
+ const viewItem = this.viewItems[index];
578
579
  if (!viewItem.visible) {
579
580
  continue;
580
581
  }
@@ -584,7 +585,7 @@ export class Splitview {
584
585
  }
585
586
  // then, hidden views
586
587
  for (const index of indexes) {
587
- const viewItem = this.views[index];
588
+ const viewItem = this.viewItems[index];
588
589
  if (viewItem.visible &&
589
590
  viewItem.maximumSize - viewItem.minimumSize > 0) {
590
591
  return undefined;
@@ -597,10 +598,10 @@ export class Splitview {
597
598
  }
598
599
  updateSashEnablement() {
599
600
  let previous = false;
600
- const collapsesDown = this.views.map((i) => (previous = i.size - i.minimumSize > 0 || previous));
601
+ const collapsesDown = this.viewItems.map((i) => (previous = i.size - i.minimumSize > 0 || previous));
601
602
  previous = false;
602
- const expandsDown = this.views.map((i) => (previous = i.maximumSize - i.size > 0 || previous));
603
- const reverseViews = [...this.views].reverse();
603
+ const expandsDown = this.viewItems.map((i) => (previous = i.maximumSize - i.size > 0 || previous));
604
+ const reverseViews = [...this.viewItems].reverse();
604
605
  previous = false;
605
606
  const collapsesUp = reverseViews
606
607
  .map((i) => (previous = i.size - i.minimumSize > 0 || previous))
@@ -612,19 +613,19 @@ export class Splitview {
612
613
  let position = 0;
613
614
  for (let index = 0; index < this.sashes.length; index++) {
614
615
  const sash = this.sashes[index];
615
- const viewItem = this.views[index];
616
+ const viewItem = this.viewItems[index];
616
617
  position += viewItem.size;
617
618
  const min = !(collapsesDown[index] && expandsUp[index + 1]);
618
619
  const max = !(expandsDown[index] && collapsesUp[index + 1]);
619
620
  if (min && max) {
620
621
  const upIndexes = range(index, -1);
621
- const downIndexes = range(index + 1, this.views.length);
622
+ const downIndexes = range(index + 1, this.viewItems.length);
622
623
  const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);
623
624
  const snapAfterIndex = this.findFirstSnapIndex(downIndexes);
624
625
  const snappedBefore = typeof snapBeforeIndex === 'number' &&
625
- !this.views[snapBeforeIndex].visible;
626
+ !this.viewItems[snapBeforeIndex].visible;
626
627
  const snappedAfter = typeof snapAfterIndex === 'number' &&
627
- !this.views[snapAfterIndex].visible;
628
+ !this.viewItems[snapAfterIndex].visible;
628
629
  if (snappedBefore &&
629
630
  collapsesUp[index] &&
630
631
  (position > 0 || this.startSnappingEnabled)) {
@@ -684,6 +685,9 @@ export class Splitview {
684
685
  break;
685
686
  }
686
687
  }
688
+ for (const viewItem of this.viewItems) {
689
+ viewItem.dispose();
690
+ }
687
691
  this.element.remove();
688
692
  }
689
693
  }
@@ -1 +1 @@
1
- {"version":3,"file":"splitview.js","sourceRoot":"","sources":["../../../src/splitview/splitview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"splitview.js","sourceRoot":"","sources":["../../../src/splitview/splitview.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export interface ISplitviewComponent extends IDisposable {
60
60
  * A high-level implementation of splitview that works using 'panels'
61
61
  */
62
62
  export declare class SplitviewComponent extends Resizable implements ISplitviewComponent {
63
- private _disposable;
63
+ private _splitviewChangeDisposable;
64
64
  private _splitview;
65
65
  private _activePanel;
66
66
  private _panels;
@@ -91,7 +91,7 @@ export declare class SplitviewComponent extends Resizable implements ISplitviewC
91
91
  setActive(view: SplitviewPanel, skipFocus?: boolean): void;
92
92
  removePanel(panel: SplitviewPanel, sizing?: Sizing): void;
93
93
  getPanel(id: string): SplitviewPanel | undefined;
94
- addPanel(options: AddSplitviewComponentOptions): ISplitviewPanel;
94
+ addPanel(options: AddSplitviewComponentOptions): SplitviewPanel;
95
95
  layout(width: number, height: number): void;
96
96
  private doAddView;
97
97
  toJSON(): SerializedSplitview;
@@ -1 +1 @@
1
- {"version":3,"file":"splitviewComponent.d.ts","sourceRoot":"","sources":["../../../src/splitview/splitviewComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"splitviewComponent.d.ts","sourceRoot":"","sources":["../../../src/splitview/splitviewComponent.ts"],"names":[],"mappings":"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"}