dockview-core 4.0.1 → 4.2.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 (66) 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/components/titlebar/tabs.js +9 -3
  5. package/dist/cjs/dockview/dockviewComponent.d.ts +16 -0
  6. package/dist/cjs/dockview/dockviewComponent.js +27 -10
  7. package/dist/cjs/dockview/options.d.ts +7 -0
  8. package/dist/cjs/dockview/options.js +1 -0
  9. package/dist/cjs/dom.d.ts +6 -4
  10. package/dist/cjs/dom.js +90 -49
  11. package/dist/cjs/events.d.ts +1 -1
  12. package/dist/cjs/events.js +1 -10
  13. package/dist/cjs/overlay/overlay.js +4 -4
  14. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +13 -2
  15. package/dist/cjs/paneview/draggablePaneviewPanel.js +14 -4
  16. package/dist/cjs/paneview/paneviewComponent.d.ts +5 -0
  17. package/dist/cjs/paneview/paneviewComponent.js +25 -3
  18. package/dist/cjs/paneview/paneviewPanel.d.ts +13 -4
  19. package/dist/cjs/paneview/paneviewPanel.js +9 -13
  20. package/dist/cjs/popoutWindow.js +2 -2
  21. package/dist/cjs/splitview/splitviewComponent.js +3 -0
  22. package/dist/dockview-core.amd.js +165 -66
  23. package/dist/dockview-core.amd.js.map +1 -1
  24. package/dist/dockview-core.amd.min.js +2 -2
  25. package/dist/dockview-core.amd.min.js.map +1 -1
  26. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  27. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  28. package/dist/dockview-core.amd.noStyle.js +164 -65
  29. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  30. package/dist/dockview-core.cjs.js +165 -66
  31. package/dist/dockview-core.cjs.js.map +1 -1
  32. package/dist/dockview-core.esm.js +165 -66
  33. package/dist/dockview-core.esm.js.map +1 -1
  34. package/dist/dockview-core.esm.min.js +2 -2
  35. package/dist/dockview-core.esm.min.js.map +1 -1
  36. package/dist/dockview-core.js +165 -66
  37. package/dist/dockview-core.js.map +1 -1
  38. package/dist/dockview-core.min.js +2 -2
  39. package/dist/dockview-core.min.js.map +1 -1
  40. package/dist/dockview-core.min.noStyle.js +2 -2
  41. package/dist/dockview-core.min.noStyle.js.map +1 -1
  42. package/dist/dockview-core.noStyle.js +164 -65
  43. package/dist/dockview-core.noStyle.js.map +1 -1
  44. package/dist/esm/api/component.api.d.ts +3 -1
  45. package/dist/esm/api/component.api.js +6 -0
  46. package/dist/esm/dockview/components/popupService.js +2 -2
  47. package/dist/esm/dockview/components/titlebar/tabs.js +9 -3
  48. package/dist/esm/dockview/dockviewComponent.d.ts +16 -0
  49. package/dist/esm/dockview/dockviewComponent.js +29 -12
  50. package/dist/esm/dockview/options.d.ts +7 -0
  51. package/dist/esm/dockview/options.js +1 -0
  52. package/dist/esm/dom.d.ts +6 -4
  53. package/dist/esm/dom.js +65 -16
  54. package/dist/esm/events.d.ts +1 -1
  55. package/dist/esm/events.js +0 -8
  56. package/dist/esm/overlay/overlay.js +5 -5
  57. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +13 -2
  58. package/dist/esm/paneview/draggablePaneviewPanel.js +14 -4
  59. package/dist/esm/paneview/paneviewComponent.d.ts +5 -0
  60. package/dist/esm/paneview/paneviewComponent.js +25 -3
  61. package/dist/esm/paneview/paneviewPanel.d.ts +13 -4
  62. package/dist/esm/paneview/paneviewPanel.js +9 -13
  63. package/dist/esm/popoutWindow.js +3 -3
  64. package/dist/esm/splitview/splitviewComponent.js +3 -0
  65. package/dist/styles/dockview.css +8 -2
  66. package/package.json +1 -1
@@ -65,10 +65,24 @@ var math_1 = require("../math");
65
65
  var resizable_1 = require("../resizable");
66
66
  var dom_1 = require("../dom");
67
67
  var nextLayoutId = (0, math_1.sequentialNumberGenerator)();
68
+ var HEADER_SIZE = 22;
69
+ var MINIMUM_BODY_SIZE = 0;
70
+ var MAXIMUM_BODY_SIZE = Number.MAX_SAFE_INTEGER;
68
71
  var PaneFramework = /** @class */ (function (_super) {
69
72
  __extends(PaneFramework, _super);
70
73
  function PaneFramework(options) {
71
- var _this = _super.call(this, options.accessor, options.id, options.component, options.headerComponent, options.orientation, options.isExpanded, options.disableDnd) || this;
74
+ var _this = _super.call(this, {
75
+ accessor: options.accessor,
76
+ id: options.id,
77
+ component: options.component,
78
+ headerComponent: options.headerComponent,
79
+ orientation: options.orientation,
80
+ isExpanded: options.isExpanded,
81
+ disableDnd: options.disableDnd,
82
+ headerSize: options.headerSize,
83
+ minimumBodySize: options.minimumBodySize,
84
+ maximumBodySize: options.maximumBodySize,
85
+ }) || this;
72
86
  _this.options = options;
73
87
  return _this;
74
88
  }
@@ -201,7 +215,7 @@ var PaneviewComponent = /** @class */ (function (_super) {
201
215
  this._options = __assign(__assign({}, this.options), options);
202
216
  };
203
217
  PaneviewComponent.prototype.addPanel = function (options) {
204
- var _a;
218
+ var _a, _b;
205
219
  var body = this.options.createComponent({
206
220
  id: options.id,
207
221
  name: options.component,
@@ -226,12 +240,15 @@ var PaneviewComponent = /** @class */ (function (_super) {
226
240
  isExpanded: !!options.isExpanded,
227
241
  disableDnd: !!this.options.disableDnd,
228
242
  accessor: this,
243
+ headerSize: (_a = options.headerSize) !== null && _a !== void 0 ? _a : HEADER_SIZE,
244
+ minimumBodySize: MINIMUM_BODY_SIZE,
245
+ maximumBodySize: MAXIMUM_BODY_SIZE,
229
246
  });
230
247
  this.doAddPanel(view);
231
248
  var size = typeof options.size === 'number' ? options.size : splitview_1.Sizing.Distribute;
232
249
  var index = typeof options.index === 'number' ? options.index : undefined;
233
250
  view.init({
234
- params: (_a = options.params) !== null && _a !== void 0 ? _a : {},
251
+ params: (_b = options.params) !== null && _b !== void 0 ? _b : {},
235
252
  minimumBodySize: options.minimumBodySize,
236
253
  maximumBodySize: options.maximumBodySize,
237
254
  isExpanded: options.isExpanded,
@@ -279,6 +296,7 @@ var PaneviewComponent = /** @class */ (function (_super) {
279
296
  data: view.toJSON(),
280
297
  minimumSize: minimum(view.minimumBodySize),
281
298
  maximumSize: maximum(view.maximumBodySize),
299
+ headerSize: view.headerSize,
282
300
  expanded: view.isExpanded(),
283
301
  };
284
302
  });
@@ -300,6 +318,7 @@ var PaneviewComponent = /** @class */ (function (_super) {
300
318
  descriptor: {
301
319
  size: size,
302
320
  views: views.map(function (view) {
321
+ var _a, _b, _c;
303
322
  var data = view.data;
304
323
  var body = _this.options.createComponent({
305
324
  id: data.id,
@@ -326,6 +345,9 @@ var PaneviewComponent = /** @class */ (function (_super) {
326
345
  isExpanded: !!view.expanded,
327
346
  disableDnd: !!_this.options.disableDnd,
328
347
  accessor: _this,
348
+ headerSize: (_a = view.headerSize) !== null && _a !== void 0 ? _a : HEADER_SIZE,
349
+ minimumBodySize: (_b = view.minimumSize) !== null && _b !== void 0 ? _b : MINIMUM_BODY_SIZE,
350
+ maximumBodySize: (_c = view.maximumSize) !== null && _c !== void 0 ? _c : MAXIMUM_BODY_SIZE,
329
351
  });
330
352
  _this.doAddPanel(panel);
331
353
  queue.push(function () {
@@ -39,7 +39,6 @@ export interface IPaneviewPanel extends BasePanelViewExported<PaneviewPanelApiIm
39
39
  headerVisible: boolean;
40
40
  }
41
41
  export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelApiImpl> implements IPaneview, IPaneviewPanel {
42
- private readonly headerComponent;
43
42
  private readonly _onDidChangeExpansionState;
44
43
  onDidChangeExpansionState: Event<boolean>;
45
44
  private readonly _onDidChange;
@@ -47,7 +46,6 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
47
46
  size?: number;
48
47
  orthogonalSize?: number;
49
48
  }>;
50
- private readonly headerSize;
51
49
  private _orthogonalSize;
52
50
  private _size;
53
51
  private _minimumBodySize;
@@ -57,10 +55,11 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
57
55
  protected body?: HTMLElement;
58
56
  private bodyPart?;
59
57
  private headerPart?;
60
- private expandedSize;
61
58
  private animationTimer;
62
59
  private _orientation;
63
60
  private _headerVisible;
61
+ readonly headerSize: number;
62
+ readonly headerComponent: string | undefined;
64
63
  set orientation(value: Orientation);
65
64
  get orientation(): Orientation;
66
65
  get minimumSize(): number;
@@ -74,7 +73,17 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
74
73
  set maximumBodySize(value: number);
75
74
  get headerVisible(): boolean;
76
75
  set headerVisible(value: boolean);
77
- constructor(id: string, component: string, headerComponent: string | undefined, orientation: Orientation, isExpanded: boolean, isHeaderVisible: boolean);
76
+ constructor(options: {
77
+ id: string;
78
+ component: string;
79
+ headerComponent: string | undefined;
80
+ orientation: Orientation;
81
+ isExpanded: boolean;
82
+ isHeaderVisible: boolean;
83
+ headerSize: number;
84
+ minimumBodySize: number;
85
+ maximumBodySize: number;
86
+ });
78
87
  setVisible(isVisible: boolean): void;
79
88
  setActive(isActive: boolean): void;
80
89
  isExpanded(): boolean;
@@ -50,26 +50,25 @@ var basePanelView_1 = require("../gridview/basePanelView");
50
50
  var splitview_1 = require("../splitview/splitview");
51
51
  var PaneviewPanel = /** @class */ (function (_super) {
52
52
  __extends(PaneviewPanel, _super);
53
- function PaneviewPanel(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
54
- var _this = _super.call(this, id, component, new paneviewPanelApi_1.PaneviewPanelApiImpl(id, component)) || this;
55
- _this.headerComponent = headerComponent;
53
+ function PaneviewPanel(options) {
54
+ var _this = _super.call(this, options.id, options.component, new paneviewPanelApi_1.PaneviewPanelApiImpl(options.id, options.component)) || this;
56
55
  _this._onDidChangeExpansionState = new events_1.Emitter({ replay: true });
57
56
  _this.onDidChangeExpansionState = _this._onDidChangeExpansionState.event;
58
57
  _this._onDidChange = new events_1.Emitter();
59
58
  _this.onDidChange = _this._onDidChange.event;
60
- _this.headerSize = 22;
61
59
  _this._orthogonalSize = 0;
62
60
  _this._size = 0;
63
- _this._minimumBodySize = 100;
64
- _this._maximumBodySize = Number.POSITIVE_INFINITY;
65
61
  _this._isExpanded = false;
66
- _this.expandedSize = 0;
67
62
  _this.api.pane = _this; // TODO cannot use 'this' before 'super'
68
63
  _this.api.initialize(_this);
69
- _this._isExpanded = isExpanded;
70
- _this._headerVisible = isHeaderVisible;
64
+ _this.headerSize = options.headerSize;
65
+ _this.headerComponent = options.headerComponent;
66
+ _this._minimumBodySize = options.minimumBodySize;
67
+ _this._maximumBodySize = options.maximumBodySize;
68
+ _this._isExpanded = options.isExpanded;
69
+ _this._headerVisible = options.isHeaderVisible;
71
70
  _this._onDidChangeExpansionState.fire(_this.isExpanded()); // initialize value
72
- _this._orientation = orientation;
71
+ _this._orientation = options.orientation;
73
72
  _this.element.classList.add('dv-pane');
74
73
  _this.addDisposables(_this.api.onWillVisibilityChange(function (event) {
75
74
  var isVisible = event.isVisible;
@@ -217,9 +216,6 @@ var PaneviewPanel = /** @class */ (function (_super) {
217
216
  var _a = __read(this.orientation === splitview_1.Orientation.HORIZONTAL
218
217
  ? [size, orthogonalSize]
219
218
  : [orthogonalSize, size], 2), width = _a[0], height = _a[1];
220
- if (this.isExpanded()) {
221
- this.expandedSize = width;
222
- }
223
219
  _super.prototype.layout.call(this, width, height);
224
220
  };
225
221
  PaneviewPanel.prototype.init = function (parameters) {
@@ -153,7 +153,7 @@ var PopoutWindow = /** @class */ (function (_super) {
153
153
  this._window = { value: externalWindow, disposable: disposable };
154
154
  disposable.addDisposables(lifecycle_1.Disposable.from(function () {
155
155
  externalWindow.close();
156
- }), (0, events_1.addDisposableWindowListener)(window, 'beforeunload', function () {
156
+ }), (0, events_1.addDisposableListener)(window, 'beforeunload', function () {
157
157
  /**
158
158
  * before the main window closes we should close this popup too
159
159
  * to be good citizens
@@ -188,7 +188,7 @@ var PopoutWindow = /** @class */ (function (_super) {
188
188
  * beforeunload must be registered after load for reasons I could not determine
189
189
  * otherwise the beforeunload event will not fire when the window is closed
190
190
  */
191
- (0, events_1.addDisposableWindowListener)(externalWindow, 'beforeunload', function () {
191
+ (0, events_1.addDisposableListener)(externalWindow, 'beforeunload', function () {
192
192
  /**
193
193
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
194
194
  */
@@ -122,6 +122,9 @@ var SplitviewComponent = /** @class */ (function (_super) {
122
122
  },
123
123
  set: function (value) {
124
124
  var _this = this;
125
+ if (this._splitview) {
126
+ this._splitview.dispose();
127
+ }
125
128
  this._splitview = value;
126
129
  this._splitviewChangeDisposable.value = new lifecycle_1.CompositeDisposable(this._splitview.onDidSashEnd(function () {
127
130
  _this._onDidLayoutChange.fire(undefined);