dockview-core 4.0.0 → 4.1.0

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 (60) hide show
  1. package/dist/cjs/api/component.api.d.ts +3 -1
  2. package/dist/cjs/api/component.api.js +14 -0
  3. package/dist/cjs/dockview/components/popupService.js +1 -1
  4. package/dist/cjs/dockview/dockviewComponent.d.ts +16 -0
  5. package/dist/cjs/dockview/dockviewComponent.js +27 -10
  6. package/dist/cjs/dom.d.ts +6 -4
  7. package/dist/cjs/dom.js +90 -49
  8. package/dist/cjs/events.d.ts +1 -1
  9. package/dist/cjs/events.js +1 -10
  10. package/dist/cjs/overlay/overlay.js +4 -4
  11. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +13 -2
  12. package/dist/cjs/paneview/draggablePaneviewPanel.js +14 -4
  13. package/dist/cjs/paneview/paneviewComponent.d.ts +5 -0
  14. package/dist/cjs/paneview/paneviewComponent.js +25 -3
  15. package/dist/cjs/paneview/paneviewPanel.d.ts +13 -4
  16. package/dist/cjs/paneview/paneviewPanel.js +9 -13
  17. package/dist/cjs/popoutWindow.js +2 -2
  18. package/dist/cjs/splitview/splitviewComponent.js +3 -0
  19. package/dist/dockview-core.amd.js +155 -63
  20. package/dist/dockview-core.amd.js.map +1 -1
  21. package/dist/dockview-core.amd.min.js +2 -2
  22. package/dist/dockview-core.amd.min.js.map +1 -1
  23. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  24. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  25. package/dist/dockview-core.amd.noStyle.js +154 -62
  26. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  27. package/dist/dockview-core.cjs.js +155 -63
  28. package/dist/dockview-core.cjs.js.map +1 -1
  29. package/dist/dockview-core.esm.js +155 -63
  30. package/dist/dockview-core.esm.js.map +1 -1
  31. package/dist/dockview-core.esm.min.js +2 -2
  32. package/dist/dockview-core.esm.min.js.map +1 -1
  33. package/dist/dockview-core.js +155 -63
  34. package/dist/dockview-core.js.map +1 -1
  35. package/dist/dockview-core.min.js +2 -2
  36. package/dist/dockview-core.min.js.map +1 -1
  37. package/dist/dockview-core.min.noStyle.js +2 -2
  38. package/dist/dockview-core.min.noStyle.js.map +1 -1
  39. package/dist/dockview-core.noStyle.js +154 -62
  40. package/dist/dockview-core.noStyle.js.map +1 -1
  41. package/dist/esm/api/component.api.d.ts +3 -1
  42. package/dist/esm/api/component.api.js +6 -0
  43. package/dist/esm/dockview/components/popupService.js +2 -2
  44. package/dist/esm/dockview/dockviewComponent.d.ts +16 -0
  45. package/dist/esm/dockview/dockviewComponent.js +29 -12
  46. package/dist/esm/dom.d.ts +6 -4
  47. package/dist/esm/dom.js +65 -16
  48. package/dist/esm/events.d.ts +1 -1
  49. package/dist/esm/events.js +0 -8
  50. package/dist/esm/overlay/overlay.js +5 -5
  51. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +13 -2
  52. package/dist/esm/paneview/draggablePaneviewPanel.js +14 -4
  53. package/dist/esm/paneview/paneviewComponent.d.ts +5 -0
  54. package/dist/esm/paneview/paneviewComponent.js +25 -3
  55. package/dist/esm/paneview/paneviewPanel.d.ts +13 -4
  56. package/dist/esm/paneview/paneviewPanel.js +9 -13
  57. package/dist/esm/popoutWindow.js +3 -3
  58. package/dist/esm/splitview/splitviewComponent.js +3 -0
  59. package/dist/styles/dockview.css +3 -7
  60. package/package.json +1 -1
@@ -51,26 +51,25 @@ export class PaneviewPanel extends BasePanelView {
51
51
  this._headerVisible = value;
52
52
  this.header.style.display = value ? '' : 'none';
53
53
  }
54
- constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
55
- super(id, component, new PaneviewPanelApiImpl(id, component));
56
- this.headerComponent = headerComponent;
54
+ constructor(options) {
55
+ super(options.id, options.component, new PaneviewPanelApiImpl(options.id, options.component));
57
56
  this._onDidChangeExpansionState = new Emitter({ replay: true });
58
57
  this.onDidChangeExpansionState = this._onDidChangeExpansionState.event;
59
58
  this._onDidChange = new Emitter();
60
59
  this.onDidChange = this._onDidChange.event;
61
- this.headerSize = 22;
62
60
  this._orthogonalSize = 0;
63
61
  this._size = 0;
64
- this._minimumBodySize = 100;
65
- this._maximumBodySize = Number.POSITIVE_INFINITY;
66
62
  this._isExpanded = false;
67
- this.expandedSize = 0;
68
63
  this.api.pane = this; // TODO cannot use 'this' before 'super'
69
64
  this.api.initialize(this);
70
- this._isExpanded = isExpanded;
71
- this._headerVisible = isHeaderVisible;
65
+ this.headerSize = options.headerSize;
66
+ this.headerComponent = options.headerComponent;
67
+ this._minimumBodySize = options.minimumBodySize;
68
+ this._maximumBodySize = options.maximumBodySize;
69
+ this._isExpanded = options.isExpanded;
70
+ this._headerVisible = options.isHeaderVisible;
72
71
  this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
73
- this._orientation = orientation;
72
+ this._orientation = options.orientation;
74
73
  this.element.classList.add('dv-pane');
75
74
  this.addDisposables(this.api.onWillVisibilityChange((event) => {
76
75
  const { isVisible } = event;
@@ -137,9 +136,6 @@ export class PaneviewPanel extends BasePanelView {
137
136
  const [width, height] = this.orientation === Orientation.HORIZONTAL
138
137
  ? [size, orthogonalSize]
139
138
  : [orthogonalSize, size];
140
- if (this.isExpanded()) {
141
- this.expandedSize = width;
142
- }
143
139
  super.layout(width, height);
144
140
  }
145
141
  init(parameters) {
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { addStyles } from './dom';
11
- import { Emitter, addDisposableWindowListener } from './events';
11
+ import { Emitter, addDisposableListener } from './events';
12
12
  import { CompositeDisposable, Disposable } from './lifecycle';
13
13
  export class PopoutWindow extends CompositeDisposable {
14
14
  get window() {
@@ -83,7 +83,7 @@ export class PopoutWindow extends CompositeDisposable {
83
83
  this._window = { value: externalWindow, disposable };
84
84
  disposable.addDisposables(Disposable.from(() => {
85
85
  externalWindow.close();
86
- }), addDisposableWindowListener(window, 'beforeunload', () => {
86
+ }), addDisposableListener(window, 'beforeunload', () => {
87
87
  /**
88
88
  * before the main window closes we should close this popup too
89
89
  * to be good citizens
@@ -118,7 +118,7 @@ export class PopoutWindow extends CompositeDisposable {
118
118
  * beforeunload must be registered after load for reasons I could not determine
119
119
  * otherwise the beforeunload event will not fire when the window is closed
120
120
  */
121
- addDisposableWindowListener(externalWindow, 'beforeunload', () => {
121
+ addDisposableListener(externalWindow, 'beforeunload', () => {
122
122
  /**
123
123
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
124
124
  */
@@ -23,6 +23,9 @@ export class SplitviewComponent extends Resizable {
23
23
  return this._splitview;
24
24
  }
25
25
  set splitview(value) {
26
+ if (this._splitview) {
27
+ this._splitview.dispose();
28
+ }
26
29
  this._splitview = value;
27
30
  this._splitviewChangeDisposable.value = new CompositeDisposable(this._splitview.onDidSashEnd(() => {
28
31
  this._onDidLayoutChange.fire(undefined);
@@ -1,6 +1,7 @@
1
1
  .dv-scrollable {
2
2
  position: relative;
3
3
  overflow: hidden;
4
+ width: 100%;
4
5
  }
5
6
  .dv-scrollable .dv-scrollbar-horizontal {
6
7
  position: absolute;
@@ -1104,13 +1105,7 @@
1104
1105
  /* Track */
1105
1106
  /* Handle */
1106
1107
  }
1107
- .dv-tabs-container.dv-horizontal .dv-tabs-container .dv-tab:last-child {
1108
- margin-right: 0;
1109
- }
1110
- .dv-tabs-container.dv-horizontal .dv-tabs-container .dv-tab:not(:nth-last-child(1)) {
1111
- margin-left: 0;
1112
- }
1113
- .dv-tabs-container.dv-horizontal .dv-tabs-container .dv-tab:not(:first-child)::before {
1108
+ .dv-tabs-container.dv-horizontal .dv-tab:not(:first-child)::before {
1114
1109
  content: " ";
1115
1110
  position: absolute;
1116
1111
  top: 0;
@@ -1172,6 +1167,7 @@
1172
1167
  }
1173
1168
  .dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab {
1174
1169
  flex-grow: 1;
1170
+ padding: 0px;
1175
1171
  }
1176
1172
  .dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container {
1177
1173
  flex-grow: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dockview-core",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "Zero dependency layout manager supporting tabs, grids and splitviews",
5
5
  "keywords": [
6
6
  "splitview",